Move signal handlers into their own app module
This commit is contained in:
@@ -2,7 +2,6 @@ from __future__ import unicode_literals
|
||||
|
||||
from django import apps
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.db.models.signals import post_save
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
@@ -11,28 +10,13 @@ from common.menus import (
|
||||
)
|
||||
from rest_api.classes import APIEndPoint
|
||||
|
||||
from .handlers import apply_default_roles
|
||||
from .models import Role
|
||||
from .links import (
|
||||
link_permission_grant, link_permission_revoke, link_role_create,
|
||||
link_role_delete, link_role_edit, link_role_list, link_role_members,
|
||||
link_role_permissions
|
||||
)
|
||||
from .settings import DEFAULT_ROLES
|
||||
|
||||
|
||||
def user_post_save(sender, instance, **kwargs):
|
||||
if kwargs.get('created', False):
|
||||
for default_role in DEFAULT_ROLES:
|
||||
if isinstance(default_role, Role):
|
||||
# If a model is passed, execute method
|
||||
default_role.add_member(instance)
|
||||
else:
|
||||
# If a role name is passed, lookup the corresponding model
|
||||
try:
|
||||
role = Role.objects.get(name=default_role)
|
||||
role.add_member(instance)
|
||||
except ObjectDoesNotExist:
|
||||
pass
|
||||
|
||||
|
||||
class PermissionsApp(apps.AppConfig):
|
||||
@@ -47,4 +31,4 @@ class PermissionsApp(apps.AppConfig):
|
||||
menu_secondary.bind_links(links=[link_role_list, link_role_create], sources=[Role, 'permissions:role_create', 'permissions:role_list'])
|
||||
menu_setup.bind_links(links=[link_role_list])
|
||||
|
||||
post_save.connect(user_post_save, sender=User)
|
||||
post_save.connect(apply_default_roles, dispatch_uid='apply_default_roles', sender=User)
|
||||
|
||||
Reference in New Issue
Block a user