diff options
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index aacc9f2d0..76ffb761f 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) @@ -650,7 +659,7 @@ class DocumentTemplate(models.Model): def publish(self, c_object): tempdir = tempfile.mkdtemp("-ishtardocs") output_name = tempdir + os.path.sep + \ - self.name.replace(' ', '_').lower() + u'-' +\ + slugify(self.name.replace(' ', '_').lower()) + u'-' +\ datetime.date.today().strftime('%Y-%m-%d') +\ u"." + self.template.name.split('.')[-1] missing = ooo_replace(self.template, output_name, c_object.get_values()) @@ -691,7 +700,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")) @@ -753,6 +762,13 @@ class Person(Address, OwnPerms, ValueGetter) : if getattr(self, attr)] return u" ".join(values) + 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") @property def person_types_list(self): |