Moved m2m signal handler out to our common signals.py

This commit is contained in:
Akita Noek 2016-01-29 15:16:28 -05:00
parent 74163d3711
commit 1cd8f6f46a
2 changed files with 5 additions and 8 deletions

View File

@ -7,7 +7,6 @@ import logging
# Django
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.db.models.signals import pre_save, post_save, pre_delete, post_delete, m2m_changed
# AWX
from awx.main.models.base import * # noqa
@ -17,10 +16,6 @@ __all__ = ['Role', 'RolePermission', 'Resource', 'RoleHierarchy', 'ResourceHiera
logger = logging.getLogger('awx.main.models.rbac')
def rebuild_role_hierarchy_cache(sender, **kwargs):
kwargs['instance'].rebuild_role_hierarchy_cache()
class Role(CommonModelNameNotUnique):
'''
Role model
@ -80,9 +75,6 @@ class Role(CommonModelNameNotUnique):
permission.save()
m2m_changed.connect(rebuild_role_hierarchy_cache, Role.parents.through)
class RoleHierarchy(CreatedModifiedModel):
'''
Stores a flattened relation map of all roles in the system for easy joining

View File

@ -115,6 +115,9 @@ def store_initial_active_state(sender, **kwargs):
else:
instance._saved_active_state = True
def rebuild_role_hierarchy_cache(sender, **kwargs):
kwargs['instance'].rebuild_role_hierarchy_cache()
pre_save.connect(store_initial_active_state, sender=Host)
post_save.connect(emit_update_inventory_on_created_or_deleted, sender=Host)
post_delete.connect(emit_update_inventory_on_created_or_deleted, sender=Host)
@ -133,6 +136,8 @@ post_save.connect(emit_update_inventory_on_created_or_deleted, sender=Job)
post_delete.connect(emit_update_inventory_on_created_or_deleted, sender=Job)
post_save.connect(emit_job_event_detail, sender=JobEvent)
post_save.connect(emit_ad_hoc_command_event_detail, sender=AdHocCommandEvent)
m2m_changed.connect(rebuild_role_hierarchy_cache, Role.parents.through)
# Migrate hosts, groups to parent group(s) whenever a group is deleted or
# marked as inactive.