summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2010-11-19 00:22:59 +0100
committerÉtienne Loks <etienne.loks@peacefrogs.net>2010-11-19 00:22:59 +0100
commit0cea4a3c6b265b8d68aa5104583e80b76cc9d5ec (patch)
treef448ee69ae71e4ae324bbb84e17471b037b1afeb
parent52b79196688dacf5a7874db254bbd9b9748d8ee3 (diff)
downloadChimère-0cea4a3c6b265b8d68aa5104583e80b76cc9d5ec.tar.bz2
Chimère-0cea4a3c6b265b8d68aa5104583e80b76cc9d5ec.zip
Update forms to make dated fields available to users (refs #270)
-rw-r--r--chimere/main/forms.py7
-rw-r--r--chimere/main/models.py12
-rw-r--r--chimere/main/views.py2
-rw-r--r--chimere/main/widgets.py1
-rw-r--r--chimere/templates/edit.html21
-rw-r--r--chimere/templates/edit_route.html21
6 files changed, 60 insertions, 4 deletions
diff --git a/chimere/main/forms.py b/chimere/main/forms.py
index ef13dc8..c3cd810 100644
--- a/chimere/main/forms.py
+++ b/chimere/main/forms.py
@@ -24,6 +24,7 @@ from django import forms
from django.contrib.gis.db import models
from django.utils.translation import ugettext as _
from django.contrib.auth.models import User, Permission, ContentType
+from django.contrib.admin.widgets import AdminDateWidget
from django.core.mail import EmailMessage, BadHeaderError
from chimere import settings
@@ -111,6 +112,9 @@ required=False)' % (property.order, property.id, property.name,
else:
keys['initial'] = property_dct
super(MarkerAdminForm, self).__init__(*args, **keys)
+ if settings.DAYS_BEFORE_EVENT:
+ self.fields['start_date'].widget = AdminDateWidget()
+ self.fields['end_date'].widget = AdminDateWidget()
def save(self, *args, **keys):
"""
@@ -180,6 +184,9 @@ required=False)' % (property.order, property.id, property.name,
else:
keys['initial'] = property_dct
super(RouteAdminForm, self).__init__(*args, **keys)
+ if settings.DAYS_BEFORE_EVENT:
+ self.fields['start_date'].widget = AdminDateWidget()
+ self.fields['end_date'].widget = AdminDateWidget()
def save(self, *args, **keys):
"""
diff --git a/chimere/main/models.py b/chimere/main/models.py
index 28f1446..0528357 100644
--- a/chimere/main/models.py
+++ b/chimere/main/models.py
@@ -199,9 +199,11 @@ class Marker(models.Model):
status = models.CharField(_("Status"), max_length=1, choices=STATUS)
if settings.DAYS_BEFORE_EVENT:
start_date = models.DateField(_("Start date"), blank=True, null=True,
-help_text=_("Not mandatory. Set it for dated item such as event."))
+help_text=_("Not mandatory. Set it for dated item such as event. \
+Format YYYY-MM-DD"))
end_date = models.DateField(_("End date"), blank=True, null=True,
-help_text=_("Not mandatory. Set it only if you have set a start date."))
+help_text=_("Not mandatory. Set it only if you have set a start date. \
+Format YYYY-MM-DD"))
objects = models.GeoManager()
def __unicode__(self):
@@ -275,9 +277,11 @@ class Route(models.Model):
STATUS_DCT[key] = label
if settings.DAYS_BEFORE_EVENT:
start_date = models.DateField(_("Start date"), blank=True, null=True,
-help_text=_("Not mandatory. Set it for dated item such as event."))
+help_text=_("Not mandatory. Set it for dated item such as event. \
+Format YYYY-MM-DD"))
end_date = models.DateField(_("End date"), blank=True, null=True,
-help_text=_("Not mandatory. Set it only if you have set a start date."))
+help_text=_("Not mandatory. Set it only if you have set a start date. \
+Format YYYY-MM-DD"))
status = models.CharField(_("Status"), max_length=1, choices=STATUS)
objects = models.GeoManager()
diff --git a/chimere/main/views.py b/chimere/main/views.py
index 3ac3db1..fce17d7 100644
--- a/chimere/main/views.py
+++ b/chimere/main/views.py
@@ -136,6 +136,7 @@ def edit(request, area_name=""):
'error_message':'',
'map_layer':settings.MAP_LAYER,
'form':form,
+ 'dated':settings.DAYS_BEFORE_EVENT,
'extra_head':form.media,
'sub_categories':SubCategory.getAvailable(['M', 'B'],
area_name),
@@ -176,6 +177,7 @@ def editRoute(request, area_name=""):
'error_message':'',
'map_layer':settings.MAP_LAYER,
'form':form,
+ 'dated':settings.DAYS_BEFORE_EVENT,
'extra_head':form.media,
'sub_categories':SubCategory.getAvailable(['R', 'B'],
area_name),
diff --git a/chimere/main/widgets.py b/chimere/main/widgets.py
index 64893ab..9c53a6d 100644
--- a/chimere/main/widgets.py
+++ b/chimere/main/widgets.py
@@ -331,3 +331,4 @@ class SelectMultipleField(models.ManyToManyField):
defaults = {'widget': MultiSelectWidget}
keys.update(defaults)
return super(SelectMultipleField, self).formfield(**keys)
+
diff --git a/chimere/templates/edit.html b/chimere/templates/edit.html
index 130ead6..4a02fe4 100644
--- a/chimere/templates/edit.html
+++ b/chimere/templates/edit.html
@@ -1,5 +1,12 @@
{% extends "base_user.html" %}
{% load i18n %}
+{% block extra_head %}
+{% if dated %}<script type="text/javascript" src="{{extra_url}}admin/jsi18n"></script>
+<script type="text/javascript" src="{{extra_url}}media/js/core.js"></script>
+<link rel="stylesheet" type="text/css" href="{{extra_url}}media/css/base.css"/>
+<link rel="stylesheet" type="text/css" href="{{extra_url}}media/css/widgets.css"/>
+{% endif %}{{ block.super }}
+{% endblock %}
{% block message_map %}{% endblock %}
{% block message_edit%}<div id='content'>{{block.super}}{% endblock %}
@@ -29,6 +36,20 @@
{{ form.picture.errors }}
{{ form.picture }}
</div>
+{% if dated %}
+<div class="fieldWrapper">
+ <label for="id_start_date">{% trans "Start date" %}</label>
+ {{ form.start_date.errors }}
+ {{ form.start_date }}
+ <p class="help">{{ form.start_date.help_text }}</p>
+</div>
+<div class="fieldWrapper">
+ <label for="id_end_date">{% trans "End date" %}</label>
+ {{ form.end_date.errors }}
+ {{ form.end_date }}
+ <p class="help">{{ form.end_date.help_text }}</p>
+</div>
+{% endif %}
{%for field in form%}{%for property in properties%}{%ifequal field.name property%}
<div class="fieldWrapper">
<label for="id_{{field.name}}">{% trans field.label %}</label>
diff --git a/chimere/templates/edit_route.html b/chimere/templates/edit_route.html
index 76524ac..5152ba5 100644
--- a/chimere/templates/edit_route.html
+++ b/chimere/templates/edit_route.html
@@ -1,5 +1,12 @@
{% extends "base_user.html" %}
{% load i18n %}
+{% block extra_head %}
+{% if dated %}<script type="text/javascript" src="{{extra_url}}admin/jsi18n"></script>
+<script type="text/javascript" src="{{extra_url}}media/js/core.js"></script>
+<link rel="stylesheet" type="text/css" href="{{extra_url}}media/css/base.css"/>
+<link rel="stylesheet" type="text/css" href="{{extra_url}}media/css/widgets.css"/>
+{% endif %}{{ block.super }}
+{% endblock %}
{% block message_map %}{% endblock %}
{% block message_edit%}<div id='content'>{{block.super}}{% endblock %}
{% block content %}{{ block.super }}
@@ -29,6 +36,20 @@
{{ form.picture.errors }}
{{ form.picture }}
</div>-->
+{% if dated %}
+<div class="fieldWrapper">
+ <label for="id_start_date">{% trans "Start date" %}</label>
+ {{ form.start_date.errors }}
+ {{ form.start_date }}
+ <p class="help">{{ form.start_date.help_text }}</p>
+</div>
+<div class="fieldWrapper">
+ <label for="id_end_date">{% trans "End date" %}</label>
+ {{ form.end_date.errors }}
+ {{ form.end_date }}
+ <p class="help">{{ form.end_date.help_text }}</p>
+</div>
+{% endif %}
{%for field in form%}{%for property in properties%}{%ifequal field.name property%}
<div class="fieldWrapper">
<label for="id_{{field.name}}">{% trans field.label %}</label>