summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2010-11-27 18:20:27 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2010-11-27 18:20:27 +0100
commit7d05508460d6113d1c865661b0148677880c52da (patch)
tree9714f6cfe7ba3931317152360fa386b4e26e1926
parentcf38c77cd7aa1e6031d694f792626a7ccfb95cd8 (diff)
downloadChimère-7d05508460d6113d1c865661b0148677880c52da.tar.bz2
Chimère-7d05508460d6113d1c865661b0148677880c52da.zip
Display curret events on the welcome page (closes #282)
-rw-r--r--chimere/main/models.py15
-rw-r--r--chimere/main/views.py8
-rw-r--r--chimere/settings.py.example1
-rw-r--r--chimere/templates/welcome.html10
4 files changed, 32 insertions, 2 deletions
diff --git a/chimere/main/models.py b/chimere/main/models.py
index 2cd398e..daf7b3b 100644
--- a/chimere/main/models.py
+++ b/chimere/main/models.py
@@ -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 6d47c69..d8e9719 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 463f880..8206c18 100644
--- a/chimere/templates/welcome.html
+++ b/chimere/templates/welcome.html
@@ -6,8 +6,16 @@
{% if news_lst %}<div class='news'>
{% 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%}
</div>{%endif%}