From 7d05508460d6113d1c865661b0148677880c52da Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 27 Nov 2010 18:20:27 +0100 Subject: Display curret events on the welcome page (closes #282) --- chimere/main/models.py | 15 +++++++++++++++ chimere/main/views.py | 8 +++++++- chimere/settings.py.example | 1 + chimere/templates/welcome.html | 10 +++++++++- 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 %}
{% for news in news_lst %}
-

{{news.title}} - {% trans news.date %}

+ {% if news.title %} +

{{news.title}} – {{ news.date }}

{{news.content|safe}}

+ {% else %} +

{{news.name}} – {{ news.start_date }}{% if news.end_date %} - {{ news.end_date }}{% endif %}

+ {% for property in news.getProperties %} +

{{ property.value|safe }}

+ {% endfor %} + + {% endif %}
{%endfor%}
{%endif%} -- cgit v1.2.3