Fixed up m2m_changed for rbac, added User.admin_role

This commit is contained in:
Wayne Witzel III
2016-03-11 14:59:47 -05:00
parent 80013e67bc
commit 31a461956a
9 changed files with 141 additions and 175 deletions

View File

@@ -201,12 +201,12 @@ class ImplicitRoleField(models.ForeignKey):
reverse = type(field) is ReverseManyRelatedObjectsDescriptor
if reverse:
m2m_changed.connect(self.m2m_update(field_attr, reverse), field.through)
m2m_changed.connect(self.m2m_update(field_attr, reverse), field.through, weak=False)
else:
m2m_changed.connect(self.m2m_update(field_attr, reverse), field.related.through)
m2m_changed.connect(self.m2m_update(field_attr, reverse), field.related.through, weak=False)
def m2m_update(self, field_attr, _reverse):
def _m2m_update(self, sender, instance, action, reverse, model, pk_set, **kwargs):
def _m2m_update(instance, action, model, pk_set, **kwargs):
if action == 'post_add' or action == 'pre_remove':
if _reverse:
for pk in pk_set: