diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-12-05 01:25:04 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-12-05 01:25:04 +0100 |
commit | 8fc10b3251806dba8b29cf4eb70adcbcb7f183ee (patch) | |
tree | 7c9ab2383a2c236017be967b36e78698ef785d2f | |
parent | 9faccac25a1e69eac319cd089d383176871acc9e (diff) | |
download | Ishtar-8fc10b3251806dba8b29cf4eb70adcbcb7f183ee.tar.bz2 Ishtar-8fc10b3251806dba8b29cf4eb70adcbcb7f183ee.zip |
More precise value getter for document generation
-rw-r--r-- | ishtar_common/models.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 00a37ed97..fc5ef00a0 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -76,6 +76,15 @@ class ValueGetter(object): values[prefix + field_name] = value return values + @classmethod + def get_empty_values(cls, prefix=''): + if not prefix: + prefix = self._prefix + values = {} + for field_name in cls._meta.get_all_field_names(): + values[prefix + field_name] = '' + return values + class HistoricalRecords(BaseHistoricalRecords): def create_historical_record(self, instance, type): history_modifier = getattr(instance, 'history_modifier', None) @@ -643,6 +652,7 @@ class DocumentTemplate(models.Model): slugify(self.name.replace(' ', '_').lower()) + u'-' +\ datetime.date.today().strftime('%Y-%m-%d') +\ u"." + self.template.name.split('.')[-1] + print c_object.get_values() missing = ooo_replace(self.template, output_name, c_object.get_values()) return output_name @@ -681,7 +691,7 @@ class OrganizationType(GeneralType): verbose_name_plural = _(u"Organization types") ordering = ('label',) -class Organization(Address, OwnPerms): +class Organization(Address, OwnPerms, ValueGetter): name = models.CharField(_(u"Name"), max_length=100) organization_type = models.ForeignKey(OrganizationType, verbose_name=_(u"Type")) @@ -746,6 +756,8 @@ class Person(Address, OwnPerms, ValueGetter) : def get_values(self, prefix=''): values = super(Person, self).get_values(prefix=prefix) values[prefix+'title'] = dict(self.TYPE)[self.title] + if not self.attached_to: + values.update(Person.get_empty_values(prefix=prefix + 'attached_to_')) return values person_types_list_lbl = _(u"Types") |