summaryrefslogtreecommitdiff
path: root/archaeological_files/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2015-11-11 13:30:47 +0100
committerÉtienne Loks <etienne.loks@proxience.com>2015-11-11 13:30:47 +0100
commitf16707de8391209053c94640514b6a1e71756dc3 (patch)
tree3edb8a2d4c1b2eec0eb28727741d322910cac377 /archaeological_files/models.py
parentc57a226b706a9bc76d6c5e3a9ba17d53b14539a5 (diff)
downloadIshtar-f16707de8391209053c94640514b6a1e71756dc3.tar.bz2
Ishtar-f16707de8391209053c94640514b6a1e71756dc3.zip
Add accessors for arcahaeological files
Diffstat (limited to 'archaeological_files/models.py')
-rw-r--r--archaeological_files/models.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 0499efce6..1d8822a3b 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -175,6 +175,13 @@ class File(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem,
blank=True)
history = HistoricalRecords()
+ GET_VALUES_EXTRA = [
+ 'general_contractor_address_1',
+ 'general_contractor_address_2',
+ 'general_contractor_address_3',
+ 'get_locality',
+ ]
+
class Meta:
verbose_name = _(u"Archaeological file")
verbose_name_plural = _(u"Archaeological files")
@@ -222,6 +229,59 @@ class File(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem,
return val
return self.update_has_admin_act(cache_key)
+ @property
+ def get_locality(self):
+ return " - ".join(
+ [getattr(self, k) for k in ('locality', 'address')
+ if getattr(self, k)])
+
+ @property
+ def general_contractor_address_1(self):
+ address = ''
+ if self.general_contractor:
+ if self.general_contractor.name:
+ address = u" ".join([
+ getattr(self.general_contractor, key)
+ for key in ('title', 'surname', 'name')
+ if getattr(self.general_contractor, key)])
+ elif self.general_contractor.raw_name:
+ address = self.general_contractor.raw_name
+ if not address and self.corporation_general_contractor and\
+ self.corporation_general_contractor.name:
+ address = self.corporation_general_contractor.name
+ return address
+
+ @property
+ def general_contractor_address_2(self):
+ address = ''
+ if self.general_contractor and self.general_contractor.address:
+ address = self.general_contractor.address
+ if self.general_contractor.address_complement:
+ address += u" " + self.general_contractor.address_complement
+ if not address and self.corporation_general_contractor and\
+ self.corporation_general_contractor.address:
+ address = self.corporation_general_contractor.address
+ if self.corporation_general_contractor.address_complement:
+ address += u" " + \
+ self.corporation_general_contractor.address_complement
+ return address
+
+ @property
+ def general_contractor_address_3(self):
+ address = ''
+ if self.general_contractor and self.general_contractor.postal_code:
+ address = u" ".join([
+ getattr(self.general_contractor, key)
+ for key in ('postal_code', 'town')
+ if getattr(self.general_contractor, key)])
+ if not address and self.corporation_general_contractor and\
+ self.corporation_general_contractor.address:
+ address = u" ".join([
+ getattr(self.corporation_general_contractor, key)
+ for key in ('postal_code', 'town')
+ if getattr(self.corporation_general_contractor, key)])
+ return address
+
def update_has_admin_act(self, cache_key=None):
if not cache_key:
cache_key, val = get_cache(self.__class__, [self.pk,