summaryrefslogtreecommitdiff
path: root/chimere/main/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/main/models.py')
-rw-r--r--chimere/main/models.py25
1 files changed, 20 insertions, 5 deletions
diff --git a/chimere/main/models.py b/chimere/main/models.py
index 093918b..daf7b3b 100644
--- a/chimere/main/models.py
+++ b/chimere/main/models.py
@@ -59,7 +59,7 @@ class TinyUrl(models.Model):
@classmethod
def getParametersByUrn(cls, urn):
c_id = 0
- for idx, char in enumerate(urn):
+ for idx, char in enumerate(reversed(urn)):
c_id += cls.digits.index(char)*pow(cls.base, idx)
try:
params = cls.objects.get(id=c_id).parameters
@@ -70,11 +70,11 @@ class TinyUrl(models.Model):
@classmethod
def getUrnByParameters(cls, parameters):
try:
- object = cls.objects.get(parameters=parameters)
+ obj = cls.objects.get(parameters=parameters)
except cls.DoesNotExist:
- object = cls(parameters=parameters)
- object.save()
- n = object.id
+ obj = cls(parameters=parameters)
+ obj.save()
+ n = obj.id
urn = ''
while 1:
idx = n % cls.base
@@ -214,6 +214,11 @@ Format YYYY-MM-DD"))
def __unicode__(self):
return self.name
+ @property
+ def date(self):
+ if settings.DAYS_BEFORE_EVENT:
+ return self.start_date
+
class Meta:
ordering = ('status', 'name')
verbose_name = _("Point of interest")
@@ -266,6 +271,11 @@ Format YYYY-MM-DD"))
'icon_width':cat.icon.image.width, 'icon_height':cat.icon.image.height,})
return ",".join(jsons)
+ def get_absolute_url(self):
+ parameters = 'current_feature=%d&checked_categories=%s' % (self.id,
+ self.categories.all()[0].id)
+ return settings.BASE_URL + 'ty/' + TinyUrl.getUrnByParameters(parameters)
+
class Route(models.Model):
'''Route on the map
'''
@@ -332,6 +342,11 @@ Format YYYY-MM-DD"))
"color":"%(color)s"}}""" % {'id':self.id, 'name':self.name,
'color':color, 'geometry':self.route.geojson,}
+ def getTinyUrl(self):
+ parameters = 'current_feature=%d&checked_categories=%s' % (self.id,
+ self.categories[0].id)
+ return TinyUrl.getUrnByParameters(parameters)
+
def getDateCondition():
'''
Return an SQL condition for apparition of dates