From 873b72998f5fdf3953eb702dcd705d0c194f2e18 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 26 Nov 2010 20:05:12 +0100 Subject: Correct tiny url management (closes #281) --- chimere/main/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chimere/main/models.py b/chimere/main/models.py index 093918b..6ad4adb 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 -- cgit v1.2.3 From cf38c77cd7aa1e6031d694f792626a7ccfb95cd8 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 27 Nov 2010 16:09:37 +0100 Subject: Correct ambiguous name --- chimere/main/models.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/chimere/main/models.py b/chimere/main/models.py index 6ad4adb..2cd398e 100644 --- a/chimere/main/models.py +++ b/chimere/main/models.py @@ -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 -- cgit v1.2.3 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