diff options
-rw-r--r-- | chimere/models.py | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/chimere/models.py b/chimere/models.py index 103503e..936353d 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -23,7 +23,7 @@ Models description import os, string, re import simplejson as json from lxml import etree -from datetime import datetime, timedelta +import datetime from subprocess import Popen, PIPE from django.conf import settings @@ -311,7 +311,7 @@ class Marker(GeographicItem): attr_name = defaultfilters.slugify(property.propertymodel.name) attr_name = re.sub(r'-','_', attr_name) if not hasattr(self, attr_name): - setattr(self, attr_name, property.value) + setattr(self, attr_name, property.python_value) def get_init_multi(self): multis = [forms.model_to_dict(multi) @@ -701,8 +701,9 @@ def getDateCondition(): ''' if not settings.CHIMERE_DAYS_BEFORE_EVENT: return "" - now = datetime.now().strftime('%Y-%m-%d') - after = (datetime.now() + timedelta(settings.CHIMERE_DAYS_BEFORE_EVENT) + now = datetime.datetime.now().strftime('%Y-%m-%d') + after = (datetime.datetime.now() + \ + datetime.timedelta(settings.CHIMERE_DAYS_BEFORE_EVENT) ).strftime('%Y-%m-%d') date_condition = " and %(alias)s.start_date is null or " date_condition += "(%(alias)s.start_date >= '" + now + "' and " @@ -938,3 +939,13 @@ class Property(models.Model): class Meta: verbose_name = _(u"Property") + @property + def python_value(self): + if self.propertymodel.type == 'D': + try: + return datetime.date(*[int(val) for val in self.value.split('-')]) + except: + return "" + else: + return self.value + |