Add a user to a default role only when the user is created

This commit is contained in:
Roberto Rosario
2011-03-29 11:17:04 -04:00
parent 043f8f3502
commit c1bb3a90bb

View File

@@ -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)