Skip to content
Snippets Groups Projects
Commit 72e49544 authored by Dan Braghis's avatar Dan Braghis
Browse files

Add groups and permissions migration

parent ab7fbbe3
No related branches found
No related tags found
No related merge requests found
GROUPS = [
{
'name': 'Applicant',
'permissions': [],
},
{
'name': 'Reviewer',
'permissions': [],
},
{
'name': 'Advisor',
'permissions': [],
},
{
'name': 'Staff',
'permissions': [],
},
{
'name': 'Manager',
'permissions': [
'add_image', 'change_image', 'delete_image',
'add_document', 'change_document', 'delete_document',
'access_admin'
],
},
{
'name': 'Administrator',
'permissions': [
'add_image', 'change_image', 'delete_image',
'add_document', 'change_document', 'delete_document',
'add_user', 'change_user', 'delete_user',
'access_admin', 'change_site'
],
}
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-12-15 13:15
from __future__ import unicode_literals
from django.db import migrations
from opentech.users.groups import GROUPS
def add_groups(apps, schema_editor):
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
def remove_groups(apps, schema_editor):
Group = apps.get_model('auth.Group')
groups = [group_data['name'] for group_data in GROUPS]
Group.objects.filter(name__in=groups).delete()
class Migration(migrations.Migration):
dependencies = [
('users', '0001_initial'),
('wagtailadmin', '0001_create_admin_access_permissions')
]
operations = [
migrations.RunPython(add_groups, remove_groups)
]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment