blob: ba0cb9947bef86a92b6180648c36382fe7951fee [file] [log] [blame]
Sapan Bhatia0235e982014-09-03 13:14:40 -04001from django.db.models.signals import post_save
2from django.dispatch import receiver
3import pdb
Sapan Bhatia3a5980e2014-09-15 03:48:11 -04004from core.models import *
5import model_policies
Sapan Bhatia0235e982014-09-03 13:14:40 -04006
7@receiver(post_save)
Scott Bakerd56ccd72014-09-30 14:53:45 -07008def post_save_handler(sender, instance, **kwargs):
Sapan Bhatia0235e982014-09-03 13:14:40 -04009 sender_name = sender.__name__
10 policy_name = 'model_policy_%s'%sender_name
Sapan Bhatia640f2b72014-09-15 04:04:32 -040011
12 if (not kwargs['update_fields']):
13 try:
Scott Bakerc1f9cce2014-10-09 12:03:22 -070014 policy_handler = getattr(model_policies, policy_name, None)
15 if policy_handler is not None:
16 policy_handler.handle(instance)
Sapan Bhatia640f2b72014-09-15 04:04:32 -040017 except:
18 pass