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 | fcd09257520b250a13c3a084a48a7e570bbcc633 (patch) | |
| tree | 7c9ab2383a2c236017be967b36e78698ef785d2f /ishtar_common/models.py | |
| parent | 541bc0194da1e961f38fed849f6daf13ac66d791 (diff) | |
| download | Ishtar-fcd09257520b250a13c3a084a48a7e570bbcc633.tar.bz2 Ishtar-fcd09257520b250a13c3a084a48a7e570bbcc633.zip | |
More precise value getter for document generation
Diffstat (limited to 'ishtar_common/models.py')
| -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") | 
