api recherche
[auf_savoirs_en_partage_django.git] / auf_savoirs_en_partage / urls.py
CommitLineData
f8c16b3d 1# -*- encoding: utf-8 -*-
bae03b7b 2
1e28a70a 3from django.conf.urls.defaults import patterns, include, handler500, handler404, url
155a7c62
CR
4from django.conf import settings
5from django.contrib import admin
bf2904f0 6from savoirs.rss import FilChercheurs, FilRessources, FilActualites, FilAppels, FilEvenements, FilSites, FilMessages
155a7c62
CR
7admin.autodiscover()
8
1e28a70a 9handler500 = "views.page_500"
10handler404 = "views.page_404"
155a7c62 11
bae03b7b
EMS
12# Les URLs suivantes peuvent être préfixées de la discipline et/ou la
13# région. Nous les regroupons donc dans un module qu'on incluera plus bas.
14sep_patterns = patterns(
155a7c62 15 '',
713e8613 16
bae03b7b 17 # accueil
2af3293d 18 (r'^$', 'savoirs.views.index', {}, 'accueil'),
f24e513e 19
f8c16b3d 20 # recherche
92c7413b 21 (r'^recherche/$', 'savoirs.views.recherche'),
f0692c02
EMS
22)
23
24urlpatterns = sep_patterns + patterns(
25 '',
26
27 (r'^informations/$', 'savoirs.views.informations'),
28
29 # agenda
2af3293d 30 (r'^agenda/$', 'savoirs.views.evenement_index', {}, 'agenda'),
230671ff 31 (r'^agenda/evenements/(?P<id>\d+)/$', 'savoirs.views.evenement', {}, 'evenement'),
f0692c02
EMS
32 (r'^agenda/evenements/moderer/$', 'savoirs.views.evenement_moderation'),
33 (r'^agenda/evenements/moderer/(.+)/accepter/$', 'savoirs.views.evenement_accepter'),
34 (r'^agenda/evenements/moderer/(.+)/refuser/$', 'savoirs.views.evenement_refuser'),
f09bc1c6 35 (r'^agenda/evenements/utilisation/$', 'savoirs.views.page_statique', dict(id='conditions-agenda'), 'conditions-agenda'),
2af3293d 36 (r'^agenda/evenements/creer/$', 'savoirs.views.evenement_ajout', {}, 'evenement-ajout'),
1719bf4e 37 (r'^agenda/evenements/creer/options_fuseau_horaire/$', 'savoirs.views.options_fuseau_horaire'),
f0692c02
EMS
38
39 # sous-menu droite
f09bc1c6
EMS
40 (r'^a-propos/$', 'savoirs.views.page_statique', dict(id='a-propos'), 'a-propos'),
41 (r'^aide/$', 'savoirs.views.page_statique', dict(id='aide'), 'aide'),
42 (r'^domaines-de-recherche/$', 'savoirs.views.page_statique', dict(id='domaines-de-recherche'), 'domaines-de-recherche'),
43 (r'^legal/$', 'savoirs.views.page_statique', dict(id='legal'), 'legal'),
44 (r'^nous-contacter/$', 'savoirs.views.page_statique', dict(id='contact'), 'contact'),
c1b134f8 45
f8c16b3d 46 # ressources
2af3293d 47 (r'^ressources/$', 'savoirs.views.ressource_index', {}, 'ressources'),
230671ff 48 (r'^ressources/(?P<id>\d+)/$', 'savoirs.views.ressource_retrieve', {}, 'ressource'),
f0692c02 49
f8c16b3d 50 # actualités
011804bb
EMS
51 (r'^actualites/$', 'savoirs.views.actualite_index', {}, 'actualites'),
52 (r'^actualites/(?P<id>\d+)/$', 'savoirs.views.actualite', {}, 'actualite'),
53 (r'^appels/$', 'savoirs.views.actualite_index', dict(type='appels'), 'appels'),
c1b134f8 54
f0692c02 55 # sites
2af3293d 56 (r'^sites/$', 'sitotheque.views.index', {}, 'sites'),
230671ff 57 (r'^sites/(?P<id>\d+)/$', 'sitotheque.views.retrieve', {}, 'site'),
fc2908e4 58 (r'^sites/google.xml$', 'sitotheque.views.config_google'),
f0692c02
EMS
59
60 # sites AUF
2af3293d 61 (r'^sites-auf/$', 'savoirs.views.sites_auf', {}, 'sites-auf'),
f8c16b3d 62
63 # chercheurs
2af3293d 64 (r'^chercheurs/$', 'chercheurs.views.index', {}, 'chercheurs'),
230671ff 65 (r'^chercheurs/(?P<id>\d+)/$', 'chercheurs.views.retrieve', {}, 'chercheur'),
2af3293d 66 (r'^chercheurs/inscription/$', 'chercheurs.views.inscription', {}, 'inscription'),
43ed73e7
EMS
67 (r'^chercheurs/inscription_faite/$', 'django.views.generic.simple.direct_to_template', dict(
68 template='chercheurs/inscription_faite.html'
69 ), 'chercheurs-inscription-faite'),
70 (r'^chercheurs/activation/(?P<id_base36>.*)/(?P<token>.*)/$', 'chercheurs.views.activation', {}, 'chercheurs-activation'),
8baa2a56 71 (r'^chercheurs/desinscription/$', 'chercheurs.views.desinscription'),
9af73c99 72 (r'^chercheurs/perso/$', 'chercheurs.views.perso'),
b3e1079e 73 (r'^chercheurs/edit/$', 'chercheurs.views.edit'),
f09bc1c6 74 (r'^chercheurs/conversion$', 'savoirs.views.page_statique', dict(id='table-de-passage'), 'conversion'),
fa6a2a07 75 (r'^chercheurs/connexion/$', 'chercheurs.views.login', dict(
d4736474
EMS
76 template_name='chercheurs/login.html'
77 ), 'chercheurs-login'),
78 (r'^chercheurs/deconnexion/$', 'django.contrib.auth.views.logout', dict(
79 template_name='chercheurs/logged_out.html'
80 ), 'chercheurs-logout'),
b0609188 81 (r'^chercheurs/changement-mdp/$', 'chercheurs.views.password_change', dict(
d4736474
EMS
82 template_name='chercheurs/password_change_form.html',
83 post_change_redirect='/chercheurs/changement-mdp-fini/'
84 ), 'chercheurs-password-change'),
85 (r'^chercheurs/changement-mdp-fini/$', 'django.contrib.auth.views.password_change_done', dict(
86 template_name='chercheurs/password_change_done.html'
87 ), 'chercheurs-password-change-done'),
88 (r'^chercheurs/oubli-mdp/$', 'django.contrib.auth.views.password_reset', dict(
89 template_name='chercheurs/password_reset_form.html',
90 email_template_name='chercheurs/password_reset_email.txt',
91 post_reset_redirect='/chercheurs/oubli-mdp-envoye/'
92 ), 'chercheurs-password-reset'),
93 (r'^chercheurs/oubli-mdp-envoye/$', 'django.contrib.auth.views.password_reset_done', dict(
94 template_name='chercheurs/password_reset_done.html'
95 ), 'chercheurs-password-reset-done'),
96 (r'^chercheurs/oubli-mdp-retour/(?P<uidb36>.*)/(?P<token>.*)/$', 'django.contrib.auth.views.password_reset_confirm', dict(
97 template_name='chercheurs/password_reset_confirm.html'
98 ), 'chercheurs-password-reset-confirm'),
99 (r'^chercheurs/oubli-mdp-fini/$', 'django.contrib.auth.views.password_reset_complete', dict(
100 template_name='chercheurs/password_reset_complete.html'
101 )),
219710da 102 (r'^etablissements/autocomplete/$', 'chercheurs.views.etablissements_autocomplete'),
e836f6f7 103 (r'^etablissements/autocomplete/(?P<pays>.*)/$', 'chercheurs.views.etablissements_autocomplete'),
9af73c99 104
bf563475 105 # API chercheurs
776eadeb 106 (r'^api/chercheurs/(?P<chercheur_id>\d+)/$', 'chercheurs.api.api'),
5b3ac131 107 (r'^api/chercheurs/pays/(?P<pays>.*)/$', 'chercheurs.api.api'),
ebde48e0 108 (r'^api/chercheurs/region/(?P<region>.*)/$', 'chercheurs.api.api'),
f41337c8 109 (r'^api/chercheurs/recherche', 'chercheurs.api.recherche' ),
bf563475
NBV
110
111
cdaadee3
PP
112 # groupes
113 (r'^groupes/$', 'chercheurs.views.groupe_index'),
bf2904f0 114 url(r'^groupes/(?P<id>\d+)/$', 'chercheurs.views.groupe_retrieve', name='groupe_retrieve'),
0eb2476e 115 url(r'^groupes/(?P<id>\d+)/adhesion/$', 'chercheurs.views.groupe_adhesion', name='groupe_adhesion'),
ddf7e62e 116 url(r'^groupes/(?P<id>\d+)/membres/$', 'chercheurs.views.groupe_membres', name='groupe_membres'),
c8d6b979 117 url(r'^groupes/(?P<id>\d+)/messages/$', 'chercheurs.views.groupe_messages', name='groupe_messages'),
cdaadee3 118
bae03b7b
EMS
119 # section par discipline et/ou région
120 (r'^discipline/(?P<discipline>\d+)/', include(sep_patterns)),
121 (r'^region/(?P<region>\d+)/', include(sep_patterns)),
122 (r'^discipline/(?P<discipline>\d+)/region/(?P<region>\d+)/', include(sep_patterns)),
123
124 # traduction disponible dans le frontend sans permissons
125 url(r'^jsi18n/$', admin.site.i18n_javascript,),
126
c4312cce
PP
127 # Rappels
128 (r'^admin/rappels/$', 'rappels.views.admin_rappels', {}, 'admin-rappels'),
129
130 # Admin
bae03b7b
EMS
131 url(r'^admin_tools/', include('admin_tools.urls')),
132 (r'^admin/', include(admin.site.urls)),
133 (r'^admin/confirmation/(.*)', 'savoirs.admin_views.confirmation'),
134 (r'^admin/assigner_pays', 'savoirs.admin_views.assigner_pays'),
135 (r'^admin/assigner_thematiques', 'savoirs.admin_views.assigner_thematiques'),
656b9c0f 136 (r'^admin/assigner_categorie', 'savoirs.admin_views.assigner_categorie'),
1fd4a630 137 (r'^admin/assigner_cgstatut', 'chercheurs.admin_views.assigner_cgstatut'),
bae03b7b
EMS
138 (r'^admin/(?P<app_name>[^/]*)/(?P<model_name>[^/]*)/assigner_regions', 'savoirs.admin_views.assigner_regions', {}, 'assigner_regions'),
139 (r'^admin/(?P<app_name>[^/]*)/(?P<model_name>[^/]*)/assigner_disciplines', 'savoirs.admin_views.assigner_disciplines', {}, 'assigner_disciplines'),
66386d77 140 (r'^admin/chercheurs/chercheur/export', 'chercheurs.admin_views.export'),
bae03b7b
EMS
141 (r'^admin/(.*)', admin.site.root),
142
9c29b8d4
EMS
143 # stats
144 (r'^stats/$', 'savoirs.admin_views.stats', {}, 'stats'),
bae03b7b 145
c4312cce 146
bae03b7b 147 # rss
7ed3ee8f
EMS
148 (r'^rss/chercheurs/$', FilChercheurs(), {}, 'rss_chercheurs'),
149 (r'^rss/ressources/$', FilRessources(), {}, 'rss_ressources'),
150 (r'^rss/actualites/$', FilActualites(), {}, 'rss_actualites'),
151 (r'^rss/appels/$', FilAppels(), {}, 'rss_appels'),
152 (r'^rss/agenda/$', FilEvenements(), {}, 'rss_agenda'),
153 (r'^rss/sites/$', FilSites(), {}, 'rss_sites'),
bf2904f0 154 (r'^rss/messages/(?P<groupe_id>\d+)/$', FilMessages(), {}, 'rss_messages'),
f8c16b3d 155 (r'^json/get/$', 'savoirs.views.json_get'),
156 (r'^json/set/$', 'savoirs.views.json_set'),
1719bf4e 157
fdcf5874
EMS
158 # recherches sauvegardées
159 (r'^recherches/$', 'savoirs.views.recherches', {}, 'recherches'),
160 (r'^recherches/(?P<type>[^/]*)/sauvegarder/$', 'savoirs.views.sauvegarder_recherche', {}, 'sauvegarder_recherche'),
161 (r'^recherches/(?P<id>\d+)/supprimer/$', 'savoirs.views.supprimer_recherche', {}, 'supprimer_recherche'),
162 (r'^recherches/(?P<id>\d+)/editer/$', 'savoirs.views.editer_recherche', {}, 'editer_recherche'),
4b89a7df
EMS
163 (r'^recherches/(?P<id>\d+)/activer-alerte/$', 'savoirs.views.activer_alerte', {}, 'activer_alerte'),
164 (r'^recherches/(?P<id>\d+)/desactiver-alerte/$', 'savoirs.views.desactiver_alerte', {}, 'desactiver_alerte'),
b8af106e
PP
165
166 # API Interface (FAUN)
167 (r'^faun/auteurs/(?P<id>\d+)', 'interfaces.views.faun_auteurs', {}, 'faun_auteurs'),
57004576
PP
168
169 # Django-selectable
170 (r'^djselectable/', include('selectable.urls')),
155a7c62
CR
171)
172
173if settings.DEBUG:
174 urlpatterns += patterns('',
175 (r'^media/(?P<path>.*)$', 'django.views.static.serve',
176 {'document_root': settings.MEDIA_ROOT}),
177 )