diff options
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 |
commit | 6ade14301af349f70332d758c8d9ca6af4d8432e (patch) | |
tree | bd6dad4e81b10ff98efc0dbbdb508d871b6f3bec | |
parent | 611a649f3dcd26b04b6c1f9f7eb4984075ab411c (diff) | |
parent | 7d05508460d6113d1c865661b0148677880c52da (diff) | |
download | Chimère-6ade14301af349f70332d758c8d9ca6af4d8432e.tar.bz2 Chimère-6ade14301af349f70332d758c8d9ca6af4d8432e.zip |
Merge branch 'master' into carte-ouverte
-rw-r--r-- | chimere/main/models.py | 25 | ||||
-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, 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}} – {{ 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%}{%endif%}</div> </div> |