summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-03-12 13:12:43 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-03-12 13:12:43 +0100
commitf57f079c23c739550095e6f54b762f13339123e0 (patch)
treee74d6f8f503d2157b82ad160db184752ba81fa1a
parent4c3071db2a009e41af87bfada2fcb27ffc70d474 (diff)
downloadChimère-f57f079c23c739550095e6f54b762f13339123e0.tar.bz2
Chimère-f57f079c23c739550095e6f54b762f13339123e0.zip
Merge Saclay inside chimere main
-rw-r--r--.gitignore1
-rw-r--r--chimere/forms.py47
-rw-r--r--chimere/static/saclay/css/mobile.css9
-rw-r--r--chimere/static/saclay/css/print.css20
-rw-r--r--chimere/static/saclay/css/styles.css2302
-rw-r--r--chimere/static/saclay/fonts/GUST e-foundry License.txt29
-rw-r--r--chimere/static/saclay/fonts/texgyreheros-bold.otfbin0 -> 144464 bytes
-rw-r--r--chimere/static/saclay/images/background-small.pngbin0 -> 334 bytes
-rw-r--r--chimere/static/saclay/images/background-top.pngbin0 -> 188 bytes
-rw-r--r--chimere/static/saclay/images/background.pngbin0 -> 789 bytes
-rw-r--r--chimere/static/saclay/images/bottom-arrow.pngbin0 -> 251 bytes
-rw-r--r--chimere/static/saclay/images/button-cat-off.pngbin0 -> 1381 bytes
-rw-r--r--chimere/static/saclay/images/button-cat-on.pngbin0 -> 1271 bytes
-rw-r--r--chimere/static/saclay/images/button-cat-three-off.pngbin0 -> 4039 bytes
-rw-r--r--chimere/static/saclay/images/button-cat-three-on.pngbin0 -> 3957 bytes
-rw-r--r--chimere/static/saclay/images/button-event-off.pngbin0 -> 1000 bytes
-rw-r--r--chimere/static/saclay/images/button-event-on.pngbin0 -> 907 bytes
-rw-r--r--chimere/static/saclay/images/button-location-off.pngbin0 -> 581 bytes
-rw-r--r--chimere/static/saclay/images/button-location-on.pngbin0 -> 478 bytes
-rw-r--r--chimere/static/saclay/images/button-map-off.pngbin0 -> 434 bytes
-rw-r--r--chimere/static/saclay/images/button-map-on.pngbin0 -> 435 bytes
-rw-r--r--chimere/static/saclay/images/button-news-off.pngbin0 -> 525 bytes
-rw-r--r--chimere/static/saclay/images/button-news-on.pngbin0 -> 548 bytes
-rw-r--r--chimere/static/saclay/images/button-participate-off.pngbin0 -> 561 bytes
-rw-r--r--chimere/static/saclay/images/button-participate-on.pngbin0 -> 561 bytes
-rw-r--r--chimere/static/saclay/images/button-project-off.pngbin0 -> 418 bytes
-rw-r--r--chimere/static/saclay/images/button-project-on.pngbin0 -> 417 bytes
-rw-r--r--chimere/static/saclay/images/button-route-off.pngbin0 -> 924 bytes
-rw-r--r--chimere/static/saclay/images/button-route-on.pngbin0 -> 834 bytes
-rw-r--r--chimere/static/saclay/images/button-route-three-off.pngbin0 -> 3604 bytes
-rw-r--r--chimere/static/saclay/images/button-route-three-on.pngbin0 -> 3499 bytes
-rw-r--r--chimere/static/saclay/images/button-search-off.pngbin0 -> 3736 bytes
-rw-r--r--chimere/static/saclay/images/button-search-on.pngbin0 -> 3556 bytes
-rw-r--r--chimere/static/saclay/images/button-wander-off.pngbin0 -> 922 bytes
-rw-r--r--chimere/static/saclay/images/button-wander-on.pngbin0 -> 744 bytes
-rw-r--r--chimere/static/saclay/images/buttons/add.pngbin0 -> 1280 bytes
-rw-r--r--chimere/static/saclay/images/buttons/add_event.pngbin0 -> 703 bytes
-rw-r--r--chimere/static/saclay/images/buttons/add_location.pngbin0 -> 551 bytes
-rw-r--r--chimere/static/saclay/images/buttons/add_wander.pngbin0 -> 647 bytes
-rw-r--r--chimere/static/saclay/images/buttons/bicycle.pngbin0 -> 1194 bytes
-rw-r--r--chimere/static/saclay/images/buttons/bicycle_on.pngbin0 -> 1288 bytes
-rw-r--r--chimere/static/saclay/images/buttons/button-help-off.pngbin0 -> 1081 bytes
-rw-r--r--chimere/static/saclay/images/buttons/button-help-on.pngbin0 -> 1081 bytes
-rw-r--r--chimere/static/saclay/images/buttons/button-print-off.pngbin0 -> 1161 bytes
-rw-r--r--chimere/static/saclay/images/buttons/button-print-on.pngbin0 -> 1161 bytes
-rw-r--r--chimere/static/saclay/images/buttons/button-send-off.pngbin0 -> 1404 bytes
-rw-r--r--chimere/static/saclay/images/buttons/button-send-on.pngbin0 -> 1404 bytes
-rw-r--r--chimere/static/saclay/images/buttons/button-share-off.pngbin0 -> 1377 bytes
-rw-r--r--chimere/static/saclay/images/buttons/button-share-on.pngbin0 -> 1377 bytes
-rw-r--r--chimere/static/saclay/images/buttons/calendar.pngbin0 -> 148 bytes
-rw-r--r--chimere/static/saclay/images/buttons/download.pngbin0 -> 1724 bytes
-rw-r--r--chimere/static/saclay/images/buttons/extra_criteria-open.pngbin0 -> 574 bytes
-rw-r--r--chimere/static/saclay/images/buttons/extra_criteria.pngbin0 -> 582 bytes
-rw-r--r--chimere/static/saclay/images/buttons/finish.pngbin0 -> 424 bytes
-rw-r--r--chimere/static/saclay/images/buttons/form_finish.pngbin0 -> 449 bytes
-rw-r--r--chimere/static/saclay/images/buttons/form_start.pngbin0 -> 431 bytes
-rw-r--r--chimere/static/saclay/images/buttons/form_step.pngbin0 -> 379 bytes
-rw-r--r--chimere/static/saclay/images/buttons/modify.pngbin0 -> 1426 bytes
-rw-r--r--chimere/static/saclay/images/buttons/new_search.pngbin0 -> 2396 bytes
-rw-r--r--chimere/static/saclay/images/buttons/search.pngbin0 -> 1313 bytes
-rw-r--r--chimere/static/saclay/images/buttons/start.pngbin0 -> 415 bytes
-rw-r--r--chimere/static/saclay/images/buttons/validate.pngbin0 -> 1047 bytes
-rw-r--r--chimere/static/saclay/images/buttons/walk.pngbin0 -> 1240 bytes
-rw-r--r--chimere/static/saclay/images/buttons/walk_on.pngbin0 -> 1293 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_agri.pngbin0 -> 622 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_agri_on.pngbin0 -> 568 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_balade.pngbin0 -> 479 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_balade_on.pngbin0 -> 439 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_culture.pngbin0 -> 490 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_culture_on.pngbin0 -> 439 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_event.pngbin0 -> 575 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_event_on.pngbin0 -> 506 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_mobilites.pngbin0 -> 520 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_mobilites_on.pngbin0 -> 451 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_patrimoine.pngbin0 -> 574 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_patrimoine_on.pngbin0 -> 478 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_pratique.pngbin0 -> 820 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_pratique_on.pngbin0 -> 750 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_sport.pngbin0 -> 680 bytes
-rw-r--r--chimere/static/saclay/images/categories/cat_sport_on.pngbin0 -> 617 bytes
-rw-r--r--chimere/static/saclay/images/check-active.pngbin0 -> 219 bytes
-rw-r--r--chimere/static/saclay/images/check-small.pngbin0 -> 297 bytes
-rw-r--r--chimere/static/saclay/images/check.pngbin0 -> 248 bytes
-rw-r--r--chimere/static/saclay/images/close.pngbin0 -> 282 bytes
-rwxr-xr-xchimere/static/saclay/images/cloud-popup-saclay.pngbin0 -> 5560 bytes
-rw-r--r--chimere/static/saclay/images/cloud-popup-saclay.xcfbin0 -> 36183 bytes
-rw-r--r--chimere/static/saclay/images/cluster_icon.pngbin0 -> 1289 bytes
-rw-r--r--chimere/static/saclay/images/cluster_icon_hover.pngbin0 -> 2087 bytes
-rw-r--r--chimere/static/saclay/images/default_icon.pngbin0 -> 1432 bytes
-rw-r--r--chimere/static/saclay/images/display_option.pngbin0 -> 388 bytes
-rw-r--r--chimere/static/saclay/images/display_option_open.pngbin0 -> 360 bytes
-rw-r--r--chimere/static/saclay/images/email.pngbin0 -> 283 bytes
-rw-r--r--chimere/static/saclay/images/favicon.pngbin0 -> 733 bytes
-rw-r--r--chimere/static/saclay/images/gradient.pngbin0 -> 371 bytes
-rw-r--r--chimere/static/saclay/images/handler-hide.pngbin0 -> 232 bytes
-rw-r--r--chimere/static/saclay/images/handler-show.pngbin0 -> 224 bytes
-rw-r--r--chimere/static/saclay/images/itineraire-hover.pngbin0 -> 1237 bytes
-rw-r--r--chimere/static/saclay/images/itineraire.pngbin0 -> 1517 bytes
-rw-r--r--chimere/static/saclay/images/logo.jpgbin0 -> 11791 bytes
-rw-r--r--chimere/static/saclay/images/map_sprite.pngbin0 -> 3542 bytes
-rw-r--r--chimere/static/saclay/images/menu/icon_add.pngbin0 -> 578 bytes
-rw-r--r--chimere/static/saclay/images/menu/icon_center.pngbin0 -> 167 bytes
-rw-r--r--chimere/static/saclay/images/menu/icon_from.pngbin0 -> 177 bytes
-rw-r--r--chimere/static/saclay/images/menu/icon_minus.pngbin0 -> 158 bytes
-rw-r--r--chimere/static/saclay/images/menu/icon_plus.pngbin0 -> 163 bytes
-rw-r--r--chimere/static/saclay/images/menu/icon_to.pngbin0 -> 177 bytes
-rw-r--r--chimere/static/saclay/images/minus.pngbin0 -> 149 bytes
-rw-r--r--chimere/static/saclay/images/minus_alt.pngbin0 -> 149 bytes
-rw-r--r--chimere/static/saclay/images/minus_on.pngbin0 -> 218 bytes
-rw-r--r--chimere/static/saclay/images/plus.pngbin0 -> 156 bytes
-rw-r--r--chimere/static/saclay/images/plus_alt.pngbin0 -> 159 bytes
-rw-r--r--chimere/static/saclay/images/plus_on.pngbin0 -> 297 bytes
-rw-r--r--chimere/static/saclay/images/popup/close.pngbin0 -> 519 bytes
-rw-r--r--chimere/static/saclay/images/popup/multimedia_title.pngbin0 -> 1393 bytes
-rw-r--r--chimere/static/saclay/images/popup/thanks_title.pngbin0 -> 2136 bytes
-rw-r--r--chimere/static/saclay/images/popup/title_frame.pngbin0 -> 223 bytes
-rw-r--r--chimere/static/saclay/images/popup/welcome_close.pngbin0 -> 673 bytes
-rw-r--r--chimere/static/saclay/images/popup/welcome_header.pngbin0 -> 723 bytes
-rw-r--r--chimere/static/saclay/images/printer.pngbin0 -> 258 bytes
-rw-r--r--chimere/static/saclay/images/routing_end.pngbin0 -> 1115 bytes
-rw-r--r--chimere/static/saclay/images/routing_start.pngbin0 -> 1238 bytes
-rw-r--r--chimere/static/saclay/images/routing_step.pngbin0 -> 1372 bytes
-rw-r--r--chimere/static/saclay/images/routing_warn.pngbin0 -> 1165 bytes
-rw-r--r--chimere/static/saclay/images/search.pngbin0 -> 686 bytes
-rw-r--r--chimere/static/saclay/images/shadow.pngbin0 -> 1330 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_1_off.pngbin0 -> 371 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_1_on.pngbin0 -> 371 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_2_off.pngbin0 -> 334 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_2_on.pngbin0 -> 334 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_3_off.pngbin0 -> 373 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_3_on.pngbin0 -> 373 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_4_off.pngbin0 -> 325 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_4_on.pngbin0 -> 325 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_5_off.pngbin0 -> 337 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_5_on.pngbin0 -> 337 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_6_off.pngbin0 -> 380 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/agri_6_on.pngbin0 -> 371 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_1_off.pngbin0 -> 377 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_1_on.pngbin0 -> 377 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_2_off.pngbin0 -> 387 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_2_on.pngbin0 -> 387 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_3_off.pngbin0 -> 388 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_3_on.pngbin0 -> 391 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_4_off.pngbin0 -> 388 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_4_on.pngbin0 -> 389 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_5_off.pngbin0 -> 350 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_5_on.pngbin0 -> 350 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_6_off.pngbin0 -> 336 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/bala_6_on.pngbin0 -> 336 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_1_off.pngbin0 -> 372 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_1_on.pngbin0 -> 372 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_2_off.pngbin0 -> 341 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_2_on.pngbin0 -> 340 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_3_off.pngbin0 -> 339 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_3_on.pngbin0 -> 339 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_4_off.pngbin0 -> 373 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_4_on.pngbin0 -> 373 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_5_off.pngbin0 -> 310 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_5_on.pngbin0 -> 310 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_6_off.pngbin0 -> 311 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/cult_6_on.pngbin0 -> 311 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_1_off.pngbin0 -> 338 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_1_on.pngbin0 -> 338 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_2_off.pngbin0 -> 391 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_2_on.pngbin0 -> 388 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_3_off.pngbin0 -> 364 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_3_on.pngbin0 -> 363 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_4_off.pngbin0 -> 346 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_4_on.pngbin0 -> 346 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_5_off.pngbin0 -> 350 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_5_on.pngbin0 -> 350 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_6_off.pngbin0 -> 394 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_6_on.pngbin0 -> 395 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_7_off.pngbin0 -> 344 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_7_on.pngbin0 -> 344 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_8_off.pngbin0 -> 311 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/even_8_on.pngbin0 -> 311 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_1_off.pngbin0 -> 375 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_1_on.pngbin0 -> 375 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_2_off.pngbin0 -> 372 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_2_on.pngbin0 -> 372 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_3_disabled.pngbin0 -> 854 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_3_off.pngbin0 -> 344 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_3_on.pngbin0 -> 344 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_4_off.pngbin0 -> 339 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_4_on.pngbin0 -> 339 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_5_off.pngbin0 -> 375 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_5_on.pngbin0 -> 375 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_6_off.pngbin0 -> 372 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/mob_6_on.pngbin0 -> 371 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_1_off.pngbin0 -> 348 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_1_on.pngbin0 -> 347 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_2_off.pngbin0 -> 355 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_2_on.pngbin0 -> 355 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_3_off.pngbin0 -> 368 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_3_on.pngbin0 -> 368 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_4_off.pngbin0 -> 351 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_4_on.pngbin0 -> 354 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_5_off.pngbin0 -> 324 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_5_on.pngbin0 -> 324 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_6_off.pngbin0 -> 368 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/patri_6_on.pngbin0 -> 368 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/ress_1_off.pngbin0 -> 347 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/ress_1_on.pngbin0 -> 347 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/ress_2_off.pngbin0 -> 336 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/ress_2_on.pngbin0 -> 336 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/ress_3_off.pngbin0 -> 368 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/ress_3_on.pngbin0 -> 368 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/ress_4_off.pngbin0 -> 367 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/ress_4_on.pngbin0 -> 367 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/ress_5_off.pngbin0 -> 342 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/ress_5_on.pngbin0 -> 342 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_1_off.pngbin0 -> 369 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_1_on.pngbin0 -> 369 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_2_off.pngbin0 -> 328 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_2_on.pngbin0 -> 328 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_3_off.pngbin0 -> 379 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_3_on.pngbin0 -> 379 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_4_off.pngbin0 -> 352 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_4_on.pngbin0 -> 351 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_5_off.pngbin0 -> 375 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_5_on.pngbin0 -> 375 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_6_off.pngbin0 -> 392 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_6_on.pngbin0 -> 392 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_7_off.pngbin0 -> 342 bytes
-rw-r--r--chimere/static/saclay/images/subcategories/spor_7_on.pngbin0 -> 340 bytes
-rw-r--r--chimere/static/saclay/js/interface.js358
-rw-r--r--chimere/static/saclay/js/jquery.form.js23
-rw-r--r--chimere/static/saclay/js/mobile.chimere.js1
-rw-r--r--chimere/templates/chimere/base.html30
-rw-r--r--chimere/templates/chimere/blocks/actions.html83
-rw-r--r--chimere/templates/chimere/blocks/alternate_multimedia.html29
-rw-r--r--chimere/templates/chimere/blocks/categories.html64
-rw-r--r--chimere/templates/chimere/blocks/map.html70
-rw-r--r--chimere/templates/chimere/blocks/news.html91
-rw-r--r--chimere/templates/chimere/blocks/page_title.html5
-rw-r--r--chimere/templates/chimere/blocks/routing.html85
-rw-r--r--chimere/templates/chimere/blocks/share_bar.html27
-rw-r--r--chimere/templates/chimere/blocks/submited.html28
-rw-r--r--chimere/templates/chimere/blocks/welcome.html67
-rw-r--r--chimere/templates/chimere/default_extra_page.html19
-rw-r--r--chimere/templates/chimere/detail.html167
-rw-r--r--chimere/templates/chimere/dyn.css25
-rw-r--r--chimere/templates/chimere/edit.html363
-rw-r--r--chimere/templates/chimere/main_map.html122
-rw-r--r--chimere/templates/chimere/main_map_simple.html6
-rw-r--r--chimere/templates/search/search_haystack.html1
-rw-r--r--chimere/urls.py162
-rw-r--r--chimere/urls_chimere.py158
-rw-r--r--chimere/views.py34
-rw-r--r--chimere/widgets.py5
-rw-r--r--chimere_example_project/urls.py23
-rw-r--r--settings.py2
253 files changed, 3651 insertions, 805 deletions
diff --git a/.gitignore b/.gitignore
index 7b64013..c4be4ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,5 @@ docs/fr/build/
chimere_example_project
chimere/static/leaflet/
chimere/migrations_saclay/
-chimere_saclay
chimere_nef
/static
diff --git a/chimere/forms.py b/chimere/forms.py
index e1e5b17..965c93c 100644
--- a/chimere/forms.py
+++ b/chimere/forms.py
@@ -409,13 +409,13 @@ class MarkerAdminFormBase(forms.ModelForm):
msg = _("End date can't be before start date")
self._errors["end_date"] = self.error_class([msg])
raise forms.ValidationError(msg)
+ categories = self.cleaned_data.get('categories', [])
for pm in self.pms:
if not pm.mandatory or self.cleaned_data[pm.getNamedId()]:
continue
pm_cats = pm.subcategories.all()
if not pm_cats or \
- [submited_cat for submited_cat in
- self.cleaned_data['categories']
+ [submited_cat for submited_cat in categories
if submited_cat in pm_cats]:
msg = _("This field is mandatory for the selected categories")
self._errors[pm.getNamedId()] = self.error_class([msg])
@@ -481,6 +481,8 @@ class RouteAdminForm(forms.ModelForm):
name = forms.CharField(label=_("Name"), required=True)
read_from_file = forms.BooleanField(
label=_("Lire la géométrie depuis le fichier"), required=False)
+ categories = forms.ChoiceField(choices=[], widget=forms.Select)
+ description = forms.CharField(widget=TextareaWidget, required=False)
class Meta:
model = Route
@@ -521,22 +523,24 @@ class RouteAdminForm(forms.ModelForm):
self.fields['route'].required = False
self.fields['categories'].widget = forms.SelectMultiple(
choices=self.fields['categories'].choices)
- return
- self.fields.pop('read_from_file')
- if settings.CHIMERE_DAYS_BEFORE_EVENT:
- self.fields['start_date'].widget = DatePickerWidget()
- self.fields['end_date'].widget = DatePickerWidget()
- self.fields['categories'].choices = []
- if subcategories:
- self.fields['categories'].choices = subcategories
- # not a clean way to filter properties...
- # to do: change creation process
- pms = [pm.getNamedId() for pm in self.pms]
- for k in self.fields.keys():
- if not k.startswith('property_') or \
- k in pms:
- continue
- self.fields.pop(k)
+ else:
+ self.fields.pop('read_from_file')
+ if settings.CHIMERE_DAYS_BEFORE_EVENT:
+ self.fields['start_date'].widget = DatePickerWidget()
+ self.fields['end_date'].widget = DatePickerWidget()
+ self.fields['categories'].choices = []
+ if subcategories:
+ self.fields['categories'].choices = subcategories
+ # not a clean way to filter properties...
+ # to do: change creation process
+ pms = [pm.getNamedId() for pm in self.pms]
+ for k in self.fields.keys():
+ if not k.startswith('property_') or \
+ k in pms:
+ continue
+ self.fields.pop(k)
+ self.fields['categories'].widget.choices = \
+ [('', _(u"Select"))] + self.fields['categories'].widget.choices
def clean(self):
if self.cleaned_data.get('read_from_file', None) and \
@@ -549,6 +553,13 @@ class RouteAdminForm(forms.ModelForm):
"celui-ci depuis un fichier.")
return self.cleaned_data
+ def clean_categories(self):
+ cats = self.cleaned_data.get('categories')
+ if cats:
+ if type(cats) not in (list, tuple):
+ self.cleaned_data['categories'] = [cats]
+ return self.cleaned_data['categories']
+
def save(self, *args, **keys):
"""
Custom save method in order to manage associated properties
diff --git a/chimere/static/saclay/css/mobile.css b/chimere/static/saclay/css/mobile.css
new file mode 100644
index 0000000..ee31e25
--- /dev/null
+++ b/chimere/static/saclay/css/mobile.css
@@ -0,0 +1,9 @@
+/* sample css file for mobile */
+
+.cloud, .close_img{
+ width:200px;
+}
+
+#detail_content{
+ max-height:100px;
+}
diff --git a/chimere/static/saclay/css/print.css b/chimere/static/saclay/css/print.css
new file mode 100644
index 0000000..919fe8d
--- /dev/null
+++ b/chimere/static/saclay/css/print.css
@@ -0,0 +1,20 @@
+#edit-panel,
+#chimere_itinerary_form, #chimere_itinerary_action,
+#panel #categories,
+.sidebar-handler, #footer-panel, #action-panel
+{
+ display:none;
+
+}
+
+#chimere_itinerary div#chimere_itinerary_content{
+ height:auto;
+ max-height:none;
+ overflow:visible;
+ font-size:1.5em;
+}
+
+#chimere_itinerary h4,
+#chimere_itinerary .itinerary_label{
+ font-size:1.5em;
+}
diff --git a/chimere/static/saclay/css/styles.css b/chimere/static/saclay/css/styles.css
new file mode 100644
index 0000000..fbda6a4
--- /dev/null
+++ b/chimere/static/saclay/css/styles.css
@@ -0,0 +1,2302 @@
+@font-face {
+ font-family: TexGyreHeros;
+ font-weight: bold;
+ src: url("../fonts/texgyreheros-bold.otf") format("opentype");
+}
+
+/*
+ * Font colors
+ */
+
+/* main */
+html, h1, h2,
+.action li, .ui-dialog .ui-dialog-titlebar,
+#layer_selection h4,
+#chimere_itinerary_content div.s{
+ color:#444;
+}
+
+/* light */
+h2, .cloud h4, #layer_selection, #layer_selection h4, #permalink,
+#chimere_itinerary_panel label, .ui-menu .ui-menu-item a, #submited-window,
+#welcome .footer a, label, .map_button a, #marker_hover_content, .notice{
+ color:#929288;
+}
+
+/* light darker*/
+#layer_selection li.head{
+ color:#a7a799
+}
+
+/* activated */
+#detail_footer, #detail_footer a, #chimere_itinerary h4,
+h3.warn, .itinerary_label.itinerary_start, .itinerary_label.itinerary_end,
+.action li.ui-state-active{
+ color:#fff;
+}
+
+/* blue*/
+.itinerary_label{
+ color:#6f8196;
+}
+
+/* navigation */
+.pager li a, .nav-pills > li.active > a,
+.pager li a:hover, .nav-pills > li.active > a:hover,
+.nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus,
+#back-categories{
+ color: #60543A;
+ background-color: #eaeaea;
+}
+
+.pager li a,
+.pager li a:hover {
+ border-color: #eaeaea;
+}
+
+/* strong */
+
+.welcome-dialog h2, .edit h3, h3, h4, legend{
+ color:#000;
+}
+
+a, a:link, a:visited,
+#footer .map-footer a, #footer .map-footer a:link,
+#footer .map-footer a:visited,
+#welcome .footer,
+caption{
+ color:#444;
+}
+
+/* alternat link */
+.read_more,
+.read_less{
+ color:#a1a18b;
+}
+
+/* links */
+a, a:link, a:visited,
+#footer .map-footer a, #footer .map-footer a:link,
+#footer .map-footer a:visited,
+#welcome .footer,
+caption{
+ text-decoration:none;
+ font-weight:bold;
+ font-size:0.9em;
+}
+
+#detail_footer,
+#detail_footer a{
+ text-decoration:none;
+ text-transform:uppercase;
+ font-weight:normal;
+ font-size:0.9em;
+}
+
+#detail_footer a {
+ display: inline-block;
+}
+
+/*
+ * Background colors
+ */
+
+/* default */
+body, #content,
+#sidebar,
+.action li.ui-button,
+#detail_content,
+.news, #multimedia_form, #submited-window,
+.dialog-content .content{
+ background-color:#eee;
+}
+
+/* alternative background */
+#layer_selection #layer_list li.head,
+.welcome-dialog h2,
+ul#multimedia_list_content li, #welcome .footer,
+#action{
+ background-color: #eaeaea;
+}
+
+#detail_footer{
+ background-color:#9f9f89;
+}
+
+
+/* lighter */
+a#ui-active-menuitem.ui-state-hover,
+#chimere_itinerary_panel input[type=text]{
+ background-color:#f0f0e9;
+}
+
+.read_more,
+.read_less{
+ background-color:#c1c1b0;
+}
+
+/* blue */
+#chimere_itinerary h4, .roadmap_title{
+ background-color:#6f8196;
+}
+
+/* light blue */
+#chimere_itinerary_content div.s,
+.itinerary_label{
+ background-color:#dfe8f3;
+}
+
+/* green */
+.itinerary_label.itinerary_start{
+ background-color:#73a44b;
+}
+
+/* red */
+h3.warn,
+.itinerary_label.itinerary_end{
+ background-color:#a53f3f;
+}
+
+/* light pink */
+div.warning, .errorlist{
+ background-color:#fed;
+}
+
+/* blank */
+#edit-panel, #permalink,
+#layer_selection h4, #chimere_itinerary_content div.n,
+.edit h4{
+ background-color:#fff;
+}
+
+h2, h3{
+ background:none;
+}
+
+/*
+ * Borders
+ */
+#layer_selection h4, ul#multimedia_list_content li, #layer_selection #layer_list,
+#layer_selection #layer_list li, .itinerary_label .label, #footer-panel,
+#detail_footer, #areas, #detail, #main-map, div.warning, #content,
+.action li.selected, #content .olControlLayerSwitcher .layersDiv, #panel,
+#map-footer, #utils-div, #action, #panel #categories, .main_category,
+#page_title, #ul_categories .subcategories li, #action-panel,
+ul.ui-autocomplete.ui-menu.ui-corner-all.ui-widget-content, .extra-criteria,
+#chimere_itinerary_form, .welcome-logo, #permalink, #footer-panel{
+ border-color:#999;
+}
+
+#id_transport_it span{
+ border-color:#AAA;
+}
+/*
+ * Images
+ */
+
+.action li{
+ background:none;
+}
+
+/*
+ * Opacity
+ */
+
+#chimere_itinerary_panel,
+div#panel{
+ opacity:1;
+}
+
+/*
+ * Position, size, ...
+ */
+
+html, body{
+ height:100%;
+ overflow:hidden;
+}
+
+filedset{
+ margin: 0;
+}
+
+.ui-button,
+.action li{
+ padding:2px 18px;
+}
+
+h4{
+ font-weight:bold;
+}
+
+hr.clean{
+ display:none;
+}
+
+label{
+ font-weight:bold;
+ font-size:0.9em;
+}
+
+h3.warn{
+ padding:0.3em;
+ margin:0;
+}
+
+#permalink{
+ display: none;
+ position:absolute;
+ z-index:20;
+ right:280px;
+ top:36px;
+ width:auto;
+ border-width:1px;
+ border-style:solid;
+ padding:2px 12px;
+ font-weight:normal;
+}
+
+/* no title bar dialog */
+.no-titlebar.ui-dialog,
+.no-titlebar-simple.ui-dialog,
+.no-titlebar-small.ui-dialog,
+.welcome-dialog.ui-dialog{
+ padding:0;
+ margin:0;
+}
+
+.no-titlebar-simple.ui-dialog .ui-dialog-content{
+ padding:0;
+}
+
+.no-titlebar-simple.ui-dialog .ui-dialog-content p{
+ padding:0.5em 1em;
+}
+
+.no-titlebar.ui-dialog .ui-dialog-titlebar,
+.no-titlebar-simple.ui-dialog .ui-dialog-titlebar,
+.no-titlebar-small.ui-dialog .ui-dialog-titlebar,
+.welcome-dialog.ui-dialog .ui-dialog-titlebar{
+ background:none;
+ padding:0;
+ height:22px;
+ position:absolute;
+ z-index:100;
+ border:none;
+ color:transparent;
+ font-size:0;
+ border-radius:0;
+ -webkit-border-radius:0;
+ -moz-border-radius:0;
+}
+
+.no-titlebar-simple.ui-dialog .ui-dialog-titlebar{
+ right:10px;
+}
+
+.welcome-dialog.ui-dialog .ui-dialog-titlebar-close{
+ right:10px;
+ width:30px;
+ height:30px;
+ top:5px;
+ background-image: url("../../chimere/img/close.png");
+ background-repeat: no-repeat;
+ background-position: bottom center;
+ background-color: transparent;
+ border: 0 solid;
+}
+
+.welcome-dialog.ui-dialog .ui-widget-header .ui-icon{
+ background-image:url(../images/popup/welcome_close.png);
+ background-position:0 0;
+ width:30px;
+ height:30px;
+}
+
+.welcome-dialog.ui-dialog .ui-dialog-titlebar{
+ width:100%;
+ height:84px;
+}
+
+.no-titlebar-small.ui-dialog .ui-dialog-titlebar{
+ width:280px;
+}
+
+.no-titlebar.ui-dialog .ui-dialog-titlebar{
+ width:630px;
+}
+
+.no-titlebar.ui-dialog .ui-dialog-titlebar-close,
+.no-titlebar.ui-dialog .ui-dialog-titlebar-close.ui-state-hover,
+.no-titlebar-small.ui-dialog .ui-dialog-titlebar-close,
+.no-titlebar-small.ui-dialog .ui-dialog-titlebar-close.ui-state-hover{
+ background-image:url(../images/popup/close.png);
+ background-position:center;
+ width:100%;
+ height:22px;
+ position:absolute;
+ top:0;
+ left:0;
+ margin:0;
+ padding:0;
+ border:none;
+ border-radius:0;
+ -webkit-border-radius:0;
+ -moz-border-radius:0;
+}
+
+.no-titlebar-small.ui-dialog .ui-dialog-title {
+ margin:0;
+ height:auto;
+}
+
+#submited-window .ui-dialog-title {
+ height:65px;
+}
+
+.no-titlebar-simple.ui-dialog .ui-dialog-titlebar-close .ui-icon{
+ float:right;
+}
+
+.no-titlebar.ui-dialog .ui-dialog-titlebar-close .ui-icon,
+.no-titlebar-small.ui-dialog .ui-dialog-titlebar-close .ui-icon{
+ display:none;
+}
+
+#cluster_list .dialog-content{
+ overflow: auto;
+ max-height: 380px;
+}
+
+#welcome{
+ opacity:1;
+ padding:0;
+}
+
+.welcome-dialog .title{
+ margin:0;
+ text-align:left;
+ height:10px;
+}
+
+.welcome-dialog .title h2{
+ display:none;
+}
+
+.welcome-dialog h3, .welcome-dialog h4{
+ padding:0 1em;
+}
+
+.ui-dialog.ui-widget{
+ font-size:0.9em;
+ padding:0;
+ margin:0;
+}
+
+.welcome-dialog p{
+ padding:0;
+ margin:0;
+}
+
+.no-titlebar-small .ui-dialog-content.ui-widget-content{
+ margin-top:22px;
+}
+
+.welcome-dialog .ui-dialog-content.ui-widget-content,
+.no-titlebar .ui-dialog-content.ui-widget-content,
+.no-titlebar-small .ui-dialog-content.ui-widget-content{
+ position:static;
+}
+
+.no-titlebar .ui-dialog-content.ui-widget-content{
+ /*background-image:url(../images/popup/title_frame.png);
+ background-repeat:repeat-x;*/
+ margin-top:22px;
+ padding: 0;
+}
+
+#submited-window h2,
+#submited-window h3,
+#multimedia_form h2,
+.no-titlebar .ui-dialog-content.ui-widget-content h2{
+ margin:2px 0 12px 0;
+ font-weight: bold;
+ font-size: 20px;
+ background-color: #fff;
+ color: #000;
+}
+
+.content{
+ padding: 1em;
+}
+
+#message .content{
+ padding: 0;
+}
+
+a.close, a.close:link{
+ font-size: 1.5em;
+}
+
+#message{
+ position: absolute;
+ z-index: 10000;
+ right: 60px;
+ top: 40px;
+ max-width: 50%;
+ display: none;
+}
+
+.news,
+.dialog-content .content{
+ overflow:auto;
+ padding:1em;
+ max-height:400px;
+}
+
+#multimedia_form{
+ padding: 0;
+}
+
+#multimedia_form input[type=text]{
+ width:250px;
+ border:1px solid #e0e0d8;
+ border-radius:0;
+ -webkit-border-radius:0;
+ -moz-border-radius:0;
+ background-color:#e0e0d8;
+}
+
+.media-img{
+ max-height: 200px;
+ max-width: 300px;
+}
+
+
+#submited-window{
+ padding: 0;
+}
+
+#submited-window h3,
+#submited-window h2{
+ margin: 0;
+}
+
+#submited-window h3{
+ font-size: 1.2em;
+ text-align: center;
+}
+
+/* autocomplete theming */
+ul.ui-autocomplete.ui-menu.ui-corner-all.ui-widget-content{
+ border-radius:0;
+ -webkit-border-radius:0;
+ -moz-border-radius:0;
+ font-weight:normal;
+ padding:0;
+}
+
+.ui-menu .ui-menu-item a{
+ border-radius:0;
+ -webkit-border-radius:0;
+ -moz-border-radius:0;
+ font-weight:normal;
+}
+
+a#ui-active-menuitem.ui-state-hover{
+ background-image:none;
+}
+
+#search-listing{
+ overflow: visible;
+ height: calc(100vh - 390px);
+ margin-bottom: 50px;
+}
+
+#search-listing img{
+ vertical-align:middle;
+ padding: 0 10px 10px 0;
+ width: auto;
+}
+
+#search-listing a{
+ width: auto;
+ padding: 5px;
+ width: 100%;
+ padding: 5px 10px;
+}
+
+#search-listing ul{
+ padding:4px;
+}
+
+#search-listing ul li {
+ padding: 0;
+}
+
+#logos{
+ width:340px;
+ margin-left:auto;
+ margin-right:auto;
+}
+
+#welcome_message{
+ padding:1em;
+ margin:0;
+ /* float:left;
+ width:334px; */
+}
+
+#welcome_content{
+ height:145px;
+ overflow:auto;
+ margin-bottom:1em;
+}
+
+.welcome-col{
+ padding:1em;
+ margin:0;
+ float:left;
+ width:430px;
+}
+
+.no-titlebar .footer{
+ padding:0.3em 1em;
+ font-size:0.9em;
+}
+
+.welcome-logo{
+ border-top:1px solid;
+}
+
+#welcome .news{
+ height:298px;
+ overflow:auto;
+ padding:10px
+}
+
+#welcome .footer{
+ height:12px;
+ padding:5px 30px;
+ text-align:right;
+ text-transform:uppercase;
+ background-image:url(../images/plus.png);
+ background-repeat:no-repeat;
+ background-position:420px;
+}
+
+#welcome .footer a{
+ font-size:12px;
+}
+
+.info{
+ border:none;
+ padding:0;
+}
+
+/* edition */
+
+.fieldWrapper{
+ padding:2px 7px;
+}
+
+.edit label.error{
+ display:none;
+}
+
+.edit .error label.error{
+ display:block;
+}
+
+.edit h3{
+ text-align:left;
+ font-size:1.4em;
+ width:100%;
+ padding:0 0 0.4em 0;
+ margin:0;
+}
+
+.edit h4{
+ padding:1em 0;
+ border-top:1px solid;
+ border-bottom:1px solid;
+ width:100%;
+ cursor:pointer;
+ margin-top:0.5em;
+}
+
+.edit .minified{
+ background-image:url(../images/plus_on.png) ;
+ background-repeat:no-repeat;
+ background-position: 95% center;
+}
+
+.edit .maximized{
+ background-image:url(../images/minus_on.png) ;
+ background-repeat:no-repeat;
+ background-position: 95% center;
+}
+
+.notice{
+ padding:0.4em;
+ font-size:0.8em;
+ margin:0;
+}
+
+.remove-media{
+ cursor:pointer;
+}
+
+#chimere_map_menu{
+ padding:0;
+}
+
+#chimere_map_menu li{
+ padding-left:20px;
+ background-position:0 center;
+ background-repeat:no-repeat;
+}
+
+#marker_hover_content{
+ border-color:#c1c1b0;
+ border-bottom-width:0;
+ margin-bottom:11px;
+}
+
+#marker_hover{
+ background-image:url("../images/bottom-arrow.png");
+}
+
+#map_menu_from{
+ background-image:url("../images/menu/icon_from.png");
+}
+
+#map_menu_to{
+ background-image:url("../images/menu/icon_to.png");
+}
+
+#map_menu_step{
+ background-image:url("../images/menu/icon_add.png");
+}
+
+#map_menu_zoomin{
+ background-image:url("../images/menu/icon_plus.png");
+}
+
+#map_menu_zoomout{
+ background-image:url("../images/menu/icon_minus.png");
+}
+
+#map_menu_center{
+ background-image:url("../images/menu/icon_center.png");
+}
+
+.simple #permalink{
+ display:none;
+}
+
+.simple #layer_selection{
+ top:10px;
+ right:10px;
+}
+
+.simple #main-map .olControlPanPanel .olControlPanNorthItemInactive,
+.simple #main-map .olControlPanPanel .olControlPanWestItemInactive,
+.simple #main-map .olControlPanPanel .olControlPanEastItemInactive,
+.simple #main-map .olControlPanPanel .olControlPanSouthItemInactive {
+ position: absolute;
+ height:20px;
+}
+
+.simple #main-map .olControlPanPanel .olControlPanNorthItemInactive {
+ right:-50px;
+}
+
+.simple #main-map .olControlPanPanel .olControlPanEastItemInactive,
+.simple #main-map .olControlPanPanel .olControlPanWestItemInactive {
+ height:20px;
+ top:18px;
+}
+
+.simple #main-map .olControlPanPanel .olControlPanEastItemInactive{
+ right:-50px;
+}
+
+.simple #main-map .olControlPanPanel .olControlPanWestItemInactive {
+ right:-25px;
+}
+
+.simple #main-map .olControlPanPanel .olControlPanSouthItemInactive {
+ right:-50px;
+ top:36px;
+ height:30px;
+}
+
+.simple #sidebar{
+ top:0;
+}
+
+.simple #panel{
+ top:0;
+ overflow:auto;
+ overflow-x: hidden;
+ height:100%;
+}
+
+.simple #panel #categories {
+ display:block;
+}
+
+#frm-edit-marker{
+ padding-bottom: 35px;
+}
+
+#content{
+ border:none;
+ padding:0;
+}
+
+#page_title{
+ top:0;
+ right:0;
+ padding:0 30px;
+ position:relative;
+ border-bottom-width:1px;
+ border-bottom-style:solid;
+ background-color:#fff;
+ display:none;
+}
+
+#page_title h1{
+ text-align:right;
+ padding:0;
+ margin:0;
+ font-size:40px;
+ font-style:italic;
+}
+
+#page_title h2{
+ text-align:right;
+ padding:0;
+ margin:0;
+ font-style:italic;
+ background-color:#fff;
+}
+
+#topbar{
+ height:26px;
+ padding:0;
+ background-image:url('../images/background-top.png');
+ background-repeat:repeat-x;
+ display: none;
+}
+
+#header{
+ padding:0;
+ margin:0;
+}
+
+ul.action,
+ul#action-2 {
+ display:block;
+ float: left;
+ margin:0;
+ padding:0;
+}
+
+#action-3 {
+ float:right;
+}
+
+#action-3 li {
+ padding:0;
+}
+
+#action-3.action li:hover{
+ cursor:pointer;
+ background-color:transparent;
+ font-size:0;
+}
+
+
+ul.action li{
+ display:block;
+ float:left;
+ margin:0;
+ height:26px;
+}
+
+.action li:hover,
+.action li label:hover{
+ cursor:pointer;
+}
+
+ul#action{
+ width:282px;
+}
+
+#panel #categories{
+ clear:both;
+ border-top-width:0;
+ border-top-style:solid;
+}
+
+#action-panel .action li{
+ padding:0;
+ height:38px;
+ width:138px;
+ margin-top:22px;
+ margin-right: 3px;
+}
+
+#action-panel.three .action li {
+ padding: 0px;
+ height: 38px;
+ width: auto;
+}
+
+.action li{
+ font-family: "TexGyreHeros", "Helvetica Neue",Helvetica,Arial,sans-serif;
+ background-color: #c1c1b0;
+ text-transform:uppercase;
+ width:141px;
+ display:block;
+ padding:0;
+ margin:0;
+ font-size:1.1em;
+ text-align:center;
+}
+
+.action li,
+.action li a,
+.action li label{
+ margin-top:10px;
+ border-width:0;
+ color: #fff;
+}
+
+#topbar .action li a,
+#topbar .action li a:link,
+#topbar .action li a:visited,
+#topbar .action li{
+ line-height: 23px;
+ font-size: 19px;
+}
+
+#action-panel li{
+ border-radius: 10px 10px 0 0;
+}
+
+#action-panel li:first-child {
+ border-radius: 0 10px 0 0;
+}
+
+#action-panel li:last-child {
+ border-radius: 10px 0 0 0;
+ margin-right: 0;
+}
+
+#topbar .action li:hover a,
+#topbar .action li:hover a:link,
+#topbar .action li:hover a:visited,
+.action li:hover,
+.action li:hover label,
+.action li.state-active,
+.action li.state-active label{
+ background-color: #fff;
+ color: #c1c1b0;
+}
+
+.action li label{
+ width:92px;
+ font-size:12px;
+}
+
+#action-3.action li,
+#action-3.action li a{
+ width:86px;
+}
+
+.action li .share a{
+ color:transparent;
+ font-size:0;
+}
+
+#action-3.action li.share-list li a,
+#action-3.action li.share-list li,
+#action-3.action li.share-list{
+ width:auto;
+ font-size: 0;
+}
+
+#action-3.action li.share-list li.shared,
+#action-3.action li.share-list li.shared a{
+ width:26px;
+ margin:1px 0;
+}
+
+#topbar .action li.print-page a,
+#topbar .action li.print-page{
+ font-size: 0;
+ color: transparent;
+}
+
+#topbar .action li.print-page{
+ background-image:url(../images/buttons/button-print-off.png) ;
+ background-repeat:no-repeat;
+}
+
+.action li.print-page.state-active,
+.action li.print-page:hover{
+ background-image:url(../images/buttons/button-print-on.png) ;
+ background-repeat:no-repeat;
+}
+
+.action li.share-icon.state-active,
+.action li.share-icon:hover{
+ background-image:url(../images/buttons/button-share-on.png) ;
+ background-repeat:no-repeat;
+}
+
+.action li.share-icon{
+ background-image:url(../images/buttons/button-share-off.png) ;
+ background-repeat:no-repeat;
+}
+
+.action li.share-send.state-active,
+.action li.share-send:hover{
+ background-image:url(../images/buttons/button-send-on.png) ;
+ background-repeat:no-repeat;
+}
+
+.action li.share-send{
+ background-image:url(../images/buttons/button-send-off.png) ;
+ background-repeat:no-repeat;
+}
+
+.action li.help-page.state-active,
+.action li.help-page:hover{
+ background-image:url(../images/buttons/button-help-on.png) ;
+ background-repeat:no-repeat;
+}
+
+.action li.help-page{
+ background-image:url(../images/buttons/button-help-off.png) ;
+ background-repeat:no-repeat;
+}
+
+/*
+#action-categories.category-selected label{
+ background-image:url(../images/check-active.png) ;
+ background-repeat:no-repeat;
+}
+
+#action-categories.category-selected.state-active label,
+#action-categories.category-selected:hover label{
+ background-image:url(../images/check.png) ;
+ background-repeat:no-repeat;
+}
+
+#action-categories.category-selected label{
+ background-position:right center;
+}
+*/
+
+#main-map{
+ top: 0;
+ bottom:0;
+ height:auto;
+}
+
+.layer-switcher{
+ top: 0.5em;
+ right: 3.5em;
+}
+
+#layer_selection{
+ top:40px;
+ left:auto;
+ right:90px;
+}
+
+#layer_selection h4{
+ width:130px;
+ padding:2px 20px;
+ background-image:url('../images/display_option.png');
+ background-repeat:no-repeat;
+ text-align:left;
+}
+
+#layer_selection h4.opened{
+ background-image:url('../images/display_option_open.png');
+}
+
+#layer_selection ul#layer_list{
+ padding:0;
+ width:170px;
+ text-align:right;
+}
+
+#layer_selection ul#layer_list li.head{
+ text-align:left;
+}
+
+#layer_selection ul#layer_list li{
+ padding:2px 10px;
+ border-bottom:1px solid;
+}
+
+#layer_selection ul#layer_list input{
+ display:none;
+}
+
+#layer_selection ul#layer_list label:hover{
+ cursor:pointer;
+}
+
+#layer_selection ul#layer_list li.selected{
+ background-image:url('../images/check-small.png');
+ background-position:left;
+ background-repeat:no-repeat;
+}
+
+#edit-actions{
+ display:none;
+}
+
+div#map-shadow{
+ position:absolute;
+ left:0;
+ bottom:0;
+ top:26px;
+ width:15px;
+ z-index:5;
+}
+
+div#map-shadow,
+div#sidebar{
+ background-color:transparent;
+ background-image:url('../images/shadow.png');
+ background-position:right;
+ background-repeat:repeat-y;
+}
+
+div#sidebar{
+ z-index:7;
+ width:297px;
+ top: 0;
+ position:absolute;
+ bottom:0;
+ padding-right:15px;
+ border-width:0 1px;
+}
+
+div#sidebar-container{
+ background-color: white;
+ width: 100%;
+ height: 100%;
+ background-image:url('../images/gradient.png');
+ background-repeat:repeat-x;
+ background-position:left bottom;
+}
+
+div#action-panel{
+ display: none;
+}
+
+.action-button:hover{
+ cursor: pointer;
+ color: #999;
+}
+
+.action-button{
+ position: absolute;
+ background-color: #fff;
+ z-index: 10;
+ padding: 10px;
+ border-radius: 20px;
+ width: 40px;
+ height: 40px;
+ text-align: center;
+ color: #644e38;
+}
+
+#edit-button{
+ top: 20px;
+ left: 300px;
+}
+
+#routing-button{
+ bottom: 40px;
+ right: 40px;
+ background-image: url('../images/itineraire.png');
+ color: transparent;
+}
+
+#routing-button:hover{
+ background-image: url('../images/itineraire-hover.png');
+}
+
+div#panel{
+ position:absolute;
+ width:282px;
+ z-index:10;
+ max-height:none;
+ padding:0;
+ padding-top: 190px;
+ right:auto;
+ bottom:26px;
+ top: 0;
+ border-width:0 1px;
+ background-image:url('../images/logo.jpg');
+ background-repeat:repeat-x;
+ background-position:left top;
+ overflow-x:hidden;
+ background-color: #fff;
+}
+
+#footer-panel{
+ text-align:center;
+ bottom:0;
+ position:absolute;
+ width: 283px;
+ height: 26px;
+ font-size: 0.88em;
+}
+
+#footer-panel a{
+ font-variant: small-caps;
+}
+/* share toolbar */
+
+a.share_id_email_single{
+ width:23px;
+ overflow:hidden;
+ background-image:url('../images/email.png');
+ display:inline-block;
+}
+a.share_id_email_single{
+ color:transparent;
+ font-size:0;
+}
+
+ul.share {
+ display: inline;
+ text-align: center;
+ font-style: normal;
+ padding: 2px 0;
+}
+
+.sidebar-handler{
+ height:55px;
+ width:18px;
+ position:absolute;
+ background-position:left top;
+}
+
+#sidebar-handler-hide{
+ bottom:102px;
+ right:-4px;
+ z-index:10;
+ background-image:url('../images/handler-hide.png');
+ background-repeat:no-repeat;
+}
+
+#sidebar-handler-show{
+ bottom:102px;
+ left:0px;
+ z-index:6;
+ background-image:url('../images/handler-show.png');
+ background-repeat:no-repeat;
+}
+
+.sidebar-handler:hover{
+ cursor:pointer;
+}
+
+div#panel #categories{
+ width:auto;
+}
+
+ul#ul_categories{
+ padding:0;
+ width:auto;
+}
+
+#ul_categories li.main_category > span{
+ display:block;
+ height:40px;
+ padding:0;
+ margin:0;
+}
+
+#ul_categories li.main_category span{
+ display:block;
+}
+
+#ul_categories li.main_category .subcategories li{
+ padding:0;
+ margin:0;
+ overflow:hidden;
+}
+
+.triangle{
+ display: block;
+ float: left;
+ margin-top: 8px;
+ width: 0;
+ height: 0;
+ border-style: solid;
+ border-width: 11px 0 10px 10px;
+ border-style: solid inset solid solid;
+}
+
+.toggle_category{
+ margin-top:13px;
+ margin-right:2px;
+}
+
+.control_image{
+ visibility:hidden;
+}
+
+.map_button{
+ display:none;
+ z-index:20;
+ top:40px;
+ left:350px;
+ position:absolute;
+ background-color:#fff;
+ padding:2px 20px;
+ border:1px solid;
+ border-color:#c1c1b0;
+}
+
+.main_category > span > label{
+ display:block;
+ width:242px;
+ padding:0 20px;
+ height:40px;
+ line-height:40px;
+ background-repeat:no-repeat;
+ background-position:90% center;
+ color:#fff;
+}
+
+.main_category.toggle_minus > span.category-selected > label{
+ background-image:url('../images/minus_on.png');
+}
+
+#ul_categories .subcategories li label{
+ display:block;
+ padding:0.5em 1em;
+ margin:0;
+ font-weight:bold;
+ background-color:#fff;
+}
+
+#ul_categories .subcategories li .selected label{
+ color:#fff;
+}
+
+#ul_categories .subcategories input{
+ display:none;
+}
+
+
+
+/* itinéraire */
+
+#id_transport.ui-buttonset{
+ margin-right:0;
+}
+
+#id_transport_it span,
+#id_transport.ui-buttonset label{
+ width:122px;
+ height:25px;
+ border-radius:0;
+ -webkit-border-radius:0;
+ -moz-border-radius:0;
+ margin-left:1px;
+ color:transparent;
+ font-size:0;
+}
+
+#id_transport input{
+ display: none;
+}
+
+#id_transport label:hover{
+ cursor: pointer;
+}
+
+#id_transport label{
+ font-size: 0;
+ display: inline-block;
+ width: 125px;
+ height: 24px;
+}
+
+#id_transport_it span{
+ margin-right:-3px;
+
+}
+#id_start_div, #id_end_div{
+ padding:0 8px;
+}
+
+#id_transport_it{
+ margin:7px 0;
+}
+
+#id_transport_it span{
+ display:inline-block;
+ border-width: 0;
+ border-style: solid;
+ border-color: transparent;
+}
+
+#id_transport_it span#id_transport_it_foot,
+label[for=id_transport_0]{
+ background-image:url('../images/buttons/walk.png');
+}
+
+#id_transport_it span#id_transport_it_foot{
+ display:none;
+}
+
+#id_transport_it span#id_transport_it_foot.selected,
+label[for=id_transport_0]:hover,
+label[for=id_transport_0][aria-pressed=true]{
+ display:inline-block;
+ background-image:url('../images/buttons/walk_on.png');
+}
+
+#id_transport_it span#id_transport_it_bicycle,
+label[for=id_transport_1]{
+ background-image:url('../images/buttons/bicycle.png');
+}
+
+#id_transport_it span#id_transport_it_bicycle{
+ display:none;
+}
+
+#id_transport_it span#id_transport_it_bicycle.selected,
+label[for=id_transport_1]:hover,
+label[for=id_transport_1][aria-pressed=true]{
+ display:inline-block;
+ background-image:url('../images/buttons/bicycle_on.png');
+}
+
+#chimere_itinerary_panel input[type=text]{
+ width:250px;
+ border:none;
+ border-radius:0;
+ -webkit-border-radius:0;
+ -moz-border-radius:0;
+}
+
+#search_routing,
+#id_start_div label[for=id_start],
+#id_end_div label[for=id_end],
+label.step_label,
+#frm-edit-route label.step_label{
+ width:250px;
+ height:25px;
+ display:block;
+ color:transparent;
+ background-color:transparent;
+ font-size:0;
+ border:none;
+ border-radius:0;
+ -webkit-border-radius:0;
+ -moz-border-radius:0;
+}
+
+#step_link a{
+ font-size:0.9em;
+ padding:0 8px;
+}
+
+#id_start_div label.start_label,
+#id_end_div label.end_label,
+#chimere_itinerary_panel label.step_label{
+ height:25px;
+ width:200px;
+ display:block;
+ font-size:0;
+}
+
+#id_start_div label.start_label{
+ background-image:url('../images/buttons/form_start.png');
+}
+
+#id_end_div label.end_label{
+ background-image:url('../images/buttons/form_finish.png');
+}
+
+#chimere_itinerary_panel label.step_label{
+ color:transparent;
+ font-size:0;
+}
+label.step_label{
+ background-image:url('../images/buttons/form_step.png');
+}
+
+#search_routing{
+ padding:8px;
+ background-image:url('../images/buttons/search.png');
+}
+
+#add_multimedia_list{
+ color:transparent;
+ font-size:0;
+ width:100%;
+ position:absolute;
+ left:0;
+}
+
+ul#multimedia_list_content li{
+ width:210px;
+ margin:0 7px;
+}
+
+#head_multimedia{
+ background-image:url('../images/buttons/add.png');
+ background-repeat:no-repeat;
+ background-position:right center;
+}
+
+.extra-criteria{
+ border-width:1px;
+ border-style:solid;
+ width:264px;
+}
+
+.extra-criteria .extra-label{
+ height:25px;
+ color:transparent;
+ font-size:0;
+ background-image:url('../images/buttons/extra_criteria.png');
+ background-repeat:no-repeat;
+}
+
+.extra-criteria.opened .extra-label{
+ background-image:url('../images/buttons/extra_criteria-open.png');
+}
+
+.extra-criteria ul{
+ list-style:none;
+ padding:10px 0;
+ margin:0;
+ font-weight:bold;
+ font-size:0.9em;
+}
+
+.extra-form{
+ display:none;
+}
+
+/* itinerary */
+
+.itinerary_label.itinerary_start,
+.itinerary_label.itinerary_end,
+#chimere_itinerary h4{
+ line-height:18px;
+ padding:2px 8px;
+}
+.itinerary_label.itinerary_start .contener,
+.itinerary_label.itinerary_end .contener{
+ overflow:auto;
+ width:1000px;
+ height:36px;
+ display:block;
+}
+#chimere_start_label,
+#chimere_end_label{
+ height:22px;
+ width:230px;
+ padding:2px;
+ display:block;
+ overflow:hidden;
+ text-overflow:ellipsis;
+ -o-text-overflow:ellipsis;
+ -moz-binding:url('bindings.xml#ellipsis');
+}
+
+.nominatim-label{
+ overflow:hidden;
+ height:2.6em;
+}
+
+.itinerary_label.itinerary_start .label,
+.itinerary_label.itinerary_end .label,
+#chimere_itinerary h4{
+ text-transform:uppercase;
+}
+
+#chimere_itinerary h4{
+ display: inline-block;
+}
+
+ul#roadmap_toolbar, ul#roadmap_toolbar li{
+ padding:0;
+}
+
+ul#roadmap_toolbar a img{
+ vertical-align:bottom;
+}
+ul#roadmap_toolbar{
+ margin: 0;
+}
+
+ul#roadmap_toolbar, ul#roadmap_toolbar ul, ul#roadmap_toolbar li{
+ display:inline;
+ list-style-type:none;
+}
+
+.itinerary_label{
+ line-height:18px;
+ font-style:normal;
+ padding:0.5em;
+ border-width:0;
+ font-weight:bold;
+}
+
+.itinerary_label.itinerary_start,
+.itinerary_label.itinerary_end{
+}
+
+.itinerary_label div.t{
+ display:inline;
+}
+
+#chimere_itinerary{
+ overflow:hidden;
+}
+
+#chimere_itinerary_panel{
+ display:none;
+ border-width:0;
+ padding:0.5em;
+ background-color: #fff;
+}
+
+#chimere_itinerary_form{
+ padding: 0;
+}
+
+#chimere_itinerary_content{
+ margin:0;
+ height:auto;
+ max-height:250px;
+}
+
+#chimere_itinerary_content span.j{
+ display:none;
+}
+
+#chimere_itinerary_action ul{
+ margin:0;
+ padding:0;
+}
+#chimere_itinerary_action li{
+ display:block;
+ float:left;
+ margin-top:5px;
+}
+#chimere_itinerary_action li a{
+ height:24px;
+ display:block;
+ color:transparent;
+ font-size:0;
+}
+#chimere_itinerary_modify{
+ background-image:url('../images/buttons/modify.png');
+ width:82px;
+ margin-right:20px;
+}
+#chimere_itinerary_new{
+ background-image:url('../images/buttons/new_search.png');
+ width:160px;
+}
+
+#total_label_div{
+ margin:0;
+}
+
+#chimere_total_label span.l,
+#chimere_itinerary_content span.l{
+ display:none;
+}
+
+#chimere_itinerary_content div.s{
+ font-size:0.8em;
+ padding:4px;
+}
+
+#chimere_itinerary_content div.n{
+ font-size:0.9em;
+ padding:4px;
+}
+
+#search-box{
+ display: block;
+ background-color: #fff;
+ padding-bottom: 25px;
+}
+
+#search-box,
+#search-nav{
+ background-color:#fff;
+}
+
+#search-form{
+ background-color: #eaeaea;
+ margin: 0;
+ padding: 5px 0 5px 15px;
+ border-bottom: 0 solid transparent;
+}
+
+#search-form input{
+ border: 0;
+ background-color: #eaeaea;
+ width: 210px;
+ font-size: 0.85em;
+}
+
+#haystack-search{
+ width:35px;
+ height:28px;
+ vertical-align:top;
+ border: 0;
+ background-color: #eaeaea;
+ border-radius: 0;
+ box-shadow: none;
+}
+
+#edit-panel {
+ padding: 0;
+}
+
+#edit-panel label{
+ font-size:0.9em;
+}
+
+#edit-panel h3,
+#edit-panel h4,
+#edit-panel .notice{
+ margin:7px;
+}
+
+#edit-panel h3,
+#edit-panel h4{
+ text-transform:uppercase;
+ color:#fff;
+ font-weight:bold;
+ font-size:12px;
+ padding:5px;
+ width:240px;
+}
+
+#frm-edit-marker h3,
+#frm-edit-marker h4{
+ background-color:#6f8196;
+}
+
+#frm-edit-route h3,
+#frm-edit-route h4{
+ background-color:#d38fac;
+}
+
+#frm-edit-event h3,
+#frm-edit-event h4{
+ background-color:#996998;
+}
+
+#frm-edit-marker label{
+ font-weight:bold;
+ color:#6f8196;
+}
+
+#frm-edit-route label{
+ font-weight:bold;
+ color:#d38fac;
+}
+
+#frm-edit-event label{
+ font-weight:bold;
+ color:#996998;
+}
+
+#frm-edit-marker textarea,
+#frm-edit-marker input[type=email],
+#frm-edit-marker input[type=text]{
+ background-color:#dfe8f3;
+ border:none;
+}
+
+#frm-edit-route textarea,
+#frm-edit-route input[type=email],
+#frm-edit-route input[type=text]{
+ background-color:#f5e4eb;
+ border:none;
+}
+
+#frm-edit-event textarea,
+#frm-edit-event input[type=email],
+#frm-edit-event input[type=text]{
+ background-color:#f2e4f5;
+ border:none;
+}
+
+#back-categories{
+ font-weight: 900;
+ padding: 0;
+ width: 282px;
+ position: fixed;
+ bottom: 26px;
+ left: 0;
+ font-family: 'Numans';
+ z-index: 10;
+ display: none;
+}
+
+#back-categories:hover{
+ cursor: pointer;
+}
+
+#back-categories .fa,
+#back-categories p{
+ display: inline-block;
+ padding: 0;
+ margin: 0;
+}
+
+#back-categories p{
+ height: 26px;
+ vertical-align: middle;
+ padding-left: 0.3em;
+}
+
+#back-categories .fa{
+ font-size: 2em;
+ padding-top: 4px;
+ padding-left: 12px;
+}
+
+
+
+input.hasDatepicker{
+ background-image:url(../images/buttons/calendar.png) ;
+ background-repeat:no-repeat;
+ background-position:right;
+ width:120px;
+}
+
+.ui-datepicker th{
+ background-color:#996998;
+}
+
+#div_start_date{
+ float:left;
+}
+
+#add_media,
+#proposition_form_submit{
+ padding: 15px 0;
+ width:278px;
+ display:block;
+ height:25px;
+ color:transparent;
+ font-size:0;
+ background-image:url(../images/buttons/validate.png) ;
+ background-repeat:no-repeat;
+ background-position:center;
+}
+
+#add_media{
+ margin:1em 0;
+}
+
+#proposition_form_submit:hover{
+ cursor:pointer;
+}
+
+.cloud{
+ width:351px;
+ padding:0;
+ margin:0;
+}
+
+.simple .cloud img {
+ display: inline;
+}
+
+div.cloud h4{
+ margin:0;
+ padding:0.3em;
+ font-size:1.2em;
+ text-align:center;
+ background-image:url(../images/popup/title_frame.png);
+ background-repeat:repeat-x;
+ background-position:center bottom;
+}
+
+.cloud .description img{
+ max-width: 300px;
+}
+
+.close_img{
+ display:block;
+ overflow:hidden;
+ width: 100%;
+ height:22px;
+ background-image:url(../images/popup/close.png);
+ background-position:center;
+}
+a.close_img{
+ color:transparent;
+ font-size:0;
+}
+
+.read_more,
+.read_less{
+ margin:0;
+ text-align:right;
+ padding-right:25px;
+ font-weight:bold;
+ line-height:22px;
+}
+
+.read_more:hover,
+.read_less:hover{
+ cursor:pointer;
+}
+
+.read_less,
+.read_more{
+ background-position:330px 5px;
+ background-repeat:no-repeat;
+}
+.read_more{
+ background-image:url(../images/plus_alt.png);
+}
+.read_less{
+ background-image:url(../images/minus_alt.png);
+}
+
+#detail_content{
+ overflow:auto;
+ max-height:300px;
+ padding:0;
+}
+
+#detail_start_date,
+#detail_end_date,
+#detail_content .description{
+ padding:0 1em;
+}
+
+#detail_footer{
+ text-align:center;
+ border-top-width:1px;
+ border-top-style:solid;
+}
+
+.description_long, .read_less{
+ display:none;
+}
+
+.small-gallery{
+ width:auto;
+ margin-top:0;
+}
+
+.small-gallery p.legend{
+ line-height:22px;
+}
+
+.small-gallery .media-player{
+ padding:0 1em;
+}
+
+#frm-edit-route, #frm-edit-event{
+ display:none;
+}
+
+#panel textarea{
+ height:100px;
+ width:250px;
+}
+
+input#id_name{
+ width:250px;
+}
+
+select#id_categories{
+ max-width:240px;
+}
+
+#itinerary_field #id_transport_div,
+#itinerary_field #id_speed_div,
+#itinerary_field .extra-criteria
+{
+ display:none;
+}
+
+.single-line label{
+ display:inline-block;
+ width:95px;
+ /*IE7*/
+ zoom:1;
+ *display:inline;
+}
+
+.single-line input{
+ width:150px;
+}
+
+#main-map .olControlScaleLine {
+ left:300px;
+}
+
+#main-map .olControlPanPanel{
+ right:60px;
+ left:auto;
+}
+
+#main-map .olControlZoomPanel{
+ right:51px;
+ left:auto;
+}
+
+#main-map .olControlPanPanel .olButton,
+#main-map .olControlZoomPanel .olButton {
+ background-image: url('../images/map_sprite.png');
+}
+
+#main-map .olControlPanPanel .olControlPanNorthItemInactive {
+ background-position:-4px -2px;
+ width:50px;
+ height:23px;
+ right:-50px;
+ left:auto;
+}
+
+#main-map .olControlPanPanel .olControlPanWestItemInactive {
+ width:25px;
+ background-position:-4px -20px;
+ right:-25px;
+ left:auto;
+}
+
+#main-map .olControlPanPanel .olControlPanEastItemInactive {
+ width:25px;
+ background-position:-29px -20px;
+ right:-50px;
+ left:auto;
+}
+
+#main-map .olControlPanPanel .olControlPanSouthItemInactive {
+ background-position:-4px -38px;
+ width:50px;
+ right:-50px;
+ left:auto;
+}
+
+#main-map .olControlZoomPanel .olControlZoomInItemInactive {
+ top:-8px;
+ left:-9px;
+ background-position:-4px -60px;
+ width:50px;
+ height:22px
+}
+
+#main-map .olControlZoomPanel .olControlZoomOutItemInactive {
+ top:14px;
+ left:-9px;
+ background-position:-4px -130px;
+ width:50px;
+ height:35px;
+}
+
+#main-map .olControlZoomPanel .olControlZoomToMaxExtentItemInactive {
+ top:-40px;
+ left:7px;
+ background-position:-20px -23px;
+ width:14px;
+ height:16px;
+ display:none;
+}
+
+
+/*
+.olControlSimplePanZoom #slider,
+.olControlSimplePanZoom #zoomin,
+.olControlSimplePanZoom #zoomout,
+.olControlSimplePanZoom #zoombar,
+.olControlSimplePanZoom #panup,
+.olControlSimplePanZoom #pandown {
+ right:15px;
+ left:auto;
+}
+.olControlSimplePanZoom #panright {
+ right:14px;
+ left:auto;
+}
+
+.olControlSimplePanZoom #panleft {
+ right:39px;
+ left:auto;
+ background-position:-4px -17px;
+ width:26px;
+}
+
+.olControlSimplePanZoom .button {
+ background-image: url('../images/map_sprite.png');
+}
+
+.olControlSimplePanZoom #zoombar{
+ width:50px;
+ height:90px;
+ background-position:-4px -75px;
+}
+
+.olControlSimplePanZoom #zoomin{
+ width:50px;
+ background-position:-4px -61px;
+}
+.olControlSimplePanZoom #pandown {
+ width:50px;
+ background-position:-4px -40px;
+}
+.olControlSimplePanZoom #panup{
+ width:50px;
+ background-position:-4px -5px;
+}
+
+.olControlSimplePanZoom #slider {
+ width:50px;
+ background-position:-60px -100px;
+}
+*/
+
+#content .olControlLayerSwitcher .maximizeDiv,
+#content .olControlLayerSwitcher .minimizeDiv {
+ display:none;
+}
+
+#utils-div{
+ left:auto;
+ right:28px;
+}
+
+.properties{
+ padding: 2px 1em;
+}
+.properties p{
+ padding: 0;
+ margin:0;
+}
+
+#waiting{
+ top:0;
+ height:100%;
+ background-color:rgba(255, 255, 255, 0.4);
+}
+
+#waiting-content{
+ margin-top:20%;
+}
+
+#categories li{
+ padding: 0;
+}
+
+#categories li.main_category:hover{
+ background-color: transparent;
+}
+
+#categories ul ul{
+ padding-top: 0;
+}
+
+.subcategory label{
+ border-radius: 0;
+}
+
+.main_category > span > label{
+ width: 100%;
+ background-position: 247px center;
+}
+
+.main_category.toggle_plus > span > label,
+.main_category.toggle_minus > span > label{
+ text-transform:uppercase;
+}
+
+#ul_categories .subcategories li .selected label,
+.main_category.toggle_plus > span > label,
+.main_category.toggle_minus > span > label{
+ background-color:#777;
+}
+
+#ul_categories .subcategories li label{
+ color:#777;
+}
+
+li.main_category > span > label{
+ font-size: 0.8em;
+}
+
+li.main_category li.subcategory > span > label{
+ font-size: 0.9em;
+}
+
+#detail_footer{
+ border-radius-bottom: 6px;
+}
+
+.popover h4{
+ padding: 0.5em 1em;
+}
+
+.popover,
+.popover-content{
+ padding: 0;
+}
+
+.main-category-tick{
+ position: absolute;
+ margin-top: 12px;
+ left: 218px;
+ color: #CCC;
+ left: 242px;
+}
+
+.main-category-tick:hover,
+.main_category.full .main-category-tick{
+ color: #1db11d;
+}
+
+#map_edit{
+ width: 100%;
+ height: 400px;
+}
+
+.container{
+ width: 100%;
+}
+
+.row .full textarea{
+ width: 100%;
+ height: 100px;
+}
+
+.pager li a{
+ padding: 5px 6px;
+ border-radius: 5px;
+}
+
+#maps-lnk {
+ margin-bottom: 0.5em;
+}
+
+#maps-lnk .form-control,
+#maps-lnk .input-group-addon{
+ border-radius: 0;
+ border: 1px solid #eee;
+}
+
+#switch-menu{
+ display: none;
+ text-align: center;
+ font-size: 1.2em;
+ padding: 0;
+ position: absolute;
+ top: 98px;
+ z-index: 200;
+ right: 0;
+ left: 0;
+ background-color: #fff;
+}
+
+#switch-menu div{
+ padding: 0.2em;
+}
+
+#switch-menu div.selected{
+ background-color: #d5d5d4;
+}
+
+@media screen and (max-width: 640px) {
+ #switch-menu{
+ display: block;
+ }
+ .ol-zoom, .layer-switcher{
+ top: 140px;
+ }
+ .ol-full-screen{
+ display:none;
+ }
+ #search-listing{
+ padding-top: 25px;
+ }
+ div#sidebar,
+ div#panel{
+ width: 100%;
+ bottom: auto;
+ }
+ div#panel{
+ background-size: auto 80px;
+ background-repeat: no-repeat;
+ padding-top: 5px;
+ display: block;
+ }
+ #map-shadow{
+ display: none;
+ }
+ #search-box{
+ padding-bottom: 0;
+ }
+ .sidebar-handler,
+ #frm_categories{
+ display: none;
+ }
+ div#sidebar-container{
+ height:auto;
+ }
+ #sidebar-handler-hide,
+ #sidebar-handler-show,
+ div#sidebar{
+ background-image: none;
+ }
+ #search-form input{
+ width: 80%;
+ }
+ #maps-lnk{
+ padding: 0.5em 0.8em;
+ margin-left: 100px;
+ }
+ .main-category-tick{
+ left:auto
+ right: 50px;
+ }
+ #edit-button {
+ top: auto;
+ bottom: 60px;
+ right: 20px;
+ left: auto;
+ }
+ #footer .map-footer {
+ right: 0;
+ left: 0;
+ }
+ .main-category-tick{
+ right: 1.5em;
+ left: auto;
+ }
+}
+
diff --git a/chimere/static/saclay/fonts/GUST e-foundry License.txt b/chimere/static/saclay/fonts/GUST e-foundry License.txt
new file mode 100644
index 0000000..ad80c74
--- /dev/null
+++ b/chimere/static/saclay/fonts/GUST e-foundry License.txt
@@ -0,0 +1,29 @@
+This is a preliminary version (2006-09-30), barring acceptance from
+the LaTeX Project Team and other feedback, of the GUST Font License.
+(GUST is the Polish TeX Users Group, http://www.gust.org.pl)
+
+For the most recent version of this license see
+http://www.gust.org.pl/fonts/licenses/GUST-FONT-LICENSE.txt
+or
+http://tug.org/fonts/licenses/GUST-FONT-LICENSE.txt
+
+This work may be distributed and/or modified under the conditions
+of the LaTeX Project Public License, either version 1.3c of this
+license or (at your option) any later version.
+
+Please also observe the following clause:
+1) it is requested, but not legally required, that derived works be
+ distributed only after changing the names of the fonts comprising this
+ work and given in an accompanying "manifest", and that the
+ files comprising the Work, as listed in the manifest, also be given
+ new names. Any exceptions to this request are also given in the
+ manifest.
+
+ We recommend the manifest be given in a separate file named
+ MANIFEST-<fontid>.txt, where <fontid> is some unique identification
+ of the font family. If a separate "readme" file accompanies the Work,
+ we recommend a name of the form README-<fontid>.txt.
+
+The latest version of the LaTeX Project Public License is in
+http://www.latex-project.org/lppl.txt and version 1.3c or later
+is part of all distributions of LaTeX version 2006/05/20 or later. \ No newline at end of file
diff --git a/chimere/static/saclay/fonts/texgyreheros-bold.otf b/chimere/static/saclay/fonts/texgyreheros-bold.otf
new file mode 100644
index 0000000..2f23b92
--- /dev/null
+++ b/chimere/static/saclay/fonts/texgyreheros-bold.otf
Binary files differ
diff --git a/chimere/static/saclay/images/background-small.png b/chimere/static/saclay/images/background-small.png
new file mode 100644
index 0000000..fc904ae
--- /dev/null
+++ b/chimere/static/saclay/images/background-small.png
Binary files differ
diff --git a/chimere/static/saclay/images/background-top.png b/chimere/static/saclay/images/background-top.png
new file mode 100644
index 0000000..c7fb8e1
--- /dev/null
+++ b/chimere/static/saclay/images/background-top.png
Binary files differ
diff --git a/chimere/static/saclay/images/background.png b/chimere/static/saclay/images/background.png
new file mode 100644
index 0000000..564dbf4
--- /dev/null
+++ b/chimere/static/saclay/images/background.png
Binary files differ
diff --git a/chimere/static/saclay/images/bottom-arrow.png b/chimere/static/saclay/images/bottom-arrow.png
new file mode 100644
index 0000000..6f98166
--- /dev/null
+++ b/chimere/static/saclay/images/bottom-arrow.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-cat-off.png b/chimere/static/saclay/images/button-cat-off.png
new file mode 100644
index 0000000..ad9e0e5
--- /dev/null
+++ b/chimere/static/saclay/images/button-cat-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-cat-on.png b/chimere/static/saclay/images/button-cat-on.png
new file mode 100644
index 0000000..3c6c546
--- /dev/null
+++ b/chimere/static/saclay/images/button-cat-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-cat-three-off.png b/chimere/static/saclay/images/button-cat-three-off.png
new file mode 100644
index 0000000..9d728de
--- /dev/null
+++ b/chimere/static/saclay/images/button-cat-three-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-cat-three-on.png b/chimere/static/saclay/images/button-cat-three-on.png
new file mode 100644
index 0000000..d9bcc7e
--- /dev/null
+++ b/chimere/static/saclay/images/button-cat-three-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-event-off.png b/chimere/static/saclay/images/button-event-off.png
new file mode 100644
index 0000000..34a64a6
--- /dev/null
+++ b/chimere/static/saclay/images/button-event-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-event-on.png b/chimere/static/saclay/images/button-event-on.png
new file mode 100644
index 0000000..cdfc2cb
--- /dev/null
+++ b/chimere/static/saclay/images/button-event-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-location-off.png b/chimere/static/saclay/images/button-location-off.png
new file mode 100644
index 0000000..4fb3ec3
--- /dev/null
+++ b/chimere/static/saclay/images/button-location-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-location-on.png b/chimere/static/saclay/images/button-location-on.png
new file mode 100644
index 0000000..33f60fb
--- /dev/null
+++ b/chimere/static/saclay/images/button-location-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-map-off.png b/chimere/static/saclay/images/button-map-off.png
new file mode 100644
index 0000000..d9166a6
--- /dev/null
+++ b/chimere/static/saclay/images/button-map-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-map-on.png b/chimere/static/saclay/images/button-map-on.png
new file mode 100644
index 0000000..ff8d122
--- /dev/null
+++ b/chimere/static/saclay/images/button-map-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-news-off.png b/chimere/static/saclay/images/button-news-off.png
new file mode 100644
index 0000000..91d426e
--- /dev/null
+++ b/chimere/static/saclay/images/button-news-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-news-on.png b/chimere/static/saclay/images/button-news-on.png
new file mode 100644
index 0000000..377c266
--- /dev/null
+++ b/chimere/static/saclay/images/button-news-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-participate-off.png b/chimere/static/saclay/images/button-participate-off.png
new file mode 100644
index 0000000..0c5d1cd
--- /dev/null
+++ b/chimere/static/saclay/images/button-participate-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-participate-on.png b/chimere/static/saclay/images/button-participate-on.png
new file mode 100644
index 0000000..e8c03b8
--- /dev/null
+++ b/chimere/static/saclay/images/button-participate-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-project-off.png b/chimere/static/saclay/images/button-project-off.png
new file mode 100644
index 0000000..35aea1c
--- /dev/null
+++ b/chimere/static/saclay/images/button-project-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-project-on.png b/chimere/static/saclay/images/button-project-on.png
new file mode 100644
index 0000000..6b84d07
--- /dev/null
+++ b/chimere/static/saclay/images/button-project-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-route-off.png b/chimere/static/saclay/images/button-route-off.png
new file mode 100644
index 0000000..91c057c
--- /dev/null
+++ b/chimere/static/saclay/images/button-route-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-route-on.png b/chimere/static/saclay/images/button-route-on.png
new file mode 100644
index 0000000..c159e34
--- /dev/null
+++ b/chimere/static/saclay/images/button-route-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-route-three-off.png b/chimere/static/saclay/images/button-route-three-off.png
new file mode 100644
index 0000000..388fd9d
--- /dev/null
+++ b/chimere/static/saclay/images/button-route-three-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-route-three-on.png b/chimere/static/saclay/images/button-route-three-on.png
new file mode 100644
index 0000000..9581525
--- /dev/null
+++ b/chimere/static/saclay/images/button-route-three-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-search-off.png b/chimere/static/saclay/images/button-search-off.png
new file mode 100644
index 0000000..9188039
--- /dev/null
+++ b/chimere/static/saclay/images/button-search-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-search-on.png b/chimere/static/saclay/images/button-search-on.png
new file mode 100644
index 0000000..b7ed487
--- /dev/null
+++ b/chimere/static/saclay/images/button-search-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-wander-off.png b/chimere/static/saclay/images/button-wander-off.png
new file mode 100644
index 0000000..729f825
--- /dev/null
+++ b/chimere/static/saclay/images/button-wander-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/button-wander-on.png b/chimere/static/saclay/images/button-wander-on.png
new file mode 100644
index 0000000..0223f35
--- /dev/null
+++ b/chimere/static/saclay/images/button-wander-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/add.png b/chimere/static/saclay/images/buttons/add.png
new file mode 100644
index 0000000..3368a65
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/add.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/add_event.png b/chimere/static/saclay/images/buttons/add_event.png
new file mode 100644
index 0000000..a5976f9
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/add_event.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/add_location.png b/chimere/static/saclay/images/buttons/add_location.png
new file mode 100644
index 0000000..d0084d6
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/add_location.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/add_wander.png b/chimere/static/saclay/images/buttons/add_wander.png
new file mode 100644
index 0000000..fb2d39a
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/add_wander.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/bicycle.png b/chimere/static/saclay/images/buttons/bicycle.png
new file mode 100644
index 0000000..b408275
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/bicycle.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/bicycle_on.png b/chimere/static/saclay/images/buttons/bicycle_on.png
new file mode 100644
index 0000000..65e5e4c
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/bicycle_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/button-help-off.png b/chimere/static/saclay/images/buttons/button-help-off.png
new file mode 100644
index 0000000..aa98621
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/button-help-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/button-help-on.png b/chimere/static/saclay/images/buttons/button-help-on.png
new file mode 100644
index 0000000..aa98621
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/button-help-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/button-print-off.png b/chimere/static/saclay/images/buttons/button-print-off.png
new file mode 100644
index 0000000..a01b1fc
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/button-print-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/button-print-on.png b/chimere/static/saclay/images/buttons/button-print-on.png
new file mode 100644
index 0000000..a01b1fc
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/button-print-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/button-send-off.png b/chimere/static/saclay/images/buttons/button-send-off.png
new file mode 100644
index 0000000..e8a315c
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/button-send-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/button-send-on.png b/chimere/static/saclay/images/buttons/button-send-on.png
new file mode 100644
index 0000000..e8a315c
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/button-send-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/button-share-off.png b/chimere/static/saclay/images/buttons/button-share-off.png
new file mode 100644
index 0000000..232efc3
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/button-share-off.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/button-share-on.png b/chimere/static/saclay/images/buttons/button-share-on.png
new file mode 100644
index 0000000..232efc3
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/button-share-on.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/calendar.png b/chimere/static/saclay/images/buttons/calendar.png
new file mode 100644
index 0000000..8d4bfc8
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/calendar.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/download.png b/chimere/static/saclay/images/buttons/download.png
new file mode 100644
index 0000000..33c92bc
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/download.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/extra_criteria-open.png b/chimere/static/saclay/images/buttons/extra_criteria-open.png
new file mode 100644
index 0000000..88d7d5e
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/extra_criteria-open.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/extra_criteria.png b/chimere/static/saclay/images/buttons/extra_criteria.png
new file mode 100644
index 0000000..c4551ab
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/extra_criteria.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/finish.png b/chimere/static/saclay/images/buttons/finish.png
new file mode 100644
index 0000000..840bdb4
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/finish.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/form_finish.png b/chimere/static/saclay/images/buttons/form_finish.png
new file mode 100644
index 0000000..3f36f3b
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/form_finish.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/form_start.png b/chimere/static/saclay/images/buttons/form_start.png
new file mode 100644
index 0000000..0f81d93
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/form_start.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/form_step.png b/chimere/static/saclay/images/buttons/form_step.png
new file mode 100644
index 0000000..61a5d1d
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/form_step.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/modify.png b/chimere/static/saclay/images/buttons/modify.png
new file mode 100644
index 0000000..3a4aebd
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/modify.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/new_search.png b/chimere/static/saclay/images/buttons/new_search.png
new file mode 100644
index 0000000..18ea372
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/new_search.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/search.png b/chimere/static/saclay/images/buttons/search.png
new file mode 100644
index 0000000..3e94445
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/search.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/start.png b/chimere/static/saclay/images/buttons/start.png
new file mode 100644
index 0000000..0e211f4
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/start.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/validate.png b/chimere/static/saclay/images/buttons/validate.png
new file mode 100644
index 0000000..8c03952
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/validate.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/walk.png b/chimere/static/saclay/images/buttons/walk.png
new file mode 100644
index 0000000..a36b071
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/walk.png
Binary files differ
diff --git a/chimere/static/saclay/images/buttons/walk_on.png b/chimere/static/saclay/images/buttons/walk_on.png
new file mode 100644
index 0000000..7ae81d8
--- /dev/null
+++ b/chimere/static/saclay/images/buttons/walk_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_agri.png b/chimere/static/saclay/images/categories/cat_agri.png
new file mode 100644
index 0000000..4fd1536
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_agri.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_agri_on.png b/chimere/static/saclay/images/categories/cat_agri_on.png
new file mode 100644
index 0000000..a46323f
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_agri_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_balade.png b/chimere/static/saclay/images/categories/cat_balade.png
new file mode 100644
index 0000000..475be6f
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_balade.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_balade_on.png b/chimere/static/saclay/images/categories/cat_balade_on.png
new file mode 100644
index 0000000..8d1ec8a
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_balade_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_culture.png b/chimere/static/saclay/images/categories/cat_culture.png
new file mode 100644
index 0000000..c77a136
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_culture.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_culture_on.png b/chimere/static/saclay/images/categories/cat_culture_on.png
new file mode 100644
index 0000000..175b0a7
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_culture_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_event.png b/chimere/static/saclay/images/categories/cat_event.png
new file mode 100644
index 0000000..5e942d7
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_event.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_event_on.png b/chimere/static/saclay/images/categories/cat_event_on.png
new file mode 100644
index 0000000..d51ced1
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_event_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_mobilites.png b/chimere/static/saclay/images/categories/cat_mobilites.png
new file mode 100644
index 0000000..c678b55
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_mobilites.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_mobilites_on.png b/chimere/static/saclay/images/categories/cat_mobilites_on.png
new file mode 100644
index 0000000..9bdb1a8
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_mobilites_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_patrimoine.png b/chimere/static/saclay/images/categories/cat_patrimoine.png
new file mode 100644
index 0000000..6cb5d22
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_patrimoine.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_patrimoine_on.png b/chimere/static/saclay/images/categories/cat_patrimoine_on.png
new file mode 100644
index 0000000..34592d9
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_patrimoine_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_pratique.png b/chimere/static/saclay/images/categories/cat_pratique.png
new file mode 100644
index 0000000..17e145b
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_pratique.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_pratique_on.png b/chimere/static/saclay/images/categories/cat_pratique_on.png
new file mode 100644
index 0000000..c2629d8
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_pratique_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_sport.png b/chimere/static/saclay/images/categories/cat_sport.png
new file mode 100644
index 0000000..74c6971
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_sport.png
Binary files differ
diff --git a/chimere/static/saclay/images/categories/cat_sport_on.png b/chimere/static/saclay/images/categories/cat_sport_on.png
new file mode 100644
index 0000000..a18ebf9
--- /dev/null
+++ b/chimere/static/saclay/images/categories/cat_sport_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/check-active.png b/chimere/static/saclay/images/check-active.png
new file mode 100644
index 0000000..f787c3f
--- /dev/null
+++ b/chimere/static/saclay/images/check-active.png
Binary files differ
diff --git a/chimere/static/saclay/images/check-small.png b/chimere/static/saclay/images/check-small.png
new file mode 100644
index 0000000..ce5f565
--- /dev/null
+++ b/chimere/static/saclay/images/check-small.png
Binary files differ
diff --git a/chimere/static/saclay/images/check.png b/chimere/static/saclay/images/check.png
new file mode 100644
index 0000000..75a1eb0
--- /dev/null
+++ b/chimere/static/saclay/images/check.png
Binary files differ
diff --git a/chimere/static/saclay/images/close.png b/chimere/static/saclay/images/close.png
new file mode 100644
index 0000000..0b356df
--- /dev/null
+++ b/chimere/static/saclay/images/close.png
Binary files differ
diff --git a/chimere/static/saclay/images/cloud-popup-saclay.png b/chimere/static/saclay/images/cloud-popup-saclay.png
new file mode 100755
index 0000000..9e4de73
--- /dev/null
+++ b/chimere/static/saclay/images/cloud-popup-saclay.png
Binary files differ
diff --git a/chimere/static/saclay/images/cloud-popup-saclay.xcf b/chimere/static/saclay/images/cloud-popup-saclay.xcf
new file mode 100644
index 0000000..797be2c
--- /dev/null
+++ b/chimere/static/saclay/images/cloud-popup-saclay.xcf
Binary files differ
diff --git a/chimere/static/saclay/images/cluster_icon.png b/chimere/static/saclay/images/cluster_icon.png
new file mode 100644
index 0000000..d019e11
--- /dev/null
+++ b/chimere/static/saclay/images/cluster_icon.png
Binary files differ
diff --git a/chimere/static/saclay/images/cluster_icon_hover.png b/chimere/static/saclay/images/cluster_icon_hover.png
new file mode 100644
index 0000000..7901f41
--- /dev/null
+++ b/chimere/static/saclay/images/cluster_icon_hover.png
Binary files differ
diff --git a/chimere/static/saclay/images/default_icon.png b/chimere/static/saclay/images/default_icon.png
new file mode 100644
index 0000000..7d98be8
--- /dev/null
+++ b/chimere/static/saclay/images/default_icon.png
Binary files differ
diff --git a/chimere/static/saclay/images/display_option.png b/chimere/static/saclay/images/display_option.png
new file mode 100644
index 0000000..b5a7550
--- /dev/null
+++ b/chimere/static/saclay/images/display_option.png
Binary files differ
diff --git a/chimere/static/saclay/images/display_option_open.png b/chimere/static/saclay/images/display_option_open.png
new file mode 100644
index 0000000..2aa5599
--- /dev/null
+++ b/chimere/static/saclay/images/display_option_open.png
Binary files differ
diff --git a/chimere/static/saclay/images/email.png b/chimere/static/saclay/images/email.png
new file mode 100644
index 0000000..8eea702
--- /dev/null
+++ b/chimere/static/saclay/images/email.png
Binary files differ
diff --git a/chimere/static/saclay/images/favicon.png b/chimere/static/saclay/images/favicon.png
new file mode 100644
index 0000000..6073276
--- /dev/null
+++ b/chimere/static/saclay/images/favicon.png
Binary files differ
diff --git a/chimere/static/saclay/images/gradient.png b/chimere/static/saclay/images/gradient.png
new file mode 100644
index 0000000..c745816
--- /dev/null
+++ b/chimere/static/saclay/images/gradient.png
Binary files differ
diff --git a/chimere/static/saclay/images/handler-hide.png b/chimere/static/saclay/images/handler-hide.png
new file mode 100644
index 0000000..844300a
--- /dev/null
+++ b/chimere/static/saclay/images/handler-hide.png
Binary files differ
diff --git a/chimere/static/saclay/images/handler-show.png b/chimere/static/saclay/images/handler-show.png
new file mode 100644
index 0000000..f258f87
--- /dev/null
+++ b/chimere/static/saclay/images/handler-show.png
Binary files differ
diff --git a/chimere/static/saclay/images/itineraire-hover.png b/chimere/static/saclay/images/itineraire-hover.png
new file mode 100644
index 0000000..1d410bc
--- /dev/null
+++ b/chimere/static/saclay/images/itineraire-hover.png
Binary files differ
diff --git a/chimere/static/saclay/images/itineraire.png b/chimere/static/saclay/images/itineraire.png
new file mode 100644
index 0000000..f91ec89
--- /dev/null
+++ b/chimere/static/saclay/images/itineraire.png
Binary files differ
diff --git a/chimere/static/saclay/images/logo.jpg b/chimere/static/saclay/images/logo.jpg
new file mode 100644
index 0000000..070c9c9
--- /dev/null
+++ b/chimere/static/saclay/images/logo.jpg
Binary files differ
diff --git a/chimere/static/saclay/images/map_sprite.png b/chimere/static/saclay/images/map_sprite.png
new file mode 100644
index 0000000..026a334
--- /dev/null
+++ b/chimere/static/saclay/images/map_sprite.png
Binary files differ
diff --git a/chimere/static/saclay/images/menu/icon_add.png b/chimere/static/saclay/images/menu/icon_add.png
new file mode 100644
index 0000000..8ad2e8d
--- /dev/null
+++ b/chimere/static/saclay/images/menu/icon_add.png
Binary files differ
diff --git a/chimere/static/saclay/images/menu/icon_center.png b/chimere/static/saclay/images/menu/icon_center.png
new file mode 100644
index 0000000..2d3ade4
--- /dev/null
+++ b/chimere/static/saclay/images/menu/icon_center.png
Binary files differ
diff --git a/chimere/static/saclay/images/menu/icon_from.png b/chimere/static/saclay/images/menu/icon_from.png
new file mode 100644
index 0000000..3623e50
--- /dev/null
+++ b/chimere/static/saclay/images/menu/icon_from.png
Binary files differ
diff --git a/chimere/static/saclay/images/menu/icon_minus.png b/chimere/static/saclay/images/menu/icon_minus.png
new file mode 100644
index 0000000..613169a
--- /dev/null
+++ b/chimere/static/saclay/images/menu/icon_minus.png
Binary files differ
diff --git a/chimere/static/saclay/images/menu/icon_plus.png b/chimere/static/saclay/images/menu/icon_plus.png
new file mode 100644
index 0000000..a02228e
--- /dev/null
+++ b/chimere/static/saclay/images/menu/icon_plus.png
Binary files differ
diff --git a/chimere/static/saclay/images/menu/icon_to.png b/chimere/static/saclay/images/menu/icon_to.png
new file mode 100644
index 0000000..6a2bab2
--- /dev/null
+++ b/chimere/static/saclay/images/menu/icon_to.png
Binary files differ
diff --git a/chimere/static/saclay/images/minus.png b/chimere/static/saclay/images/minus.png
new file mode 100644
index 0000000..05b4170
--- /dev/null
+++ b/chimere/static/saclay/images/minus.png
Binary files differ
diff --git a/chimere/static/saclay/images/minus_alt.png b/chimere/static/saclay/images/minus_alt.png
new file mode 100644
index 0000000..787b8eb
--- /dev/null
+++ b/chimere/static/saclay/images/minus_alt.png
Binary files differ
diff --git a/chimere/static/saclay/images/minus_on.png b/chimere/static/saclay/images/minus_on.png
new file mode 100644
index 0000000..6af094b
--- /dev/null
+++ b/chimere/static/saclay/images/minus_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/plus.png b/chimere/static/saclay/images/plus.png
new file mode 100644
index 0000000..ce14109
--- /dev/null
+++ b/chimere/static/saclay/images/plus.png
Binary files differ
diff --git a/chimere/static/saclay/images/plus_alt.png b/chimere/static/saclay/images/plus_alt.png
new file mode 100644
index 0000000..76ffc81
--- /dev/null
+++ b/chimere/static/saclay/images/plus_alt.png
Binary files differ
diff --git a/chimere/static/saclay/images/plus_on.png b/chimere/static/saclay/images/plus_on.png
new file mode 100644
index 0000000..ac7faa2
--- /dev/null
+++ b/chimere/static/saclay/images/plus_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/popup/close.png b/chimere/static/saclay/images/popup/close.png
new file mode 100644
index 0000000..fb4d7dd
--- /dev/null
+++ b/chimere/static/saclay/images/popup/close.png
Binary files differ
diff --git a/chimere/static/saclay/images/popup/multimedia_title.png b/chimere/static/saclay/images/popup/multimedia_title.png
new file mode 100644
index 0000000..68d8f30
--- /dev/null
+++ b/chimere/static/saclay/images/popup/multimedia_title.png
Binary files differ
diff --git a/chimere/static/saclay/images/popup/thanks_title.png b/chimere/static/saclay/images/popup/thanks_title.png
new file mode 100644
index 0000000..40bfba5
--- /dev/null
+++ b/chimere/static/saclay/images/popup/thanks_title.png
Binary files differ
diff --git a/chimere/static/saclay/images/popup/title_frame.png b/chimere/static/saclay/images/popup/title_frame.png
new file mode 100644
index 0000000..9e63a89
--- /dev/null
+++ b/chimere/static/saclay/images/popup/title_frame.png
Binary files differ
diff --git a/chimere/static/saclay/images/popup/welcome_close.png b/chimere/static/saclay/images/popup/welcome_close.png
new file mode 100644
index 0000000..42b335b
--- /dev/null
+++ b/chimere/static/saclay/images/popup/welcome_close.png
Binary files differ
diff --git a/chimere/static/saclay/images/popup/welcome_header.png b/chimere/static/saclay/images/popup/welcome_header.png
new file mode 100644
index 0000000..9b6ca77
--- /dev/null
+++ b/chimere/static/saclay/images/popup/welcome_header.png
Binary files differ
diff --git a/chimere/static/saclay/images/printer.png b/chimere/static/saclay/images/printer.png
new file mode 100644
index 0000000..0755b38
--- /dev/null
+++ b/chimere/static/saclay/images/printer.png
Binary files differ
diff --git a/chimere/static/saclay/images/routing_end.png b/chimere/static/saclay/images/routing_end.png
new file mode 100644
index 0000000..aab3421
--- /dev/null
+++ b/chimere/static/saclay/images/routing_end.png
Binary files differ
diff --git a/chimere/static/saclay/images/routing_start.png b/chimere/static/saclay/images/routing_start.png
new file mode 100644
index 0000000..644e0de
--- /dev/null
+++ b/chimere/static/saclay/images/routing_start.png
Binary files differ
diff --git a/chimere/static/saclay/images/routing_step.png b/chimere/static/saclay/images/routing_step.png
new file mode 100644
index 0000000..90589a8
--- /dev/null
+++ b/chimere/static/saclay/images/routing_step.png
Binary files differ
diff --git a/chimere/static/saclay/images/routing_warn.png b/chimere/static/saclay/images/routing_warn.png
new file mode 100644
index 0000000..70f4e40
--- /dev/null
+++ b/chimere/static/saclay/images/routing_warn.png
Binary files differ
diff --git a/chimere/static/saclay/images/search.png b/chimere/static/saclay/images/search.png
new file mode 100644
index 0000000..0eff19b
--- /dev/null
+++ b/chimere/static/saclay/images/search.png
Binary files differ
diff --git a/chimere/static/saclay/images/shadow.png b/chimere/static/saclay/images/shadow.png
new file mode 100644
index 0000000..e259c8f
--- /dev/null
+++ b/chimere/static/saclay/images/shadow.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_1_off.png b/chimere/static/saclay/images/subcategories/agri_1_off.png
new file mode 100644
index 0000000..d831042
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_1_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_1_on.png b/chimere/static/saclay/images/subcategories/agri_1_on.png
new file mode 100644
index 0000000..354d96d
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_1_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_2_off.png b/chimere/static/saclay/images/subcategories/agri_2_off.png
new file mode 100644
index 0000000..5296004
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_2_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_2_on.png b/chimere/static/saclay/images/subcategories/agri_2_on.png
new file mode 100644
index 0000000..ab70e7a
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_2_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_3_off.png b/chimere/static/saclay/images/subcategories/agri_3_off.png
new file mode 100644
index 0000000..939c7cb
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_3_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_3_on.png b/chimere/static/saclay/images/subcategories/agri_3_on.png
new file mode 100644
index 0000000..6ed6434
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_3_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_4_off.png b/chimere/static/saclay/images/subcategories/agri_4_off.png
new file mode 100644
index 0000000..87858ca
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_4_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_4_on.png b/chimere/static/saclay/images/subcategories/agri_4_on.png
new file mode 100644
index 0000000..da2efc6
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_4_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_5_off.png b/chimere/static/saclay/images/subcategories/agri_5_off.png
new file mode 100644
index 0000000..606276a
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_5_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_5_on.png b/chimere/static/saclay/images/subcategories/agri_5_on.png
new file mode 100644
index 0000000..a818a29
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_5_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_6_off.png b/chimere/static/saclay/images/subcategories/agri_6_off.png
new file mode 100644
index 0000000..bc27c2a
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_6_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/agri_6_on.png b/chimere/static/saclay/images/subcategories/agri_6_on.png
new file mode 100644
index 0000000..89bb49e
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/agri_6_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_1_off.png b/chimere/static/saclay/images/subcategories/bala_1_off.png
new file mode 100644
index 0000000..d8cb219
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_1_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_1_on.png b/chimere/static/saclay/images/subcategories/bala_1_on.png
new file mode 100644
index 0000000..484cccd
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_1_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_2_off.png b/chimere/static/saclay/images/subcategories/bala_2_off.png
new file mode 100644
index 0000000..1b31a7b
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_2_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_2_on.png b/chimere/static/saclay/images/subcategories/bala_2_on.png
new file mode 100644
index 0000000..e221f33
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_2_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_3_off.png b/chimere/static/saclay/images/subcategories/bala_3_off.png
new file mode 100644
index 0000000..1b9d838
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_3_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_3_on.png b/chimere/static/saclay/images/subcategories/bala_3_on.png
new file mode 100644
index 0000000..1a74193
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_3_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_4_off.png b/chimere/static/saclay/images/subcategories/bala_4_off.png
new file mode 100644
index 0000000..22f3425
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_4_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_4_on.png b/chimere/static/saclay/images/subcategories/bala_4_on.png
new file mode 100644
index 0000000..25daa63
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_4_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_5_off.png b/chimere/static/saclay/images/subcategories/bala_5_off.png
new file mode 100644
index 0000000..2a79d50
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_5_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_5_on.png b/chimere/static/saclay/images/subcategories/bala_5_on.png
new file mode 100644
index 0000000..f9ce605
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_5_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_6_off.png b/chimere/static/saclay/images/subcategories/bala_6_off.png
new file mode 100644
index 0000000..494f794
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_6_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/bala_6_on.png b/chimere/static/saclay/images/subcategories/bala_6_on.png
new file mode 100644
index 0000000..7221918
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/bala_6_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_1_off.png b/chimere/static/saclay/images/subcategories/cult_1_off.png
new file mode 100644
index 0000000..6d902f6
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_1_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_1_on.png b/chimere/static/saclay/images/subcategories/cult_1_on.png
new file mode 100644
index 0000000..48a2029
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_1_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_2_off.png b/chimere/static/saclay/images/subcategories/cult_2_off.png
new file mode 100644
index 0000000..581f6ae
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_2_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_2_on.png b/chimere/static/saclay/images/subcategories/cult_2_on.png
new file mode 100644
index 0000000..b74f7fb
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_2_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_3_off.png b/chimere/static/saclay/images/subcategories/cult_3_off.png
new file mode 100644
index 0000000..22dfe34
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_3_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_3_on.png b/chimere/static/saclay/images/subcategories/cult_3_on.png
new file mode 100644
index 0000000..9c27ddc
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_3_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_4_off.png b/chimere/static/saclay/images/subcategories/cult_4_off.png
new file mode 100644
index 0000000..3487ee8
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_4_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_4_on.png b/chimere/static/saclay/images/subcategories/cult_4_on.png
new file mode 100644
index 0000000..6c79154
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_4_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_5_off.png b/chimere/static/saclay/images/subcategories/cult_5_off.png
new file mode 100644
index 0000000..a07a5d3
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_5_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_5_on.png b/chimere/static/saclay/images/subcategories/cult_5_on.png
new file mode 100644
index 0000000..47d9840
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_5_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_6_off.png b/chimere/static/saclay/images/subcategories/cult_6_off.png
new file mode 100644
index 0000000..3087db5
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_6_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/cult_6_on.png b/chimere/static/saclay/images/subcategories/cult_6_on.png
new file mode 100644
index 0000000..f211914
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/cult_6_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_1_off.png b/chimere/static/saclay/images/subcategories/even_1_off.png
new file mode 100644
index 0000000..477d534
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_1_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_1_on.png b/chimere/static/saclay/images/subcategories/even_1_on.png
new file mode 100644
index 0000000..3fff957
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_1_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_2_off.png b/chimere/static/saclay/images/subcategories/even_2_off.png
new file mode 100644
index 0000000..ec7af5d
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_2_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_2_on.png b/chimere/static/saclay/images/subcategories/even_2_on.png
new file mode 100644
index 0000000..a8ba473
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_2_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_3_off.png b/chimere/static/saclay/images/subcategories/even_3_off.png
new file mode 100644
index 0000000..2682910
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_3_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_3_on.png b/chimere/static/saclay/images/subcategories/even_3_on.png
new file mode 100644
index 0000000..4a628d6
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_3_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_4_off.png b/chimere/static/saclay/images/subcategories/even_4_off.png
new file mode 100644
index 0000000..bd26719
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_4_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_4_on.png b/chimere/static/saclay/images/subcategories/even_4_on.png
new file mode 100644
index 0000000..a426170
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_4_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_5_off.png b/chimere/static/saclay/images/subcategories/even_5_off.png
new file mode 100644
index 0000000..3120d1e
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_5_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_5_on.png b/chimere/static/saclay/images/subcategories/even_5_on.png
new file mode 100644
index 0000000..8f204dc
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_5_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_6_off.png b/chimere/static/saclay/images/subcategories/even_6_off.png
new file mode 100644
index 0000000..990aecb
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_6_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_6_on.png b/chimere/static/saclay/images/subcategories/even_6_on.png
new file mode 100644
index 0000000..f6bb3c7
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_6_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_7_off.png b/chimere/static/saclay/images/subcategories/even_7_off.png
new file mode 100644
index 0000000..4418f82
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_7_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_7_on.png b/chimere/static/saclay/images/subcategories/even_7_on.png
new file mode 100644
index 0000000..043f158
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_7_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_8_off.png b/chimere/static/saclay/images/subcategories/even_8_off.png
new file mode 100644
index 0000000..04ecc81
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_8_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/even_8_on.png b/chimere/static/saclay/images/subcategories/even_8_on.png
new file mode 100644
index 0000000..bd76803
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/even_8_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_1_off.png b/chimere/static/saclay/images/subcategories/mob_1_off.png
new file mode 100644
index 0000000..90115a9
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_1_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_1_on.png b/chimere/static/saclay/images/subcategories/mob_1_on.png
new file mode 100644
index 0000000..4beb571
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_1_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_2_off.png b/chimere/static/saclay/images/subcategories/mob_2_off.png
new file mode 100644
index 0000000..1dfa8b8
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_2_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_2_on.png b/chimere/static/saclay/images/subcategories/mob_2_on.png
new file mode 100644
index 0000000..54aa2fc
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_2_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_3_disabled.png b/chimere/static/saclay/images/subcategories/mob_3_disabled.png
new file mode 100644
index 0000000..b2ec02c
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_3_disabled.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_3_off.png b/chimere/static/saclay/images/subcategories/mob_3_off.png
new file mode 100644
index 0000000..3d4db66
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_3_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_3_on.png b/chimere/static/saclay/images/subcategories/mob_3_on.png
new file mode 100644
index 0000000..2db8bca
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_3_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_4_off.png b/chimere/static/saclay/images/subcategories/mob_4_off.png
new file mode 100644
index 0000000..f7e6402
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_4_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_4_on.png b/chimere/static/saclay/images/subcategories/mob_4_on.png
new file mode 100644
index 0000000..b67a35f
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_4_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_5_off.png b/chimere/static/saclay/images/subcategories/mob_5_off.png
new file mode 100644
index 0000000..cbe1074
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_5_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_5_on.png b/chimere/static/saclay/images/subcategories/mob_5_on.png
new file mode 100644
index 0000000..46d815b
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_5_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_6_off.png b/chimere/static/saclay/images/subcategories/mob_6_off.png
new file mode 100644
index 0000000..c23a438
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_6_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/mob_6_on.png b/chimere/static/saclay/images/subcategories/mob_6_on.png
new file mode 100644
index 0000000..5b6832f
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/mob_6_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_1_off.png b/chimere/static/saclay/images/subcategories/patri_1_off.png
new file mode 100644
index 0000000..dfc23e4
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_1_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_1_on.png b/chimere/static/saclay/images/subcategories/patri_1_on.png
new file mode 100644
index 0000000..6f98059
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_1_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_2_off.png b/chimere/static/saclay/images/subcategories/patri_2_off.png
new file mode 100644
index 0000000..c4f5716
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_2_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_2_on.png b/chimere/static/saclay/images/subcategories/patri_2_on.png
new file mode 100644
index 0000000..a07ba54
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_2_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_3_off.png b/chimere/static/saclay/images/subcategories/patri_3_off.png
new file mode 100644
index 0000000..f65f6d7
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_3_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_3_on.png b/chimere/static/saclay/images/subcategories/patri_3_on.png
new file mode 100644
index 0000000..effcc16
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_3_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_4_off.png b/chimere/static/saclay/images/subcategories/patri_4_off.png
new file mode 100644
index 0000000..7630f15
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_4_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_4_on.png b/chimere/static/saclay/images/subcategories/patri_4_on.png
new file mode 100644
index 0000000..feb1fc5
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_4_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_5_off.png b/chimere/static/saclay/images/subcategories/patri_5_off.png
new file mode 100644
index 0000000..3243f70
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_5_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_5_on.png b/chimere/static/saclay/images/subcategories/patri_5_on.png
new file mode 100644
index 0000000..01b5342
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_5_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_6_off.png b/chimere/static/saclay/images/subcategories/patri_6_off.png
new file mode 100644
index 0000000..8dda7ab
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_6_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/patri_6_on.png b/chimere/static/saclay/images/subcategories/patri_6_on.png
new file mode 100644
index 0000000..6d5b8ad
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/patri_6_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/ress_1_off.png b/chimere/static/saclay/images/subcategories/ress_1_off.png
new file mode 100644
index 0000000..5af2567
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/ress_1_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/ress_1_on.png b/chimere/static/saclay/images/subcategories/ress_1_on.png
new file mode 100644
index 0000000..d4cad53
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/ress_1_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/ress_2_off.png b/chimere/static/saclay/images/subcategories/ress_2_off.png
new file mode 100644
index 0000000..27410d7
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/ress_2_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/ress_2_on.png b/chimere/static/saclay/images/subcategories/ress_2_on.png
new file mode 100644
index 0000000..6ba1068
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/ress_2_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/ress_3_off.png b/chimere/static/saclay/images/subcategories/ress_3_off.png
new file mode 100644
index 0000000..7e17b76
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/ress_3_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/ress_3_on.png b/chimere/static/saclay/images/subcategories/ress_3_on.png
new file mode 100644
index 0000000..f56cc0f
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/ress_3_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/ress_4_off.png b/chimere/static/saclay/images/subcategories/ress_4_off.png
new file mode 100644
index 0000000..0cdc84c
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/ress_4_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/ress_4_on.png b/chimere/static/saclay/images/subcategories/ress_4_on.png
new file mode 100644
index 0000000..83f3145
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/ress_4_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/ress_5_off.png b/chimere/static/saclay/images/subcategories/ress_5_off.png
new file mode 100644
index 0000000..3ecd3b5
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/ress_5_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/ress_5_on.png b/chimere/static/saclay/images/subcategories/ress_5_on.png
new file mode 100644
index 0000000..a5735e7
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/ress_5_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_1_off.png b/chimere/static/saclay/images/subcategories/spor_1_off.png
new file mode 100644
index 0000000..2340224
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_1_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_1_on.png b/chimere/static/saclay/images/subcategories/spor_1_on.png
new file mode 100644
index 0000000..4bcd447
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_1_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_2_off.png b/chimere/static/saclay/images/subcategories/spor_2_off.png
new file mode 100644
index 0000000..a5c3ef7
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_2_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_2_on.png b/chimere/static/saclay/images/subcategories/spor_2_on.png
new file mode 100644
index 0000000..c124233
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_2_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_3_off.png b/chimere/static/saclay/images/subcategories/spor_3_off.png
new file mode 100644
index 0000000..2c09500
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_3_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_3_on.png b/chimere/static/saclay/images/subcategories/spor_3_on.png
new file mode 100644
index 0000000..855333f
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_3_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_4_off.png b/chimere/static/saclay/images/subcategories/spor_4_off.png
new file mode 100644
index 0000000..ef00d57
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_4_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_4_on.png b/chimere/static/saclay/images/subcategories/spor_4_on.png
new file mode 100644
index 0000000..1054558
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_4_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_5_off.png b/chimere/static/saclay/images/subcategories/spor_5_off.png
new file mode 100644
index 0000000..e99b52f
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_5_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_5_on.png b/chimere/static/saclay/images/subcategories/spor_5_on.png
new file mode 100644
index 0000000..db3937a
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_5_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_6_off.png b/chimere/static/saclay/images/subcategories/spor_6_off.png
new file mode 100644
index 0000000..6471dda
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_6_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_6_on.png b/chimere/static/saclay/images/subcategories/spor_6_on.png
new file mode 100644
index 0000000..57e2348
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_6_on.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_7_off.png b/chimere/static/saclay/images/subcategories/spor_7_off.png
new file mode 100644
index 0000000..a5fe1d2
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_7_off.png
Binary files differ
diff --git a/chimere/static/saclay/images/subcategories/spor_7_on.png b/chimere/static/saclay/images/subcategories/spor_7_on.png
new file mode 100644
index 0000000..793f328
--- /dev/null
+++ b/chimere/static/saclay/images/subcategories/spor_7_on.png
Binary files differ
diff --git a/chimere/static/saclay/js/interface.js b/chimere/static/saclay/js/interface.js
new file mode 100644
index 0000000..229624a
--- /dev/null
+++ b/chimere/static/saclay/js/interface.js
@@ -0,0 +1,358 @@
+var msg_edit_route = "Cliquez sur la carte pour tracer le trajet. Chaque nouveau clic rajoute un nœud. Double-cliquez pour terminer le trajet.<br/>Pour modifier le trajet sélectionnez un nœud puis glissez-déposez pour le déplacer.";
+var msg_edit = "Cliquez sur la carte pour placer le lieu. Pour modifier ce lieu sélectionnez-le puis glissez-déposez pour le déplacer.";
+
+var register_subactions = function(){
+ $('.subactions').click(function(){
+ var link = $(this).attr("data-link");
+ $.ajax({url: link,
+ dataType: "html",
+ success: function (data) {
+ $("#map-edit").remove();
+ $("#modal-edit .modal-body").html(data);
+ $("#modal-edit .modal-body").find("script").each(function(i) {
+ eval($(this).text());
+ });
+ },
+ error: function (data) {
+ $('#frm-edit-marker').html("<p class='warning'>"+
+ default_error_message+"</p>");
+ }
+ });
+ });
+};
+
+var update_editmarker = function(){
+ /*$("#main-map").chimere('cleanRoute');
+ $('.map_button').hide();
+ if($('#multimedia_form').length) $('#multimedia_form').remove();
+ $('#action-edit-event').removeClass('state-active');
+ $('#action-edit-route').removeClass('state-active');
+ $('#action-edit-marker').addClass('state-active');
+ $('#frm-edit-route').hide();
+ $('#frm-edit-event').hide();
+ $('#frm-edit-marker').show();
+
+ $('#message').removeClass();
+ $('#message').addClass('alert');
+ $('#message').addClass('alert-info');
+ $('#message .content').html(msg_edit);
+ $('#message').show();
+*/
+ $.ajax({url: edit_url,
+ dataType: "html",
+ success: function (data) {
+ $("#modal-edit .modal-body").html(data);
+ },
+ error: function (data) {
+ $('#frm-edit-marker').html("<p class='warning'>"+
+ default_error_message+"</p>");
+ }
+ });
+};
+
+var update_editevent = function(){
+ $("#main-map").chimere('cleanRoute');
+ $('.map_button').hide();
+ if($('#multimedia_form').length) $('#multimedia_form').remove();
+ $('#action-edit-marker').removeClass('state-active');
+ $('#action-edit-route').removeClass('state-active');
+ $('#action-edit-event').addClass('state-active');
+ $('#frm-edit-marker').hide();
+ $('#frm-edit-route').hide();
+ $('#frm-edit-event').show();
+
+ $('#message').removeClass();
+ $('#message').addClass('alert');
+ $('#message').addClass('alert-info');
+ $('#message .content').html(msg_edit);
+ $('#message').show();
+
+ $.ajax({url: edit_event_url,
+ dataType: "html",
+ success: function (data) {
+ $('#frm-edit-marker').html('');
+ $('#frm-edit-route').html('');
+ $('#frm-edit-event').html(data);
+ $("#main-map").chimere('activateMarkerEdit');
+ },
+ error: function (data) {
+ $('#frm-edit-event').html("<p class='warning'>"+
+ default_error_message+"</p>");
+ }
+ });
+};
+
+var update_editroute = function(){
+ $('.map_button').show();
+ if($('#multimedia_form').length) $('#multimedia_form').remove();
+ $('#action-edit-marker').removeClass('state-active');
+ $('#action-edit-event').removeClass('state-active');
+ $('#action-edit-route').addClass('state-active');
+ $('#frm-edit-marker').hide();
+ $('#frm-edit-event').hide();
+ $('#frm-edit-route').show();
+ $('#chimere_itinerary').hide();
+ $('#chimere_itinerary_form').show();
+
+ $('#message').removeClass();
+ $('#message').addClass('alert');
+ $('#message').addClass('alert-info');
+ $('#message .content').html(msg_edit_route);
+ $('#message').show();
+
+ $.ajax({url: edit_route_url,
+ dataType: "html",
+ success: function (data) {
+ $('#frm-edit-marker').html('');
+ $('#frm-edit-event').html('');
+ $('#frm-edit-route').html(data);
+ $("#main-map").chimere('cleanMarker');
+ $("#main-map").chimere('activateRouteEdit');
+ },
+ error: function (data) {
+ $('#frm-edit-route').html("<p class='warning'>"+
+ default_error_message+"</p>");
+ }
+ });
+};
+
+var action_map = function(){
+ $('#main-map').chimere('deactivateEdition');
+ $('#message').hide();
+ $('.map_button').hide();
+ $("#main-map").chimere('cleanRoute');
+ $("#main-map").chimere('cleanMarker');
+ $("#main-map").chimere('activateContextMenu');
+ if($("#itinerary_field").html()){
+ $("#chimere_itinerary_form").appendTo("#chimere_itinerary_panel");
+ if($("#chimere_itinerary").css('display') != 'none'){
+ $("#chimere_itinerary_form").hide();
+ }
+ }
+ $('#action-participate').removeClass('state-active');
+ $('#action-carte').addClass('state-active');
+ $('#edit-actions').hide();
+ $('#map-actions').show();
+ $('#edit-panel').hide();
+ $('#map-panel').show();
+};
+
+var action_participate = function(){
+/*
+ $('.map_button').hide();
+ $('#message').hide();
+ $('#action-carte').removeClass('state-active');
+ $('#action-participate').addClass('state-active');
+ $('#map-actions').hide();
+ $('#edit-actions').show();
+ $('#map-panel').hide();
+ $('#edit-panel').show();
+ */
+ update_editmarker();
+};
+
+var routing_panel_open = function(){
+ action_map();
+ $('#frm_categories').hide();
+ $('#search-box').hide();
+ $('#frm-edit-marker').hide();
+ $('#chimere_itinerary_panel').show();
+ $('#back-categories').show();
+};
+
+var category_panel_open = function(){
+ action_map();
+ $("#main-map").chimere('razMap');
+ $("#id_q").val('');
+ $('#chimere_itinerary_panel').hide();
+ $('#search-result').hide();
+ $('#frm-edit-marker').hide();
+ $('#back-categories').hide();
+ $('#search-box').show();
+ $('#frm_categories').show();
+};
+
+var search_panel_open = function(){
+ action_map();
+ $('#chimere_itinerary_panel').hide();
+ $('#frm_categories').hide();
+ $('#frm-edit-marker').hide();
+ $('#search-box').show();
+ $('#search-result').show();
+ $('#back-categories').show();
+};
+
+var edit_panel_open = function(){
+ action_participate();
+ /*
+ $('#search-box').hide();
+ $('#search-result').hide();
+ $('#frm_categories').hide();
+ $('#edit-actions').show();
+ $('#back-categories').show();
+ */
+};
+
+$(function(){
+ $('#action-routing').click(routing_panel_open);
+ $('#routing-button').click(routing_panel_open);
+ $('#action-categories').click(category_panel_open);
+ $('#action-search').click(search_panel_open);
+ $('#edit-button').click(edit_panel_open);
+ $('#back-categories').click(category_panel_open);
+
+ $('#sidebar-handler-hide').click(function(){$('#sidebar').hide();});
+ $('#sidebar-handler-show').click(function(){$('#sidebar').show();});
+
+ $('#message').hide();
+
+ $("[data-hide]").on("click", function(){
+ $("." + $(this).attr("data-hide")).hide();
+ });
+
+ $("#categories").fadeIn();
+ $(".buttonset label").click(function(){
+ $(".buttonset label").removeAttr("aria-pressed");
+ $(this).attr("aria-pressed", 'true');
+ });
+ $("#action-news").click(function(){
+ $('#modal-news').modal("show");
+ });
+
+ $("#modal-edit").on('shown.bs.modal', function () {
+ // ol3 must be initialized after modal opening
+ init_map_edit();
+ $('#map_edit').chimere('refresh');
+ $("#modal-edit").modal('handleUpdate');
+ });
+
+ $("#action-carte").click(action_map);
+
+ $("#action-participate").click(action_participate);
+
+ $("#action-edit-event").click(update_editevent);
+ $("#action-edit-marker").click(update_editmarker);
+ $("#action-edit-route").click(update_editroute);
+
+ $('.dyn-page').click(function(){
+ var url = $(this).filter('a').attr('href');
+ if (!url){
+ url = $(this).children('a').attr('href');
+ }
+ if (!url){
+ return false;
+ }
+ $.ajax({url: url,
+ dataType: "html",
+ success: function (content) {
+ html = "<div class='dialog-content'>" +
+ content + "</div>"
+ $('#modal-default-message .modal-body').html(html);
+ $('#modal-default-message').modal("show");
+ }
+ });
+ return false;
+ });
+
+ $('.print-page').click(function(){
+ window.print();
+ return false;
+ });
+ $('.extra-criteria .extra-label').click(function(){
+ var par = $(this).parent();
+ var form = par.children('.extra-form');
+ form.toggle();
+ if(form.is(':visible')){
+ par.addClass('opened');
+ } else {
+ par.removeClass('opened');
+ }
+ });
+ $('input[name="transport"]').change(change_routing_transport);
+ $('input[name="speed"]').change(change_routing_speed);
+ $('#id_speed').change(change_routing_speed);
+});
+
+function change_routing_speed(){
+ var speed = $('#id_speed option:selected').val();
+ if(!speed){
+ speed = $('input[name=speed]:checked').val();
+ }
+ if (!speed) return;
+ speed = speed.split('_')[1]
+ $('#main-map').chimere('routingChangeSpeed', speed);
+}
+
+function change_routing_transport(){
+ $('#main-map').chimere('routingChangeTransport',
+ $('input[name="transport"]:checked').val());
+}
+
+function display_feature_detail_callback(settings){
+ $('.popover-title').hide();
+ $('.detail_zoomin').bind("click", function(event){
+ $('#main-map').chimere('hidePopup', event);
+ $('#main-map').chimere('zoomIn');
+ });
+ $('.detail_zoomout').bind("click", function(event){
+ $('#main-map').chimere('hidePopup', event);
+ $('#main-map').chimere('zoomOut');
+ });
+ $('.detail_from').bind("click", function(event){
+ $('#main-map').chimere('routingFrom');
+ $('#main-map').chimere('hidePopup', event);
+ });
+ $('.detail_step').bind("click", function(event){
+ $('#main-map').chimere('routingAddStep');
+ $('#main-map').chimere('hidePopup', event);
+ });
+ $('.detail_to').bind("click", function(event){
+ $('#main-map').chimere('routingTo');
+ $('#main-map').chimere('hidePopup', event);
+ });
+ jQuery(".close_img").click(function(event){
+ $("#main-map").chimere('hidePopup', event);
+ });
+ /*
+ jQuery("#read_more_"+settings.current_feature.pk).click(function(){
+ $('#detail_content').css('height', $('#detail_content').height());
+ $("#description_short_"+settings.current_feature.pk).hide();
+ $("#description_long_"+settings.current_feature.pk).show();
+ $("#read_more_"+settings.current_feature.pk).hide();
+ $("#read_less_"+settings.current_feature.pk).show();
+ });
+ jQuery("#read_less_"+settings.current_feature.pk).click(function(){
+ $("#description_long_"+settings.current_feature.pk).hide();
+ $("#description_short_"+settings.current_feature.pk).show();
+ $("#read_less_"+settings.current_feature.pk).hide();
+ $("#read_more_"+settings.current_feature.pk).show();
+ });
+ */
+ $(document).ready(function(){
+ share_link_update();
+ /*$("a[rel^='prettyPhoto']").prettyPhoto({
+ show_title: false,
+ social_tools: ''
+ });*/
+ });
+ $('html').addClass('js-on');
+ $(function(){
+ // $('div.media-player').jmeEmbedControls();
+ });
+}
+
+function toggleDrawOn() {
+ $('#button-move-map').removeClass('toggle-button-active'
+ ).addClass('toggle-button-inactive');
+ $('#button-draw-map').removeClass('toggle-button-inactive'
+ ).addClass('toggle-button-active');
+ $("#main-map").chimere("activateCurrentControl");
+}
+
+function toggleDrawOff() {
+ $('#button-draw-map').removeClass('toggle-button-active'
+ ).addClass('toggle-button-inactive');
+ $('#button-move-map').removeClass('toggle-button-inactive'
+ ).addClass('toggle-button-active');
+ $("#main-map").chimere("deactivateCurrentControl");
+}
diff --git a/chimere/static/saclay/js/jquery.form.js b/chimere/static/saclay/js/jquery.form.js
new file mode 100644
index 0000000..9a447f7
--- /dev/null
+++ b/chimere/static/saclay/js/jquery.form.js
@@ -0,0 +1,23 @@
+/*!
+ * jQuery Form Plugin
+ * version: 4.2.2
+ * Requires jQuery v1.7.2 or later
+ * Project repository: https://github.com/jquery-form/form
+
+ * Copyright 2017 Kevin Morris
+ * Copyright 2006 M. Alsup
+
+ * Dual licensed under the LGPL-2.1+ or MIT licenses
+ * https://github.com/jquery-form/form#license
+
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ */
+!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,r){return void 0===r&&(r="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(r),r}:e(jQuery)}(function(e){"use strict";function t(t){var r=t.data;t.isDefaultPrevented()||(t.preventDefault(),e(t.target).closest("form").ajaxSubmit(r))}function r(t){var r=t.target,a=e(r);if(!a.is("[type=submit],[type=image]")){var n=a.closest("[type=submit]");if(0===n.length)return;r=n[0]}var i=r.form;if(i.clk=r,"image"===r.type)if(void 0!==t.offsetX)i.clk_x=t.offsetX,i.clk_y=t.offsetY;else if("function"==typeof e.fn.offset){var o=a.offset();i.clk_x=t.pageX-o.left,i.clk_y=t.pageY-o.top}else i.clk_x=t.pageX-r.offsetLeft,i.clk_y=t.pageY-r.offsetTop;setTimeout(function(){i.clk=i.clk_x=i.clk_y=null},100)}function a(){if(e.fn.ajaxSubmit.debug){var t="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(t):window.opera&&window.opera.postError&&window.opera.postError(t)}}var n=/\r?\n/g,i={};i.fileapi=void 0!==e('<input type="file">').get(0).files,i.formdata=void 0!==window.FormData;var o=!!e.fn.prop;e.fn.attr2=function(){if(!o)return this.attr.apply(this,arguments);var e=this.prop.apply(this,arguments);return e&&e.jquery||"string"==typeof e?e:this.attr.apply(this,arguments)},e.fn.ajaxSubmit=function(t,r,n,s){function u(r){var a,n,i=e.param(r,t.traditional).split("&"),o=i.length,s=[];for(a=0;a<o;a++)i[a]=i[a].replace(/\+/g," "),n=i[a].split("="),s.push([decodeURIComponent(n[0]),decodeURIComponent(n[1])]);return s}function c(r){function n(e){var t=null;try{e.contentWindow&&(t=e.contentWindow.document)}catch(e){a("cannot get iframe.contentWindow document: "+e)}if(t)return t;try{t=e.contentDocument?e.contentDocument:e.document}catch(r){a("cannot get iframe.contentDocument: "+r),t=e.document}return t}function i(){function t(){try{var e=n(v).readyState;a("state = "+e),e&&"uninitialized"===e.toLowerCase()&&setTimeout(t,50)}catch(e){a("Server abort: ",e," (",e.name,")"),s(L),j&&clearTimeout(j),j=void 0}}var r=p.attr2("target"),i=p.attr2("action"),o=p.attr("enctype")||p.attr("encoding")||"multipart/form-data";w.setAttribute("target",m),l&&!/post/i.test(l)||w.setAttribute("method","POST"),i!==f.url&&w.setAttribute("action",f.url),f.skipEncodingOverride||l&&!/post/i.test(l)||p.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),f.timeout&&(j=setTimeout(function(){T=!0,s(A)},f.timeout));var u=[];try{if(f.extraData)for(var c in f.extraData)f.extraData.hasOwnProperty(c)&&(e.isPlainObject(f.extraData[c])&&f.extraData[c].hasOwnProperty("name")&&f.extraData[c].hasOwnProperty("value")?u.push(e('<input type="hidden" name="'+f.extraData[c].name+'">',k).val(f.extraData[c].value).appendTo(w)[0]):u.push(e('<input type="hidden" name="'+c+'">',k).val(f.extraData[c]).appendTo(w)[0]));f.iframeTarget||h.appendTo(D),v.attachEvent?v.attachEvent("onload",s):v.addEventListener("load",s,!1),setTimeout(t,15);try{w.submit()}catch(e){document.createElement("form").submit.apply(w)}}finally{w.setAttribute("action",i),w.setAttribute("enctype",o),r?w.setAttribute("target",r):p.removeAttr("target"),e(u).remove()}}function s(t){if(!x.aborted&&!X){if((O=n(v))||(a("cannot access response document"),t=L),t===A&&x)return x.abort("timeout"),void S.reject(x,"timeout");if(t===L&&x)return x.abort("server abort"),void S.reject(x,"error","server abort");if(O&&O.location.href!==f.iframeSrc||T){v.detachEvent?v.detachEvent("onload",s):v.removeEventListener("load",s,!1);var r,i="success";try{if(T)throw"timeout";var o="xml"===f.dataType||O.XMLDocument||e.isXMLDoc(O);if(a("isXml="+o),!o&&window.opera&&(null===O.body||!O.body.innerHTML)&&--C)return a("requeing onLoad callback, DOM not available"),void setTimeout(s,250);var u=O.body?O.body:O.documentElement;x.responseText=u?u.innerHTML:null,x.responseXML=O.XMLDocument?O.XMLDocument:O,o&&(f.dataType="xml"),x.getResponseHeader=function(e){return{"content-type":f.dataType}[e.toLowerCase()]},u&&(x.status=Number(u.getAttribute("status"))||x.status,x.statusText=u.getAttribute("statusText")||x.statusText);var c=(f.dataType||"").toLowerCase(),l=/(json|script|text)/.test(c);if(l||f.textarea){var p=O.getElementsByTagName("textarea")[0];if(p)x.responseText=p.value,x.status=Number(p.getAttribute("status"))||x.status,x.statusText=p.getAttribute("statusText")||x.statusText;else if(l){var m=O.getElementsByTagName("pre")[0],g=O.getElementsByTagName("body")[0];m?x.responseText=m.textContent?m.textContent:m.innerText:g&&(x.responseText=g.textContent?g.textContent:g.innerText)}}else"xml"===c&&!x.responseXML&&x.responseText&&(x.responseXML=q(x.responseText));try{M=N(x,c,f)}catch(e){i="parsererror",x.error=r=e||i}}catch(e){a("error caught: ",e),i="error",x.error=r=e||i}x.aborted&&(a("upload aborted"),i=null),x.status&&(i=x.status>=200&&x.status<300||304===x.status?"success":"error"),"success"===i?(f.success&&f.success.call(f.context,M,"success",x),S.resolve(x.responseText,"success",x),d&&e.event.trigger("ajaxSuccess",[x,f])):i&&(void 0===r&&(r=x.statusText),f.error&&f.error.call(f.context,x,i,r),S.reject(x,"error",r),d&&e.event.trigger("ajaxError",[x,f,r])),d&&e.event.trigger("ajaxComplete",[x,f]),d&&!--e.active&&e.event.trigger("ajaxStop"),f.complete&&f.complete.call(f.context,x,i),X=!0,f.timeout&&clearTimeout(j),setTimeout(function(){f.iframeTarget?h.attr("src",f.iframeSrc):h.remove(),x.responseXML=null},100)}}}var u,c,f,d,m,h,v,x,y,b,T,j,w=p[0],S=e.Deferred();if(S.abort=function(e){x.abort(e)},r)for(c=0;c<g.length;c++)u=e(g[c]),o?u.prop("disabled",!1):u.removeAttr("disabled");(f=e.extend(!0,{},e.ajaxSettings,t)).context=f.context||f,m="jqFormIO"+(new Date).getTime();var k=w.ownerDocument,D=p.closest("body");if(f.iframeTarget?(b=(h=e(f.iframeTarget,k)).attr2("name"))?m=b:h.attr2("name",m):(h=e('<iframe name="'+m+'" src="'+f.iframeSrc+'" />',k)).css({position:"absolute",top:"-1000px",left:"-1000px"}),v=h[0],x={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(t){var r="timeout"===t?"timeout":"aborted";a("aborting upload... "+r),this.aborted=1;try{v.contentWindow.document.execCommand&&v.contentWindow.document.execCommand("Stop")}catch(e){}h.attr("src",f.iframeSrc),x.error=r,f.error&&f.error.call(f.context,x,r,t),d&&e.event.trigger("ajaxError",[x,f,r]),f.complete&&f.complete.call(f.context,x,r)}},(d=f.global)&&0==e.active++&&e.event.trigger("ajaxStart"),d&&e.event.trigger("ajaxSend",[x,f]),f.beforeSend&&!1===f.beforeSend.call(f.context,x,f))return f.global&&e.active--,S.reject(),S;if(x.aborted)return S.reject(),S;(y=w.clk)&&(b=y.name)&&!y.disabled&&(f.extraData=f.extraData||{},f.extraData[b]=y.value,"image"===y.type&&(f.extraData[b+".x"]=w.clk_x,f.extraData[b+".y"]=w.clk_y));var A=1,L=2,F=e("meta[name=csrf-token]").attr("content"),E=e("meta[name=csrf-param]").attr("content");E&&F&&(f.extraData=f.extraData||{},f.extraData[E]=F),f.forceSync?i():setTimeout(i,10);var M,O,X,C=50,q=e.parseXML||function(e,t){return window.ActiveXObject?((t=new ActiveXObject("Microsoft.XMLDOM")).async="false",t.loadXML(e)):t=(new DOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!==t.documentElement.nodeName?t:null},_=e.parseJSON||function(e){return window.eval("("+e+")")},N=function(t,r,a){var n=t.getResponseHeader("content-type")||"",i=("xml"===r||!r)&&n.indexOf("xml")>=0,o=i?t.responseXML:t.responseText;return i&&"parsererror"===o.documentElement.nodeName&&e.error&&e.error("parsererror"),a&&a.dataFilter&&(o=a.dataFilter(o,r)),"string"==typeof o&&(("json"===r||!r)&&n.indexOf("json")>=0?o=_(o):("script"===r||!r)&&n.indexOf("javascript")>=0&&e.globalEval(o)),o};return S}if(!this.length)return a("ajaxSubmit: skipping submit process - no element selected"),this;var l,f,d,p=this;"function"==typeof t?t={success:t}:"string"==typeof t||!1===t&&arguments.length>0?(t={url:t,data:r,dataType:n},"function"==typeof s&&(t.success=s)):void 0===t&&(t={}),l=t.method||t.type||this.attr2("method"),(d=(d="string"==typeof(f=t.url||this.attr2("action"))?e.trim(f):"")||window.location.href||"")&&(d=(d.match(/^([^#]+)/)||[])[1]),t=e.extend(!0,{url:d,success:e.ajaxSettings.success,type:l||e.ajaxSettings.type,iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var m={};if(this.trigger("form-pre-serialize",[this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(t.beforeSerialize&&!1===t.beforeSerialize(this,t))return a("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var h=t.traditional;void 0===h&&(h=e.ajaxSettings.traditional);var v,g=[],x=this.formToArray(t.semantic,g,t.filtering);if(t.data){var y=e.isFunction(t.data)?t.data(x):t.data;t.extraData=y,v=e.param(y,h)}if(t.beforeSubmit&&!1===t.beforeSubmit(x,this,t))return a("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[x,this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var b=e.param(x,h);v&&(b=b?b+"&"+v:v),"GET"===t.type.toUpperCase()?(t.url+=(t.url.indexOf("?")>=0?"&":"?")+b,t.data=null):t.data=b;var T=[];if(t.resetForm&&T.push(function(){p.resetForm()}),t.clearForm&&T.push(function(){p.clearForm(t.includeHidden)}),!t.dataType&&t.target){var j=t.success||function(){};T.push(function(r,a,n){var i=arguments,o=t.replaceTarget?"replaceWith":"html";e(t.target)[o](r).each(function(){j.apply(this,i)})})}else t.success&&(e.isArray(t.success)?e.merge(T,t.success):T.push(t.success));if(t.success=function(e,r,a){for(var n=t.context||this,i=0,o=T.length;i<o;i++)T[i].apply(n,[e,r,a||p,p])},t.error){var w=t.error;t.error=function(e,r,a){var n=t.context||this;w.apply(n,[e,r,a,p])}}if(t.complete){var S=t.complete;t.complete=function(e,r){var a=t.context||this;S.apply(a,[e,r,p])}}var k=e("input[type=file]:enabled",this).filter(function(){return""!==e(this).val()}).length>0,D="multipart/form-data",A=p.attr("enctype")===D||p.attr("encoding")===D,L=i.fileapi&&i.formdata;a("fileAPI :"+L);var F,E=(k||A)&&!L;!1!==t.iframe&&(t.iframe||E)?t.closeKeepAlive?e.get(t.closeKeepAlive,function(){F=c(x)}):F=c(x):F=(k||A)&&L?function(r){for(var a=new FormData,n=0;n<r.length;n++)a.append(r[n].name,r[n].value);if(t.extraData){var i=u(t.extraData);for(n=0;n<i.length;n++)i[n]&&a.append(i[n][0],i[n][1])}t.data=null;var o=e.extend(!0,{},e.ajaxSettings,t,{contentType:!1,processData:!1,cache:!1,type:l||"POST"});t.uploadProgress&&(o.xhr=function(){var r=e.ajaxSettings.xhr();return r.upload&&r.upload.addEventListener("progress",function(e){var r=0,a=e.loaded||e.position,n=e.total;e.lengthComputable&&(r=Math.ceil(a/n*100)),t.uploadProgress(e,a,n,r)},!1),r}),o.data=null;var s=o.beforeSend;return o.beforeSend=function(e,r){t.formData?r.data=t.formData:r.data=a,s&&s.call(this,e,r)},e.ajax(o)}(x):e.ajax(t),p.removeData("jqxhr").data("jqxhr",F);for(var M=0;M<g.length;M++)g[M]=null;return this.trigger("form-submit-notify",[this,t]),this},e.fn.ajaxForm=function(n,i,o,s){if(("string"==typeof n||!1===n&&arguments.length>0)&&(n={url:n,data:i,dataType:o},"function"==typeof s&&(n.success=s)),n=n||{},n.delegation=n.delegation&&e.isFunction(e.fn.on),!n.delegation&&0===this.length){var u={s:this.selector,c:this.context};return!e.isReady&&u.s?(a("DOM not ready, queuing ajaxForm"),e(function(){e(u.s,u.c).ajaxForm(n)}),this):(a("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)")),this)}return n.delegation?(e(document).off("submit.form-plugin",this.selector,t).off("click.form-plugin",this.selector,r).on("submit.form-plugin",this.selector,n,t).on("click.form-plugin",this.selector,n,r),this):this.ajaxFormUnbind().on("submit.form-plugin",n,t).on("click.form-plugin",n,r)},e.fn.ajaxFormUnbind=function(){return this.off("submit.form-plugin click.form-plugin")},e.fn.formToArray=function(t,r,a){var n=[];if(0===this.length)return n;var o,s=this[0],u=this.attr("id"),c=t||void 0===s.elements?s.getElementsByTagName("*"):s.elements;if(c&&(c=e.makeArray(c)),u&&(t||/(Edge|Trident)\//.test(navigator.userAgent))&&(o=e(':input[form="'+u+'"]').get()).length&&(c=(c||[]).concat(o)),!c||!c.length)return n;e.isFunction(a)&&(c=e.map(c,a));var l,f,d,p,m,h,v;for(l=0,h=c.length;l<h;l++)if(m=c[l],(d=m.name)&&!m.disabled)if(t&&s.clk&&"image"===m.type)s.clk===m&&(n.push({name:d,value:e(m).val(),type:m.type}),n.push({name:d+".x",value:s.clk_x},{name:d+".y",value:s.clk_y}));else if((p=e.fieldValue(m,!0))&&p.constructor===Array)for(r&&r.push(m),f=0,v=p.length;f<v;f++)n.push({name:d,value:p[f]});else if(i.fileapi&&"file"===m.type){r&&r.push(m);var g=m.files;if(g.length)for(f=0;f<g.length;f++)n.push({name:d,value:g[f],type:m.type});else n.push({name:d,value:"",type:m.type})}else null!==p&&void 0!==p&&(r&&r.push(m),n.push({name:d,value:p,type:m.type,required:m.required}));if(!t&&s.clk){var x=e(s.clk),y=x[0];(d=y.name)&&!y.disabled&&"image"===y.type&&(n.push({name:d,value:x.val()}),n.push({name:d+".x",value:s.clk_x},{name:d+".y",value:s.clk_y}))}return n},e.fn.formSerialize=function(t){return e.param(this.formToArray(t))},e.fn.fieldSerialize=function(t){var r=[];return this.each(function(){var a=this.name;if(a){var n=e.fieldValue(this,t);if(n&&n.constructor===Array)for(var i=0,o=n.length;i<o;i++)r.push({name:a,value:n[i]});else null!==n&&void 0!==n&&r.push({name:this.name,value:n})}}),e.param(r)},e.fn.fieldValue=function(t){for(var r=[],a=0,n=this.length;a<n;a++){var i=this[a],o=e.fieldValue(i,t);null===o||void 0===o||o.constructor===Array&&!o.length||(o.constructor===Array?e.merge(r,o):r.push(o))}return r},e.fieldValue=function(t,r){var a=t.name,i=t.type,o=t.tagName.toLowerCase();if(void 0===r&&(r=!0),r&&(!a||t.disabled||"reset"===i||"button"===i||("checkbox"===i||"radio"===i)&&!t.checked||("submit"===i||"image"===i)&&t.form&&t.form.clk!==t||"select"===o&&-1===t.selectedIndex))return null;if("select"===o){var s=t.selectedIndex;if(s<0)return null;for(var u=[],c=t.options,l="select-one"===i,f=l?s+1:c.length,d=l?s:0;d<f;d++){var p=c[d];if(p.selected&&!p.disabled){var m=p.value;if(m||(m=p.attributes&&p.attributes.value&&!p.attributes.value.specified?p.text:p.value),l)return m;u.push(m)}}return u}return e(t).val().replace(n,"\r\n")},e.fn.clearForm=function(t){return this.each(function(){e("input,select,textarea",this).clearFields(t)})},e.fn.clearFields=e.fn.clearInputs=function(t){var r=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var a=this.type,n=this.tagName.toLowerCase();r.test(a)||"textarea"===n?this.value="":"checkbox"===a||"radio"===a?this.checked=!1:"select"===n?this.selectedIndex=-1:"file"===a?/MSIE/.test(navigator.userAgent)?e(this).replaceWith(e(this).clone(!0)):e(this).val(""):t&&(!0===t&&/hidden/.test(a)||"string"==typeof t&&e(this).is(t))&&(this.value="")})},e.fn.resetForm=function(){return this.each(function(){var t=e(this),r=this.tagName.toLowerCase();switch(r){case"input":this.checked=this.defaultChecked;case"textarea":return this.value=this.defaultValue,!0;case"option":case"optgroup":var a=t.parents("select");return a.length&&a[0].multiple?"option"===r?this.selected=this.defaultSelected:t.find("option").resetForm():a.resetForm(),!0;case"select":return t.find("option").each(function(e){if(this.selected=this.defaultSelected,this.defaultSelected&&!t[0].multiple)return t[0].selectedIndex=e,!1}),!0;case"label":var n=e(t.attr("for")),i=t.find("input,select,textarea");return n[0]&&i.unshift(n[0]),i.resetForm(),!0;case"form":return("function"==typeof this.reset||"object"==typeof this.reset&&!this.reset.nodeType)&&this.reset(),!0;default:return t.find("form,input,label,select,textarea").resetForm(),!0}})},e.fn.enable=function(e){return void 0===e&&(e=!0),this.each(function(){this.disabled=!e})},e.fn.selected=function(t){return void 0===t&&(t=!0),this.each(function(){var r=this.type;if("checkbox"===r||"radio"===r)this.checked=t;else if("option"===this.tagName.toLowerCase()){var a=e(this).parent("select");t&&a[0]&&"select-one"===a[0].type&&a.find("option").selected(!1),this.selected=t}})},e.fn.ajaxSubmit.debug=!1});
+//# sourceMappingURL=jquery.form.min.js.map
diff --git a/chimere/static/saclay/js/mobile.chimere.js b/chimere/static/saclay/js/mobile.chimere.js
new file mode 100644
index 0000000..e05cd22
--- /dev/null
+++ b/chimere/static/saclay/js/mobile.chimere.js
@@ -0,0 +1 @@
+/* sample js file for mobile */
diff --git a/chimere/templates/chimere/base.html b/chimere/templates/chimere/base.html
index 2afed37..e4aa0d3 100644
--- a/chimere/templates/chimere/base.html
+++ b/chimere/templates/chimere/base.html
@@ -5,22 +5,23 @@
<link rel="shortcut icon" href="{{ MEDIA_URL }}{{favicon}}"/>
{% endif %}
<link rel="stylesheet" href="{{ STATIC_URL }}font-awesome/css/font-awesome.min.css?ver=4.3.0" />
-<link rel="stylesheet" href="{{ STATIC_URL }}bootstrap/bootstrap.min.css?ver=3.0.0" />
+<link rel="stylesheet" href="{{ STATIC_URL }}bootstrap/bootstrap.min.css?ver=3.3.7" />
+<link rel="stylesheet" href="{{ STATIC_URL }}bootstrap-datepicker/css/bootstrap-datepicker.min.css?ver=1.6.4" />
<link rel="stylesheet" href="{{ STATIC_URL }}chimere/css/styles.css?ver={{VERSION}}" />
<link rel="stylesheet" href="{{ STATIC_URL }}chimere/css/print.css?ver={{VERSION}}" media='print'/>
-{% if css_area %}
-<link rel="stylesheet" href="{{ css_area }}?ver={{VERSION}}" />{% endif %}
+<link rel="stylesheet" href="{{ STATIC_URL }}saclay/css/styles.css?ver={{SACLAY_VERSION}}" />
+{% for css in EXTRA_CSS %}<link rel="stylesheet" href="{{ css }}?ver={{SACLAY_VERSION}}" />{% endfor %}
+<link rel="stylesheet" href="{{ STATIC_URL }}saclay/css/print.css?ver={{SACLAY_VERSION}}" media='print'/>
+<script src="{{ STATIC_URL }}bootstrap/popper.min.js?ver=3.3.7" type="text/javascript"></script>
+<script src="{{ STATIC_URL }}bootstrap/bootstrap.min.js?ver=3.3.7" type="text/javascript"></script>
+<script src="{{ STATIC_URL }}bootstrap-datepicker/js/bootstrap-datepicker.min.js?ver=1.6.4" type="text/javascript"></script>
{% if MOBILE %}
<link rel="stylesheet" href="{{ STATIC_URL }}chimere/css/mobile.css?ver={{VERSION}}" />
-<script src="{{ STATIC_URL }}chimere/js/mobile.chimere.js?ver={{VERSION}}" type="text/javascript"></script>{%endif%}
-<link rel="stylesheet" href="{{ STATIC_URL }}chimere/css/form-compat.css?ver={{VERSION}}" />
-<script src="{{ STATIC_URL }}bootstrap/popper.min.js?ver=4.0.0-beta" type="text/javascript"></script>
-<script src="{{ STATIC_URL }}bootstrap/bootstrap.min.js?ver=4.0.0-beta" type="text/javascript"></script>
- <script type='text/javascript'>
- var has_search = {% if has_search %}true{% else %}false{% endif %};
- var default_map_lbl = "{% trans 'Default map' %}";
- </script>
-<script src="{{ STATIC_URL }}chimere/js/interface.js?ver={{VERSION}}" type="text/javascript"></script>
+<link rel="stylesheet" href="{{ STATIC_URL }}saclay/css/mobile.css?ver={{SACLAY_VERSION}}" />
+<script src="{{ STATIC_URL }}chimere/js/mobile.chimere.js?ver={{VERSION}}" type="text/javascript"></script>
+<script src="{{ STATIC_URL }}saclay/js/mobile.chimere.js?ver={{SACLAY_VERSION}}" type="text/javascript"></script>{%endif%}
+{% if css_area %}
+<link rel="stylesheet" href="{{ css_area }}?ver={{SACLAY_VERSION}}" />{% endif %}
{% endblock %}
{% block header %}
<noscript>
@@ -36,8 +37,11 @@
{% endblock %}
{% endblock %}
{% block content %}
+<div id='message' class="alert alert-info">
+ <a href="#" class="close" data-hide='alert' aria-label="close">&times;</a>
+ <div class='content'></div>
+</div>
{% block top %}{% endblock %}
- {% if has_search %} {% block search_box %}{% endblock %} {% endif %}
{% block message_map %}{% endblock %}
{% block message_edit %}{% endblock %}
{% block bottom %}{% endblock %}
diff --git a/chimere/templates/chimere/blocks/actions.html b/chimere/templates/chimere/blocks/actions.html
index 6cfc622..60649be 100644
--- a/chimere/templates/chimere/blocks/actions.html
+++ b/chimere/templates/chimere/blocks/actions.html
@@ -1,61 +1,26 @@
-{% load i18n chimere_tags %}<div class="navbar navbar-default navbar-fixed-top">
- <div class="container">
- <div class="navbar-header">
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- </div>
- <div class="navbar-collapse collapse">
-
- <div class='navbar-left'>
- <ul class="nav nav-pills">
- {% for action, subactions in actions %}
- {% ifequal action.id action_selected.0 %}{% if subactions %}
- {% for subaction in subactions %}
- <li{% ifequal subaction.id action_selected.1 %} class='active'{% endifequal %}>
- <a href='{{ subaction.url }}' onclick='saveExtent();'>{{ subaction.label }}</a>
+{% load i18n chimere_tags %}
+ <div id="topbar">
+ <ul id='action' class='action'>
+ <li id='action-carte' class='state-active'>
+ {% trans "Map" %}
+ </li>
+ <li id='action-participate'>
+ {% trans "Participate" %}
+ </li>
+ </ul>
+ <ul id='action-2' class='action'>
+ <li id='action-news'>
+ {% trans "News" %}
+ </li>
+ <li id='action-project' class='dyn-page'>
+ <a href='{% url "chimere:extra_page" "" "project"%}'>{% trans "The project" %}</a>
+ </li>
+ </ul>
+ <ul id='action-3' class='action'>
+ <li class='print-page'><a href='#'>{% trans "Print"%}</a></li>
+ <li class='share-list'>
+ {% share_bar %}
</li>
- {% endfor %}
- {% endif %}{% endifequal %}
- {% endfor %}
- {% if is_map %}
- <li id='categories-lnk'{% if not has_search %} class='active'{%endif%}><a href='#categories' data-toggle='panel'><span class='fa fa-chimere-action fa-check-circle-o'></span> {% trans "Categories "%}</a></li>
- {% if has_search %}
- <li id='search-lnk' class='active'><a href='#search-box' data-toggle='panel'><span class="glyphicon glyphicon-search"></span> {% trans "Search" %}</a></li>
- {% endif %}
- {% if areas_visible %}
- <li id='maps-lnk'><span class='fa fa-chimere-action fa-chimere-maps'></span>{% display_areas %}</li>
- {% endif %}
- <li id='permalink-lnk'><a href='#' id='permalink'><span class='fa fa-chimere-action fa-bookmark'></span></a></li>
- <li>{% routing %}</li>
- <li id='news-lnk'>
- <a data-toggle='modal' data-target="#news" href='#' id='news_button'><span class='fa fa-chimere-action fa-newspaper-o'></span><span class='lbl'>{% trans "News"%}</span></a>
- </li>
- <!-- <li id="simple_button-lnk"><a id='simple_button' href='{% url 'chimere:simple_index' area_name_slash %}'><span class='fa fa-chimere-action fa-simplybuilt'></span><span class='lbl'> {% trans "Simple map" %}</span></a></li> -->
- <li class='selection-sep'> </li>
- {% endif %}
- </ul>
- </div>
-
- <div class='navbar-right'>
-
- <ul class="nav navbar-nav">
- <li class='selection-sep'> </li>
- {% for action, subactions in actions %}
- <li id='{{action.id}}-lnk'{% ifequal action.id action_selected.0 %} class="active"{% endifequal %}>
- <a href='{{ action.url }}' onclick='jQuery("#map").chimere("saveExtent");'>
- <span class='fa fa-chimere-action fa-chimere-{{action.id}}'></span>
- <span class='lbl'>{{ action.label }}</span>
- </a>
- </li>
- {% endfor %}
- </ul>
-
- </div>
-
+ {%comment%}<li class='help-page'><a href='#'>{% trans "Help"%}</a></li>{%endcomment%}
+ </ul>
</div>
- </div>
-</div>
-
diff --git a/chimere/templates/chimere/blocks/alternate_multimedia.html b/chimere/templates/chimere/blocks/alternate_multimedia.html
index 50bddd5..b7bf624 100644
--- a/chimere/templates/chimere/blocks/alternate_multimedia.html
+++ b/chimere/templates/chimere/blocks/alternate_multimedia.html
@@ -21,7 +21,7 @@
{% for field in frm.visible_fields %}
{% if field.name == "name" %}
<span class='value'>{{ field.value }}</span>
- <img class='remove-media' alt='Remove media' src='{{STATIC_URL}}chimere/img/close.png'/>
+ <img class='remove-media' alt='Remove media' src='{{STATIC_URL}}saclay/images/close.png'/>
{% endif %}
<span class='hidden'>{{field}}</span>
{% endfor %}
@@ -30,27 +30,28 @@
{% endfor %}
{% endfor %}
</ul>
- <button id='add_multimedia_list'>{% trans "Add" %}</button>
</div>
<div id='multimedia_form' title="{% trans "Add multimedia from your computer or a website"%}">
- <div class='notice'>{% trans "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu luctus ipsum. Donec vel urna a turpis consectetur consectetur. Vestibulum ut enim vel odio porta vulputate." %}
- </div>
+ {%comment%}<div class='notice'>{% trans "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc eu luctus ipsum. Donec vel urna a turpis consectetur consectetur. Vestibulum ut enim vel odio porta vulputate." %}
+ </div>{%endcomment%}
+ <h2>Ajouter un média</h2>
<div class="fieldWrapper">
<label for="multimedia_name">{% trans "Name" %}</label>
- <input type='text' id='multimedia_name' name='multimedia_name'>
+ <input type='text' id='multimedia_name' name='multimedia_name' value=" ">
</div>
<div class="fieldWrapper">
- <input type='radio' value='image' id='media_type_image' name="multimedia_type"> {% trans "Image" %}
- <input type='radio' value='other' id='media_type_other' name="multimedia_type"> {% trans "Audio, video, other..." %}
+ <input type='radio' value='image' id='media_type_image' name="multimedia_type"> <label for='media_type_image'>{% trans "Image" %}</label>
+ <input type='radio' value='other' id='media_type_other' name="multimedia_type"> <label for='media_type_other'>{% trans "Audio, video, other..." %}</label>
</div>
<div class="fieldWrapper">
- <label id="multimedia_file_label">{% trans "Download"%}</label> <input type='file' name='picture-0-picture' id='picture-0-picture' class='multimedia_file'>
+ <label id="multimedia_file_label">{% trans "Download"%}</label> <input type='file' size='15' name='picture-0-picture' id='picture-0-picture' class='multimedia_file'>
<p class='notice'>{% trans "Or" %}</p>
<label for='multimedia_url'>{% trans "Web address"%}</label> <input type='text' name='multimedia_url' id='multimedia_url'>
</div>
- <button id='add_media'>{% trans "Add" %}</button>
+ <span id='add_media'>{% trans 'Add'%}</span>
</div>
<script text='text/javascript'>
+ <!--
$(function(){
$(".remove-media").click(function(){
$(this).parents('li').remove();
@@ -60,9 +61,9 @@
$("#multimedia_form").dialog({autoOpen:false,
modal:true,
resizable:false,
- width:400,
- height:250});
- $('#add_multimedia_list').click(function(){
+ dialogClass:'no-titlebar-small',
+ width:280});
+ $('#head_multimedia').click(function(){
$("#multimedia_form").dialog("open");
return false;
});
@@ -114,8 +115,7 @@
content += '<input type="hidden" name="'+prefix+'-DELETE" value=""/>\n';
content += '<input type="hidden" name="'+prefix+'-name" value="'+ $("#multimedia_name").val() +'"/>\n';
content += $("#multimedia_name").val();
- content += " <img class='remove-media' alt='Remove media' src='{{STATIC_URL}}chimere/img/close.png'/>";
- content += " <img class='remove-media' alt='Remove media' src='{{STATIC_URL}}chimere/img/close.png'/>";
+ content += " <img class='remove-media' alt='Remove media' src='{{STATIC_URL}}saclay/images/close.png'/>";
content += '</li>';
contener.append(content);
if ($('#media_type_image:checked').val()
@@ -148,5 +148,6 @@
return false;
});
});
+ // -->
</script>
diff --git a/chimere/templates/chimere/blocks/categories.html b/chimere/templates/chimere/blocks/categories.html
index 656504c..0c9f6d1 100644
--- a/chimere/templates/chimere/blocks/categories.html
+++ b/chimere/templates/chimere/blocks/categories.html
@@ -1,24 +1,22 @@
{% load i18n %}
-<ul id='ul_categories'>
- {% for category, lst_sub_categories in sub_categories %}
- <li class='main_category'>
- <img class="control_image toggle_category" id="maincategory_img_{{category.id}}" alt="control" src="{{ STATIC_URL }}chimere/img/{% if category.selected %}minus.png{% else %}plus.png{% endif %}" />
- {% comment %}<input type="checkbox" id='checkall_{{category.id}}'>{% endcomment %}
- <span class='category_name'
- title="{% trans 'Click to check/uncheck all subcategories' %}">
- {% trans category.name %}
- <i class="fa fa-check main-category-tick"
- data-category="{{category.pk}}"
- aria-hidden="true"></i>
- </span>
- {% comment %}
- <span class="glyphicon glyphicon-zoom-in zoom_image zoom_to_category" id="zoom_to_category_{{category.id}}"></span>
- {% endcomment %}
- <ul class='subcategories' id='maincategory_{{category.id}}'{% if not category.selected %} style='display:None'{% endif %}>
- {% for sub_category in lst_sub_categories %}
- <li id='li_sub_{{sub_category.id}}' class='subcategory'
- data-subcategory="{{sub_category.id}}">
- <span>
+ <ul id='ul_categories'>
+ {% for category, lst_sub_categories in sub_categories %}
+ <li class='main_category {% if category.selected %}toggle_minus{%else%}toggle_plus{%endif%}'>
+ <span id='main_category_{{category.pk}}'>
+ <i class="triangle"></i>
+ <label>
+ {% trans category.name %}
+ <i class="fa fa-check main-category-tick"
+ data-category="{{category.pk}}"
+ aria-hidden="true"></i>
+ </label>
+ <img class="control_image toggle_category" id="maincategory_img_{{category.id}}" alt="control" src="{{ STATIC_URL }}saclay/images/{% if category.selected %}minus.png{% else %}plus.png{% endif %}" />
+ </span>
+ <ul class='subcategories' id='maincategory_{{category.id}}'{% if not category.selected %} style='display:None'{% endif %}>
+ {% for sub_category in lst_sub_categories %}
+ <li id='li_sub_{{sub_category.id}}' class='subcategory'
+ data-subcategory="{{sub_category.id}}">
+ <span>
{% if sub_category.description %}
<a href="#"><i class="description_icon fa fa-info-circle"
aria-hidden="true"
@@ -29,20 +27,24 @@
{% trans sub_category.name %}
</label>
<input type='checkbox' name='category_{{sub_category.id}}' id='category_{{sub_category.id}}'{% if sub_category.selected %} checked='checked'{% endif %}/>
- </span>
- </li>
- {% endfor %}
- {% if category.description %}
- <li><a href="#" onclick="$('#map').chimere('category_detail', {{category.id}});">{% trans "Tell me more..." %}</a></li>
- {% endif %}
- </ul>
- </li>
- {% endfor %}
-</ul>
-
+ </span>
+ </li>
+ {% endfor %}
+ </ul>
+ </li>
+ {% endfor %}
+ </ul>
<script type='text/javascript'>
<!--
$(function() {
+ if(chimere_init_options && chimere_init_options['checked_categories']){
+ for (k=0;k<chimere_init_options['checked_categories'].length;k++){
+ $('#li_sub_'+chimere_init_options['checked_categories'][k]+' span'
+ ).addClass('selected');
+ }
+ chimere_init_options['checked_categories'] = null;
+ }
+
$(".subcategory").mouseenter(function() {
$(this).find(".description_icon").show();
}).mouseleave(function() {
diff --git a/chimere/templates/chimere/blocks/map.html b/chimere/templates/chimere/blocks/map.html
index 20b56de..262a4f4 100644
--- a/chimere/templates/chimere/blocks/map.html
+++ b/chimere/templates/chimere/blocks/map.html
@@ -1,45 +1,42 @@
{% load i18n %}
-<div id='category_description' class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-label="{% trans 'Close' %}"><span aria-hidden="true">&times;</span></button>
- <h4 class="modal-title" id="category_description-label"></h4>
- </div>
- <div class="modal-body" id="category_description-content">
- </div>
- </div>
- </div>
-</div>
-
<div id='{{map_id}}'></div>
<div id='popup'></div>
+<div id='layerSwitcher'></div>
<script type="text/javascript">
$("#{{map_id}}").show();
</script>
<div id="waiting">
<div id="waiting-content">
- <img alt='Ajax loader' src='{{STATIC_URL}}chimere/img/ajax-loader.gif'/>
+ <img src='{{STATIC_URL}}chimere/img/ajax-loader.gif' alt='Ajax loader'/>
+ <p>{% trans "Loading of the map in progress" %}</p>
</div>
</div>
+
<div id="layer_selection">
<h4>{% trans "Display options" %}</h4>
<ul id='layer_list'>
<li class='head layer_map_type'>{% trans "Map type"%}</li>
</ul>
</div>
+
+
<script type="text/javascript">
- {% if not display_category_menu %}
- $(function() {
- $('#panel').hide();
- $("#categories-lnk").hide();
- });{% endif %}
+
+ {% if single_category %}
+ $(function() {$('#panel').hide()});{% endif %}
{{extra_js|safe}}
var permalink = window.location.hash.substr(1);
var chimere_init_options = {
{% if MOBILE %}"mobile": true,{% endif %}
{% if enable_clustering %}"enable_clustering": true,{% endif %}
- {% if js_map_layers %}"map_layers": [{{js_map_layers|safe|escape}}],{% endif %}
+ "routing_panel_open": routing_panel_open,
+ "category_accordion": false,
+ "category_plus": STATIC_URL + "saclay/images/plus.png",
+ "category_minus": STATIC_URL + "saclay/images/minus.png",
+ "popupContentFull": true,
+ "explicit_popup_hide": true,
+ "map_layers": [{{js_map_layers|safe|escape}}],
+ 'routing': {{routing}},
{% if default_area %}"default_area": new Array({{default_area.upper_left_corner.x}}, {{default_area.upper_left_corner.y}}, {{default_area.lower_right_corner.x}}, {{default_area.lower_right_corner.y}}),{% endif %}
{% if p_zoom %}"zoom": {{ p_zoom }},{% endif %}
{% if p_lat %}"lat": {{ p_lat }},{% endif %}
@@ -54,23 +51,15 @@ $("#{{map_id}}").show();
"dynamic_categories": {{ dynamic_categories }},
{% if p_display_submited %}"display_submited": {{ p_display_submited }},{% endif %}
{% if area_id %}'area_id': "{{area_id}}",{% endif %}
- {% if p_current_feature %}
- "display_feature": "{{ p_current_feature }}",{% endif %}
- {% if p_current_route %}
- "display_route": {{ p_current_route }},{% endif %}
- {% if popupContentFull %}"popupContentFull": true,{% endif %}
+ {% if p_current_feature %}"display_feature": "{{ p_current_feature }}",{% endif %}
{% if selected_map_layer %}"selected_map_layer": {{selected_map_layer}},{% endif %}
- "open_dialog_fx": function (title, content){
- $('#category_description-content').html(content);
- $('#category_description-label').html(title);
- $('#category_description').modal('show');},
- "default_icon": '{{STATIC_URL}}img/marker-green.png',
+ "display_feature_detail_callback": display_feature_detail_callback,
'routing': {{routing}},
{% if max_zoom %}'maxZoom': {{max_zoom}},{% endif %}
{% if min_zoom %}'minZoom': {{min_zoom}},{% endif %}
+ "edition_type_is_route": true,
"permalink": permalink
- };
-
+ }
{% if restricted_extent %}{{ restricted_extent }}
chimere_init_options["restricted_extent"] = bounds;
{% endif %}
@@ -82,25 +71,23 @@ $("#{{map_id}}").show();
}
{% endif %}
- $('#category_description').modal({show:false});
- $("#main-map").chimere(chimere_init_options);
-
+ $("#{{map_id}}").chimere(chimere_init_options);
{% if zoom %}
- if (!permalink) $('#main-map').chimere('zoom', {'area':{{zoom}} });
+ if (!permalink) $('#{{map_id}}').chimere('zoom', {'area':{{zoom}} });
{% endif %}
- function update_permalink(){
- $('#main-map').chimere('update_permalink');
- };
-
{% for overlay in json_overlays %}
- $('#main-map').chimere('addJSON', '{{overlay.overlay_file.url}}',
+ $('#{{map_id}}').chimere('addJSON', '{{overlay.overlay_file.url}}',
"{{overlay.name}}"{% if overlay.style %},
"EPSG:4326",
{{overlay.style|safe}}{% endif %});
{% endfor %}
{{extra_map_def|safe}}
+ function update_permalink(){
+ $('#{{map_id}}').chimere('update_permalink');
+ };
+
</script>
<div id='marker_hover'><div id='marker_hover_content'></div></div>
<div class="modal fade" id="cluster_list" tabindex="-1" role="dialog" aria-labelledby="cluster-label" aria-hidden="true">
@@ -115,4 +102,3 @@ $("#{{map_id}}").show();
</div>
</div>
</div>
-
diff --git a/chimere/templates/chimere/blocks/news.html b/chimere/templates/chimere/blocks/news.html
index 3f4d9ae..4c46690 100644
--- a/chimere/templates/chimere/blocks/news.html
+++ b/chimere/templates/chimere/blocks/news.html
@@ -1,62 +1,51 @@
{% load i18n sanitize chimere_tags %}
-{% if news_lst %}
-<script type='text/javascript'>
-$(function(){
- // $('#news div.media-player').jmeEmbedControls();
- $('#news video').each(function(index){$(this).pause()});
- $('#news audio').each(function(index){$(this).pause()});
- {% if display %}$('#news').modal('show');{%endif%}
-});
-</script>
-<div class="modal fade" id="news" tabindex="-1" role="dialog" aria-labelledby="news-label" aria-hidden="true">
- <div class="modal-dialog modal-lg">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
- <h4 class="modal-title" id="news-label">{% trans "Upcoming events" %}</h4>
- </div>
- <div class="modal-body">
- <div id='news_content'>
- {% if welcome_message %}
- <div id='welcome_message'>
- {{welcome_message|safe}}
+<div class="modal fade" id="modal-news" tabindex="-1" role="dialog"
+ aria-labelledby="modal-news-label" aria-hidden="true">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
</div>
- {% endif %}
- <div class='news'>
- {% if news_lst %}
- {% for news in news_lst %}
+ <div class="modal-body">
+ <h2>{% trans "News" %}</h2>
+ <div class='news'>
+ {% if news_lst %}
+ {% for news in news_lst %}
<div class='info'>
{% if news.title %}
- <h3>{{news.title}} &ndash; {{ news.date }}</h3>
- <p>{{news.content|safe}}</p>
+ <h4>{{news.title}} &ndash; {{ news.date }}</h4>
+ {{news.content|safe}}
{% else %}
- <h3>{{news.name}} &ndash; {{ news.start_date }}{% if news.end_date and news.end_date != news.start_date %} &ndash; {{ news.end_date }}{% endif %}</h3>
- {% if news.default_pictures or news.default_pictures or news.default_multimedia_items%}
- <div class='small-gallery'>
- {% for picture in news.default_pictures %}
- {% multimedia_render picture %}
- {%endfor%}
- {% for multimedia_item in news.default_multimedia_items %}
- {% multimedia_render multimedia_item %}
- {%endfor%}
- </div>
- {%endif%}
- {% if news.description %}
- <p class='description'>{{news.description|sanitize:"p b i br hr strong em span:style a:href:target ul li ol h1 h2 h3 h4 table td th tr"|safe}}</p>
- {% endif %}
- {% for property in news.getProperties %}
- <p class='{{news.propertymodel.getNamedId}}'>{{ property.value|sanitize:"p b i br hr strong em span:style a:href:target ul li ol h1 h2 h3 h4 table td th tr"|safe }}</p>
- {% endfor %}
- <p class='marker_link'><a href='{% get_tinyfied_url news area_name %}'>{% trans "See it on the map"%}</a></p>
+ <h4>{{news.name}} &ndash; {{ news.start_date }}{% if news.end_date %} - {{ news.end_date }}{% endif %}</h4>
+ {% if news.description %}
+ {{news.description|sanitize:"p b i br hr strong em span:style a:href:target ul li ol h1 h2 h3 h4 table td th tr"|safe}}
+ {% endif %}
{% endif %}
+ <p class='marker_link'>
+ {% if news.point %}
+ <a href='{% get_tinyfied_url news area_name %}'>{% trans "See it on the map"%}</a>
+ {% endif %}{% if news.point and news.url %} - {% endif %}{% if news.url %}
+ <a href='{{news.url}}'>{% trans "Go to the event website"%}</a>
+ {% endif %}
+ </p>
</div>
- {%endfor%}
- {% endif %}
+ {%endfor%}
+ {% else %}
+ <div class='info'>
+ <em>{% trans "No news today."%}</em>
+ </div>
+ {% endif %}
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-secondary" data-dismiss="modal">
+ {% trans "Close" %}
+ </button>
</div>
- </div>
- </div>
+ </div>
</div>
- </div>
</div>
-{% endif %}
+
diff --git a/chimere/templates/chimere/blocks/page_title.html b/chimere/templates/chimere/blocks/page_title.html
index c95d9f8..f068b97 100644
--- a/chimere/templates/chimere/blocks/page_title.html
+++ b/chimere/templates/chimere/blocks/page_title.html
@@ -1,2 +1,5 @@
{% load i18n %}
-<span id='page_title'>Chimère</span>
+ <div id='page_title'>
+ <h1>Carte OuVerte</h1>
+ <h2>du plateau de saclay</h2>
+ </div>
diff --git a/chimere/templates/chimere/blocks/routing.html b/chimere/templates/chimere/blocks/routing.html
index db97191..1fa222f 100644
--- a/chimere/templates/chimere/blocks/routing.html
+++ b/chimere/templates/chimere/blocks/routing.html
@@ -1,42 +1,83 @@
-{% load i18n %}
-{# Don't forget to include routing-widget.js in your main template #}
+{% load i18n chimere_tags %}
{% if routing %}
{{itinerary_form.media}}
-<a href='#' id='routing_button' class='ui-widget ui-button ui-state-default ui-corner-all'>{% trans "Itinerary"%}</a>
<div id='chimere_itinerary_panel'>
<div id='chimere_itinerary_form'>
+ <p class='notice'>
+Le formulaire ci-dessous permet le calcul de vos itinéraires entre différents points du plateau, en choisissant votre mode de déplacement « marche » ou « vélo ». Vous pouvez entrer une adresse soit sous forme de texte, soit en un clic sur la carte pour définir vos différents points d’étape.
+Nos informations sont actualisées aussi souvent que possible, mais nous ne pouvons garantir absolument l’état actuel des chemins ou voies empruntées (conditions climatiques, travaux, etc). L’utilisation de ces informations n’engage pas la responsabilité des auteurs de la carte. Vos choix d’itinéraires sont de votre responsabilité.
+ </p>
{% for hidden in itinerary_form.hidden_fields %}
{{ hidden }}
{% endfor %}
- {% for field in itinerary_form.visible_fields %}
- <div id='{{field.auto_id}}_div'>
- {% if field.label %}<label for='{{field.auto_id}}'>{{ field.label }}</label>{%endif%}
- {{field}}</div>
- {% endfor %}
- <a id='add_step_link' href='#'>{% trans "Add a step" %}</a>
+
+ <div id="id_transport_div" class='buttonset'>
+ {{itinerary_form.transport}}
+ </div>
+
+ <div id='id_start_div'>
+ <label class='start_label'>{{ itinerary_form.start.label }}</label>
+ {{itinerary_form.start}}
+ </div>
+
+ <div id='id_end_div'>
+ <label class='end_label'>{{ itinerary_form.end.label }}</label>
+ {{itinerary_form.end}}
+ </div>
+
+ <div id='step_link'><a id='add_step_link' href='#'>{% trans "+ Add a step" %}</a></div>
<span id='search_routing'>{% trans "Search" %}</span>
+
+ <div class='extra-criteria'>
+ <div class='extra-label'>{% trans "Extra criterias"%}</div>
+ <div class='extra-form'>
+ <div id='id_speed_div'>
+ {{itinerary_form.speed}}
+ </div>
+ </div>
+ </div>
+
</div>
<div id='chimere_itinerary'>
+ <div id="id_transport_it">
+ {% for transport_id, transport_label in routing_transport %}
+ <span id='id_transport_it_{{transport_id}}'>{{transport_label}}</span>
+ {% endfor %}
+ </div>
+ <div class='roadmap_title'>
+ <h4>{% trans "Roadmap" %}</h4>
+ <ul id='roadmap_toolbar'>
+ <li><a href='#' class='print-page'><img src='{{STATIC_URL}}saclay/images/printer.png' alt='Printer'/></a></li>
+ <li>
+ {% share_bar False 1 %}
+ </li>
+ </ul>
+ </div>
+ <div class='itinerary_label' id='total_label_div'>
+ <span id='chimere_total_label'></span>
+ </div>
+ <div class='itinerary_label itinerary_start'>
+ <div class='contener'>
+ <span class='label start-label'>{% trans "Start"%}</span> <span id='chimere_start_label'></span>
+ </div>
+ </div>
+ <div id='chimere_itinerary_content'>
+ </div>
+ <div class='itinerary_label itinerary_end'>
+ <div class='contener'>
+ <span class='label end-label'>{% trans "Finish"%}</span> <span id='chimere_end_label'></span>
+ </div>
+ </div>
<div id='chimere_itinerary_action'>
- <ul class='action'>
- <li class='ui-widget ui-button ui-state-default ui-corner-all'>
+ <ul>
+ <li>
<a href='#' id='chimere_itinerary_modify'>{% trans "Modify" %}</a>
</li>
- <li class='ui-widget ui-button ui-state-default ui-corner-all'>
+ <li>
<a href='#' id='chimere_itinerary_new'>{% trans "New search" %}</a>
</li>
</ul>
</div>
- <div class='itinerary_label' id='total_label_div'>
- <span id='chimere_total_label'></span>
- </div>
- <div class='itinerary_label'>
- <span class='label'>{% trans "Start:"%}</span> <span id='chimere_start_label'></span></div>
- <div id='chimere_itinerary_content'>
- </div>
- <div class='itinerary_label'>
- <span class='label'>{% trans "Finish:"%}</span> <span id='chimere_end_label'></span>
- </div>
</div>
</div>
<script language='javascript' type='text/javascript'>
diff --git a/chimere/templates/chimere/blocks/share_bar.html b/chimere/templates/chimere/blocks/share_bar.html
index a680aa8..39caf59 100644
--- a/chimere/templates/chimere/blocks/share_bar.html
+++ b/chimere/templates/chimere/blocks/share_bar.html
@@ -4,12 +4,31 @@
<a href='{{share_network.1}}'>{{share_network.0}}</a>
{% endfor %}{%else%}
<ul class='share'>
- <li>{% trans "Share"%}</li>{% for share_network in share_networks %}
- <li><a class='share_link share_id_{{share_network.0}}' href='{{share_network.1}}'><span class='fa fa-chimere fa-chimere-{{share_network.0}}'></span></a></li>
- {% endfor %}</ul>{% endif %}
- <script language='text/javascript'>
+ <li class='share-send'><a class='share_link share_id_{{share_networks.0.0}}{% if email_only %}_single{%endif%}' href='{{share_networks.0.1}}'><img src="{{share_network.0.2}}" alt="{{share_network.0.0}}"/></a></li>
+ {% if not email_only %}
+ <li class="share-link-main">
+ <a href="#">{% trans "Share" %}</a></li>
+ {% for share_network in share_networks %}
+ <li class='shared'><a class='share_link share_id_{{share_network.0}}' href='{{share_network.1}}'><img src="{{share_network.2}}" alt="{{share_network.0}}"/></a></li>
+ {% endfor %}
+ {% if rss %}<li class='shared'><a href='{% url "chimere:feeds-global" %}'>
+ <img src='{{STATIC_URL}}chimere/img/feed.png' alt='Feeds'/></a></li>{% endif %}{%endif%}
+ </ul>{% endif %}
+ <script type='text/javascript'>
+ <!--
$(function(){
share_link_update();
+ $('.share-link-main').click(function(){
+ update_permalink();
+ var params = $('#permalink').attr('href').split('#')[1];
+ var current_url = String(window.location.href).split('#')[0] +
+ "#" + params;
+ var message = "{% trans 'Copy and paste this address to share this item: \n' %}";
+ message += current_url;
+ alert(message);
+ });
});
+ // -->
</script>
{% endif %}
+
diff --git a/chimere/templates/chimere/blocks/submited.html b/chimere/templates/chimere/blocks/submited.html
index 873ed53..e69de29 100644
--- a/chimere/templates/chimere/blocks/submited.html
+++ b/chimere/templates/chimere/blocks/submited.html
@@ -1,28 +0,0 @@
-{% load i18n bootstrap %}
- {% with new_prop="Your new proposition/modification has been submited. A moderator will treat your submission shortly. Thanks!"|translate %}
- {% bootstrap_modal "submited-window" "" new_prop %}
-{% comment %}
- <script type='text/javascript'>
- $(function(){
- $("#submited-window").dialog({
- title:"{% trans "Thank you" %}",
- modal: true,
- zIndex: 2002,
- buttons:{
- "{% trans "Add a new item" %}":
- function() {
- window.location = "{{edit_url}}";
- },
- "{% trans "Continue edition of this item" %}":
- function() {
- $(this).dialog("close");
- },
- "{% trans "Return to the map" %}":
- function() {
- window.location = "{{index_url}}";
- }
- }
- });
- });
- </script>
-{% endcomment %}
diff --git a/chimere/templates/chimere/blocks/welcome.html b/chimere/templates/chimere/blocks/welcome.html
index a1dfb56..4e48c34 100644
--- a/chimere/templates/chimere/blocks/welcome.html
+++ b/chimere/templates/chimere/blocks/welcome.html
@@ -1,62 +1,17 @@
-{% load i18n sanitize chimere_tags %}
-{% if news_lst or welcome_message %}
+{% load i18n sanitize chimere_tags bootstrap %}{% if news_lst or welcome_message %}
+
+{% bootstrap_modal "welcome" title welcome_message|safe %}
+
<script type='text/javascript'>
+<!--
$(function(){
- //$('#welcome div.media-player').jmeEmbedControls();
- $('#welcome video').each(function(index){$(this).pause()});
- $('#welcome audio').each(function(index){$(this).pause()});
{% if display %}$('#welcome').modal('show');{%endif%}
+ $('.get_more_information').click(function(){
+ $('#welcome').modal('hide');
+ $('#news').modal('show');
+ return false;
+ });
});
+// -->
</script>
-
-<div class="modal fade" id="welcome" tabindex="-1" role="dialog" aria-labelledby="welcome-label" aria-hidden="true">
- <div class="modal-dialog modal-lg">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
- <h4 class="modal-title" id="welcome-label">{% trans "Upcoming events" %}</h4>
- </div>
- <div class="modal-body">
- <div id='news_content'>
- {% if welcome_message %}
- <div id='welcome_message'>
- {{welcome_message|safe}}
- </div>
- {% endif %}
- <div class='news'>
- {% if news_lst %}{% for news in news_lst %}
- <div class='info'>
- {% if news.title %}
- <h3>{{news.title}} &ndash; {{ news.date }}</h3>
- <p>{{news.content|safe}}</p>
- {% else %}
- <h3>{{news.name}} &ndash; {{ news.start_date }}{% if news.end_date %} - {{ news.end_date }}{% endif %}</h3>
- {% if news.default_pictures or news.default_pictures or news.default_multimedia_items%}
- <div class='small-gallery'>
- {% for picture in news.default_pictures %}
- {% multimedia_render picture %}
- {%endfor%}
- {% for multimedia_item in news.default_multimedia_items %}
- {% multimedia_render multimedia_item %}
- {%endfor%}
- </div>
- {%endif%}
- {% if news.description %}
- <p class='description'>{{news.description|sanitize:"p b i br hr strong em img:src:alt span:style a:href:target ul li ol h1 h2 h3 h4 table td th tr"|safe}}</p>
- {% endif %}
- {% for property in news.getProperties %}
- <p class='{{news.propertymodel.getNamedId}}'>{{ property.value|sanitize:"p b i br hr strong em img:src:alt span:style a:href:target ul li ol h1 h2 h3 h4 table td th tr"|safe }}</p>
- {% endfor %}
- <p class='marker_link'><a href='{% get_tinyfied_url news area_name %}'>{% trans "See it on the map"%}</a></p>
- {% endif %}
- </div>
- {%endfor%}{% endif %}
- <div class='info'>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
-</div>
{% endif %}
diff --git a/chimere/templates/chimere/default_extra_page.html b/chimere/templates/chimere/default_extra_page.html
index 884d4cc..8916fe0 100644
--- a/chimere/templates/chimere/default_extra_page.html
+++ b/chimere/templates/chimere/default_extra_page.html
@@ -1,15 +1,4 @@
-{% extends "chimere/base.html" %}
-{% load i18n chimere_tags %}
-{% block extra_head %}
- {{ block.super }}
- {{ form.media }}
- {% head_jquery %}
-{% endblock %}
-{% block message_map %}{% endblock %}
-{% block message_edit%}{% endblock %}
-{% block content %}
- {{ block.super }}
- <h3>{{title}}</h3>
- {{content|safe}}
-{% endblock %}
-
+<h2 id='dialog-title'>{{title}}</h2>
+<div class='content'>
+{{content|safe}}
+</div>
diff --git a/chimere/templates/chimere/detail.html b/chimere/templates/chimere/detail.html
index 04365f1..c8fc902 100644
--- a/chimere/templates/chimere/detail.html
+++ b/chimere/templates/chimere/detail.html
@@ -1,10 +1,7 @@
{% load i18n sanitize chimere_tags %}
-<div id='detail-wrapper'>
-{% if not popup %}
-<button onclick='$("#detail").fadeOut();return false;' type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
-<h2>{{ marker.name }}</h2>
-{% endif %}
-<div class='detail_content'>
+<a href='#' class='close_img'>{% trans "Close"%}</a>
+<h4>{{ marker.name }}</h4>
+<div id='detail_content'>
{% if marker.default_pictures or marker.default_pictures or marker.default_multimedia_items%}
<div class='small-gallery'>
{% for picture in marker.default_pictures %}
@@ -13,142 +10,54 @@
{% for multimedia_item in marker.default_multimedia_items %}
{% multimedia_render multimedia_item %}
{%endfor%}
+ {% for item in marker.multimedia_items %}
+ {% multimedia_render item %}
+ {%endfor%}
</div>
{%endif%}
-<div>
- {% if dated %}
- <p class='detail_start_date'><label>{% trans "Date:" %}</label> <span>{{marker.start_date|date:"D d M Y"}}
- {% if marker.end_date %} - {{marker.end_date|date:"D d M Y"}}</p>{% endif %}</span>
- {% endif %}
- {% if marker.description %}
- <p class='description'>{{ marker.description|sanitize:"p b i br hr strong em img:src:alt span:style a:href:target ul li ol h1 h2 h3 h4 table td tr th"|safe}}</p>
- {% endif %}
- {% for property in properties %}{% if property.value %}
- <p class='{{property.propertymodel.getNamedId}}'><strong>{{property.propertymodel}}</strong>{% trans ":" %} {{ property.value|sanitize:"p b i br hr strong em img:src:alt span:style a:href:target ul li ol h1 h2 h3 h4 table td tr th"|safe}}</p>
- {% endif %}{% endfor %}
- {% if marker.origin %}<p class='detail_source'><strong>{% trans "Source:" %}</strong> <span>{{marker.origin|sanitize:"a:href:target"|safe}}</span></p>{% endif %}
- {% if marker.license %}<p class='detail_license'><strong>{% trans "License:" %}</strong> <span>{{marker.license|sanitize:"a:href:target"|safe}}}</span></p>{% endif %}
- {% if marker.multimedia_items %}<p class='detail_multimedia'>
- <a data-toggle='modal' data-target="#multimedia-gallery-{{time_now}}" href='#' id='multimedia-gallery-button'><span class='fa fa-chimere-action fa-camera'></span> <span class='lbl'>{% trans "Show the gallery"%}</span></a>
- </p>{% endif %}
+ <div>
+ {% if dated %}
+ <p id='detail_start_date'><label>{% trans "Date:" %}</label> <span>{{marker.start_date|date:"D d M Y"}}
+ {% if marker.end_date %} - {{marker.end_date|date:"D d M Y"}}</p>{% endif %}</span>
+ {% endif %}
+ {% if marker.description %}
+ <div id='description_long_{{marker.pk}}' class='description'>{{ marker.description|sanitize:"p b i br hr strong em span:style a:href:target ul li ol h1 h2 h3 h4 table td tr th"|safe}}</div>
+ {% endif %}
+ {% for property in marker.getProperties %}{% if property.value %}
+ <div class='properties' id='{{property.propertymodel.getAttrName}}'><strong>{{property.propertymodel.name}}</strong> : {% if 'http://' in property.value or 'https://' in property.value %}<a href='{{ property.value|sanitize:""}}'>{%endif%}{{ property.value|sanitize:"p b i br hr strong em span:style a:href:target ul li ol h1 h2 h3 h4 table td tr th"|safe}}{% if 'http://' in property.value or 'https://' in property.value %}</a>{%endif%}</div>
+ {%endif%}{% endfor %}
</div>
- {% share_bar marker.name %}
- <p class='detail_amendment'><a href='{% if marker.polygon %}{% url 'chimere:editpolygon-item' area_name_slash|default_if_none:"" marker.pk "" %}{% else %}{% if marker.route %}{% url 'chimere:editroute-item' area_name_slash|default_if_none:"" marker.pk "" %}{% else %}{% url 'chimere:editmarker-item' area_name_slash|default_if_none:"" marker.pk "" %}{% endif %}{% endif %}'>
- {% trans "Submit an amendment" %}
- </a>
- {% if moderator_emails %}
- <a href="mailto:?from={{moderator_emails}}&subject={% trans "Propose amendment" %}&body={% trans "I would like to propose an amendment for this item:"%} {{share_url}}">
- {% trans "Propose amendment" %}
- </a>{%endif%}
- </p>
</div>
-</div>
-
-
-{% if marker.multimedia_items %}
-<div class="modal fade" id="multimedia-gallery-{{time_now}}" tabindex="-1" role="dialog" aria-labelledby='multimedia-gallery-label' aria-hidden="true">
- <div class="modal-dialog modal-lg">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
- <h4 class="modal-title" id="multimedia-gallery-label">{% trans "Gallery" %}</h4>
- </div>
- <div class="modal-body">
-
- <div role="tabpanel">
-
- <ul class="nav nav-pills" role="tablist" id="pills-{{time_now}}">
- {% for item in marker.multimedia_items %}
- <li role="presentation"{% if forloop.counter0 == 0%} class="active"{% endif %}>
- <a href="#tab-{{time_now}}-{{ forloop.counter }}" aria-controls="tab-{{time_now}}-{{ forloop.counter }}" role="tab" data-toggle="pill">
- {{ item.name }}
- </a>
- </li>{% endfor %}
- </ul>
-
- <div class="tab-content">
- {% for multimedia_item in marker.multimedia_items %}
- <div id="tab-{{time_now}}-{{ forloop.counter }}" role="tabpanel" class="tab-pane{% if forloop.counter0 == 0%} active{% endif %} {% ifequal multimedia_item.multimedia_type.media_type 'V' %}video{% else %}other{% endifequal %}" id="home">
- {% multimedia_render multimedia_item %}
- </div>
- {% endfor %}
- </div>
-
- </div>
-
- </div>
+<div id='detail_footer'>
+ <div id='detail-action-bar'>
+ {%if routing_enabled%}<a class='detail_from' href='#'>{% trans "From" context "routing" %}</a>
+ | <a class='detail_step' href='#'>{% trans "Add step" context "routing" %}</a>
+ | <a class='detail_to' href='#'>{% trans "To" context "routing" %}</a>
+ {% endif %}
</div>
- </div>
-</div>
-
-
-
-<div id='gallery-{{time_now}}' class='gallery'>
+ <ul class='share'>
+ <li><a href="{{modif_by_email}}">{% trans "Propose a modification" %}</a></li>
+ <li class='sep'>&ndash;</li>
+ </ul>
+ {% share_bar marker.name '' '' %}
+ {% comment %}
+ <a href='{% if marker.route %}{% url "chimere:editroute-item" area_name_slash|default_if_none:"" marker.route.pk "" %}{%else%}{% url 'chimere:edit-item' area_name_slash|default_if_none:"" marker.pk "" %}{%endif%}'>
+ {% trans "Submit a modification" %}
+ </a>
+ {% endcomment %}
</div>
-{% endif %}
+{% comment %}
<script language='javascript' type='text/javascript'>
+<!--
$('html').addClass('js-on');
-
-
-function manage_tab_opening (event, ui) {
- //pause all medias
- $('video').each(function(index){$(this).pause()});
- $('audio').each(function(index){$(this).pause()});
- //start current tabvideo
- $('ui.panel video').each(function(index){
- //prevents a Flash-Bug in IE with newest Flash-Player
- $(this).reinitMedia({queue: true})
- .play()
- ;});
- $('ui.panel audio').each(function(index){
- //prevents a Flash-Bug in IE with newest Flash-Player
- $(this).reinitMedia({queue: true})
- .play()
- ;});
-}
-
-function manage_gallery_opening (event) {
- // $('div.media-player').jmeEmbedControls();
- $('.video div.media-player').bind('useractive', function(){
- $('div.media-controls', this).stop().animate({opacity: 1});
- }).bind('userinactive', function(){
- $('div.media-controls', this).stop().animate({opacity: 0});
- });
- //$("#gallery-{{time_now}}").dialog("option", "height", 'auto');
- //$("#gallery-{{time_now}}").dialog("option", "width", 'auto');
- //$("#gallery-{{time_now}}").dialog("option", "position",
- // ['center', 'center']);
-}
-
-function manage_gallery_close (event){
- //pause all medias
- $('video').each(function(index){$(this).pause()});
- $('audio').each(function(index){$(this).pause()});
-}
-
-$(document).ready(function(){
- $('#multimedia-gallery-{{time_now}}').appendTo("body");
-
- $('#multimedia-gallery-{{time_now}}').on('shown.bs.modal', function (e) {
- manage_gallery_opening();
- manage_tab_opening(e);
- })
-
- $('#multimedia-gallery-{{time_now}}').on('hide.bs.modal', function (e) {
- manage_gallery_close();
- })
-
- $('a[data-toggle="pill"]').on('shown.bs.tab', function (e) {
- manage_tab_opening(e);
- })
-{% comment %}
- // $('div.media-player').jmeEmbedControls();
+$(function(){
$("a[rel^='prettyPhoto']").prettyPhoto({
show_title: false,
social_tools: ''
});
-{% endcomment %}
});
+// -->
</script>
+{% endcomment %}
diff --git a/chimere/templates/chimere/dyn.css b/chimere/templates/chimere/dyn.css
new file mode 100644
index 0000000..5e6452e
--- /dev/null
+++ b/chimere/templates/chimere/dyn.css
@@ -0,0 +1,25 @@
+{% for pk, color in categories %}
+.main_category.toggle_plus > span#main_category_{{pk}} > label,
+.main_category.toggle_minus > span#main_category_{{pk}} > label{% if not forloop.last %}, {% endif%}{% endfor %} {
+ background-color:transparent;
+ color: #777;
+}
+{% for pk, color in categories %}
+.category-selected #main_category_{{pk}} .triangle{% if not forloop.last %}, {% endif %}{% endfor %} {
+ border-color: transparent transparent transparent #fff;
+}
+
+{% for pk, color in categories %}
+#main_category_{{pk}} .triangle{
+ border-color: transparent transparent transparent {{color}};
+}
+
+.main_category.category-selected > span#main_category_{{pk}} > label,
+
+#ul_categories #maincategory_{{pk}}.subcategories li .selected label,
+.main_category.toggle_plus > span#main_category_{{pk}}.category-selected > label,
+.main_category.toggle_minus > span#main_category_{{pk}}.category-selected > label{
+ background-color: {{color}};
+ color: #fff;
+}
+{% endfor %}
diff --git a/chimere/templates/chimere/edit.html b/chimere/templates/chimere/edit.html
index 5d7a5db..129097f 100644
--- a/chimere/templates/chimere/edit.html
+++ b/chimere/templates/chimere/edit.html
@@ -1,155 +1,232 @@
-{% extends "chimere/base.html" %}
-{% load i18n chimere_tags inline_formset staticfiles bootstrap %}
-{% block extra_head %}
- {{ form.media }}
- {{ block.super }}
- {% head_chimere %}
- {% if dated %}
- <!--script type="text/javascript" src="{{extra_url}}media/js/core.js"></script-->
- <script type="text/javascript" src="{{ STATIC_URL }}chimere/js/utils.js"></script>
- <script type="text/javascript">
- window.__admin_media_prefix__ = "{% filter escapejs %}{% static 'admin' %}{% endfilter %}";
- </script>
- {% endif %}
-{% endblock %}
+{% load i18n chimere_tags inline_formset staticfiles bootstrap startswith %}
+{% if submited %}{% submited %}{% endif %}
+{% if error_message %}<div class='edit errorlist'>
+ <legend>{% trans "Error" %}</legend>
+ <p>{{ error_message }}</p>
+{% endif %}</div>
+{% if is_modification and is_superuser %}<div class='warning'><p>{% trans "You are logged as an administrator. Your modifications will be taking into account immediately." %}</p></div>{% endif %}
+<div class='edit'>
+ {% block editactions %}
+ {% for main_action, subactions in actions %}
+ {% ifequal main_action.id 'contribute' %}
+ <ul class="nav nav-pills">
+ {% with "edit-"|add:geom_name as current_url %}{% for subaction in subactions %}
+ <li{% ifequal subaction.id current_url %} class="active"{% endifequal %}><a class="subactions" data-link="{% url subaction.id|add:'-tab' area_name|add:'/' %}" href="#">{{ subaction.label }}</a></li>
+ {% endfor %}{% endwith %}
+ </ul>
+ {% endifequal %}
+ {% endfor %}
+ {% endblock %}
+ <form enctype="multipart/form-data" method='post'
+ action='{% block edit_url %}{% url "editmarker" %}{% endblock %}' id='proposition_form'>
+ {% csrf_token %}
+ <p>* {% trans "indicates a mandatory field" %}</p>
-{% block content %}
- {{ block.super }}
- {% if submited %}{% submited %}{% endif %}
- {% if error_message %}<fieldset class='edit errorlist'>
- <legend>{% trans "Error" %}</legend>
- <p>{{ error_message }}</p>
- {% endif %}</fieldset>
- {% if is_modification and is_superuser %}<div class='warning'><p>{% trans "You are logged as an administrator. Your modifications will be taking into account immediately." %}</p></div>{% endif %}
- <fieldset class='edit'>
- {% block legend %}{% endblock %}
- <form enctype="multipart/form-data" method='post' action='.'>
- {% csrf_token %}
- <div class='rightWrapper'>
- <div class='rightform'>
- <div class="fieldWrapper full">
- {% block geometry %}
- {% endblock %}
+ <div class="container" style="width: 100%;">
+ <div class="row">
+ <div class="col-xs-6">
+ <label for="id_name">{% trans "Name"%} *</label>
+ {% if form.name.errors %}<div class='errors'>{{ form.name.errors }}</div>{% endif %}
+ {{ form.name }}
+ </div>
+ <div class="col-xs-6">
+ <label for="id_subcategory">{% if form.categories.label %}{{ form.categories.label }}{% else %}{% trans "Categories" %} *{% endif %}</label>
+ {% if form.categories.errors %}<div class='errors'>{{ form.categories.errors }}</div>{% endif %}
+ {{ form.categories }}
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-xs-12">
+ {% block geometry %}
+ {% endblock %}
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-xs-12 full">
+ <label for="id_description">{% trans "Description" %}</label>
+ {{ form.description.errors }}
+ {{ form.description }}
+ <p class="help">{{ form.description.help_text }}</p>
+ </div>
+ </div>
+ {% if form.keywords %}
+ <div class="row">
+ <div class="col-xs-6">
+ <label for="id_keywords">{% trans "Keywords" %}</label>
+ {{ form.keywords.errors }}
+ {{ form.keywords }}
+ <p class="help">{{ form.keywords.help_text }}</p>
+ </div>
+ </div>{% endif %}
+ {% if dated %}
+ <div class="row">
+ <div class="col-xs-6">
+ <label for="id_start_date">{% trans "Start date" %}</label>
+ {{ form.start_date.errors }}
+ {{ form.start_date }}
+ <p class="help">{{ form.start_date.help_text }}</p>
+ </div>
+ <div class="col-xs-6">
+ <label for="id_end_date">{% trans "End date" %}</label>
+ {{ form.end_date.errors }}
+ {{ form.end_date }}
+ <p class="help">{{ form.end_date.help_text }}</p>
+ </div>
+ </div>{% endif %}
+ <div class="row">
+ {% for field in form %}{% if field.name|startswith:'property_' %}
+ {% for property in properties %}{% ifequal field.name property.getNamedId %}
+ <div class="col-xs-12 col-md-6 col-xl-4">
+ <label for="id_{{field.name}}">{% trans field.label %}{% if property.mandatory %} *{% endif %}</label>
+ {% if field.errors %}<div class='errors'>{{ field.errors }}</div>{% endif %}
+ {{ field }}
+ </div>
+ {% endifequal %}{% endfor %}{% endif %}{% endfor %}
</div>
</div>
- </div>
- <div class='leftform'>
- <p>* {% trans "indicates a mandatory field" %}</p>
- <div class="fieldWrapper full">
- <label for="id_subcategory">{% if form.categories.label %}{{ form.categories.label }}{% else %}{% trans "Categories" %} *{% endif %}</label>
- {% if form.categories.errors %}<div class='errors'>{{ form.categories.errors }}</div>{% endif %}
- {{ form.categories }}
- </div>
- <div class="fieldWrapper">
- <label for="id_name">{% trans "Name"%} *</label>
- {% if form.name.errors %}<div class='errors'>{{ form.name.errors }}</div>{% endif %}
- {{ form.name }}
- </div>
- <div class="fieldWrapper">
- <label for="id_description">{% trans "Description" %}</label>
- {{ form.description.errors }}
- {{ form.description }}
- <p class="help">{{ form.description.help_text }}</p>
- </div>
- {% if form.keywords %}<div class="fieldWrapper">
- <label for="id_keywords">{% trans "Keywords" %}</label>
- {{ form.keywords.errors }}
- {{ form.keywords }}
- <p class="help">{{ form.keywords.help_text }}</p>
- </div>{% endif %}
- {% if dated %}
- <div class="fieldWrapper full">
- <label for="id_start_date">{% trans "Start date" %}</label>
- {{ form.start_date.errors }}
- {{ form.start_date }}
- <p class="help">{{ form.start_date.help_text }}</p>
- </div>
- <div class="fieldWrapper full">
- <label for="id_end_date">{% trans "End date" %}</label>
- {{ form.end_date.errors }}
- {{ form.end_date }}
- <p class="help">{{ form.end_date.help_text }}</p>
- </div>
- {% endif %}
- {% for field in form %}
- {% for property in properties %}
- {% ifequal field.name property.getNamedId %}
- <div class="fieldWrapper">
- <label for="id_{{field.name}}">{% trans field.label %}{% if property.mandatory %} *{% endif %}</label>
- {% if field.errors %}<div class='errors'>{{ field.errors }}</div>{% endif %}
- {{ field }}
- </div>
- {%endifequal%}
- {%endfor%}
- {%endfor%}
- </div>
- <div class='bottomform'>
- {% inline_formset "Multimedia files" formset_multi %}
- {% inline_formset "Picture files" formset_picture %}
+ <div class='bottomform'>
- {% if filtered_properties %}
- <script type='text/javascript'>
- var cat_filters = new Array();
- var cat_to_hide = new Array();
- {% for property in filtered_properties %}
- cat_to_hide.push('#id_{{property.getNamedId}}');
- {% for subcat in property.subcategories.all %}
- if(!cat_filters['{{subcat.id}}']) cat_filters['{{subcat.id}}'] = new Array();
- cat_filters['{{subcat.id}}'].push('#id_{{property.getNamedId}}');
- {% endfor %}
- {% endfor %}
- $('.bsmSelect').change(function(){
- for (idx in cat_to_hide){
- $(cat_to_hide[idx]).parent().hide();
- }
- var vals = $('#id_categories').val();
- for (val_id in vals){
- var val = vals[val_id];
- for (ids in cat_filters[val]){
- $(cat_filters[val][ids]).parent().show();
+ {% inline_formset "Multimedia files" formset_multi %}
+ {% inline_formset "Picture files" formset_picture %}
+
+ {% if filtered_properties %}
+ <script type='text/javascript'>
+ var cat_filters = new Array();
+ var cat_to_hide = new Array();
+ {% for property in filtered_properties %}
+ cat_to_hide.push('#id_{{property.getNamedId}}');
+ {% for subcat in property.subcategories.all %}
+ if(!cat_filters['{{subcat.id}}']) cat_filters['{{subcat.id}}'] = new Array();
+ cat_filters['{{subcat.id}}'].push('#id_{{property.getNamedId}}');
+ {% endfor %}
+ {% endfor %}
+ $('.bsmSelect').change(function(){
+ for (idx in cat_to_hide){
+ $(cat_to_hide[idx]).parent().hide();
}
- }
- });
- $('.bsmSelect').change();
- </script>
- {% endif %}
- </div>
- <div class='personalform'>
- <h3>{% trans "Personal information"%}</h3>
- <div class='warning'>
- {% trans "This fields are not mandatory. If you provided them they not will be made public and they will only used to join you for this project."%}
- </div>
- <div class="fieldWrapper">
- <label for="id_submiter_name">{% trans "Your name or nickname"%}</label>
- {% if form.submiter_name.errors %}<div class='errors'>{{ form.submiter_name.errors }}</div>{% endif %}
- {{ form.submiter_name }}
- </div>
- <div class="fieldWrapper">
- <label for="id_submiter_email">{% trans "Your email"%}</label>
- {% if form.submiter_email.errors %}<div class='errors'>{{ form.submiter_email.errors }}</div>{% endif %}
- {{ form.submiter_email }}
+ var vals = $('#id_categories').val();
+ for (val_id in vals){
+ var val = vals[val_id];
+ for (ids in cat_filters[val]){
+ $(cat_filters[val][ids]).parent().show();
+ }
+ }
+ });
+ $('.bsmSelect').change();
+ </script>
+ {% endif %}
</div>
- <div class="fieldWrapper full">
- <label for="id_submiter_comment">{% trans "Comments about your submission"%}</label>
- {% if form.submiter_comment.errors %}<div class='errors'>{{ form.submiter_comment.errors }}</div>{% endif %}
- {{ form.submiter_comment }}
+ <div class='personalform'>
+ <h5>{% trans "Personal information"%}</h5>
+ <div class="alert alert-info" role="alert">
+ {% trans "This fields are not mandatory. If you provided them they not will be made public and they will only used to join you for this project."%}
+ </div>
+ <div class="container">
+ <div class="row">
+ <div class="col-xs-6">
+ <label for="id_submiter_name">{% trans "Your name or nickname"%}</label>
+ {% if form.submiter_name.errors %}<div class='errors'>{{ form.submiter_name.errors }}</div>{% endif %}
+ {{ form.submiter_name }}
+ </div>
+ <div class="col-xs-6">
+ <label for="id_submiter_email">{% trans "Your email"%}</label>
+ {% if form.submiter_email.errors %}<div class='errors'>{{ form.submiter_email.errors }}</div>{% endif %}
+ {{ form.submiter_email }}
+ </div>
+ </div>
+ <div class="row">
+ <div class="col-xs-12 full">
+ <label for="id_submiter_comment">{% trans "Comments about your submission"%}</label>
+ {% if form.submiter_comment.errors %}<div class='errors'>{{ form.submiter_comment.errors }}</div>{% endif %}
+ {{ form.submiter_comment }}
+ </div>
+ </div>
+ </div>
</div>
- </div>
+ {% bootstrap_modal "upload_in_progress" %}
+ <script text='text/javascript'>
+ var upload = '<p>{% trans "Upload in progress. Please wait..." %}</p>\n';
+ upload += "<p><img alt='Ajax loader' src='{{STATIC_URL}}chimere/img/ajax-loader.gif'/></p>";
- {% bootstrap_modal "upload_in_progress" %}
+ function displayProgress(){
+ $('#upload_in_progress .modal-body').html(upload);
+ $('#upload_in_progress').modal("show");
+ }
+ var success_msg = "<h3>Merci pour votre contribution au projet !</h3>";
+ success_msg += "<p>Votre proposition va être examinée par un modérateur et être validée dans les jours à venir.</p>"
+ $(function(){
+ register_subactions();
+ if (typeof tinyMCE !== 'undefined'){
+ tinyMCE.init({
+ mode : "textareas",
+ theme: 'modern',
+ editor_selector : "mceEditor",
+ relative_urls : false,
+ toolbar_items_size: 'small',
+ menubar: '',
+ toolbar1: 'bold italic,underline | bullist,numlist',
+ toolbar2: "",
+ toolbar3: ""
+ });
+ }
- <script text='text/javascript'>
- var upload = '<p>{% trans "Upload in progress. Please wait..." %}</p>\n';
- upload += "<p><img alt='Ajax loader' src='{{STATIC_URL}}chimere/img/ajax-loader.gif'/></p>";
+ {% comment %}
+ {% if route %}
+ var edition_type = 'route';
+ {% if itinerary_form %}
+ $("#chimere_itinerary_form").appendTo($("#itinerary_field"));
+ $('#main_map').chimere('updateRoutingInput');{% endif%}
+ {% else %}
+ var edition_type = 'marker';
+ $('#main_map').chimere('updateMarkerInput');
+ {% endif %}
+ {% endcomment %}
- function displayProgress(){
- $('#upload_in_progress .modal-body').html(upload);
- $('#upload_in_progress').modal("show");
- }
- </script>
- <p><input type='submit' onclick='saveExtent();displayProgress();' value="{% trans 'Propose'%}"/></p>
+ $('#modal-edit button.btn-primary').unbind("click");
+ $('#modal-edit button.btn-primary').click(function(){
+ // JS tests because if a file is submited there is no way
+ // to refill the form with (browser security issue)
+ if (typeof tinyMCE !== 'undefined') tinyMCE.triggerSave();
+ validation = [
+ '{% if geom_name == 'marker' %}point{% else %}{{geom_name}}{% endif %}',
+ 'name',
+ 'categories',{% if event %}
+ 'start_date',{% endif %}
+ ];
+ var validated = true;
+ for (var idx=0; idx<validation.length ;idx++){
+ var input_id = validation[idx];
+ var selec = '[name=' + input_id + ']';
+ var val = jQuery(selec).val();
+ if (!val || val == '0' || val == '' || val == 'None' ||
+ (input_id == 'id_submiter_email' &&
+ !isValidEmailAddress(val))){
+ jQuery(selec).parent().addClass('warning');
+ jQuery(selec).parent().addClass('error');
+ validated = false;
+ } else {
+ jQuery(selec).parent().removeClass('warning');
+ jQuery(selec).parent().removeClass('error');
+ }
+ }
+ if (!validated){
+ alert("{%trans "There are missing/erroneous fields."%}");
+ return false;
+ }
+ $("#proposition_form").ajaxForm();
+ displayProgress();
+ $("#proposition_form").ajaxSubmit({
+ success:function(msg){
+ $('#upload_in_progress').modal("hide");
+ $("#modal-edit").modal("hide");
+ $("#modal-default-message .modal-body").html(success_msg);
+ $('#modal-default-message').modal("show");
+ }
+ });
+ return false;
+ });
+ });
+ </script>
</form>
- </fieldset>
- </div>
-{% endblock %}
+</div>
diff --git a/chimere/templates/chimere/main_map.html b/chimere/templates/chimere/main_map.html
index 3d85cc9..3e441dc 100644
--- a/chimere/templates/chimere/main_map.html
+++ b/chimere/templates/chimere/main_map.html
@@ -3,40 +3,116 @@
{% block extra_head %}
{% head_jquery %}
{% head_chimere %}
+<script src="https://use.fontawesome.com/28dbea13a1.js"></script>
{% comment %}{% head_jme %}{% endcomment %}
-<script src="{{ STATIC_URL }}chimere/js/jquery.chimere.js" type="text/javascript"></script>
+{% head_form %}
+<script src="{{ STATIC_URL }}saclay/js/jquery.form.js?ver={{SACLAY_VERSION}}" type="text/javascript"></script>
{% if has_search %}
-<script src="{{ STATIC_URL }}chimere/js/search.js" type="text/javascript"></script>
-<script src="{{ STATIC_URL }}chimere/js/search-autocomplete.js" type="text/javascript"></script>{% endif %}
+<script src="{{ STATIC_URL }}chimere/js/search.js?ver={{VERSION}}" type="text/javascript"></script>
+<script src="{{ STATIC_URL }}chimere/js/search-autocomplete.js?ver={{VERSION}}" type="text/javascript"></script>{% endif %}
+{% for js in extra_js %}<script src="{{js}}?ver={{VERSION}}" type="text/javascript"></script>
+{% endfor %}
+
+<script type='text/javascript' language='javascript'>
+ <!--
+ var default_error_message = "{% trans "Error while loading the page... Refresh the page. If the problem persist contact the webmaster." %}";
+ var edit_url = "{% url 'editmarker' area_name|add:"/" %}";
+ // -->
+</script>
+<script src="{{ STATIC_URL }}saclay/js/interface.js?ver={{SACLAY_VERSION}}" type="text/javascript"></script>
+
+{% for css in extra_css %}<link rel="stylesheet" type="text/css" href="{{css}}" />
+{% endfor %}
{{ block.super }}
+<link rel="stylesheet" type="text/css" href="{% url 'dyn-css' area_name|add:'/' %}" />
{% endblock %}
{% block message_edit %}{% endblock %}
{% block sidebar %}
-{% display_news %}
- <div id='panel' class='navbar-default'>
- <form id="frm_categories"><div id='categories'></div></form>
- <div id='search-box' class='ui-widget ui-corner-all'></div>
+<div id="switch-menu" class="row">
+ <div class="col-xs-4"><a href="#">{% trans "Map" %}</a></div>
+ <div class="col-xs-4"><a href="#">{% trans "Search result" %}</a></div>
+ <div class="col-xs-4 selected"><a href="#">{% trans "Categories" %}</a></div>
+</div>
+ <div id="sidebar-container">
+ <div class='sidebar-handler' id='sidebar-handler-hide'></div>
+ <div id='panel'>
+ {% display_areas %}
+ <div id='map-panel'>
+ <div id='search-box'></div>
+ <form action='.' method='post' name='frm_categories' id='frm_categories'>
+ <div id='categories'>{# dynamic content #}
+ </div>
+ </form>
+ {% routing %}
+ </div>
</div>
- {% bootstrap_modal "category_description" "Category description" %}
- <div id='detail'></div>
+ <div id='back-categories'>
+ <i class="fa fa-arrow-circle-left" aria-hidden="true"></i> <p>REVENIR AUX CATÉGORIES</p>
+ </div>
+ <div class='footer' id='footer-panel'>
+ {% if contact_email %}<a href='mailto:{{contact_email}}' id='contactus'>{% trans "contact" %}</a> | {% endif %}
+ {% comment%}
+ <a href="{% url 'chimere:extra_page' '' 'legal' %}" id='page-legal' class='dyn-page'>{% trans "terms of service & credits" %}</a>
+ {% endcomment %}
+ </div>
+ </div>
{% endblock %}
-{% block search_box %} {% endblock %}
{% block content %}
- {{block.super}}
+ {% bootstrap_modal "category_description" "Category description" %}
+
+ <div class='sidebar-handler' id='sidebar-handler-show'>
+ </div>
+ <div id='detail' class='ui-widget ui-corner-all'></div>
+ {% if not itinerary_form %}<div class='map_button'>
+ <a href='#' id='button-move-map' class='toggle-button toggle-button-active' onclick='toggleDrawOff();return false;'>
+ {% trans "Move on the map" %}
+ </a>
+ <a href='#' id='button-draw-map' class='toggle-button toggle-button-inactive' onclick='toggleDrawOn();return false;'>
+ {% trans "Draw" %}
+ </a>
+ </div>{% endif %}
+ <a href='#' id='permalink'><span class='fa fa-chimere-action fa-bookmark'></span></a>
+ {% if simple %}
+ {% display_welcome 0 %}
+ {%else%}
+ {% display_welcome news_visible %}
+ {% endif %}
+ {% display_news news_visible %}
+ {{ block.super }}
+ <div id='map-shadow'></div>
+ <div id='edit-button' class="action-button" data-toggle="modal"
+ data-target="#modal-edit">
+ <i class="fa fa-plus" aria-hidden="true"></i>
+ </div>
+
+ {% with title="Propose"|translate %}
+ {% bootstrap_modal "modal-edit" title "" "xlarge" 1 %}
+ {% endwith %}
+
+ {% bootstrap_modal "modal-default-message"%}
+
+<script type="text/javascript">
+ <!--
+ $("#main-map").show();
+ var has_search = {% if has_search %}true{% else %}false{% endif %};
+ // array to keep trace of already displayed items
+ var search_result = new Array();
+ var search_url = "{% url 'chimere:search' area_name %}";
+ $(function(){
+ $("#modal-edit").on("hide.bs.modal", function() {
+ $("#modal-edit .modal-body").html("");
+ $("#main-map").chimere('refresh');
+ });
+ if (has_search){
+ load_search_box();
+ }
+ });
+ // -->
+</script>
{% map_menu %}
{% map 'main-map' %}
- <script type='text/javascript'>
- var has_search = {% if has_search %}true{% else %}false{% endif %};
- // array to keep trace of already displayed items
- var search_result = new Array();
- var search_url = "{% url 'chimere:search' area_name %}";
- $(function(){
- if (has_search){
- load_search_box();
- }
- {%if news_visible %}$('#news').modal();{% endif %}
- });
- </script>
+ {% bootstrap_modal "modal-chimere-message" %}
+
{% endblock %}
{% block footer %}
<p class='map-footer'>{% include "chimere/blocks/footer.html" %}</p>
diff --git a/chimere/templates/chimere/main_map_simple.html b/chimere/templates/chimere/main_map_simple.html
index 4e93f8c..552d309 100644
--- a/chimere/templates/chimere/main_map_simple.html
+++ b/chimere/templates/chimere/main_map_simple.html
@@ -5,9 +5,11 @@
{% block menu %}{# no menu in simple mode #}{% endblock %}
{% block message_edit %}{% endblock %}
{% block sidebar %}
+ <div class='sidebar-handler' id='sidebar-handler-hide'>
+ </div>
<div id='panel'>
- <a href='#' onclick='showHide("categories")'>
- <h2 class='btn'>{% trans "Categories"%}</h2>
+ <a>
+ <h2>{% trans "Categories"%}</h2>
</a>
<form method='post' name='frm_categories' id='frm_categories'>
<div id='categories' name='categories'></div>
diff --git a/chimere/templates/search/search_haystack.html b/chimere/templates/search/search_haystack.html
index c47de59..05ca407 100644
--- a/chimere/templates/search/search_haystack.html
+++ b/chimere/templates/search/search_haystack.html
@@ -41,6 +41,7 @@ $(function(){
function(evt){
$("#main-map").chimere("razMap");
haystack_search(evt);
+ search_panel_open();
});
{% if autocomplete %}
window.autocomplete = new Autocomplete({
diff --git a/chimere/urls.py b/chimere/urls.py
index e7d1a97..3f9305e 100644
--- a/chimere/urls.py
+++ b/chimere/urls.py
@@ -18,148 +18,64 @@
# See the file COPYING for details.
from django.conf import settings
-from django.conf.urls import url
+from django.conf.urls import url, include
+from django.conf.urls.static import static
from django.contrib import admin
-from django.core.exceptions import ImproperlyConfigured
-admin.autodiscover()
+from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from chimere import views
-from chimere.forms import SearchForm
-from chimere.views import CategoryDirectoryView, CategoryView, SearchView
-from chimere.feeds import LatestPOIsByCategory, LatestPOIsBySubCategory, \
- LatestPOIs, LatestPOIsByZone, LatestPOIsByZoneID
+from django.views.static import serve
+
+admin.autodiscover()
def i18n_javascript(request):
return admin.site.i18n_javascript(request)
-urlpatterns = [
- url(r'^status/$', views.status, name='status'),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?simple$', views.index,
- {'simple': True}, name="simple_index")
-]
-
-if settings.CHIMERE_FEEDS:
+urlpatterns = []
+if settings.DEBUG:
urlpatterns += [
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds$', views.rss,
- name='feeds-form'),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds/category/'
- r'(?P<category_id>\d+)$',
- LatestPOIsByCategory(), name='feeds-cat'),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds/subcategory/'
- r'(?P<category_id>\d+)$',
- LatestPOIsBySubCategory(), name='feeds-subcat'),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds/global/$', LatestPOIs(),
- name='feeds-global'),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds/area/(?P<area>[0-9-_.]+)$',
- LatestPOIsByZone(), name='feeds-area'),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds/areaid/(?P<area_id>\d+)$',
- LatestPOIsByZoneID(), name='feeds-areaid'),
+ url(r'^media/(?P<path>.*)$', serve, {
+ 'document_root': settings.MEDIA_ROOT,
+ }),
]
-if hasattr(settings, 'CHIMERE_ENABLE_ROUTING') \
- and settings.CHIMERE_ENABLE_ROUTING:
- if not hasattr(settings, 'CHIMERE_ROUTING_TRANSPORT') \
- or not settings.CHIMERE_ROUTING_TRANSPORT:
- raise ImproperlyConfigured(u"CHIMERE_ROUTING_TRANSPORT must be set in"
- u" settings if you enable routing")
+if "tinymce" in settings.INSTALLED_APPS:
urlpatterns += [
- url(r'^(?P<area_name>[a-zA-Z0-9_-]*/)?route/'
- r'(?P<transport>(%s))/((?P<speed>[0-9][0-9]*)/)?'
- r'(?P<lon1>[-]?[0-9]+[.]?[0-9]*)_(?P<lat1>[-]?[0-9]+[.]?[0-9]*)_'
- r'(?P<lonlat_steps>([-]?[0-9]+[.]?[0-9]*_[-]?[0-9]+[.]?[0-9]*_)*)'
- r'(?P<lon2>[-]?[0-9]+[.]?[0-9]*)_(?P<lat2>[-]?[0-9]+[.]?[0-9]*)$' %
- ('|'.join([key
- for key, lbl in settings.CHIMERE_ROUTING_TRANSPORT])),
- views.route, name="route"),
+ url(r'^tinymce/', include('tinymce.urls')),
]
+urlpatterns += staticfiles_urlpatterns()
-if getattr(settings, 'HAYSTACK_SEARCH_ENGINE', None):
- from haystack.views import search_view_factory
- urlpatterns += [
- url(r'^search/?$', search_view_factory(
- view_class=SearchView,
- template='search/search_haystack.html',
- form_class=SearchForm
- ), name='search'),
- url(r'^search/autocomplete/$', views.autocomplete,
- name='autocomplete-search')
- ]
-else:
- urlpatterns += [
- url(r'^(?:(?P<area_name>[a-zA-Z0-9_-]+)/)?search/?$',
- views.SearchView.as_view(), name='search'),
- ]
urlpatterns += [
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?dyn/(?P<page_id>\w+)/$',
- views.extraPage, name='extra_page'),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?contact/?$',
- views.contactus, name="contact"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit/$', views.edit,
- name="edit"),
+ url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
+ url(r'^admin/', include(admin.site.urls)),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?dyn.css$',
+ views.DynCSS.as_view(), name="dyn-css"),
url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-marker/'
- r'(?P<submited>\w+)?$', views.editMarker, name="editmarker"),
+ r'(?P<submited>\w+)?$', views.editMarker, name="editmarker"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-marker-tab/'
+ r'(?P<submited>\w+)?$', views.editMarkerTab, name="edit-marker-tab"),
url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-marker/(?P<item_id>\w+)/'
- r'(?P<submited>\w+)?$', views.editMarker,
- name="editmarker-item"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-route/$',
- views.editRoute, name="editroute"),
+ r'(?P<submited>\w+)?$', views.editMarker, name="editmarker-item"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-route/$', views.editRoute,
+ name="editroute"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-route-tab/$', views.editRouteTab,
+ name="edit-route-tab"),
url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-route/(?P<item_id>\w+)/'
- r'(?P<submited>\w+)?$',
- views.editRoute, name="editroute-item"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-polygon/$',
- views.editPolygon, name="editpolygon"),
+ r'(?P<submited>\w+)?$',
+ views.editRoute, name="editroute-item"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-polygon/$', views.editPolygon,
+ name="editpolygon"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-polygon-tab/$',
+ views.editPolygonTab, name="edit-polygon-tab"),
url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-polygon/(?P<item_id>\w+)/'
- r'(?P<submited>\w+)?$',
- views.editPolygon, name="editpolygon-item"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getDetail/'
- r'(?P<key>[a-zA-Z_-]*\d+)/?$',
- views.getDetail, name="get_detail"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getDetail/popup/'
- r'(?P<key>[a-zA-Z_-]*\d+)/?$',
- views.getDetail, {'popup': True}, name="get_detail"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getDetail/undefined',
- views.getDetailUndefined, name="get_detail_undefined"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getDescriptionDetail/'
- r'?(?P<category_id>\d+)/?$', views.getDescriptionDetail,
- name="get_description_detail"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getGeoObjects/'
- r'(?P<category_ids>[a-zA-Z0-9_-]+)(/(?P<status>\w+))?$',
- views.getGeoObjects, name="getgeoobjects"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?get-marker/'
- r'(?P<pk>[0-9]+)$', views.getMarker, name="get-marker"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getAvailableCategories/$',
- views.get_available_categories, name="get_categories"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getAllCategories/$',
- views.get_all_categories, name="get_all_categories"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getCategory/(?P<category_id>\d+)/?$',
- views.getCategory, name="get_category"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]*/)?get-share-url/(?:(?P<network>\w+)/'
- r'(?:(?P<attrs>[a-zA-Z0-9_;.:-]+))?)?/?$',
- views.getShareUrl, name="get-share-url"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]*/)?ty/(?P<tiny_urn>\w+)$',
- views.redirectFromTinyURN, name="tiny"),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?upload_file/'
- r'((?P<category_id>\w+)/)?$', views.uploadFile,
- name='upload_file'),
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?process_route_file/'
- r'(?P<file_id>\d+)/$', views.processRouteFile,
- name='process_route_file'),
- url(r'^(?:(?P<area_name>[a-zA-Z0-9_-]*)/)?categories/$',
- CategoryDirectoryView.as_view(), name='category-directory'),
- url(r'^(?:(?P<area_name>[a-zA-Z0-9_-]*)/)?categories/'
- r'(?P<category_slug>[a-zA-Z0-9_-]+)$',
- CategoryView.as_view(), name='category-directory-detail'),
- url(r'^(?:(?P<area_name>[a-zA-Z0-9_-]*)/)?property-choices/'
- r'(?P<property_slug>[a-zA-Z0-9_-]+)/$',
- views.property_choice_list, name='property-choices'),
-]
-
-if settings.PROJECT_APP == "chimere_example_project":
- urlpatterns += [
- url(r'^(?P<area_name>[a-zA-Z0-9_-]+)?', views.index,
- name="index"),
- ]
+ r'(?P<submited>\w+)?$',
+ views.editPolygon, name="editpolygon-item"),
+ url(r'^', include('chimere.urls_chimere', namespace="chimere")),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+)?', views.index,
+ name="index"),
+] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
+
diff --git a/chimere/urls_chimere.py b/chimere/urls_chimere.py
new file mode 100644
index 0000000..96de01a
--- /dev/null
+++ b/chimere/urls_chimere.py
@@ -0,0 +1,158 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (C) 2008-2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# See the file COPYING for details.
+
+from django.conf import settings
+from django.conf.urls import url
+from django.contrib import admin
+from django.core.exceptions import ImproperlyConfigured
+
+from chimere import views
+from chimere.forms import SearchForm
+from chimere.views import CategoryDirectoryView, CategoryView, SearchView
+from chimere.feeds import LatestPOIsByCategory, LatestPOIsBySubCategory, \
+ LatestPOIs, LatestPOIsByZone, LatestPOIsByZoneID
+
+
+def i18n_javascript(request):
+ return admin.site.i18n_javascript(request)
+
+
+urlpatterns = [
+ url(r'^status/$', views.status, name='status'),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?simple$', views.index,
+ {'simple': True}, name="simple_index")
+]
+
+if settings.CHIMERE_FEEDS:
+ urlpatterns += [
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds$', views.rss,
+ name='feeds-form'),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds/category/'
+ r'(?P<category_id>\d+)$',
+ LatestPOIsByCategory(), name='feeds-cat'),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds/subcategory/'
+ r'(?P<category_id>\d+)$',
+ LatestPOIsBySubCategory(), name='feeds-subcat'),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds/global/$', LatestPOIs(),
+ name='feeds-global'),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds/area/(?P<area>[0-9-_.]+)$',
+ LatestPOIsByZone(), name='feeds-area'),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?feeds/areaid/(?P<area_id>\d+)$',
+ LatestPOIsByZoneID(), name='feeds-areaid'),
+ ]
+
+if hasattr(settings, 'CHIMERE_ENABLE_ROUTING') \
+ and settings.CHIMERE_ENABLE_ROUTING:
+ if not hasattr(settings, 'CHIMERE_ROUTING_TRANSPORT') \
+ or not settings.CHIMERE_ROUTING_TRANSPORT:
+ raise ImproperlyConfigured(u"CHIMERE_ROUTING_TRANSPORT must be set in"
+ u" settings if you enable routing")
+ urlpatterns += [
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]*/)?route/'
+ r'(?P<transport>(%s))/((?P<speed>[0-9][0-9]*)/)?'
+ r'(?P<lon1>[-]?[0-9]+[.]?[0-9]*)_(?P<lat1>[-]?[0-9]+[.]?[0-9]*)_'
+ r'(?P<lonlat_steps>([-]?[0-9]+[.]?[0-9]*_[-]?[0-9]+[.]?[0-9]*_)*)'
+ r'(?P<lon2>[-]?[0-9]+[.]?[0-9]*)_(?P<lat2>[-]?[0-9]+[.]?[0-9]*)$' %
+ ('|'.join([key
+ for key, lbl in settings.CHIMERE_ROUTING_TRANSPORT])),
+ views.route, name="route"),
+ ]
+
+
+if getattr(settings, 'HAYSTACK_SEARCH_ENGINE', None):
+ from haystack.views import search_view_factory
+ urlpatterns += [
+ url(r'^search/?$', search_view_factory(
+ view_class=SearchView,
+ template='search/search_haystack.html',
+ form_class=SearchForm
+ ), name='search'),
+ url(r'^search/autocomplete/$', views.autocomplete,
+ name='autocomplete-search')
+ ]
+else:
+ urlpatterns += [
+ url(r'^(?:(?P<area_name>[a-zA-Z0-9_-]+)/)?search/?$',
+ views.SearchView.as_view(), name='search'),
+ ]
+
+urlpatterns += [
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?dyn/(?P<page_id>\w+)/$',
+ views.extraPage, name='extra_page'),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?contact/?$',
+ views.contactus, name="contact"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit/$', views.edit,
+ name="edit"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-marker/'
+ r'(?P<submited>\w+)?$', views.editMarker, name="editmarker"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-marker/(?P<item_id>\w+)/'
+ r'(?P<submited>\w+)?$', views.editMarker,
+ name="editmarker-item"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-route/$',
+ views.editRoute, name="editroute"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-route/(?P<item_id>\w+)/'
+ r'(?P<submited>\w+)?$',
+ views.editRoute, name="editroute-item"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-polygon/$',
+ views.editPolygon, name="editpolygon"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?edit-polygon/(?P<item_id>\w+)/'
+ r'(?P<submited>\w+)?$',
+ views.editPolygon, name="editpolygon-item"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getDetail/'
+ r'(?P<key>[a-zA-Z_-]*\d+)/?$',
+ views.getDetail, name="get_detail"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getDetail/popup/'
+ r'(?P<key>[a-zA-Z_-]*\d+)/?$',
+ views.getDetail, {'popup': True}, name="get_detail"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getDetail/undefined',
+ views.getDetailUndefined, name="get_detail_undefined"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getDescriptionDetail/'
+ r'?(?P<category_id>\d+)/?$', views.getDescriptionDetail,
+ name="get_description_detail"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getGeoObjects/'
+ r'(?P<category_ids>[a-zA-Z0-9_-]+)(/(?P<status>\w+))?$',
+ views.getGeoObjects, name="getgeoobjects"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?get-marker/'
+ r'(?P<pk>[0-9]+)$', views.getMarker, name="get-marker"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getAvailableCategories/$',
+ views.get_available_categories, name="get_categories"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getAllCategories/$',
+ views.get_all_categories, name="get_all_categories"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?getCategory/(?P<category_id>\d+)/?$',
+ views.getCategory, name="get_category"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]*/)?get-share-url/(?:(?P<network>\w+)/'
+ r'(?:(?P<attrs>[a-zA-Z0-9_;.:-]+))?)?/?$',
+ views.getShareUrl, name="get-share-url"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]*/)?ty/(?P<tiny_urn>\w+)$',
+ views.redirectFromTinyURN, name="tiny"),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?upload_file/'
+ r'((?P<category_id>\w+)/)?$', views.uploadFile,
+ name='upload_file'),
+ url(r'^(?P<area_name>[a-zA-Z0-9_-]+/)?process_route_file/'
+ r'(?P<file_id>\d+)/$', views.processRouteFile,
+ name='process_route_file'),
+ url(r'^(?:(?P<area_name>[a-zA-Z0-9_-]*)/)?categories/$',
+ CategoryDirectoryView.as_view(), name='category-directory'),
+ url(r'^(?:(?P<area_name>[a-zA-Z0-9_-]*)/)?categories/'
+ r'(?P<category_slug>[a-zA-Z0-9_-]+)$',
+ CategoryView.as_view(), name='category-directory-detail'),
+ url(r'^(?:(?P<area_name>[a-zA-Z0-9_-]*)/)?property-choices/'
+ r'(?P<property_slug>[a-zA-Z0-9_-]+)/$',
+ views.property_choice_list, name='property-choices'),
+]
diff --git a/chimere/views.py b/chimere/views.py
index 2dfb84e..932240c 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -165,7 +165,7 @@ def index(request, area_name=None, default_area=None, simple=False,
today = datetime.date.today().strftime('%y-%m-%d')
news_visible = False
if 'last_visit' not in request.session or \
- request.session['last_visit'] != today:
+ request.session['last_visit'] != today and request.GET:
request.session['last_visit'] = today
news_visible = True
response_dct, redir = get_base_response(request, area_name)
@@ -210,6 +210,9 @@ def index(request, area_name=None, default_area=None, simple=False,
'has_default_area': models.Area.objects.filter(default=True).count(),
'has_search': response_dct['area'].use_search if response_dct['area']
else None,
+ 'VERSION': get_version(),
+ 'extra_css': widgets.MultiSelectWidget.Media.EXTRA_CSS,
+ 'extra_js': widgets.MultiSelectWidget.Media.EXTRA_JS
})
if hasattr(settings, 'PROJECT_IMAGE') and settings.PROJECT_IMAGE:
response_dct['PROJECT_IMAGE'] = settings.PROJECT_IMAGE
@@ -512,11 +515,17 @@ def edit_page(get_edit, types, geom_name, widget, init_widget=True):
editMarker = edit_page(get_edit_marker, ['M', 'B'], 'marker',
- widgets.PointChooserWidget)
+ widgets.PointChooserWidget, init_widget=False)
+editMarkerTab = edit_page(get_edit_marker, ['M', 'B'], 'marker',
+ widgets.PointChooserWidget)
editRoute = edit_page(get_edit_route, ['R', 'B'], 'route',
- widgets.RouteChooserWidget)
+ widgets.RouteChooserWidget, init_widget=False)
+editRouteTab = edit_page(get_edit_route, ['R', 'B'], 'route',
+ widgets.RouteChooserWidget)
editPolygon = edit_page(get_edit_polygon, ['P'], 'polygon',
- widgets.PolygonChooserWidget)
+ widgets.PolygonChooserWidget, init_widget=False)
+editPolygonTab = edit_page(get_edit_polygon, ['P'], 'polygon',
+ widgets.PolygonChooserWidget)
def submited(request, area_name="", action=""):
@@ -1252,6 +1261,23 @@ def rss(request, area_name=''):
else:
return render(request, 'chimere/feeds/rss.html', response_dct)
+
+class DynCSS(TemplateView):
+ template_name = "chimere/dyn.css"
+ content_type = 'text/css'
+
+ def get_context_data(self, **kwargs):
+ context = super(DynCSS, self).get_context_data(**kwargs)
+ area, area_name = get_area(context['area_name'])
+ subcategories = models.SubCategory.getAvailable(None, area_name)
+ context['categories'] = []
+ for cat, subcat in subcategories:
+ color = "#888"
+ if cat.color:
+ color = cat.color
+ context['categories'].append((cat.pk, color))
+ return context
+
# from django.core.paginator import Paginator, InvalidPage
diff --git a/chimere/widgets.py b/chimere/widgets.py
index 0ace46f..bd25054 100644
--- a/chimere/widgets.py
+++ b/chimere/widgets.py
@@ -302,14 +302,11 @@ class TextareaAdminWidget(TextareaWidgetBase):
class DatePickerWidget(forms.TextInput):
"""
Manage the edition of dates.
- JQuery and Jquery-UI are already loaded by default so don't include
- them in Media files.
"""
def render(self, *args, **kwargs):
rendered = super(DatePickerWidget, self).render(*args, **kwargs)
rendered += "\n<script type='text/javascript'>\n"\
- " $(function() {$('#%s').datepicker("\
- "{ dateFormat: 'yy-mm-dd' });});\n"\
+ " $(function() {$('#%s').datepicker();});\n"\
"</script>\n" % kwargs['attrs']['id']
return mark_safe(rendered)
diff --git a/chimere_example_project/urls.py b/chimere_example_project/urls.py
index 367fa59..5271876 100644
--- a/chimere_example_project/urls.py
+++ b/chimere_example_project/urls.py
@@ -17,32 +17,13 @@
# See the file COPYING for details.
-from django.conf import settings
from django.conf.urls import url, include
from django.contrib import admin
-from django.contrib.staticfiles.urls import staticfiles_urlpatterns
-
-from django.views.static import serve
admin.autodiscover()
-urlpatterns = []
-if settings.DEBUG:
- urlpatterns += [
- url(r'^media/(?P<path>.*)$', serve, {
- 'document_root': settings.MEDIA_ROOT,
- }),
- ]
-
-if "tinymce" in settings.INSTALLED_APPS:
- urlpatterns += [
- url(r'^tinymce/', include('tinymce.urls')),
- ]
-
-urlpatterns += staticfiles_urlpatterns()
-urlpatterns += [
- url(r'^admin/', include(admin.site.urls)),
- url(r'^', include('chimere.urls', namespace="chimere")),
+urlpatterns = [
+ url(r'^', include('chimere.urls')),
]
diff --git a/settings.py b/settings.py
index 8344266..0978c01 100644
--- a/settings.py
+++ b/settings.py
@@ -13,7 +13,7 @@ DEBUG_TOOLBAR = False
SQL_DEBUG = False
ROOT_PATH = os.path.realpath(os.path.dirname(__file__)) + "/"
-MAIN_INDEX = "chimere:index"
+MAIN_INDEX = "index"
EXTRA_APPS = []
# Django settings for chimere project.