Add a user to a default role only when the user is created
This commit is contained in:
@@ -27,14 +27,17 @@ register_links(['role_list', 'role_view', 'role_create', 'role_edit', 'role_perm
|
|||||||
|
|
||||||
|
|
||||||
def user_post_save(sender, instance, **kwargs):
|
def user_post_save(sender, instance, **kwargs):
|
||||||
for default_role in DEFAULT_ROLES:
|
if kwargs.get('created', False):
|
||||||
if isinstance(default_role, Role):
|
for default_role in DEFAULT_ROLES:
|
||||||
default_role.add_member(instance)
|
if isinstance(default_role, Role):
|
||||||
else:
|
#If a model is passed, execute method
|
||||||
try:
|
default_role.add_member(instance)
|
||||||
role = Role.objects.get(name=default_role)
|
else:
|
||||||
role.add_member(instance)
|
#If a role name is passed, lookup the corresponding model
|
||||||
except ObjectDoesNotExist:
|
try:
|
||||||
pass
|
role = Role.objects.get(name=default_role)
|
||||||
|
role.add_member(instance)
|
||||||
|
except ObjectDoesNotExist:
|
||||||
|
pass
|
||||||
|
|
||||||
post_save.connect(user_post_save, sender=User)
|
post_save.connect(user_post_save, sender=User)
|
||||||
|
|||||||
Reference in New Issue
Block a user