X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fmodel_policy.py;h=32d8f8ec8100faa50dea046f850bb98c3c6467ad;hb=3fc1fd85b57336a78ee88b131543e378962949ce;hp=38caf01bcbc26ccac40b350f1aa54b037bb3fea7;hpb=0235e983ec665f46ca9dc75d3341c77603cdfd1d;p=plstackapi.git diff --git a/planetstack/model_policy.py b/planetstack/model_policy.py index 38caf01..32d8f8e 100644 --- a/planetstack/model_policy.py +++ b/planetstack/model_policy.py @@ -1,14 +1,17 @@ from django.db.models.signals import post_save from django.dispatch import receiver import pdb -from model_policies import * +from core.models import * +import model_policies @receiver(post_save) -def post_save_handler(sender, **kwargs): +def post_save_handler(sender, instance, **kwargs): sender_name = sender.__name__ policy_name = 'model_policy_%s'%sender_name - try: - policy_handler = globals[policy_name] - policy_handler(sender) - except: - pass + + if (not kwargs['update_fields']): + try: + policy_handler = getattr(model_policies, policy_name) + policy_handler.handle(instance) + except: + pass