2016-10-07 23:07:47 +00:00
|
|
|
def boot():
|
|
|
|
from django.contrib.contenttypes.models import ContentType
|
|
|
|
from django.contrib.auth.models import Permission
|
|
|
|
from django.contrib.auth.models import User, Group
|
2016-10-08 01:00:34 +00:00
|
|
|
from django.db.utils import ProgrammingError
|
2016-10-07 23:07:47 +00:00
|
|
|
from . import signals
|
|
|
|
import logging
|
|
|
|
|
|
|
|
logger = logging.getLogger('app.logger')
|
|
|
|
|
|
|
|
# Check default group
|
2016-10-08 01:00:34 +00:00
|
|
|
try:
|
|
|
|
default_group, created = Group.objects.get_or_create(name='Default')
|
|
|
|
if created:
|
|
|
|
logger.info("Created default group")
|
2016-10-07 23:07:47 +00:00
|
|
|
|
2016-10-08 01:00:34 +00:00
|
|
|
# Add default permissions (view_project, change_project, delete_task, etc.)
|
|
|
|
for permission in ('_project', '_task'):
|
|
|
|
default_group.permissions.add(
|
|
|
|
*list(Permission.objects.filter(codename__endswith=permission))
|
|
|
|
)
|
|
|
|
|
|
|
|
# Check super user
|
|
|
|
if User.objects.count() == 0:
|
|
|
|
User.objects.create_superuser('admin', 'admin@example.com', 'admin')
|
|
|
|
logger.info("Created superuser")
|
|
|
|
except ProgrammingError:
|
|
|
|
logger.warn("Could not create default group/user. If running a migration, this is expected.")
|