diff options
| -rw-r--r-- | chimere/locale/fr/LC_MESSAGES/django.po | 386 | ||||
| -rw-r--r-- | chimere/migrations/0032_auto__add_field_subcategory_submission.py | 227 | ||||
| -rw-r--r-- | chimere/models.py | 8 | ||||
| -rw-r--r-- | chimere/views.py | 3 | 
4 files changed, 457 insertions, 167 deletions
| diff --git a/chimere/locale/fr/LC_MESSAGES/django.po b/chimere/locale/fr/LC_MESSAGES/django.po index 4462ff1..76ae22a 100644 --- a/chimere/locale/fr/LC_MESSAGES/django.po +++ b/chimere/locale/fr/LC_MESSAGES/django.po @@ -7,18 +7,18 @@ msgid ""  msgstr ""  "Project-Id-Version: 0.2\n"  "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-08-20 21:17+0200\n" +"POT-Creation-Date: 2012-09-28 11:00+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" -#: __init__.py:8 models.py:502 +#: __init__.py:8 models.py:553  msgid "Multimedia files"  msgstr "Fichiers multimedias" -#: __init__.py:9 models.py:551 +#: __init__.py:9 models.py:610  msgid "Picture files"  msgstr "Fichiers d'image" @@ -46,31 +46,35 @@ msgstr "Flux RSS"  msgid "Contact us"  msgstr "Nous contacter" -#: admin.py:62 templates/chimere/feeds/rss.html:69 +#: admin.py:63 templates/chimere/feeds/rss.html:69  msgid "Validate"  msgstr "Valider" -#: admin.py:73 +#: admin.py:74  msgid "Export to KML"  msgstr "Exporter en KML" -#: admin.py:87 +#: admin.py:88  msgid "Export to Shapefile"  msgstr "Exporter en Shapefile" -#: admin.py:173 +#: admin.py:98 +msgid "Export to CSV" +msgstr "Exporter en CSV" + +#: admin.py:177  msgid "Import"  msgstr "Import" -#: admin.py:179 +#: admin.py:183  msgid "Cancel import"  msgstr "Annuler l'import" -#: admin.py:185 +#: admin.py:189  msgid "Cancel export"  msgstr "Annuler l'export" -#: admin.py:193 +#: admin.py:197  msgid "Export to osm"  msgstr "Exporter vers osm" @@ -107,39 +111,39 @@ msgstr "Courriel (optionnel) "  msgid "Object"  msgstr "Objet" -#: forms.py:158 +#: forms.py:163  msgid "End date has been set with no start date"  msgstr "Une date de fin a été donnée sans date de début" -#: forms.py:171 +#: forms.py:174  msgid "This field is mandatory for the selected categories"  msgstr "Ce champ est obligatoire pour les catégories sélectionnées" -#: forms.py:385 +#: forms.py:379  msgid "File"  msgstr "Fichier" -#: forms.py:391 +#: forms.py:385  msgid "Bad file format: this must be a GPX or KML file"  msgstr "Mauvais format de fichier : KML et GPX sont supportés" -#: forms.py:396 models.py:49 models.py:102 models.py:123 models.py:136 -#: models.py:150 models.py:233 models.py:449 models.py:492 models.py:536 -#: models.py:567 models.py:804 models.py:816 models.py:901 +#: forms.py:390 models.py:49 models.py:102 models.py:123 models.py:136 +#: models.py:150 models.py:246 models.py:500 models.py:543 models.py:587 +#: models.py:704 models.py:995 models.py:1007 models.py:1092 utils.py:441  #: templates/chimere/edit.html:39 templates/chimere/edit_route.html:36  msgid "Name"  msgstr "Nom" -#: forms.py:405 models.py:853 +#: forms.py:399 models.py:1044  msgid "Area"  msgstr "Zone" -#: models.py:50 models.py:124 models.py:151 models.py:244 models.py:453 -#: models.py:822 models.py:903 +#: models.py:50 models.py:124 models.py:151 models.py:257 models.py:504 +#: models.py:1013 models.py:1094  msgid "Available"  msgstr "Disponible" -#: models.py:51 models.py:912 +#: models.py:51 models.py:1103  msgid "Date"  msgstr "Date" @@ -155,7 +159,7 @@ msgstr "Paramètres"  msgid "TinyUrl"  msgstr "Mini-url" -#: models.py:106 models.py:113 models.py:153 +#: models.py:106 models.py:113 models.py:155  msgid "Color theme"  msgstr "Thème de couleur" @@ -163,8 +167,8 @@ msgstr "Thème de couleur"  msgid "Code"  msgstr "Code" -#: models.py:112 models.py:125 models.py:155 models.py:494 models.py:543 -#: models.py:821 models.py:890 models.py:902 +#: models.py:112 models.py:125 models.py:157 models.py:545 models.py:602 +#: models.py:1012 models.py:1081 models.py:1093  msgid "Order"  msgstr "Ordre" @@ -176,292 +180,320 @@ msgstr "Couleur"  msgid "Category"  msgstr "Catégorie" -#: models.py:137 models.py:445 models.py:537 models.py:632 +#: models.py:137 models.py:496 models.py:588 models.py:769  msgid "Image"  msgstr "Image" -#: models.py:139 models.py:539 models.py:634 +#: models.py:139 models.py:590 models.py:771  msgid "Height"  msgstr "Hauteur" -#: models.py:140 models.py:540 models.py:635 +#: models.py:140 models.py:591 models.py:772  msgid "Width"  msgstr "Largeur" -#: models.py:144 models.py:152 +#: models.py:144 models.py:154  msgid "Icon"  msgstr "Icône" -#: models.py:156 +#: models.py:152 +msgid "Available for submission" +msgstr "Disponible pour soumission" + +#: models.py:158  msgid "Marker"  msgstr "Point d'intérêt" -#: models.py:157 models.py:628 models.py:643 +#: models.py:159 models.py:765 models.py:780  #: templates/chimere/edit_route.html:27  msgid "Route"  msgstr "Trajet" -#: models.py:158 +#: models.py:160  msgid "Both"  msgstr "Mixte" -#: models.py:159 +#: models.py:161  msgid "Item type"  msgstr "Type d'élément" -#: models.py:164 +#: models.py:166  msgid "Sub-category"  msgstr "Sous-catégorie" -#: models.py:165 +#: models.py:167  msgid "Sub-categories"  msgstr "Sous-catégories" -#: models.py:211 +#: models.py:219  msgid "Importer type"  msgstr "Type d'import" -#: models.py:214 models.py:255 +#: models.py:222 models.py:268  msgid "Source"  msgstr "Source" -#: models.py:216 +#: models.py:224  msgid "Filter"  msgstr "Filtre" -#: models.py:219 +#: models.py:226 +msgid "Name by default" +msgstr "Nom par défaut" + +#: models.py:229  msgid "Associated subcategories"  msgstr "Sous-catégories associées" -#: models.py:220 +#: models.py:230 utils.py:444  msgid "State"  msgstr "État" -#: models.py:222 +#: models.py:232  msgid "SRID"  msgstr "SRID" -#: models.py:223 +#: models.py:233  msgid "Zipped file"  msgstr "Fichier zippé" -#: models.py:226 +#: models.py:236  msgid "Importer"  msgstr "Import" -#: models.py:235 +#: models.py:248  msgid "Submitter session key"  msgstr "Clé de session du demandeur" -#: models.py:237 +#: models.py:250  msgid "Submitter name or nickname"  msgstr "Nom ou pseudo du demandeur" -#: models.py:239 +#: models.py:252  msgid "Submitter email"  msgstr "Courriel du demandeur" -#: models.py:241 +#: models.py:254  msgid "Submitter comment"  msgstr "Commentaire du demandeur" -#: models.py:243 +#: models.py:256  msgid "Submited"  msgstr "Soumis" -#: models.py:245 +#: models.py:258  msgid "Modified"  msgstr "Modifié" -#: models.py:246 +#: models.py:259  msgid "Disabled"  msgstr "Désactivé" -#: models.py:247 +#: models.py:260  msgid "Imported"  msgstr "Importé" -#: models.py:248 +#: models.py:261  msgid "Excluded"  msgstr "Exclu" -#: models.py:250 +#: models.py:263  msgid "Status"  msgstr "État" -#: models.py:251 +#: models.py:264  msgid "Import key"  msgstr "Clé d'import" -#: models.py:253 +#: models.py:266  msgid "Import version"  msgstr "Version de l'import" -#: models.py:258 templates/chimere/edit.html:56 +#: models.py:270 +msgid "Modified since last import" +msgstr "Modifié depuis le dernier import" + +#: models.py:272 +msgid "Not to be imported inside OSM" +msgstr "À ne pas importer dans OSM" + +#: models.py:275 templates/chimere/edit.html:56  #: templates/chimere/edit_route.html:52  msgid "Start date"  msgstr "Date de début" -#: models.py:259 +#: models.py:276  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" -#: models.py:261 templates/chimere/edit.html:62 +#: models.py:278 templates/chimere/edit.html:62  #: templates/chimere/edit_route.html:58  msgid "End date"  msgstr "Date de fin" -#: models.py:262 +#: models.py:279  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" -#: models.py:294 +#: models.py:315  msgid "Reference marker"  msgstr "Point d'intérêt de référence" -#: models.py:295 +#: models.py:316 utils.py:446 utils.py:447  msgid "Localisation"  msgstr "Localisation" -#: models.py:297 +#: models.py:318  msgid "Available Date"  msgstr "Date de mise en disponibilité" -#: models.py:301 templates/chimere/edit.html:49 +#: models.py:322 utils.py:445 templates/chimere/edit.html:49  #: templates/chimere/edit_route.html:46  msgid "Description"  msgstr "Description" -#: models.py:349 models.py:932 +#: models.py:373 models.py:1128  msgid "Point of interest"  msgstr "Point d'intérêt" -#: models.py:443 +#: models.py:494  msgid "Audio"  msgstr "Audio" -#: models.py:444 +#: models.py:495  msgid "Video"  msgstr "Vidéo" -#: models.py:446 +#: models.py:497  msgid "Other"  msgstr "Autre" -#: models.py:447 +#: models.py:498  msgid "Media type"  msgstr "Type de media" -#: models.py:450 +#: models.py:501  msgid "Mime type"  msgstr "Type mime" -#: models.py:452 +#: models.py:503  msgid "Inside an iframe"  msgstr "À l'intérieur d'un iframe" -#: models.py:456 +#: models.py:507  msgid "Multimedia type"  msgstr "Type de multimedia" -#: models.py:457 +#: models.py:508  msgid "Multimedia types"  msgstr "Types de multimedia" -#: models.py:493 +#: models.py:544  msgid "Url"  msgstr "Url" -#: models.py:496 models.py:541 +#: models.py:547 models.py:592  msgid "Display inside the description?"  msgstr "Apparaît dans la description ?" -#: models.py:501 +#: models.py:552  msgid "Multimedia file"  msgstr "Fichier multimedia" -#: models.py:550 +#: models.py:594 +msgid "Thumbnail" +msgstr "Miniature" + +#: models.py:598 +msgid "Thumbnail height" +msgstr "Hauteur de la miniature" + +#: models.py:600 +msgid "Thumbnail width" +msgstr "Largeur de la miniature" + +#: models.py:609  msgid "Picture file"  msgstr "Fichier d'image" -#: models.py:568 +#: models.py:705  msgid "Raw file (gpx or kml)"  msgstr "Fichier brut (gpx ou kml)" -#: models.py:569 +#: models.py:706  msgid "Simplified file"  msgstr "Fichier simplifié" -#: models.py:571 +#: models.py:708  msgid "KML"  msgstr "KML" -#: models.py:571 +#: models.py:708  msgid "GPX"  msgstr "GPX" -#: models.py:576 +#: models.py:713  msgid "Route file"  msgstr "Fichier de trajet" -#: models.py:577 +#: models.py:714  msgid "Route files"  msgstr "Fichiers de trajet" -#: models.py:627 +#: models.py:764  msgid "Reference route"  msgstr "Trajet de référence" -#: models.py:631 +#: models.py:768  msgid "Associated file"  msgstr "Fichier associé" -#: models.py:805 +#: models.py:996  msgid "Layer code"  msgstr "Code pour la couche" -#: models.py:811 +#: models.py:1002  msgid "Layer"  msgstr "Couche" -#: models.py:817 +#: models.py:1008  msgid "Area urn"  msgstr "Urn de la zone" -#: models.py:819 templates/chimere/blocks/welcome.html:3 +#: models.py:1010 templates/chimere/blocks/welcome.html:3  msgid "Welcome message"  msgstr "Message d'accueil" -#: models.py:823 +#: models.py:1014  msgid "Upper left corner"  msgstr "Coin en haut à gauche" -#: models.py:825 +#: models.py:1016  msgid "Lower right corner"  msgstr "Coin en bas à droite" -#: models.py:827 +#: models.py:1018  msgid "Default area"  msgstr "Zone par défaut" -#: models.py:828 +#: models.py:1019  msgid "Only one area is set by default"  msgstr "Seule une zone est définie par défaut" -#: models.py:832 +#: models.py:1023  msgid "Sub-categories checked by default"  msgstr "Sous-catégories cochées par défaut" -#: models.py:834 +#: models.py:1025  msgid "Sub-categories dynamicaly displayed"  msgstr "Sous-categories affichées dynamiquement" -#: models.py:835 +#: models.py:1026  msgid ""  "If checked, categories are only displayed in the menu if they are available "  "on the current extent." @@ -469,156 +501,161 @@ msgstr ""  "Si coché, les catégories sont disponibles sur le menu seulement si elles "  "apparaissent sur la zone affichée." -#: models.py:839 models.py:906 +#: models.py:1030 models.py:1097  msgid "Restricted to theses sub-categories"  msgstr "Restreindre à ces sous-categories" -#: models.py:840 +#: models.py:1031  msgid "If no sub-category is set all sub-categories are available"  msgstr ""  "Si aucune sous-catégorie n'est définie toutes les sous-catégories sont "  "disponibles" -#: models.py:842 +#: models.py:1033  msgid "Link to an external CSS"  msgstr "Lien vers une feuille de style externe" -#: models.py:844 +#: models.py:1035  msgid "Restrict to the area extent"  msgstr "Restreindre à l'étendue de la zone" -#: models.py:891 +#: models.py:1082  msgid "Default layer"  msgstr "Couche par défaut" -#: models.py:895 models.py:896 +#: models.py:1086 models.py:1087  msgid "Layers"  msgstr "Couches" -#: models.py:904 +#: models.py:1095  msgid "Mandatory"  msgstr "Obligatoire" -#: models.py:907 +#: models.py:1098  msgid ""  "If no sub-category is set all the property applies to all sub-categories"  msgstr ""  "Si aucune sous-catégorie n'est précisée, cette propriété est disponible pour "  "toutes les sous-catégories" -#: models.py:909 +#: models.py:1100  msgid "Text"  msgstr "Texte" -#: models.py:910 +#: models.py:1101  msgid "Long text"  msgstr "Texte long" -#: models.py:911 +#: models.py:1102  msgid "Password"  msgstr "Mot de passe" -#: models.py:917 +#: models.py:1108  msgid "Type"  msgstr "Type" -#: models.py:922 models.py:934 +#: models.py:1113 models.py:1130  msgid "Property model"  msgstr "Modèle de propriété" -#: models.py:935 +#: models.py:1131  msgid "Value"  msgstr "Valeur" -#: models.py:939 +#: models.py:1135  msgid "Property"  msgstr "Propriété" -#: tasks.py:61 +#: tasks.py:62  msgid "Import pending"  msgstr "Import en attente" -#: tasks.py:62 +#: tasks.py:63  msgid "Import processing"  msgstr "Import en cours" -#: tasks.py:63 +#: tasks.py:64  msgid "Import successfuly done"  msgstr "Import fait avec succès" -#: tasks.py:64 +#: tasks.py:65  #, python-format  msgid " %(new)d new item(s), %(updated)d updated item(s)"  msgstr " %(new)d nouveau(x) élément(s), %(updated)d élément(s) mis à jour" -#: tasks.py:65 +#: tasks.py:66  msgid "Import failed"  msgstr "Import échoué" -#: tasks.py:66 +#: tasks.py:67  msgid "Import canceled"  msgstr "Import annulé" -#: tasks.py:67 +#: tasks.py:68  msgid "Export pending"  msgstr "Export en attente" -#: tasks.py:68 +#: tasks.py:69  msgid "Export processing"  msgstr "Export en cours" -#: tasks.py:69 +#: tasks.py:70  msgid "Export successfuly done"  msgstr "Export réalisé avec succès" -#: tasks.py:70 +#: tasks.py:71  #, python-format  msgid " %(updated)d updated item(s)"  msgstr " %(updated)d éléments mis à jour" -#: tasks.py:71 +#: tasks.py:72  msgid "Export failed"  msgstr "Export échoué" -#: tasks.py:72 +#: tasks.py:73  msgid "Export canceled"  msgstr "Export annulé" -#: utils.py:113 utils.py:161 +#: utils.py:118 utils.py:166  msgid "Bad zip file"  msgstr "Mauvais fichier zip" -#: utils.py:164 +#: utils.py:169  msgid "Missing file(s) inside the zip file"  msgstr "Fichier(s) manquant(s) dans l'archive zip" -#: utils.py:293 +#: utils.py:298  msgid "Error while reading the data source."  msgstr "Erreur lors de la lecture de la source." -#: utils.py:328 +#: utils.py:333  msgid "Type of geographic item of this shapefile is not managed by Chimère."  msgstr ""  "Les types des éléments géographiques de ce fichier Shapefile ne sont pas "  "gérés par Chimère." -#: utils.py:385 +#: utils.py:390  msgid "Could not create file!"  msgstr "Ne peut pas créer le fichier !" -#: utils.py:396 +#: utils.py:401  msgid "Failed to create field"  msgstr "Ne peut pas créer un champ" -#: utils.py:467 +#: utils.py:442 templates/chimere/edit.html:44 +#: templates/chimere/edit_route.html:41 +msgid "Categories" +msgstr "Catégories" + +#: utils.py:506  msgid "Nothing to import"  msgstr "Rien à importer" -#: utils.py:547 +#: utils.py:586  msgid "New items imported - validate them before exporting"  msgstr "Nouveaux éléments importés - valider ceux-ci avant d'exporter" -#: utils.py:549 +#: utils.py:588  msgid ""  "There are items from a former import not yet validated - validate them "  "before exporting" @@ -626,23 +663,36 @@ msgstr ""  "Il y a des éléments d'un import précédent pas encore validé - Validez les "  "avant d'exporter" -#: utils.py:559 +#: utils.py:598  msgid "Bad param"  msgstr "Mauvais paramètre" -#: views.py:229 +#: utils.py:613 +msgid "No non ambigious tag is defined in the XAPI request" +msgstr "Pas de tag non ambigü définis dans la requête XAPI" + +#: utils.py:615 +msgid "" +"No bounding box is defined in the XAPI request.If you are sure to manage the " +"entire planet set the bounding box to -180,-90,180,90" +msgstr "" +"Aucune « bounding box » définie dans la requête XAPI. Si vous êtes sûr " +"de vouloir lancer la requête sur la planète entière fixez la « bounding " +" box » à -180,-90,180,90" + +#: views.py:234  msgid "There are missing field(s) and/or errors in the submited form."  msgstr "Il y a des champs manquants ou des erreurs dans ce formulaire." -#: views.py:312 +#: views.py:316  msgid "Bad file. Please check it with an external software."  msgstr "Fichier incohérent. Merci de le vérifier avec un logiciel externe." -#: views.py:434 +#: views.py:438  msgid "Comments/request on the map"  msgstr "Commentaires/requètes sur la carte" -#: views.py:437 +#: views.py:441  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." @@ -651,48 +701,48 @@ msgstr ""  "laissé votre courriel vous serez peut-être contacté bientôt pour plus de "  "détails." -#: views.py:441 +#: views.py:445  msgid "Temporary error. Renew your message later."  msgstr "Erreur temporaire. Réenvoyez votre message plus tard." -#: views.py:572 +#: views.py:577  msgid "No category available in this area."  msgstr "Pas de catégorie disponible sur cette zone." -#: views.py:679 +#: views.py:684  msgid "Incorrect choice in the list"  msgstr "Choix incorrect dans la liste" -#: widgets.py:187 +#: widgets.py:197  msgid "Latitude"  msgstr "Latitude" -#: widgets.py:187 +#: widgets.py:197  msgid "Longitude"  msgstr "Longitude" -#: widgets.py:212 +#: widgets.py:222  msgid "Invalid point"  msgstr "Point invalide" -#: widgets.py:262 +#: widgets.py:272  msgid "Creation mode"  msgstr "Mode création" -#: widgets.py:263 +#: widgets.py:273  msgid "To start drawing the route click on the toggle button: \"Draw\"."  msgstr ""  "Pour commencer le dessin cliquez sur le bouton : « Tracer »." -#: widgets.py:265 +#: widgets.py:275  msgid "Then click on the map to begin the drawing."  msgstr "Puis cliquez sur la carte pour commencer le dessin." -#: widgets.py:266 +#: widgets.py:276  msgid "You can add points by clicking again."  msgstr "Vous pouvez ajouter des points en cliquant de nouveau." -#: widgets.py:267 +#: widgets.py:277  msgid ""  "To finish the drawing double click. When the drawing is finished you can "  "edit it." @@ -700,7 +750,7 @@ msgstr ""  "Pour finir le tracé double-cliquez. Quand le tracé est fini vous pouvez "  "toujours l'éditer." -#: widgets.py:269 +#: widgets.py:279  msgid ""  "While creating to undo a drawing click again on the toggle button \"Stop "  "drawing\"." @@ -708,17 +758,17 @@ msgstr ""  "En mode création vous pouvez annuler un tracé en appuyant sur le bouton "  "« Arrêter le tracé »." -#: widgets.py:274 +#: widgets.py:284  msgid "Modification mode"  msgstr "Mode modification" -#: widgets.py:275 +#: widgets.py:285  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." -#: widgets.py:276 +#: widgets.py:286  msgid ""  "To delete a point move the mouse cursor over it and press the \"d\" or \"Del"  "\" key." @@ -726,7 +776,7 @@ msgstr ""  "Pour supprimer un point, mettez le curseur de la souris sur celui-ci et "  "appuyez sur le touche « d » ou « Suppr »." -#: widgets.py:278 +#: widgets.py:288  msgid ""  "To add a point click in the middle of a segment and drag the new point to "  "the desired position" @@ -735,33 +785,33 @@ msgstr ""  "maintenez le bouton appuyé et déplacez le nouveau point à la position "  "désirée." -#: widgets.py:285 +#: widgets.py:295  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." -#: widgets.py:288 +#: widgets.py:298  msgid "Upload a route file (GPX or KML)"  msgstr "Déposer un trajet (fichier GPX ou KML)" -#: widgets.py:289 +#: widgets.py:299  msgid "or"  msgstr "ou" -#: widgets.py:294 +#: widgets.py:304  msgid "Start \"hand\" drawing"  msgstr "Commencer le tracé manuellement" -#: widgets.py:317 +#: widgets.py:327  msgid "Move on the map"  msgstr "Se déplacer" -#: widgets.py:317 +#: widgets.py:327  msgid "Draw"  msgstr "Tracer" -#: widgets.py:442 +#: widgets.py:452  msgid "Select..."  msgstr "Sélectionner..." @@ -829,10 +879,6 @@ msgstr "Choisissez une localisation pour ce nouveau site"  msgid "indicates a mandatory field"  msgstr "indique un champ obligatoire" -#: templates/chimere/edit.html:44 templates/chimere/edit_route.html:41 -msgid "Categories" -msgstr "Catégories" -  #: templates/chimere/edit.html:113  msgid "Personal information"  msgstr "Informations personnelles" @@ -858,7 +904,11 @@ msgstr "Votre courriel"  msgid "Comments about your submission"  msgstr "Commentaires au sujet de votre proposition" -#: templates/chimere/edit.html:133 templates/chimere/edit_route.html:77 +#: templates/chimere/edit.html:134 +msgid "Upload in progress. Please wait..." +msgstr "Dépôt en cours. Veuillez patienter..." + +#: templates/chimere/edit.html:151 templates/chimere/edit_route.html:77  msgid "Propose"  msgstr "Proposez" @@ -913,7 +963,7 @@ msgstr "Ce site utilise Chimère"  msgid "Map"  msgstr "Carte" -#: templates/chimere/blocks/map_params.html:6 +#: templates/chimere/blocks/map.html:17  msgid "Permalink"  msgstr "Lien permanent" @@ -987,6 +1037,14 @@ msgstr "Choisir une zone pré-définie"  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" +#: templates/chimere/feeds/rss_descr.html:6 +msgid "Description:" +msgstr "Description :" + +#: templates/chimere/feeds/rss_descr.html:8 +msgid ":" +msgstr " :" +  #~ msgid "Submit a modification"  #~ msgstr "Proposer une modification" diff --git a/chimere/migrations/0032_auto__add_field_subcategory_submission.py b/chimere/migrations/0032_auto__add_field_subcategory_submission.py new file mode 100644 index 0000000..d96e5bb --- /dev/null +++ b/chimere/migrations/0032_auto__add_field_subcategory_submission.py @@ -0,0 +1,227 @@ +# -*- coding: 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 'SubCategory.submission' +        db.add_column('chimere_subcategory', 'submission', +                      self.gf('django.db.models.fields.BooleanField')(default=True), +                      keep_default=False) + + +    def backwards(self, orm): +        # Deleting field 'SubCategory.submission' +        db.delete_column('chimere_subcategory', 'submission') + + +    models = { +        'chimere.area': { +            'Meta': {'ordering': "('order', 'name')", 'object_name': 'Area'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'default': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'default_subcategories': ('chimere.widgets.SelectMultipleField', [], {'to': "orm['chimere.SubCategory']", 'symmetrical': 'False', 'blank': 'True'}), +            'dynamic_categories': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'external_css': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'layers': ('chimere.widgets.SelectMultipleField', [], {'symmetrical': 'False', 'related_name': "'areas'", 'blank': 'True', 'through': "orm['chimere.AreaLayers']", 'to': "orm['chimere.Layer']"}), +            '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', [], {}), +            'restrict_to_extent': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'subcategories': ('chimere.widgets.SelectMultipleField', [], {'symmetrical': 'False', 'related_name': "'areas'", 'blank': 'True', 'db_table': "'chimere_subcategory_areas'", 'to': "orm['chimere.SubCategory']"}), +            'upper_left_corner': ('django.contrib.gis.db.models.fields.PointField', [], {'default': "'POINT(0 0)'"}), +            'urn': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50', 'blank': 'True'}), +            'welcome_message': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}) +        }, +        'chimere.arealayers': { +            'Meta': {'ordering': "('order',)", 'object_name': 'AreaLayers'}, +            'area': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Area']"}), +            'default': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'layer': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.Layer']"}), +            'order': ('django.db.models.fields.IntegerField', [], {}) +        }, +        '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.importer': { +            'Meta': {'object_name': 'Importer'}, +            'categories': ('chimere.widgets.SelectMultipleField', [], {'to': "orm['chimere.SubCategory']", 'symmetrical': 'False'}), +            'default_name': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'filtr': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'importer_type': ('django.db.models.fields.CharField', [], {'max_length': '4'}), +            'source': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'srid': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'state': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'zipped': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) +        }, +        'chimere.layer': { +            'Meta': {'object_name': 'Layer'}, +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'layer_code': ('django.db.models.fields.TextField', [], {'max_length': '300'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}) +        }, +        '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'}), +            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), +            'end_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'import_key': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'import_source': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'import_version': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'modified_since_import': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), +            'not_for_osm': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            '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.TextField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'submiter_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), +            'submiter_name': ('django.db.models.fields.CharField', [], {'max_length': '40', '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'}), +            'marker': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'multimedia_files'", 'to': "orm['chimere.Marker']"}), +            'miniature': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'multimedia_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['chimere.MultimediaType']"}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), +            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), +            'url': ('django.db.models.fields.URLField', [], {'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', [], {'null': 'True', 'blank': 'True'}), +            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), +            'marker': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pictures'", 'to': "orm['chimere.Marker']"}), +            'miniature': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), +            'order': ('django.db.models.fields.IntegerField', [], {'default': '1'}), +            'picture': ('django.db.models.fields.files.ImageField', [], {'max_length': '100'}), +            'thumbnailfile': ('django.db.models.fields.files.ImageField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), +            'thumbnailfile_height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'thumbnailfile_width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) +        }, +        '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'}), +            'mandatory': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), +            'order': ('django.db.models.fields.IntegerField', [], {}), +            'subcategories': ('chimere.widgets.SelectMultipleField', [], {'symmetrical': 'False', 'related_name': "'properties'", 'blank': 'True', 'to': "orm['chimere.SubCategory']"}), +            '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'}), +            'import_key': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'import_source': ('django.db.models.fields.CharField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'import_version': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), +            'modified_since_import': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            'name': ('django.db.models.fields.CharField', [], {'max_length': '150'}), +            'not_for_osm': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), +            '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.TextField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), +            'submiter_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}), +            'submiter_name': ('django.db.models.fields.CharField', [], {'max_length': '40', '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'}, +            'available': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), +            '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', [], {'default': '1000'}), +            'submission': ('django.db.models.fields.BooleanField', [], {'default': 'True'}) +        }, +        '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']
\ No newline at end of file diff --git a/chimere/models.py b/chimere/models.py index 99fa073..1ca5db9 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -148,7 +148,9 @@ class SubCategory(models.Model):      '''      category = models.ForeignKey(Category, verbose_name=_(u"Category"))      name = models.CharField(_(u"Name"), max_length=150) -    available = models.BooleanField(_(u"Available")) +    available = models.BooleanField(_(u"Available"), default=True) +    submission = models.BooleanField(_(u"Available for submission"), +                                     default=True)      icon = models.ForeignKey(Icon, verbose_name=_(u"Icon"))      color_theme = models.ForeignKey(ColorTheme, verbose_name=_(u"Color theme"),                                      blank=True, null=True) @@ -165,7 +167,7 @@ class SubCategory(models.Model):          verbose_name_plural = _(u"Sub-categories")      @classmethod -    def getAvailable(cls, item_types=None, area_name=None): +    def getAvailable(cls, item_types=None, area_name=None, public=False):          '''Get list of tuples with first the category and second the associated          subcategories          ''' @@ -175,6 +177,8 @@ class SubCategory(models.Model):              subcategories = subcategories.filter(available=True)          else:              subcategories = subcategories.filter(item_type__in=item_types) +        if public: +            subcategories = subcategories.filter(submission=True)          selected_cats = []          if area_name:              area = Area.objects.get(urn=area_name) diff --git a/chimere/views.py b/chimere/views.py index eeacd81..0492ce5 100644 --- a/chimere/views.py +++ b/chimere/views.py @@ -148,7 +148,8 @@ def get_edit_page(redirect_url, item_cls, item_form,              return redir, None, None          if 'area_name' in response_dct:              area_name = response_dct['area_name'] -        subcategories = SubCategory.getAvailable(cat_type, area_name) +        subcategories = SubCategory.getAvailable(cat_type, area_name, +                                                 public=True)          listed_subcats = []          if subcategories:              for cat, subcats in subcategories: | 
