summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2010-11-27 18:23:53 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2010-11-27 18:23:53 +0100
commit6ade14301af349f70332d758c8d9ca6af4d8432e (patch)
treebd6dad4e81b10ff98efc0dbbdb508d871b6f3bec
parent611a649f3dcd26b04b6c1f9f7eb4984075ab411c (diff)
parent7d05508460d6113d1c865661b0148677880c52da (diff)
downloadChimère-6ade14301af349f70332d758c8d9ca6af4d8432e.tar.bz2
Chimère-6ade14301af349f70332d758c8d9ca6af4d8432e.zip
Merge branch 'master' into carte-ouverte
-rw-r--r--chimere/main/models.py25
-rw-r--r--chimere/main/views.py8
-rw-r--r--chimere/settings.py.example1
-rw-r--r--chimere/templates/welcome.html10
4 files changed, 37 insertions, 7 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
diff --git a/chimere/main/views.py b/chimere/main/views.py
index 70ba5cd..cf538d9 100644
--- a/chimere/main/views.py
+++ b/chimere/main/views.py
@@ -195,7 +195,13 @@ def welcome(request, display=None):
Welcome string
"""
response_dct = {'display':display}
- response_dct['news_lst'] = News.objects.filter(available=True)
+ news = list(News.objects.filter(available=True).all())
+ if settings.DAYS_BEFORE_EVENT:
+ q = checkDate(Q(status='A', start_date__isnull=False))
+ news += list(Marker.objects.filter(q).all())
+ news.sort(key=lambda x:x.date, reverse=True)
+ response_dct['news_lst'] = news
+ n = news[0]
return loader.render_to_string('welcome.html', response_dct)
def submited(request, area_name="", action=""):
diff --git a/chimere/settings.py.example b/chimere/settings.py.example
index 48785d5..60d4c91 100644
--- a/chimere/settings.py.example
+++ b/chimere/settings.py.example
@@ -83,6 +83,7 @@ SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
+USE_L10N = True
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
diff --git a/chimere/templates/welcome.html b/chimere/templates/welcome.html
index 5be6bcd..0d51f27 100644
--- a/chimere/templates/welcome.html
+++ b/chimere/templates/welcome.html
@@ -42,8 +42,16 @@ notamment sur les critères de sélection, n'hésitez pas à lire la <a href='ch
</div>
{% if news_lst %}{% for news in news_lst %}
<div class='info'>
- <h3>{{news.title}} - {% trans news.date %}</h3>
+ {% if news.title %}
+ <h3>{{news.title}} &ndash; {{ news.date }}</h3>
<p>{{news.content|safe}}</p>
+ {% else %}
+ <h3>{{news.name}} &ndash; {{ news.start_date }}{% if news.end_date %} - {{ news.end_date }}{% endif %}</h3>
+ {% for property in news.getProperties %}
+ <p id='{{news.propertymodel.getNamedId}}'>{{ property.value|safe }}</p>
+ {% endfor %}
+ <p class='marker_link'><a href='{{ news.get_absolute_url }}'>{% trans "See it on the map"%}</a></p>
+ {% endif %}
</div>
{%endfor%}{%endif%}</div>
</div>