summaryrefslogtreecommitdiff
path: root/archaeological_files/models.py
diff options
context:
space:
mode:
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
commit53be3b87eb1da93534f8d173183b55bb92e4717c (patch)
tree3982f2a204b906384ea665d7d71a1c8e1c38cab6 /archaeological_files/models.py
parent802a19e209cd5786fb44fdcb95b47d6c51bbbb6f (diff)
downloadIshtar-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.py47
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