diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-08-25 21:34:55 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-08-25 21:34:55 +0200 |
commit | 38302f3a894c04df8e3ab5bd24d9c8326a8c4d53 (patch) | |
tree | 231ca1cfc63c661930644922975200edf0273785 /ishtar_common/models.py | |
parent | 7d35c4a7672007f966bd47ff602e3e818dd2e042 (diff) | |
download | Ishtar-38302f3a894c04df8e3ab5bd24d9c8326a8c4d53.tar.bz2 Ishtar-38302f3a894c04df8e3ab5bd24d9c8326a8c4d53.zip |
Change saved filename (refs #244)
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index fc4cdbd17..ac2661fe1 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -29,12 +29,13 @@ from django.conf import settings from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.core.files.uploadedfile import SimpleUploadedFile from django.core.validators import validate_slug -from django.utils.translation import ugettext_lazy as _, ugettext -from django.utils.safestring import SafeUnicode, mark_safe from django.core.urlresolvers import reverse, NoReverseMatch from django.db.utils import DatabaseError from django.db.models import Q, Max, Count from django.db.models.signals import post_save +from django.utils.translation import ugettext_lazy as _, ugettext +from django.utils.safestring import SafeUnicode, mark_safe +from django.template.defaultfilters import slugify from django.contrib.auth.models import User from django.contrib.gis.db import models @@ -376,6 +377,13 @@ class BaseHistorizedItem(models.Model): item.pk = self.pk return item + @property + def last_edition_date(self): + try: + return self.history.order_by('-history_date').all()[0].history_date + except IndexError: + return + def rollback(self, date): """ Rollback to a previous state @@ -417,6 +425,23 @@ class BaseHistorizedItem(models.Model): except NoReverseMatch: return + @property + def associated_filename(self): + if [True for attr in ('get_town_label', 'get_department', 'reference', + 'short_class_name') if not hasattr(self, attr)]: + print [True if hasattr(self, attr) else False for attr in ('get_town_label', 'get_department', 'reference', + 'short_class_name') ] + return '' + print "yata" + items = [self.get_department(), self.get_town_label(), + self.short_class_name, self.reference] + last_edition_date = self.last_edition_date + if last_edition_date: + items.append(last_edition_date.strftime('%Y%m%d')) + else: + items.append('00000000') + return slugify(u"-".join([unicode(item) for item in items])) + class LightHistorizedItem(BaseHistorizedItem): history_date = models.DateTimeField(default=datetime.datetime.now) class Meta: |