diff --git a/opentech/users/groups.py b/opentech/users/groups.py index 14d50b457be657971a99a12978ed146e2cdc9a52..1b795106217a7d1d5f4eafc1ffee0a35fbd7d2a2 100644 --- a/opentech/users/groups.py +++ b/opentech/users/groups.py @@ -21,7 +21,7 @@ GROUPS = [ 'add_image', 'change_image', 'delete_image', 'add_document', 'change_document', 'delete_document', 'access_admin' - ], + ], }, { 'name': 'Administrator', @@ -30,6 +30,6 @@ GROUPS = [ 'add_document', 'change_document', 'delete_document', 'add_user', 'change_user', 'delete_user', 'access_admin', 'change_site' - ], + ], } ] diff --git a/opentech/users/migrations/0002_initial_data.py b/opentech/users/migrations/0002_initial_data.py index 0d939f0fc39c205af2f4e547600d4259dfc97f22..7b90c713e1fffb77d9ee98daa1e877a0f1badfb7 100644 --- a/opentech/users/migrations/0002_initial_data.py +++ b/opentech/users/migrations/0002_initial_data.py @@ -2,20 +2,36 @@ # Generated by Django 1.11.7 on 2017-12-15 13:15 from __future__ import unicode_literals +from django.core.exceptions import ObjectDoesNotExist +from django.core.management.sql import emit_post_migrate_signal from django.db import migrations from opentech.users.groups import GROUPS def add_groups(apps, schema_editor): + # Workaround for https://code.djangoproject.com/ticket/23422 + db_alias = schema_editor.connection.alias + try: + emit_post_migrate_signal(2, False, db_alias) + except TypeError: + # Django < 1.9 + try: + # Django 1.8 + emit_post_migrate_signal(2, False, 'default', db_alias) + except TypeError: # Django < 1.8 + emit_post_migrate_signal([], 2, False, 'default', db_alias) + Group = apps.get_model('auth.Group') Permission = apps.get_model('auth.Permission') for group_data in GROUPS: group, created = Group.objects.get_or_create(name=group_data['name']) for permission in group_data['permissions']: - group.permissions.add(Permission.objects.get(codename=permission)) - pass + try: + group.permissions.add(Permission.objects.get(codename=permission)) + except ObjectDoesNotExist: + print ("Could not find the '%s' permission" % permission) def remove_groups(apps, schema_editor): @@ -29,7 +45,10 @@ class Migration(migrations.Migration): dependencies = [ ('users', '0001_initial'), - ('wagtailadmin', '0001_create_admin_access_permissions') + ('wagtailadmin', '0001_create_admin_access_permissions'), + ('wagtailimages', '0002_initial_data'), + ('wagtaildocs', '0002_initial_data'), + ('contenttypes', '__latest__'), ] operations = [ diff --git a/opentech/users/models.py b/opentech/users/models.py index 4c9c171ecaba6e6783de504a79110a779fbc4f30..3d305253bf8157dcb4249315ffef41fa60655ab5 100644 --- a/opentech/users/models.py +++ b/opentech/users/models.py @@ -1,4 +1,5 @@ from django.contrib.auth.models import AbstractUser + class User(AbstractUser): pass