fix issue with Team.roles and ActivityStream

This commit is contained in:
Wayne Witzel III 2016-06-10 17:03:55 -04:00
parent 753b338205
commit 00698b82fc

View File

@ -158,13 +158,17 @@ def org_admin_edit_members(instance, action, model, reverse, pk_set, **kwargs):
def rbac_activity_stream(instance, sender, **kwargs):
user_type = ContentType.objects.get_for_model(User)
team_type = ContentType.objects.get_for_model(Team)
# Only if we are associating/disassociating
if kwargs['action'] in ['pre_add', 'pre_remove']:
# Only if this isn't for the User.admin_role
if hasattr(instance, 'content_type'):
if instance.content_type in [None, user_type]:
return
role = instance
elif instance.content_type == team_type:
role = kwargs['model'].objects.filter(pk__in=kwargs['pk_set']).first()
else:
role = instance
instance = instance.content_object
else:
role = kwargs['model'].objects.filter(pk__in=kwargs['pk_set']).first()
@ -192,6 +196,7 @@ post_save.connect(emit_ad_hoc_command_event_detail, sender=AdHocCommandEvent)
m2m_changed.connect(rebuild_role_ancestor_list, Role.parents.through)
m2m_changed.connect(org_admin_edit_members, Role.members.through)
m2m_changed.connect(rbac_activity_stream, Role.members.through)
m2m_changed.connect(rbac_activity_stream, Role.parents.through)
post_save.connect(sync_superuser_status_to_rbac, sender=User)
post_save.connect(create_user_role, sender=User)
pre_delete.connect(cleanup_detached_labels_on_deleted_parent, sender=UnifiedJob)