diff options
Diffstat (limited to 'archaeological_files/models.py')
| -rw-r--r-- | archaeological_files/models.py | 47 | 
1 files changed, 35 insertions, 12 deletions
| diff --git a/archaeological_files/models.py b/archaeological_files/models.py index f2e86d725..dd7773e40 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -326,22 +326,45 @@ class File(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem,                  acts.append(act)          return acts +    def update_raw_town_planning_service(self): +        if (self.raw_town_planning_service and not \ +           self.responsible_town_planning_service) or \ +           not self.responsible_town_planning_service: +            return False +        current_lbl = "" +        if self.raw_town_planning_service: +            current_lbl = self.raw_town_planning_service[:] +        lbl = unicode(self.responsible_town_planning_service) +        if not lbl: +            return False +        self.raw_town_planning_service = lbl[:200] +        print('planning_service', lbl) +        return current_lbl != self.raw_town_planning_service + +    def update_raw_general_contractor(self): +        if (self.raw_general_contractor and not \ +           self.general_contractor) or \ +           not self.general_contractor: +            return False +        current_lbl = "" +        if self.raw_general_contractor: +            current_lbl = self.raw_general_contractor[:] +        lbl = unicode(self.general_contractor) +        print('contractor', lbl) +        if not lbl: +            return False +        self.raw_general_contractor = lbl[:200] +        return current_lbl != self.raw_general_contractor + +      def save(self, *args, **kwargs):          returned = super(File, self).save(*args, **kwargs)          if self.main_town and not self.main_town in list(self.towns.all()):              self.towns.add(self.main_town) -        if self.responsible_town_planning_service \ -           and not self.raw_town_planning_service: -            lbl = unicode(self.responsible_town_planning_service) -            if lbl: -                self.raw_town_planning_service = lbl[:200] -                self.save -        if self.general_contractor \ -           and not self.raw_general_contractor: -            lbl = unicode(self.general_contractor)[:200] -            if lbl: -                self.raw_general_contractor = lbl -                self.save() +        updated = self.update_raw_town_planning_service() +        updated += self.update_raw_general_contractor() +        if updated: +            self.save()          self.update_delay_date()          self.update_short_menu_class()          return returned | 
