23 lines
758 B
Python
23 lines
758 B
Python
from __future__ import unicode_literals
|
|
|
|
from django.core.exceptions import ObjectDoesNotExist
|
|
|
|
from .models import Role
|
|
|
|
from .settings import setting_default_roles
|
|
|
|
|
|
def apply_default_roles(sender, instance, **kwargs):
|
|
if kwargs.get('created', False):
|
|
for default_role in setting_default_roles.value:
|
|
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
|