diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-08-01 17:18:33 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-08-13 18:26:03 +0200 | 
| commit | c6b17aa8d058fe581539bf722b6c5cc2c6711fb0 (patch) | |
| tree | cf9e060d38c62d422684f0de85239822eafed2df /archaeological_operations/models.py | |
| parent | b6afe4668dcaa05df44614d8d362943eb660967c (diff) | |
| download | Ishtar-c6b17aa8d058fe581539bf722b6c5cc2c6711fb0.tar.bz2 Ishtar-c6b17aa8d058fe581539bf722b6c5cc2c6711fb0.zip | |
Fix clean parcel script
Diffstat (limited to 'archaeological_operations/models.py')
| -rw-r--r-- | archaeological_operations/models.py | 31 | 
1 files changed, 14 insertions, 17 deletions
| diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 1a534af7a..c9244ca48 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -1566,6 +1566,20 @@ class Parcel(LightHistorizedItem):          self.operation = None          self.save() +    def clean_orphan(self): +        """ +        Remove when the parcel is linked to nothing +        """ +        if self.operation or self.associated_file: +            return +        if self.context_record.count(): +            # trying to restore a lost parcel +            self.operation = self.context_record.all()[0].operation +            self.skip_history_when_saving = True +            self.save() +        elif self.id: +            self.delete() +  def parcel_post_save(sender, **kwargs):      if not kwargs['instance']: @@ -1576,23 +1590,6 @@ def parcel_post_save(sender, **kwargs):      updated = False -    """ -    # remove when the parcel is linked to nothing -    # problematic in wizards -    # TODO: add admin action -    if not getattr(parcel, '_updated_id', None) and not created \ -            and not parcel.operation and not parcel.associated_file: -        if parcel.context_record.count(): -            # trying to restore a lost parcel -            parcel.operation = parcel.context_record.all()[0].operation -            updated = True -        elif parcel.id: -            parcel.delete() -            return -        else: -            return -    """ -      if updated:          parcel.save()          return | 
