diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2015-02-26 20:00:21 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2015-05-06 16:04:02 +0200 |
commit | 53be3b87eb1da93534f8d173183b55bb92e4717c (patch) | |
tree | 3982f2a204b906384ea665d7d71a1c8e1c38cab6 /archaeological_files/models.py | |
parent | 802a19e209cd5786fb44fdcb95b47d6c51bbbb6f (diff) | |
download | Ishtar-53be3b87eb1da93534f8d173183b55bb92e4717c.tar.bz2 Ishtar-53be3b87eb1da93534f8d173183b55bb92e4717c.zip |
Automatically update raw_general_contractor and raw_town_planning_service on save - improve pdl import of raw_names and of dates
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 |