Skip to content

Commit

Permalink
[permissions] Improved patch openwisp#57
Browse files Browse the repository at this point in the history
Closes openwisp#48
Closes openwisp#57
  • Loading branch information
nemesifier committed Nov 11, 2018
1 parent 2204ddb commit cad54d6
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 16 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
from django.db import migrations
from django.contrib.auth.models import Permission
from django.contrib.auth.management import create_permissions


def create_default_permissions(apps, schema_editor):
for app_config in apps.get_app_configs():
app_config.models_module = True
create_permissions(app_config, apps=apps, verbosity=0)
app_config.models_module = None
from ...migrations import create_default_permissions


def assign_permissions_to_groups(apps, schema_editor):
create_default_permissions(apps, schema_editor)
Group = apps.get_model('openwisp_users', 'Group')
admin = Group.objects.get(name='Administrator')
operator = Group.objects.get(name='Operator')
Expand All @@ -25,7 +20,7 @@ def assign_permissions_to_groups(apps, schema_editor):
)
admin.permissions.add(permission.pk)
operator.permissions.add(permission.pk)

for model_name in operators_read_only_admins_manage:
try:
permission = Permission.objects.get(
Expand All @@ -44,16 +39,10 @@ def assign_permissions_to_groups(apps, schema_editor):
class Migration(migrations.Migration):
dependencies = [
('openwisp_users', '0004_default_groups'),
('pki', '__first__'),
('geo', '__first__'),
('config', '0014_device_hardware_id'),
]

operations = [
migrations.RunPython(
create_default_permissions,
reverse_code=migrations.RunPython.noop
),
migrations.RunPython(
assign_permissions_to_groups,
reverse_code=migrations.RunPython.noop
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
from django.db import migrations
from django.contrib.auth.models import Permission

from ...migrations import create_default_permissions


def assign_permissions_to_groups(apps, schema_editor):
create_default_permissions(apps, schema_editor)
Group = apps.get_model('openwisp_users', 'Group')
admin = Group.objects.get(name='Administrator')
operator = Group.objects.get(name='Operator')
Expand All @@ -23,7 +26,6 @@ class Migration(migrations.Migration):
('openwisp_users', '0004_default_groups'),
('geo', '0001_initial')
]

operations = [
migrations.RunPython(
assign_permissions_to_groups,
Expand Down
8 changes: 8 additions & 0 deletions openwisp_controller/migrations.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from django.contrib.auth.management import create_permissions


def create_default_permissions(apps, schema_editor):
for app_config in apps.get_app_configs():
app_config.models_module = True
create_permissions(app_config, apps=apps, verbosity=0)
app_config.models_module = None
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
from django.db import migrations
from django.contrib.auth.models import Permission

from ...migrations import create_default_permissions


def assign_permissions_to_groups(apps, schema_editor):
create_default_permissions(apps, schema_editor)
Group = apps.get_model('openwisp_users', 'Group')
admin = Group.objects.get(name='Administrator')
operator = Group.objects.get(name='Operator')
Expand All @@ -15,7 +18,6 @@ def assign_permissions_to_groups(apps, schema_editor):
operator.permissions.add(permission.pk)
except Permission.DoesNotExist:
pass

for operation in manage_operations:
admin.permissions.add(
Permission.objects.get(codename="{}_{}".format(operation, model_name)).pk
Expand Down

0 comments on commit cad54d6

Please sign in to comment.