diff options
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 |
commit | 7d05508460d6113d1c865661b0148677880c52da (patch) | |
tree | 9714f6cfe7ba3931317152360fa386b4e26e1926 | |
parent | cf38c77cd7aa1e6031d694f792626a7ccfb95cd8 (diff) | |
download | Chimère-7d05508460d6113d1c865661b0148677880c52da.tar.bz2 Chimère-7d05508460d6113d1c865661b0148677880c52da.zip |
Display curret events on the welcome page (closes #282)
-rw-r--r-- | chimere/main/models.py | 15 | ||||
-rw-r--r-- | chimere/main/views.py | 8 | ||||
-rw-r--r-- | chimere/settings.py.example | 1 | ||||
-rw-r--r-- | 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 %}<div class='news'> {% for news in news_lst %} <div class='info'> - <h3>{{news.title}} - {% trans news.date %}</h3> + {% if news.title %} + <h3>{{news.title}} – {{ news.date }}</h3> <p>{{news.content|safe}}</p> + {% else %} + <h3>{{news.name}} – {{ 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%} |