Redirect all signals from admin proxy models.

This commit is contained in:
Adarnof
2018-02-23 14:44:12 -05:00
parent 7a9bb0c84b
commit 814b2da0ca
4 changed files with 64 additions and 27 deletions

View File

@@ -1,8 +1,8 @@
from django.contrib import admin
from django.contrib.auth.models import Group as BaseGroup
from django.db.models.signals import post_save
from .models import AuthGroup, save_auth_group, create_auth_group
from django.db.models.signals import pre_save, post_save, pre_delete, post_delete, m2m_changed
from django.dispatch import receiver
from .models import AuthGroup
from .models import GroupRequest
@@ -29,5 +29,26 @@ admin.site.register(GroupRequest)
admin.site.register(AuthGroup, AuthGroupAdmin)
post_save.connect(create_auth_group, sender=Group)
post_save.connect(save_auth_group, sender=Group)
@receiver(pre_save, sender=Group)
def redirect_pre_save(sender, signal=None, *args, **kwargs):
pre_save.send(BaseGroup, *args, **kwargs)
@receiver(post_save, sender=Group)
def redirect_post_save(sender, signal=None, *args, **kwargs):
post_save.send(BaseGroup, *args, **kwargs)
@receiver(pre_delete, sender=Group)
def redirect_pre_delete(sender, signal=None, *args, **kwargs):
pre_delete.send(BaseGroup, *args, **kwargs)
@receiver(post_delete, sender=Group)
def redirect_post_delete(sender, signal=None, *args, **kwargs):
post_delete.send(BaseGroup, *args, **kwargs)
@receiver(m2m_changed, sender=Group.permissions.through)
def redirect_m2m_changed_permissions(sender, signal=None, *args, **kwargs):
m2m_changed.send(BaseGroup, *args, **kwargs)