summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chimere/__init__.py9
-rw-r--r--chimere/forms.py4
-rw-r--r--chimere/locale/fr/LC_MESSAGES/django.po580
-rw-r--r--chimere/migrations/0005_auto__add_multimediatype__add_field_picturefile_order__del_field_multi.py (renamed from chimere/migrations/0006_auto__add_multimediatype__add_field_picturefile_order__del_field_multi.py)31
-rw-r--r--chimere/migrations/0005_auto__del_field_marker_picture__del_field_marker_height__del_field_mar.py174
-rw-r--r--chimere/migrations/0007_auto__add_field_multimediatype_iframe__del_field_multimediafile_iframe.py179
-rw-r--r--chimere/models.py19
-rw-r--r--chimere/static/chimere/css/styles.css4
-rw-r--r--chimere/templates/chimere/blocks/inline_formset.html11
-rw-r--r--chimere/templates/chimere/edit.html25
-rw-r--r--chimere/templates/chimere/edit_route.html26
-rw-r--r--chimere/templatetags/chimere_tags.py1
-rw-r--r--chimere/templatetags/inline_formset.py18
-rw-r--r--example_project/locale/fr/LC_MESSAGES/django.po685
-rw-r--r--example_project/locale/fr/LC_MESSAGES/djangojs.po (renamed from chimere/locale/fr/LC_MESSAGES/djangojs.po)0
15 files changed, 763 insertions, 1003 deletions
diff --git a/chimere/__init__.py b/chimere/__init__.py
index e69de29..1b2fc61 100644
--- a/chimere/__init__.py
+++ b/chimere/__init__.py
@@ -0,0 +1,9 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (C) 2012 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+
+from django.utils.translation import ugettext as _
+
+# templates/chimere/edit.html, templates/chimere/edit_route.html
+_(u"Multimedia files")
+_(u"Picture files")
diff --git a/chimere/forms.py b/chimere/forms.py
index 5ae8257..d534b53 100644
--- a/chimere/forms.py
+++ b/chimere/forms.py
@@ -274,6 +274,8 @@ class MultimediaFileForm(forms.ModelForm):
"""
Form for a multimedia file
"""
+ pk = forms.IntegerField(label=u"", widget=forms.HiddenInput(),
+ required=False)
class Meta:
model = MultimediaFile
exclude = ('order',)
@@ -284,6 +286,8 @@ class PictureFileForm(forms.ModelForm):
"""
Form for a picture file
"""
+ pk = forms.IntegerField(label=u"", widget=forms.HiddenInput(),
+ required=False)
class Meta:
model = PictureFile
exclude = ('order', 'height', 'width')
diff --git a/chimere/locale/fr/LC_MESSAGES/django.po b/chimere/locale/fr/LC_MESSAGES/django.po
deleted file mode 100644
index 302e7fb..0000000
--- a/chimere/locale/fr/LC_MESSAGES/django.po
+++ /dev/null
@@ -1,580 +0,0 @@
-# Chimère
-# Copyright (C) 2008-2011
-# This file is distributed under the same license as the Chimère package.
-# Étienne Loks <etienne.loks@peacefrogs.net>, 2008-2011.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: 0.2\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-22 14:51+0200\n"
-"PO-Revision-Date: 2010-03-20 20:00+0100\n"
-"Last-Translator: Étienne Loks <etienne.loks@peacefrogs.net>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: main/actions.py:32
-msgid "View"
-msgstr "Voir"
-
-#: main/actions.py:33
-msgid "Contribute"
-msgstr "Participer"
-
-#: main/actions.py:34
-msgid "Add a new point of interest"
-msgstr "Ajout d'un point remarquable"
-
-#: main/actions.py:35 templates/edit_route.html:19
-msgid "Add a new route"
-msgstr "Ajout d'un nouveau trajet"
-
-#: main/actions.py:39
-msgid "RSS feeds"
-msgstr "Flux RSS"
-
-#: main/actions.py:42
-msgid "Contact us"
-msgstr "Nous contacter"
-
-#: main/forms.py:72
-msgid "New submission for"
-msgstr "Nouvelle proposition pour"
-
-#: main/forms.py:73
-#, python-format
-msgid "The new item \"%s\" has been submited in the category: "
-msgstr "Le nouvel élément « %s » a été proposé dans la catégorie : "
-
-#: main/forms.py:75
-msgid "To valid, precise or unvalid this item: "
-msgstr "Pour valider, préciser ou rejeter cet élément : "
-
-#: main/forms.py:84
-msgid "Email (optional)"
-msgstr "Courriel (optionnel) "
-
-#: main/forms.py:85
-msgid "Object"
-msgstr "Objet"
-
-#: main/forms.py:143
-msgid "End date has been set with no start date"
-msgstr "Une date de fin a été donnée sans date de début"
-
-#: main/forms.py:215 main/models.py:130 main/models.py:196 main/models.py:373
-#: templates/edit.html:39 templates/edit_route.html:39
-msgid "Image"
-msgstr "Image"
-
-#: main/forms.py:261
-msgid "File"
-msgstr "Fichier"
-
-#: main/forms.py:267
-msgid "Bad file format: this must be a GPX or KML file"
-msgstr "Mauvais format de fichier : KML et GPX sont supportés"
-
-#: main/forms.py:272 main/models.py:42 main/models.py:95 main/models.py:116
-#: main/models.py:129 main/models.py:143 main/models.py:193 main/models.py:315
-#: main/models.py:368 main/models.py:538 main/models.py:580
-msgid "Name"
-msgstr "Nom"
-
-#: main/forms.py:281 main/models.py:554
-msgid "Area"
-msgstr "Zone"
-
-#: main/models.py:43 main/models.py:117 main/models.py:144 main/models.py:201
-#: main/models.py:378 main/models.py:542 main/models.py:582
-msgid "Available"
-msgstr "Disponible"
-
-#: main/models.py:44
-msgid "Date"
-msgstr "Date"
-
-#: main/models.py:50 main/models.py:51
-msgid "News"
-msgstr "Nouvelle"
-
-#: main/models.py:56
-msgid "Parameters"
-msgstr "Paramètres"
-
-#: main/models.py:60
-msgid "TinyUrl"
-msgstr "Mini-url"
-
-#: main/models.py:99 main/models.py:106 main/models.py:147
-msgid "Color theme"
-msgstr "Thème de couleur"
-
-#: main/models.py:104
-msgid "Code"
-msgstr "Code"
-
-#: main/models.py:105 main/models.py:118 main/models.py:149 main/models.py:541
-#: main/models.py:581
-msgid "Order"
-msgstr "Ordre"
-
-#: main/models.py:111
-msgid "Color"
-msgstr "Couleur"
-
-#: main/models.py:124 main/models.py:142
-msgid "Category"
-msgstr "Catégorie"
-
-#: main/models.py:132 main/models.py:198 main/models.py:375
-msgid "Height"
-msgstr "Hauteur"
-
-#: main/models.py:133 main/models.py:199 main/models.py:376
-msgid "Width"
-msgstr "Largeur"
-
-#: main/models.py:137 main/models.py:146
-msgid "Icon"
-msgstr "Icône"
-
-#: main/models.py:150
-msgid "Marker"
-msgstr "Point d'intérêt"
-
-#: main/models.py:151 main/models.py:370 main/models.py:398
-#: templates/edit_route.html:33
-msgid "Route"
-msgstr "Trajet"
-
-#: main/models.py:152
-msgid "Both"
-msgstr "Mixte"
-
-#: main/models.py:153
-msgid "Item type"
-msgstr "Type d'élément"
-
-#: main/models.py:158
-msgid "Subcategory"
-msgstr "Sous-catégorie"
-
-#: main/models.py:195
-msgid "Localisation"
-msgstr "Localisation"
-
-#: main/models.py:200 main/models.py:377
-msgid "Submited"
-msgstr "Soumis"
-
-#: main/models.py:202 main/models.py:379
-msgid "Disabled"
-msgstr "Désactivé"
-
-#: main/models.py:206 main/models.py:390
-msgid "Status"
-msgstr "État"
-
-#: main/models.py:208 main/models.py:384 templates/edit.html:45
-#: templates/edit_route.html:45
-msgid "Start date"
-msgstr "Date de début"
-
-#: main/models.py:209 main/models.py:385
-msgid "Not mandatory. Set it for dated item such as event. Format YYYY-MM-DD"
-msgstr ""
-"Optionnel. Précisez ce champ pour les éléments datés comme un événement. "
-"Format du champ : AAAA-MM-JJ"
-
-#: main/models.py:211 main/models.py:387 templates/edit.html:51
-#: templates/edit_route.html:51
-msgid "End date"
-msgstr "Date de fin"
-
-#: main/models.py:212 main/models.py:388
-msgid ""
-"Not mandatory. Set it only if you have a multi-day event. Format YYYY-MM-DD"
-msgstr ""
-"Optionnel. Précisez ce champ seulement pour des événements durant plusieurs "
-"jours. Format du champ : AAAA-MM-JJ"
-
-#: main/models.py:215
-msgid "Available Date"
-msgstr "Date de mise en disponibilité"
-
-#: main/models.py:230 main/models.py:604
-msgid "Point of interest"
-msgstr "Point d'intérêt"
-
-#: main/models.py:316
-msgid "Raw file (gpx or kml)"
-msgstr "Fichier brut (gpx ou kml)"
-
-#: main/models.py:317
-msgid "Simplified file"
-msgstr "Fichier simplifié"
-
-#: main/models.py:319
-msgid "KML"
-msgstr "KML"
-
-#: main/models.py:319
-msgid "GPX"
-msgstr "GPX"
-
-#: main/models.py:372
-msgid "Associated file"
-msgstr "Fichier associé"
-
-#: main/models.py:539
-msgid "Area urn"
-msgstr "Urn de la zone"
-
-#: main/models.py:543
-msgid "Upper left corner"
-msgstr "Coin en haut à gauche"
-
-#: main/models.py:545
-msgid "Lower right corner"
-msgstr "Coin en bas à droite"
-
-#: main/models.py:583
-msgid "Text"
-msgstr "Texte"
-
-#: main/models.py:584
-msgid "Long text"
-msgstr "Texte long"
-
-#: main/models.py:585
-msgid "Password"
-msgstr "Mot de passe"
-
-#: main/models.py:589
-msgid "Type"
-msgstr "Type"
-
-#: main/models.py:594 main/models.py:606
-msgid "Property model"
-msgstr "Modèle de propriété"
-
-#: main/models.py:607
-msgid "Value"
-msgstr "Valeur"
-
-#: main/models.py:611
-msgid "Property"
-msgstr "Propriété"
-
-#: main/views.py:180
-msgid "Bad file. Please check it with an external software."
-msgstr "Fichier incohérent. Merci de le vérifier avec un logiciel externe."
-
-#: main/views.py:295
-msgid "Comments/request on the map"
-msgstr "Commentaires/requètes sur la carte"
-
-#: main/views.py:298
-msgid ""
-"Thank you for your contribution. It will be taken into account. If you have "
-"left your email you may be contacted soon for more details."
-msgstr ""
-"Merci pour votre contribution. Elle va être prise en compte. Si vous avez "
-"laissé votre courriel vous serez peut-être contacté bientôt pour plus de "
-"détails."
-
-#: main/views.py:302
-msgid "Temporary error. Renew your message later."
-msgstr "Erreur temporaire. Réenvoyez votre message plus tard."
-
-#: main/views.py:414
-msgid "No category available in this area."
-msgstr "Pas de catégorie disponible sur cette zone."
-
-#: main/widgets.py:112
-msgid "Latitude"
-msgstr "Latitude"
-
-#: main/widgets.py:112
-msgid "Longitude"
-msgstr "Longitude"
-
-#: main/widgets.py:136
-msgid "Invalid point"
-msgstr "Point invalide"
-
-#: main/widgets.py:162
-msgid "Creation mode"
-msgstr "Mode création"
-
-#: main/widgets.py:163
-msgid "To start drawing the route click on the toggle button: \"Draw\"."
-msgstr ""
-"Pour commencer le dessin cliquez sur le bouton : « Tracer » "
-
-#: main/widgets.py:164
-msgid "Then click on the map to begin the drawing."
-msgstr "Puis cliquez sur la carte pour commencer le dessin."
-
-#: main/widgets.py:165
-msgid "You can add points by clicking again."
-msgstr "Vous pouvez ajouter des points en cliquant de nouveau."
-
-#: main/widgets.py:166
-msgid ""
-"To finish the drawing double click. When the drawing is finished you can "
-"edit it."
-msgstr ""
-"Pour finir le tracé double-cliquez. Quand le tracé est fini vous pouvez "
-"toujours l'éditer."
-
-#: main/widgets.py:168
-msgid ""
-"While creating to undo a drawing click again on the toggle button \"Stop "
-"drawing\"."
-msgstr ""
-"En mode création vous pouvez annuler un tracé en appuyant sur le bouton « "
-"Arrêter le tracé »"
-
-#: main/widgets.py:173
-msgid "Modification mode"
-msgstr "Mode modification"
-
-#: main/widgets.py:174
-msgid "To move a point click on it and drag it to the desired position."
-msgstr ""
-"Pour bouger un point, cliquez dessus, maintenez le click pour le déposer à "
-"la position désirée."
-
-#: main/widgets.py:175
-msgid ""
-"To delete a point move the mouse cursor over it and press the \"d\" or \"Del"
-"\" key."
-msgstr ""
-"Pour supprimer un point, mettez le curseur de la souris sur celui-ci et "
-"appuyez sur le touche « d » ou « Suppr »"
-
-#: main/widgets.py:177
-msgid ""
-"To add a point click in the middle of a segment and drag the new point to "
-"the desired position"
-msgstr ""
-"Pour ajouter un nouveau point, cliquez au milieu d'un des segments, "
-"maintenez le bouton appuyé et déplacez le nouveau point à la position "
-"désirée."
-
-#: main/widgets.py:186
-msgid "Give a name and set category before uploading a file."
-msgstr ""
-"Renseignez le nom et choisissez au moins une catégorie avant de déposer un "
-"fichier."
-
-#: main/widgets.py:189
-msgid "Upload a route file (GPX or KML)"
-msgstr "Déposer un trajet (fichier GPX ou KML)"
-
-#: main/widgets.py:190
-msgid "or"
-msgstr "ou"
-
-#: main/widgets.py:195
-msgid "Start \"hand\" drawing"
-msgstr "Commencer le tracé manuellement"
-
-#: main/widgets.py:205
-msgid "Move on the map"
-msgstr "Se déplacer"
-
-#: main/widgets.py:205
-msgid "Draw"
-msgstr "Tracer"
-
-#: main/widgets.py:343
-msgid "Select..."
-msgstr "Sélectionner..."
-
-#: rss/feeds.py:128 rss/feeds.py:217
-msgid "Last points of interest"
-msgstr "Derniers points d'intérêt"
-
-#: rss/feeds.py:134
-msgid "Latest points of interest from "
-msgstr "Nouveaux points d'intérêt de "
-
-#: rss/feeds.py:180
-msgid "Last points of interest by area"
-msgstr "Nouveaux points d'intérêt par zone"
-
-#: rss/views.py:74
-msgid "Incorrect choice in the list"
-msgstr "Choix incorrect dans la liste"
-
-#: rss/templates/rss.html:10
-msgid "Subscribe to RSS feed"
-msgstr "Souscrire à un flux RSS"
-
-#: rss/templates/rss.html:17
-msgid "Type of RSS feed"
-msgstr "Type de flux RSS"
-
-#: rss/templates/rss.html:20
-msgid "All new points of interest"
-msgstr "Tous les nouveaux points d'intérêt"
-
-#: rss/templates/rss.html:21 rss/templates/rss.html.py:28
-msgid "New points of interest by category"
-msgstr "Les nouveaux points d'intérêt par catégorie"
-
-#: rss/templates/rss.html:22 rss/templates/rss.html.py:44
-msgid "New points of interest by area"
-msgstr "Les nouveaux points d'intérêt par zone"
-
-#: rss/templates/rss.html:30
-msgid "Choose a category"
-msgstr "Choisir une catégorie"
-
-#: rss/templates/rss.html:47
-msgid "Choose a pre-defined areas"
-msgstr "Choisir une zone pré-définie"
-
-#: rss/templates/rss.html:61
-msgid "Or select the area by zooming and panning this map"
-msgstr "Ou sélectionner une zone en zoomant et en se déplaçant sur cette carte"
-
-#: rss/templates/rss.html:66
-msgid "Validate"
-msgstr "Valider"
-
-#: templates/404.html:10
-msgid "Page not found"
-msgstr "Page non trouvée"
-
-#: templates/500.html:10
-msgid "Internal server error"
-msgstr "Erreur interne du serveur"
-
-#: templates/base.html:40
-msgid "This site uses Chimère"
-msgstr "Ce site utilise Chimère"
-
-#: templates/categories.html:8 templates/categories.html.py:16
-#: templates/main_map.html:18
-msgid "Zoom to"
-msgstr "Zoomer sur"
-
-#: templates/categories.html:18
-msgid "Tell me more..."
-msgstr "En savoir plus..."
-
-#: templates/categories.html:21
-msgid "Display markers and routes waiting for validation"
-msgstr ""
-"Afficher les points remarquables et les trajets en attente de validation"
-
-#: templates/category_detail.html:6 templates/welcome.html:23
-msgid "Close"
-msgstr "Fermer"
-
-#: templates/contactus.html:11
-msgid ""
-"If you have some requests or remarks about this site you can leave them here."
-msgstr ""
-"Si vous avez des requètes, des remarques à propos de ce site vous pouvez "
-"nous laisser un commentaire ici."
-
-#: templates/contactus.html:14
-msgid "Submit"
-msgstr "Proposer"
-
-#: templates/detail.html:8
-msgid "Date:"
-msgstr "Date :"
-
-#: templates/detail.html:15
-msgid "Share on"
-msgstr "Partager sur"
-
-#: templates/detail.html:18
-msgid "Share"
-msgstr "Partager"
-
-#: templates/edit.html:20
-msgid "Add a new site"
-msgstr "Ajouter un nouveau site"
-
-#: templates/edit.html:21 templates/edit_route.html:20
-msgid "indicates a mandatory field"
-msgstr "indique un champ obligatoire"
-
-#: templates/edit.html:24 templates/edit_route.html:23
-msgid "Site name"
-msgstr "Nom du site"
-
-#: templates/edit.html:29 templates/edit_route.html:28
-msgid "Categories"
-msgstr "Catégories"
-
-#: templates/edit.html:34
-msgid "Point"
-msgstr "Point"
-
-#: templates/edit.html:35 templates/edit_route.html:34
-msgid "Select a location for this new site"
-msgstr "Choisissez une localisation pour ce nouveau site"
-
-#: templates/edit.html:64 templates/edit_route.html:64
-msgid "Propose"
-msgstr "Proposez"
-
-#: templates/main_map.html:7 templates/main_map_simple.html:8
-msgid "Topics"
-msgstr "Thèmes"
-
-#: templates/main_map.html:16
-msgid "Shortcuts"
-msgstr "Raccourcis"
-
-#: templates/main_map.html:27
-msgid "Welcome message"
-msgstr "Message d'accueil"
-
-#: templates/main_map.html:32
-msgid "Permalink"
-msgstr "Lien permanent"
-
-#: templates/main_map.html:43
-msgid "Map"
-msgstr "Carte"
-
-#: templates/submited.html:7
-msgid ""
-"Your proposition has been submited. A moderator will treat your submission "
-"shortly. Thanks!"
-msgstr ""
-"Votre proposition a été soumise. Un modérateur va traiter votre proposition "
-"sous peu. Merci !"
-
-#: templates/upload_file.html:21
-msgid "Thank you for your submission!"
-msgstr "Merci pour votre proposition !"
-
-#: templates/upload_file.html:25
-msgid "Upload a file"
-msgstr "Déposer un fichier"
-
-#: templates/upload_file.html:51
-msgid "Upload"
-msgstr "Déposer"
-
-#: templates/welcome.html:17
-msgid "See it on the map"
-msgstr "Voir sur la carte"
-
-#: templates/admin/base_site.html:4 templates/admin/base_site.html.py:7
-msgid "Administration de Chimère"
-msgstr "Administration de Chimère"
-
-#~ msgid "Stop drawing"
-#~ msgstr "Arrêter le tracé"
diff --git a/chimere/migrations/0006_auto__add_multimediatype__add_field_picturefile_order__del_field_multi.py b/chimere/migrations/0005_auto__add_multimediatype__add_field_picturefile_order__del_field_multi.py
index 908e868..fd7a86b 100644
--- a/chimere/migrations/0006_auto__add_multimediatype__add_field_picturefile_order__del_field_multi.py
+++ b/chimere/migrations/0005_auto__add_multimediatype__add_field_picturefile_order__del_field_multi.py
@@ -14,6 +14,7 @@ class Migration(SchemaMigration):
('media_type', self.gf('django.db.models.fields.CharField')(max_length=1)),
('name', self.gf('django.db.models.fields.CharField')(max_length=150)),
('mime_type', self.gf('django.db.models.fields.CharField')(max_length=50, null=True, blank=True)),
+ ('iframe', self.gf('django.db.models.fields.BooleanField')(default=False)),
('available', self.gf('django.db.models.fields.BooleanField')(default=True)),
))
db.send_create_signal('chimere', ['MultimediaType'])
@@ -24,14 +25,20 @@ class Migration(SchemaMigration):
# Deleting field 'MultimediaFile.file_type'
db.delete_column('chimere_multimediafile', 'file_type')
- # Adding field 'MultimediaFile.iframe'
- db.add_column('chimere_multimediafile', 'iframe', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False)
-
# Adding field 'MultimediaFile.order'
db.add_column('chimere_multimediafile', 'order', self.gf('django.db.models.fields.IntegerField')(default=1), keep_default=False)
# Adding field 'MultimediaFile.multimedia_type'
- db.add_column('chimere_multimediafile', 'multimedia_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['chimere.MultimediaType'], null=True, blank=True), keep_default=False)
+ db.add_column('chimere_multimediafile', 'multimedia_type', self.gf('django.db.models.fields.related.ForeignKey')(default=1, to=orm['chimere.MultimediaType']), keep_default=False)
+
+ # Deleting field 'Marker.picture'
+ db.delete_column('chimere_marker', 'picture')
+
+ # Deleting field 'Marker.height'
+ db.delete_column('chimere_marker', 'height')
+
+ # Deleting field 'Marker.width'
+ db.delete_column('chimere_marker', 'width')
def backwards(self, orm):
@@ -45,15 +52,21 @@ class Migration(SchemaMigration):
# User chose to not deal with backwards NULL issues for 'MultimediaFile.file_type'
raise RuntimeError("Cannot reverse this migration. 'MultimediaFile.file_type' and its values cannot be restored.")
- # Deleting field 'MultimediaFile.iframe'
- db.delete_column('chimere_multimediafile', 'iframe')
-
# Deleting field 'MultimediaFile.order'
db.delete_column('chimere_multimediafile', 'order')
# Deleting field 'MultimediaFile.multimedia_type'
db.delete_column('chimere_multimediafile', 'multimedia_type_id')
+ # Adding field 'Marker.picture'
+ db.add_column('chimere_marker', 'picture', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True, blank=True), keep_default=False)
+
+ # Adding field 'Marker.height'
+ db.add_column('chimere_marker', 'height', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True), keep_default=False)
+
+ # Adding field 'Marker.width'
+ db.add_column('chimere_marker', 'width', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True), keep_default=False)
+
models = {
'chimere.area': {
@@ -115,8 +128,7 @@ class Migration(SchemaMigration):
'chimere.multimediafile': {
'Meta': {'object_name': 'MultimediaFile'},
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'iframe': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'multimedia_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.MultimediaType']", 'null': 'True', 'blank': 'True'}),
+ 'multimedia_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.MultimediaType']"}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
'url': ('django.db.models.fields.CharField', [], {'max_length': '200'})
@@ -125,6 +137,7 @@ class Migration(SchemaMigration):
'Meta': {'object_name': 'MultimediaType'},
'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'iframe': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'media_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '150'})
diff --git a/chimere/migrations/0005_auto__del_field_marker_picture__del_field_marker_height__del_field_mar.py b/chimere/migrations/0005_auto__del_field_marker_picture__del_field_marker_height__del_field_mar.py
deleted file mode 100644
index 776e66e..0000000
--- a/chimere/migrations/0005_auto__del_field_marker_picture__del_field_marker_height__del_field_mar.py
+++ /dev/null
@@ -1,174 +0,0 @@
-# encoding: utf-8
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
-
- # Deleting field 'Marker.picture'
- db.delete_column('chimere_marker', 'picture')
-
- # Deleting field 'Marker.height'
- db.delete_column('chimere_marker', 'height')
-
- # Deleting field 'Marker.width'
- db.delete_column('chimere_marker', 'width')
-
-
- def backwards(self, orm):
-
- # Adding field 'Marker.picture'
- db.add_column('chimere_marker', 'picture', self.gf('django.db.models.fields.files.ImageField')(max_length=100, null=True, blank=True), keep_default=False)
-
- # Adding field 'Marker.height'
- db.add_column('chimere_marker', 'height', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True), keep_default=False)
-
- # Adding field 'Marker.width'
- db.add_column('chimere_marker', 'width', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True), keep_default=False)
-
-
- models = {
- 'chimere.area': {
- 'Meta': {'ordering': "('order', 'name')", 'object_name': 'Area'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'lower_right_corner': ('django.contrib.gis.db.models.fields.PointField', [], {'default': "'POINT(0 0)'"}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'order': ('django.db.models.fields.IntegerField', [], {}),
- 'upper_left_corner': ('django.contrib.gis.db.models.fields.PointField', [], {'default': "'POINT(0 0)'"}),
- 'urn': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'unique': 'True', 'max_length': '50', 'blank': 'True'})
- },
- 'chimere.category': {
- 'Meta': {'ordering': "['order']", 'object_name': 'Category'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'order': ('django.db.models.fields.IntegerField', [], {})
- },
- 'chimere.color': {
- 'Meta': {'ordering': "['order']", 'object_name': 'Color'},
- 'code': ('django.db.models.fields.CharField', [], {'max_length': '6'}),
- 'color_theme': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.ColorTheme']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'order': ('django.db.models.fields.IntegerField', [], {})
- },
- 'chimere.colortheme': {
- 'Meta': {'object_name': 'ColorTheme'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'})
- },
- 'chimere.icon': {
- 'Meta': {'object_name': 'Icon'},
- 'height': ('django.db.models.fields.IntegerField', [], {}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'width': ('django.db.models.fields.IntegerField', [], {})
- },
- 'chimere.marker': {
- 'Meta': {'ordering': "('status', 'name')", 'object_name': 'Marker'},
- 'available_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
- 'categories': ('chimere.widgets.SelectMultipleField', [], {'to': "orm['chimere.SubCategory']", 'symmetrical': 'False'}),
- 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'multimedia_files': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['chimere.MultimediaFile']", 'null': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'pictures': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['chimere.PictureFile']", 'null': 'True', 'blank': 'True'}),
- 'point': ('chimere.widgets.PointField', [], {}),
- 'ref_item': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'submited_marker'", 'null': 'True', 'to': "orm['chimere.Marker']"}),
- 'route': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'associated_marker'", 'null': 'True', 'to': "orm['chimere.Route']"}),
- 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'status': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'submiter_comment': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'submiter_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
- 'submiter_session_key': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'})
- },
- 'chimere.multimediafile': {
- 'Meta': {'object_name': 'MultimediaFile'},
- 'file_type': ('django.db.models.fields.CharField', [], {'max_length': '6'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
- 'url': ('django.db.models.fields.CharField', [], {'max_length': '200'})
- },
- 'chimere.news': {
- 'Meta': {'object_name': 'News'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'content': ('django.db.models.fields.TextField', [], {}),
- 'date': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '150'})
- },
- 'chimere.picturefile': {
- 'Meta': {'object_name': 'PictureFile'},
- 'height': ('django.db.models.fields.IntegerField', [], {}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'miniature': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
- 'picture': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
- 'width': ('django.db.models.fields.IntegerField', [], {})
- },
- 'chimere.property': {
- 'Meta': {'object_name': 'Property'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'marker': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Marker']"}),
- 'propertymodel': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.PropertyModel']"}),
- 'value': ('django.db.models.fields.TextField', [], {})
- },
- 'chimere.propertymodel': {
- 'Meta': {'ordering': "('order',)", 'object_name': 'PropertyModel'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'order': ('django.db.models.fields.IntegerField', [], {}),
- 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
- },
- 'chimere.route': {
- 'Meta': {'ordering': "('status', 'name')", 'object_name': 'Route'},
- 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.RouteFile']", 'null': 'True', 'blank': 'True'}),
- 'categories': ('chimere.widgets.SelectMultipleField', [], {'to': "orm['chimere.SubCategory']", 'symmetrical': 'False'}),
- 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'picture': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
- 'ref_item': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'submited_route'", 'null': 'True', 'to': "orm['chimere.Route']"}),
- 'route': ('chimere.widgets.RouteField', [], {}),
- 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'status': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'submiter_comment': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'submiter_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
- 'submiter_session_key': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}),
- 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
- },
- 'chimere.routefile': {
- 'Meta': {'ordering': "('name',)", 'object_name': 'RouteFile'},
- 'file_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'raw_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
- 'simplified_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'})
- },
- 'chimere.subcategory': {
- 'Meta': {'ordering': "['category', 'order']", 'object_name': 'SubCategory'},
- 'areas': ('chimere.widgets.SelectMultipleField', [], {'symmetrical': 'False', 'related_name': "'areas'", 'blank': 'True', 'to': "orm['chimere.Area']"}),
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Category']"}),
- 'color_theme': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.ColorTheme']", 'null': 'True', 'blank': 'True'}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Icon']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'item_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'order': ('django.db.models.fields.IntegerField', [], {})
- },
- 'chimere.tinyurl': {
- 'Meta': {'object_name': 'TinyUrl'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'parameters': ('django.db.models.fields.CharField', [], {'max_length': '500'})
- }
- }
-
- complete_apps = ['chimere']
diff --git a/chimere/migrations/0007_auto__add_field_multimediatype_iframe__del_field_multimediafile_iframe.py b/chimere/migrations/0007_auto__add_field_multimediatype_iframe__del_field_multimediafile_iframe.py
deleted file mode 100644
index f4dbdb9..0000000
--- a/chimere/migrations/0007_auto__add_field_multimediatype_iframe__del_field_multimediafile_iframe.py
+++ /dev/null
@@ -1,179 +0,0 @@
-# encoding: utf-8
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-class Migration(SchemaMigration):
-
- def forwards(self, orm):
-
- # Adding field 'MultimediaType.iframe'
- db.add_column('chimere_multimediatype', 'iframe', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False)
-
- # Deleting field 'MultimediaFile.iframe'
- db.delete_column('chimere_multimediafile', 'iframe')
-
-
- def backwards(self, orm):
-
- # Deleting field 'MultimediaType.iframe'
- db.delete_column('chimere_multimediatype', 'iframe')
-
- # Adding field 'MultimediaFile.iframe'
- db.add_column('chimere_multimediafile', 'iframe', self.gf('django.db.models.fields.BooleanField')(default=False), keep_default=False)
-
-
- models = {
- 'chimere.area': {
- 'Meta': {'ordering': "('order', 'name')", 'object_name': 'Area'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'lower_right_corner': ('django.contrib.gis.db.models.fields.PointField', [], {'default': "'POINT(0 0)'"}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'order': ('django.db.models.fields.IntegerField', [], {}),
- 'upper_left_corner': ('django.contrib.gis.db.models.fields.PointField', [], {'default': "'POINT(0 0)'"}),
- 'urn': ('django.db.models.fields.SlugField', [], {'db_index': 'True', 'unique': 'True', 'max_length': '50', 'blank': 'True'})
- },
- 'chimere.category': {
- 'Meta': {'ordering': "['order']", 'object_name': 'Category'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'order': ('django.db.models.fields.IntegerField', [], {})
- },
- 'chimere.color': {
- 'Meta': {'ordering': "['order']", 'object_name': 'Color'},
- 'code': ('django.db.models.fields.CharField', [], {'max_length': '6'}),
- 'color_theme': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.ColorTheme']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'order': ('django.db.models.fields.IntegerField', [], {})
- },
- 'chimere.colortheme': {
- 'Meta': {'object_name': 'ColorTheme'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'})
- },
- 'chimere.icon': {
- 'Meta': {'object_name': 'Icon'},
- 'height': ('django.db.models.fields.IntegerField', [], {}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'width': ('django.db.models.fields.IntegerField', [], {})
- },
- 'chimere.marker': {
- 'Meta': {'ordering': "('status', 'name')", 'object_name': 'Marker'},
- 'available_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
- 'categories': ('chimere.widgets.SelectMultipleField', [], {'to': "orm['chimere.SubCategory']", 'symmetrical': 'False'}),
- 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'multimedia_files': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['chimere.MultimediaFile']", 'null': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'pictures': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'to': "orm['chimere.PictureFile']", 'null': 'True', 'blank': 'True'}),
- 'point': ('chimere.widgets.PointField', [], {}),
- 'ref_item': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'submited_marker'", 'null': 'True', 'to': "orm['chimere.Marker']"}),
- 'route': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'associated_marker'", 'null': 'True', 'to': "orm['chimere.Route']"}),
- 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'status': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'submiter_comment': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'submiter_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
- 'submiter_session_key': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'})
- },
- 'chimere.multimediafile': {
- 'Meta': {'object_name': 'MultimediaFile'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'multimedia_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.MultimediaType']", 'null': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
- 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
- 'url': ('django.db.models.fields.CharField', [], {'max_length': '200'})
- },
- 'chimere.multimediatype': {
- 'Meta': {'object_name': 'MultimediaType'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'iframe': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'media_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'mime_type': ('django.db.models.fields.CharField', [], {'max_length': '50', 'null': 'True', 'blank': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'})
- },
- 'chimere.news': {
- 'Meta': {'object_name': 'News'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'content': ('django.db.models.fields.TextField', [], {}),
- 'date': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'title': ('django.db.models.fields.CharField', [], {'max_length': '150'})
- },
- 'chimere.picturefile': {
- 'Meta': {'object_name': 'PictureFile'},
- 'height': ('django.db.models.fields.IntegerField', [], {}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'miniature': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150', 'null': 'True', 'blank': 'True'}),
- 'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}),
- 'picture': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}),
- 'width': ('django.db.models.fields.IntegerField', [], {})
- },
- 'chimere.property': {
- 'Meta': {'object_name': 'Property'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'marker': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Marker']"}),
- 'propertymodel': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.PropertyModel']"}),
- 'value': ('django.db.models.fields.TextField', [], {})
- },
- 'chimere.propertymodel': {
- 'Meta': {'ordering': "('order',)", 'object_name': 'PropertyModel'},
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'order': ('django.db.models.fields.IntegerField', [], {}),
- 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
- },
- 'chimere.route': {
- 'Meta': {'ordering': "('status', 'name')", 'object_name': 'Route'},
- 'associated_file': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.RouteFile']", 'null': 'True', 'blank': 'True'}),
- 'categories': ('chimere.widgets.SelectMultipleField', [], {'to': "orm['chimere.SubCategory']", 'symmetrical': 'False'}),
- 'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'picture': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
- 'ref_item': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'submited_route'", 'null': 'True', 'to': "orm['chimere.Route']"}),
- 'route': ('chimere.widgets.RouteField', [], {}),
- 'start_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
- 'status': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'submiter_comment': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
- 'submiter_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
- 'submiter_session_key': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}),
- 'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
- },
- 'chimere.routefile': {
- 'Meta': {'ordering': "('name',)", 'object_name': 'RouteFile'},
- 'file_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'raw_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
- 'simplified_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'})
- },
- 'chimere.subcategory': {
- 'Meta': {'ordering': "['category', 'order']", 'object_name': 'SubCategory'},
- 'areas': ('chimere.widgets.SelectMultipleField', [], {'symmetrical': 'False', 'related_name': "'areas'", 'blank': 'True', 'to': "orm['chimere.Area']"}),
- 'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
- 'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Category']"}),
- 'color_theme': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.ColorTheme']", 'null': 'True', 'blank': 'True'}),
- 'icon': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Icon']"}),
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'item_type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
- 'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}),
- 'order': ('django.db.models.fields.IntegerField', [], {})
- },
- 'chimere.tinyurl': {
- 'Meta': {'object_name': 'TinyUrl'},
- 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
- 'parameters': ('django.db.models.fields.CharField', [], {'max_length': '500'})
- }
- }
-
- complete_apps = ['chimere']
diff --git a/chimere/models.py b/chimere/models.py
index 1933ba3..458fa31 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -55,7 +55,7 @@ class News(models.Model):
class TinyUrl(models.Model):
"""Tinyfied version of permalink parameters
"""
- parameters = models.CharField(_("uParameters"), max_length=500)
+ parameters = models.CharField(_(u"Parameters"), max_length=500)
def __unicode__(self):
return self.parameters
class Meta:
@@ -377,19 +377,10 @@ class MultimediaFile(models.Model):
name = models.CharField(_(u"Name"), max_length=150, blank=True, null=True)
url = models.CharField(_(u"Url"), max_length=200)
order = models.IntegerField(_(u"Order"), default=1)
- multimedia_type = models.ForeignKey(MultimediaType, blank=True,
- null=True)
+ multimedia_type = models.ForeignKey(MultimediaType)
def __unicode__(self):
- return self.name
-
- def clean(self):
- if self.url and not self.iframe:
- raise ValidationError(_(u"Multimedia type is mandatory if is "\
- u"not an iframe."))
- if self.multimedia_type and self.iframe:
- raise ValidationError(_(u"There is no multimedia type associated "\
- u"to an iframe."))
+ return self.name or u""
class PictureFile(models.Model):
name = models.CharField(_(u"Name"), max_length=150, blank=True, null=True)
@@ -397,11 +388,11 @@ class PictureFile(models.Model):
height_field='height', width_field='width')
height = models.IntegerField(_(u"Height"))
width = models.IntegerField(_(u"Width"))
- miniature = models.BooleanField(_(u"Display inside the resume ?"))
+ miniature = models.BooleanField(_(u"Display inside the resume?"))
order = models.IntegerField(_(u"Order"), default=1)
def __unicode__(self):
- return self.name
+ return self.name or u""
class RouteFile(models.Model):
name = models.CharField(_(u"Name"), max_length=150)
diff --git a/chimere/static/chimere/css/styles.css b/chimere/static/chimere/css/styles.css
index d973e99..8961760 100644
--- a/chimere/static/chimere/css/styles.css
+++ b/chimere/static/chimere/css/styles.css
@@ -478,13 +478,13 @@ a#welcome_button{
/* forms */
-table.multimedia td input[type=checkbox]{
+table.inline-table td input[type=checkbox]{
display:block;
margin-left:auto;
margin-right:auto;
}
-table.multimedia td input[type=text]{
+table.inline-table td input[type=text]{
width:300px;
}
diff --git a/chimere/templates/chimere/blocks/inline_formset.html b/chimere/templates/chimere/blocks/inline_formset.html
new file mode 100644
index 0000000..d6c45b8
--- /dev/null
+++ b/chimere/templates/chimere/blocks/inline_formset.html
@@ -0,0 +1,11 @@
+{% load i18n %}
+ <table class='inline-table'>
+ <caption>{% trans caption %}</caption>
+ {% for frm in formset%}{%ifequal forloop.counter 1 %}
+ <tr>{% for field in frm%}{% if field.label %}
+ <th>{{field.label}}</th>{% endif %}{%endfor%}
+ </tr>{%endifequal%}
+ <tr>{% for field in frm%}{%if not field.is_hidden%}
+ <td>{{field}}</td>{%endif%}{%endfor%}
+ </tr>{%endfor%}
+ </table>
diff --git a/chimere/templates/chimere/edit.html b/chimere/templates/chimere/edit.html
index a85d561..14a7507 100644
--- a/chimere/templates/chimere/edit.html
+++ b/chimere/templates/chimere/edit.html
@@ -1,5 +1,5 @@
{% extends "chimere/base.html" %}
-{% load i18n chimere_tags adminmedia %}
+{% load i18n chimere_tags adminmedia inline_formset%}
{% block extra_head %}
{{ block.super }}
{{ form.media }}
@@ -62,27 +62,8 @@
{%endfor%}
{%endfor%}
- <table class='multimedia'>
- <caption>{% trans "Multimedia files" %}</caption>
- {% for frm in formset_multi%}{%ifequal forloop.counter 1 %}
- <tr>{% for field in frm%}
- <th>{{field.label}}</th>{%endfor%}
- </tr>{%endifequal%}
- <tr>{% for field in frm%}
- <td>{{field}}</td>{%endfor%}
- </tr>{%endfor%}
- </table>
-
- <table class='multimedia'>
- <caption>{% trans "Picture files" %}</caption>
- {% for frm in formset_picture%}{%ifequal forloop.counter 1 %}
- <tr>{% for field in frm%}
- <th>{{field.label}}</th>{%endfor%}
- </tr>{%endifequal%}
- <tr>{% for field in frm%}
- <td>{{field}}</td>{%endfor%}
- </tr>{%endfor%}
- </table>
+ {% inline_formset "Multimedia files" formset_multi %}
+ {% inline_formset "Picture files" formset_picture %}
<p><input type='submit' onclick='saveExtent();' value="{% trans 'Propose'%}"/></p>
</form>
diff --git a/chimere/templates/chimere/edit_route.html b/chimere/templates/chimere/edit_route.html
index 92510d0..0aeacf4 100644
--- a/chimere/templates/chimere/edit_route.html
+++ b/chimere/templates/chimere/edit_route.html
@@ -1,5 +1,5 @@
{% extends "chimere/base.html" %}
-{% load i18n adminmedia chimere_tags %}
+{% load i18n adminmedia chimere_tags inline_formset %}
{% block extra_head %}
{{ block.super }}
{{ form.media }}
@@ -64,28 +64,8 @@
</div>
{%endifequal%}{%endfor%}{%endfor%}
- <table class='multimedia'>
- <caption>{% trans "Multimedia files" %}</caption>
- {% for frm in formset_multi%}{%ifequal forloop.counter 1 %}
- <tr>{% for field in frm%}
- <th>{{field.label}}</th>{%endfor%}
- </tr>{%endifequal%}
- <tr>{% for field in frm%}
- <td>{{field}}</td>{%endfor%}
- </tr>{%endfor%}
- </table>
-
- <table class='multimedia'>
- <caption>{% trans "Picture files" %}</caption>
- <ul class='inline-form'>{{ formset_picture.as_ul }}</ul>
- {% for frm in formset_picture%}{%ifequal forloop.counter 1 %}
- <tr>{% for field in frm%}
- <th>{{field.label}}</th>{%endfor%}
- </tr>{%endifequal%}
- <tr>{% for field in frm%}
- <td>{{field}}</td>{%endfor%}
- </tr>{%endfor%}
- </table>
+ {% inline_formset "Multimedia files" formset_multi %}
+ {% inline_formset "Picture files" formset_picture %}
<p><input type='submit' onclick='saveExtent();' value="{% trans 'Propose'%}"/></p>
</form>
diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py
index 21e1fb0..abcb149 100644
--- a/chimere/templatetags/chimere_tags.py
+++ b/chimere/templatetags/chimere_tags.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
# -*- coding: utf-8 -*-
from logging import getLogger
diff --git a/chimere/templatetags/inline_formset.py b/chimere/templatetags/inline_formset.py
new file mode 100644
index 0000000..a87b89e
--- /dev/null
+++ b/chimere/templatetags/inline_formset.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+from django import template
+from django.utils.translation import ugettext as _
+import re
+
+register = template.Library()
+
+@register.inclusion_tag('chimere/blocks/inline_formset.html')
+def inline_formset(caption, formset):
+ u"""
+ Render a formset as an inline table.
+ For i18n of the caption Be carreful to add manualy the caption label to the
+ translated fields
+ """
+ return {'caption':caption, 'formset':formset}
+
diff --git a/example_project/locale/fr/LC_MESSAGES/django.po b/example_project/locale/fr/LC_MESSAGES/django.po
new file mode 100644
index 0000000..9251eae
--- /dev/null
+++ b/example_project/locale/fr/LC_MESSAGES/django.po
@@ -0,0 +1,685 @@
+# Chimère
+# Copyright (C) 2008-2012
+# This file is distributed under the same license as the Chimère package.
+# Étienne Loks <etienne.loks@peacefrogs.net>, 2008-2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: 0.2\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2012-03-07 19:59+0100\n"
+"PO-Revision-Date: 2010-03-20 20:00+0100\n"
+"Last-Translator: Étienne Loks <etienne.loks@peacefrogs.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: extra-locales/chimere/__init__.py:6
+msgid "Multimedia files"
+msgstr "Fichiers multimedias"
+
+#: extra-locales/chimere/actions.py:31
+msgid "View"
+msgstr "Voir"
+
+#: extra-locales/chimere/actions.py:32
+msgid "Contribute"
+msgstr "Participer"
+
+#: extra-locales/chimere/actions.py:33
+msgid "Add a new point of interest"
+msgstr "Ajout d'un point remarquable"
+
+#: extra-locales/chimere/actions.py:34
+msgid "Add a new route"
+msgstr "Ajout d'un nouveau trajet"
+
+#: extra-locales/chimere/actions.py:38
+msgid "RSS feeds"
+msgstr "Flux RSS"
+
+#: extra-locales/chimere/actions.py:41
+msgid "Contact us"
+msgstr "Nous contacter"
+
+#: extra-locales/chimere/forms.py:73
+msgid "New submission for"
+msgstr "Nouvelle proposition pour"
+
+#: extra-locales/chimere/forms.py:74
+#, python-format
+msgid "The new item \"%s\" has been submited in the category: "
+msgstr "Le nouvel élément « %s » a été proposé dans la catégorie : "
+
+#: extra-locales/chimere/forms.py:76
+msgid "To valid, precise or unvalid this item: "
+msgstr "Pour valider, préciser ou rejeter cet élément : "
+
+#: extra-locales/chimere/forms.py:85
+msgid "Email (optional)"
+msgstr "Courriel (optionnel) "
+
+#: extra-locales/chimere/forms.py:86
+msgid "Object"
+msgstr "Objet"
+
+#: extra-locales/chimere/forms.py:139
+msgid "End date has been set with no start date"
+msgstr "Une date de fin a été donnée sans date de début"
+
+#: extra-locales/chimere/forms.py:224 extra-locales/chimere/models.py:132
+#: extra-locales/chimere/models.py:363 extra-locales/chimere/models.py:387
+#: extra-locales/chimere/models.py:461
+#: extra-locales/chimere/templates/chimere/edit_route.html:41
+msgid "Image"
+msgstr "Image"
+
+#: extra-locales/chimere/forms.py:298
+msgid "File"
+msgstr "Fichier"
+
+#: extra-locales/chimere/forms.py:304
+msgid "Bad file format: this must be a GPX or KML file"
+msgstr "Mauvais format de fichier : KML et GPX sont supportés"
+
+#: extra-locales/chimere/forms.py:309 extra-locales/chimere/models.py:44
+#: extra-locales/chimere/models.py:97 extra-locales/chimere/models.py:118
+#: extra-locales/chimere/models.py:131 extra-locales/chimere/models.py:145
+#: extra-locales/chimere/models.py:193 extra-locales/chimere/models.py:367
+#: extra-locales/chimere/models.py:377 extra-locales/chimere/models.py:386
+#: extra-locales/chimere/models.py:398 extra-locales/chimere/models.py:626
+#: extra-locales/chimere/models.py:668
+msgid "Name"
+msgstr "Nom"
+
+#: extra-locales/chimere/forms.py:318 extra-locales/chimere/models.py:642
+msgid "Area"
+msgstr "Zone"
+
+#: extra-locales/chimere/models.py:45 extra-locales/chimere/models.py:119
+#: extra-locales/chimere/models.py:146 extra-locales/chimere/models.py:202
+#: extra-locales/chimere/models.py:371 extra-locales/chimere/models.py:630
+#: extra-locales/chimere/models.py:670
+msgid "Available"
+msgstr "Disponible"
+
+#: extra-locales/chimere/models.py:46
+msgid "Date"
+msgstr "Date"
+
+#: extra-locales/chimere/models.py:52 extra-locales/chimere/models.py:53
+#: extra-locales/chimere/templates/chimere/blocks/welcome.html:5
+msgid "News"
+msgstr "Nouvelle"
+
+#: extra-locales/chimere/models.py:58
+msgid "Parameters"
+msgstr "Paramètres"
+
+#: extra-locales/chimere/models.py:62
+msgid "TinyUrl"
+msgstr "Mini-url"
+
+#: extra-locales/chimere/models.py:101 extra-locales/chimere/models.py:108
+#: extra-locales/chimere/models.py:149
+msgid "Color theme"
+msgstr "Thème de couleur"
+
+#: extra-locales/chimere/models.py:106
+msgid "Code"
+msgstr "Code"
+
+#: extra-locales/chimere/models.py:107 extra-locales/chimere/models.py:120
+#: extra-locales/chimere/models.py:151 extra-locales/chimere/models.py:379
+#: extra-locales/chimere/models.py:392 extra-locales/chimere/models.py:629
+#: extra-locales/chimere/models.py:669
+msgid "Order"
+msgstr "Ordre"
+
+#: extra-locales/chimere/models.py:113
+msgid "Color"
+msgstr "Couleur"
+
+#: extra-locales/chimere/models.py:126 extra-locales/chimere/models.py:144
+msgid "Category"
+msgstr "Catégorie"
+
+#: extra-locales/chimere/models.py:134 extra-locales/chimere/models.py:389
+#: extra-locales/chimere/models.py:463
+msgid "Height"
+msgstr "Hauteur"
+
+#: extra-locales/chimere/models.py:135 extra-locales/chimere/models.py:390
+#: extra-locales/chimere/models.py:464
+msgid "Width"
+msgstr "Largeur"
+
+#: extra-locales/chimere/models.py:139 extra-locales/chimere/models.py:148
+msgid "Icon"
+msgstr "Icône"
+
+#: extra-locales/chimere/models.py:152
+msgid "Marker"
+msgstr "Point d'intérêt"
+
+#: extra-locales/chimere/models.py:153 extra-locales/chimere/models.py:457
+#: extra-locales/chimere/models.py:472
+#: extra-locales/chimere/templates/chimere/edit_route.html:35
+msgid "Route"
+msgstr "Trajet"
+
+#: extra-locales/chimere/models.py:154
+msgid "Both"
+msgstr "Mixte"
+
+#: extra-locales/chimere/models.py:155
+msgid "Item type"
+msgstr "Type d'élément"
+
+#: extra-locales/chimere/models.py:160
+msgid "Subcategory"
+msgstr "Sous-catégorie"
+
+#: extra-locales/chimere/models.py:195
+msgid "Submitter session key"
+msgstr "Clé de session du demandeur"
+
+#: extra-locales/chimere/models.py:197
+msgid "Submitter email"
+msgstr "Courriel du demandeur"
+
+#: extra-locales/chimere/models.py:199
+msgid "Submitter comment"
+msgstr "Commentaire du demandeur"
+
+#: extra-locales/chimere/models.py:201
+msgid "Submited"
+msgstr "Soumis"
+
+#: extra-locales/chimere/models.py:203
+msgid "Modified"
+msgstr "Modifié"
+
+#: extra-locales/chimere/models.py:204
+msgid "Disabled"
+msgstr "Désactivé"
+
+#: extra-locales/chimere/models.py:208
+msgid "Status"
+msgstr "État"
+
+#: extra-locales/chimere/models.py:210
+#: extra-locales/chimere/templates/chimere/edit.html:41
+#: extra-locales/chimere/templates/chimere/edit_route.html:47
+msgid "Start date"
+msgstr "Date de début"
+
+#: extra-locales/chimere/models.py:211
+msgid "Not mandatory. Set it for dated item such as event. Format YYYY-MM-DD"
+msgstr ""
+"Optionnel. Précisez ce champ pour les éléments datés comme un événement. "
+"Format du champ : AAAA-MM-JJ"
+
+#: extra-locales/chimere/models.py:213
+#: extra-locales/chimere/templates/chimere/edit.html:47
+#: extra-locales/chimere/templates/chimere/edit_route.html:53
+msgid "End date"
+msgstr "Date de fin"
+
+#: extra-locales/chimere/models.py:214
+msgid ""
+"Not mandatory. Set it only if you have a multi-day event. Format YYYY-MM-DD"
+msgstr ""
+"Optionnel. Précisez ce champ seulement pour des événements durant plusieurs "
+"jours. Format du champ : AAAA-MM-JJ"
+
+#: extra-locales/chimere/models.py:223
+msgid "Reference marker"
+msgstr "Point d'intérêt de référence"
+
+#: extra-locales/chimere/models.py:224
+msgid "Localisation"
+msgstr "Localisation"
+
+#: extra-locales/chimere/models.py:227
+msgid "Available Date"
+msgstr "Date de mise en disponibilité"
+
+#: extra-locales/chimere/models.py:270 extra-locales/chimere/models.py:692
+msgid "Point of interest"
+msgstr "Point d'intérêt"
+
+#: extra-locales/chimere/models.py:361
+msgid "Audio"
+msgstr "Audio"
+
+#: extra-locales/chimere/models.py:362
+msgid "Video"
+msgstr "Vidéo"
+
+#: extra-locales/chimere/models.py:364
+msgid "Other"
+msgstr "Autre"
+
+#: extra-locales/chimere/models.py:365
+msgid "Media type"
+msgstr "Type de media"
+
+#: extra-locales/chimere/models.py:368
+msgid "Mime type"
+msgstr "Type mime"
+
+#: extra-locales/chimere/models.py:378
+msgid "Url"
+msgstr "Url"
+
+#: extra-locales/chimere/models.py:391
+msgid "Display inside the resume?"
+msgstr "Apparaît dans le résumé ?"
+
+#: extra-locales/chimere/models.py:399
+msgid "Raw file (gpx or kml)"
+msgstr "Fichier brut (gpx ou kml)"
+
+#: extra-locales/chimere/models.py:400
+msgid "Simplified file"
+msgstr "Fichier simplifié"
+
+#: extra-locales/chimere/models.py:402
+msgid "KML"
+msgstr "KML"
+
+#: extra-locales/chimere/models.py:402
+msgid "GPX"
+msgstr "GPX"
+
+#: extra-locales/chimere/models.py:407
+msgid "Route file"
+msgstr "Fichier de trajet"
+
+#: extra-locales/chimere/models.py:456
+msgid "Reference route"
+msgstr "Trajet de référence"
+
+#: extra-locales/chimere/models.py:460
+msgid "Associated file"
+msgstr "Fichier associé"
+
+#: extra-locales/chimere/models.py:627
+msgid "Area urn"
+msgstr "Urn de la zone"
+
+#: extra-locales/chimere/models.py:631
+msgid "Upper left corner"
+msgstr "Coin en haut à gauche"
+
+#: extra-locales/chimere/models.py:633
+msgid "Lower right corner"
+msgstr "Coin en bas à droite"
+
+#: extra-locales/chimere/models.py:671
+msgid "Text"
+msgstr "Texte"
+
+#: extra-locales/chimere/models.py:672
+msgid "Long text"
+msgstr "Texte long"
+
+#: extra-locales/chimere/models.py:673
+msgid "Password"
+msgstr "Mot de passe"
+
+#: extra-locales/chimere/models.py:677
+msgid "Type"
+msgstr "Type"
+
+#: extra-locales/chimere/models.py:682 extra-locales/chimere/models.py:694
+msgid "Property model"
+msgstr "Modèle de propriété"
+
+#: extra-locales/chimere/models.py:695
+msgid "Value"
+msgstr "Valeur"
+
+#: extra-locales/chimere/models.py:699
+msgid "Property"
+msgstr "Propriété"
+
+#: extra-locales/chimere/views.py:237
+msgid "Bad file. Please check it with an external software."
+msgstr "Fichier incohérent. Merci de le vérifier avec un logiciel externe."
+
+#: extra-locales/chimere/views.py:353
+msgid "Comments/request on the map"
+msgstr "Commentaires/requètes sur la carte"
+
+#: extra-locales/chimere/views.py:356
+msgid ""
+"Thank you for your contribution. It will be taken into account. If you have "
+"left your email you may be contacted soon for more details."
+msgstr ""
+"Merci pour votre contribution. Elle va être prise en compte. Si vous avez "
+"laissé votre courriel vous serez peut-être contacté bientôt pour plus de "
+"détails."
+
+#: extra-locales/chimere/views.py:360
+msgid "Temporary error. Renew your message later."
+msgstr "Erreur temporaire. Réenvoyez votre message plus tard."
+
+#: extra-locales/chimere/views.py:481
+msgid "No category available in this area."
+msgstr "Pas de catégorie disponible sur cette zone."
+
+#: extra-locales/chimere/widgets.py:123
+msgid "Latitude"
+msgstr "Latitude"
+
+#: extra-locales/chimere/widgets.py:123
+msgid "Longitude"
+msgstr "Longitude"
+
+#: extra-locales/chimere/widgets.py:147
+msgid "Invalid point"
+msgstr "Point invalide"
+
+#: extra-locales/chimere/widgets.py:174
+msgid "Creation mode"
+msgstr "Mode création"
+
+#: extra-locales/chimere/widgets.py:175
+msgid "To start drawing the route click on the toggle button: \"Draw\"."
+msgstr "Pour commencer le dessin cliquez sur le bouton : « Tracer » "
+
+#: extra-locales/chimere/widgets.py:177
+msgid "Then click on the map to begin the drawing."
+msgstr "Puis cliquez sur la carte pour commencer le dessin."
+
+#: extra-locales/chimere/widgets.py:178
+msgid "You can add points by clicking again."
+msgstr "Vous pouvez ajouter des points en cliquant de nouveau."
+
+#: extra-locales/chimere/widgets.py:179
+msgid ""
+"To finish the drawing double click. When the drawing is finished you can "
+"edit it."
+msgstr ""
+"Pour finir le tracé double-cliquez. Quand le tracé est fini vous pouvez "
+"toujours l'éditer."
+
+#: extra-locales/chimere/widgets.py:181
+msgid ""
+"While creating to undo a drawing click again on the toggle button \"Stop "
+"drawing\"."
+msgstr ""
+"En mode création vous pouvez annuler un tracé en appuyant sur le bouton « "
+"Arrêter le tracé »"
+
+#: extra-locales/chimere/widgets.py:186
+msgid "Modification mode"
+msgstr "Mode modification"
+
+#: extra-locales/chimere/widgets.py:187
+msgid "To move a point click on it and drag it to the desired position."
+msgstr ""
+"Pour bouger un point, cliquez dessus, maintenez le click pour le déposer à "
+"la position désirée."
+
+#: extra-locales/chimere/widgets.py:188
+msgid ""
+"To delete a point move the mouse cursor over it and press the \"d\" or \"Del"
+"\" key."
+msgstr ""
+"Pour supprimer un point, mettez le curseur de la souris sur celui-ci et "
+"appuyez sur le touche « d » ou « Suppr »"
+
+#: extra-locales/chimere/widgets.py:190
+msgid ""
+"To add a point click in the middle of a segment and drag the new point to "
+"the desired position"
+msgstr ""
+"Pour ajouter un nouveau point, cliquez au milieu d'un des segments, "
+"maintenez le bouton appuyé et déplacez le nouveau point à la position "
+"désirée."
+
+#: extra-locales/chimere/widgets.py:199
+msgid "Give a name and set category before uploading a file."
+msgstr ""
+"Renseignez le nom et choisissez au moins une catégorie avant de déposer un "
+"fichier."
+
+#: extra-locales/chimere/widgets.py:202
+msgid "Upload a route file (GPX or KML)"
+msgstr "Déposer un trajet (fichier GPX ou KML)"
+
+#: extra-locales/chimere/widgets.py:203
+msgid "or"
+msgstr "ou"
+
+#: extra-locales/chimere/widgets.py:208
+msgid "Start \"hand\" drawing"
+msgstr "Commencer le tracé manuellement"
+
+#: extra-locales/chimere/widgets.py:220
+msgid "Move on the map"
+msgstr "Se déplacer"
+
+#: extra-locales/chimere/widgets.py:220
+msgid "Draw"
+msgstr "Tracer"
+
+#: extra-locales/chimere/widgets.py:355
+msgid "Select..."
+msgstr "Sélectionner..."
+
+#: extra-locales/chimere/templates/404.html:10
+msgid "Page not found"
+msgstr "Page non trouvée"
+
+#: extra-locales/chimere/templates/500.html:10
+msgid "Internal server error"
+msgstr "Erreur interne du serveur"
+
+#: extra-locales/chimere/templates/admin/base_site.html:4
+#: extra-locales/chimere/templates/admin/base_site.html:7
+msgid "Administration de Chimère"
+msgstr "Administration de Chimère"
+
+#: extra-locales/chimere/templates/chimere/contactus.html:17
+msgid ""
+"If you have some requests or remarks about this site you can leave them here."
+msgstr ""
+"Si vous avez des requètes, des remarques à propos de ce site vous pouvez "
+"nous laisser un commentaire ici."
+
+#: extra-locales/chimere/templates/chimere/contactus.html:20
+msgid "Submit"
+msgstr "Proposer"
+
+#: extra-locales/chimere/templates/chimere/detail.html:7
+msgid "Date:"
+msgstr "Date :"
+
+#: extra-locales/chimere/templates/chimere/detail.html:14
+msgid "Show multimedia gallery"
+msgstr "Montrer la galerie multimedia"
+
+#: extra-locales/chimere/templates/chimere/detail.html:17
+msgid "Share on"
+msgstr "Partager sur"
+
+#: extra-locales/chimere/templates/chimere/detail.html:21
+msgid "Share"
+msgstr "Partager"
+
+#: extra-locales/chimere/templates/chimere/detail.html:25
+msgid "Submit a modification"
+msgstr "Proposer une modification"
+
+#: extra-locales/chimere/templates/chimere/detail.html:46
+msgid "Please use a modern browser or install the non free Flash-Plugin."
+msgstr ""
+"Utilisez un navigateur internet plus récent ou installez le greffon non "
+"libre Flash."
+
+#: extra-locales/chimere/templates/chimere/edit.html:20
+msgid "Add/modify a site"
+msgstr "Ajouter ou modifier un site"
+
+#: extra-locales/chimere/templates/chimere/edit.html:21
+#: extra-locales/chimere/templates/chimere/edit_route.html:21
+msgid "indicates a mandatory field"
+msgstr "indique un champ obligatoire"
+
+#: extra-locales/chimere/templates/chimere/edit.html:25
+#: extra-locales/chimere/templates/chimere/edit_route.html:25
+msgid "Site name"
+msgstr "Nom du site"
+
+#: extra-locales/chimere/templates/chimere/edit.html:30
+#: extra-locales/chimere/templates/chimere/edit_route.html:30
+msgid "Categories"
+msgstr "Catégories"
+
+#: extra-locales/chimere/templates/chimere/edit.html:35
+msgid "Point"
+msgstr "Point"
+
+#: extra-locales/chimere/templates/chimere/edit.html:36
+#: extra-locales/chimere/templates/chimere/edit_route.html:36
+msgid "Select a location for this new site"
+msgstr "Choisissez une localisation pour ce nouveau site"
+
+#: extra-locales/chimere/templates/chimere/edit.html:69
+#: extra-locales/chimere/templates/chimere/edit_route.html:70
+msgid "Propose"
+msgstr "Proposez"
+
+#: extra-locales/chimere/templates/chimere/edit_route.html:20
+msgid "Add/modify a route"
+msgstr "Ajout ou modifier un trajet"
+
+#: extra-locales/chimere/templates/chimere/main_map.html:12
+#: extra-locales/chimere/templates/chimere/main_map_simple.html:10
+msgid "Topics"
+msgstr "Thèmes"
+
+#: extra-locales/chimere/templates/chimere/upload_file.html:17
+msgid "Thank you for your submission!"
+msgstr "Merci pour votre proposition !"
+
+#: extra-locales/chimere/templates/chimere/upload_file.html:21
+msgid "Upload a file"
+msgstr "Déposer un fichier"
+
+#: extra-locales/chimere/templates/chimere/upload_file.html:51
+msgid "Upload"
+msgstr "Déposer"
+
+#: extra-locales/chimere/templates/chimere/blocks/areas.html:4
+msgid "Shortcuts"
+msgstr "Raccourcis"
+
+#: extra-locales/chimere/templates/chimere/blocks/areas.html:7
+#: extra-locales/chimere/templates/chimere/blocks/categories.html:8
+#: extra-locales/chimere/templates/chimere/blocks/categories.html:17
+msgid "Zoom to"
+msgstr "Zoomer sur"
+
+#: extra-locales/chimere/templates/chimere/blocks/categories.html:21
+msgid "Tell me more..."
+msgstr "En savoir plus..."
+
+#: extra-locales/chimere/templates/chimere/blocks/categories.html:27
+msgid "Display markers and routes waiting for validation"
+msgstr ""
+"Afficher les points remarquables et les trajets en attente de validation"
+
+#: extra-locales/chimere/templates/chimere/blocks/footer.html:2
+msgid "This site uses Chimère"
+msgstr "Ce site utilise Chimère"
+
+#: extra-locales/chimere/templates/chimere/blocks/footer.html:2
+msgid "Map"
+msgstr "Carte"
+
+#: extra-locales/chimere/templates/chimere/blocks/map_params.html:5
+msgid "Permalink"
+msgstr "Lien permanent"
+
+#: extra-locales/chimere/templates/chimere/blocks/submited.html:3
+msgid "Thank you"
+msgstr "Merci"
+
+#: extra-locales/chimere/templates/chimere/blocks/submited.html:4
+msgid ""
+"Your proposition has been submited. A moderator will treat your submission "
+"shortly. Thanks!"
+msgstr ""
+"Votre proposition a été soumise. Un modérateur va traiter votre proposition "
+"sous peu. Merci !"
+
+#: extra-locales/chimere/templates/chimere/blocks/welcome.html:3
+msgid "Welcome message"
+msgstr "Message d'accueil"
+
+#: extra-locales/chimere/templates/chimere/blocks/welcome.html:24
+msgid "See it on the map"
+msgstr "Voir sur la carte"
+
+#: extra-locales/chimere_rss/feeds.py:128
+#: extra-locales/chimere_rss/feeds.py:217
+msgid "Last points of interest"
+msgstr "Derniers points d'intérêt"
+
+#: extra-locales/chimere_rss/feeds.py:134
+msgid "Latest points of interest from "
+msgstr "Nouveaux points d'intérêt de "
+
+#: extra-locales/chimere_rss/feeds.py:180
+msgid "Last points of interest by area"
+msgstr "Nouveaux points d'intérêt par zone"
+
+#: extra-locales/chimere_rss/views.py:73
+msgid "Incorrect choice in the list"
+msgstr "Choix incorrect dans la liste"
+
+#: extra-locales/chimere_rss/templates/rss.html:10
+msgid "Subscribe to RSS feed"
+msgstr "Souscrire à un flux RSS"
+
+#: extra-locales/chimere_rss/templates/rss.html:17
+msgid "Type of RSS feed"
+msgstr "Type de flux RSS"
+
+#: extra-locales/chimere_rss/templates/rss.html:20
+msgid "All new points of interest"
+msgstr "Tous les nouveaux points d'intérêt"
+
+#: extra-locales/chimere_rss/templates/rss.html:21
+#: extra-locales/chimere_rss/templates/rss.html:28
+msgid "New points of interest by category"
+msgstr "Les nouveaux points d'intérêt par catégorie"
+
+#: extra-locales/chimere_rss/templates/rss.html:22
+#: extra-locales/chimere_rss/templates/rss.html:44
+msgid "New points of interest by area"
+msgstr "Les nouveaux points d'intérêt par zone"
+
+#: extra-locales/chimere_rss/templates/rss.html:30
+msgid "Choose a category"
+msgstr "Choisir une catégorie"
+
+#: extra-locales/chimere_rss/templates/rss.html:47
+msgid "Choose a pre-defined areas"
+msgstr "Choisir une zone pré-définie"
+
+#: extra-locales/chimere_rss/templates/rss.html:61
+msgid "Or select the area by zooming and panning this map"
+msgstr "Ou sélectionner une zone en zoomant et en se déplaçant sur cette carte"
+
+#: extra-locales/chimere_rss/templates/rss.html:66
+msgid "Validate"
+msgstr "Valider"
+
+#~ msgid "Multimedia type is mandatory if is not an iframe."
+#~ msgstr "Le type de média est obligatoire si ce n'est pas une iframe."
diff --git a/chimere/locale/fr/LC_MESSAGES/djangojs.po b/example_project/locale/fr/LC_MESSAGES/djangojs.po
index 84823e0..84823e0 100644
--- a/chimere/locale/fr/LC_MESSAGES/djangojs.po
+++ b/example_project/locale/fr/LC_MESSAGES/djangojs.po