X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fcore%2Fmodels%2Fplcorebase.py;h=4263f943dc6a5b89fb64efdf388906a1325dfc14;hb=6f97fe90552b95f8f1398147a804e8da83f327a3;hp=d461c9de1a36e922455ae54613ca3338254265f3;hpb=af673bda469f32d18b131496d240e1c27030bb7c;p=plstackapi.git diff --git a/planetstack/core/models/plcorebase.py b/planetstack/core/models/plcorebase.py index d461c9d..4263f94 100644 --- a/planetstack/core/models/plcorebase.py +++ b/planetstack/core/models/plcorebase.py @@ -98,25 +98,31 @@ class PlCoreBase(models.Model): def delete(self, *args, **kwds): # so we have something to give the observer purge = kwds.get('purge',False) + silent = kwds.get('silent',False) try: purge = purge or observer_disabled except NameError: pass - + if (purge): del kwds['purge'] super(PlCoreBase, self).delete(*args, **kwds) else: self.deleted = True self.enacted=None - self.save(update_fields=['enacted','deleted']) - + self.save(update_fields=['enacted','deleted'], silent=silent) def save(self, *args, **kwargs): + if "silent" in kwargs: + silent=kwargs.pop("silent") + else: + silent=False + super(PlCoreBase, self).save(*args, **kwargs) # This is a no-op if observer_disabled is set - notify_observer() + if not silent: + notify_observer() self.__initial = self._dict