From: Sapan Bhatia Date: Wed, 30 Apr 2014 00:33:51 +0000 (-0400) Subject: New version of delete, which marks as delete instead of removing an X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=001894d0a9ef2cf7c6f03ee6f8c0b9999bf5dcd4;p=plstackapi.git New version of delete, which marks as delete instead of removing an object. --- diff --git a/planetstack/core/models/plcorebase.py b/planetstack/core/models/plcorebase.py index 0e7b463..c0a6ba8 100644 --- a/planetstack/core/models/plcorebase.py +++ b/planetstack/core/models/plcorebase.py @@ -68,20 +68,17 @@ class PlCoreBase(models.Model): def delete(self, *args, **kwds): # so we have something to give the observer - pk = self.pk - model_dict = model_to_dict(self) - for (k,v) in model_dict.items(): - # things like datetime are not JSON serializable - model_dict[k] = str(v) + if (observer_disabled): + super(PlCoreBase, self).delete(*args, **kwargs) + else: + self.deleted = True + self.enacted=None + self.save(update_fields=['enacted','deleted']) - super(PlCoreBase, self).delete(*args, **kwds) - - # This is a no-op if observer_disabled is set - notify_observer(model=self, delete=True, pk=pk, model_dict=model_dict) def save(self, *args, **kwargs): super(PlCoreBase, self).save(*args, **kwargs) - + # This is a no-op if observer_disabled is set notify_observer() diff --git a/planetstack/observer/syncstep.py b/planetstack/observer/syncstep.py index bd9ebf1..a52302d 100644 --- a/planetstack/observer/syncstep.py +++ b/planetstack/observer/syncstep.py @@ -61,7 +61,7 @@ class SyncStep: self.check_dependencies(o,f) # Raises exception if failed self.sync_record(o) o.enacted = datetime.now() # Is this the same timezone? XXX - o.backend_status = "OK") + o.backend_status = "OK" o.save(update_fields=['enacted']) except Exception,e: try: