Merge branch 'dev' of git.auf.org:auf_savoirs_en_partage_django into dev
[auf_savoirs_en_partage_django.git] / auf_savoirs_en_partage / urls.py
1 # -*- encoding: utf-8 -*-
2
3 from django.conf import settings
4 from django.conf.urls import patterns, include, url
5 from django.conf.urls.static import static
6 from django.contrib import admin
7 from django.views.generic import TemplateView
8
9 from savoirs.rss import \
10 FilChercheurs, FilRessources, FilActualites, \
11 FilAppels, FilEvenements, FilSites, FilMessages
12
13 admin.autodiscover()
14
15 handler500 = "views.page_500"
16 handler404 = "views.page_404"
17
18 # Les URLs suivantes peuvent être préfixées de la discipline et/ou la
19 # région. Nous les regroupons donc dans un module qu'on incluera plus bas.
20 sep_patterns = patterns(
21 '',
22
23 # accueil
24 url(r'^$', 'savoirs.views.index', name='accueil'),
25
26 # recherche
27 url(r'^recherche/$', 'savoirs.views.recherche'),
28 )
29
30 urlpatterns = sep_patterns + patterns(
31 '',
32
33 url(r'^informations/$', 'savoirs.views.informations'),
34
35 # agenda
36 url(r'^agenda/$', 'savoirs.views.evenement_index', name='agenda'),
37 url(r'^agenda/evenements/(?P<id>\d+)/$', 'savoirs.views.evenement',
38 name='evenement'),
39 url(r'^agenda/evenements/moderer/$', 'savoirs.views.evenement_moderation'),
40 url(r'^agenda/evenements/moderer/(.+)/accepter/$',
41 'savoirs.views.evenement_accepter'),
42 url(r'^agenda/evenements/moderer/(.+)/refuser/$',
43 'savoirs.views.evenement_refuser'),
44 url(r'^agenda/evenements/utilisation/$', 'savoirs.views.page_statique',
45 kwargs={'id': 'conditions-agenda'}, name='conditions-agenda'),
46 url(r'^agenda/evenements/creer/$', 'savoirs.views.evenement_ajout',
47 name='evenement-ajout'),
48 url(r'^agenda/evenements/creer/options_fuseau_horaire/$',
49 'savoirs.views.options_fuseau_horaire'),
50
51 # sous-menu droite
52 url(r'^a-propos/$', 'savoirs.views.page_statique',
53 kwargs={'id': 'a-propos'}, name='a-propos'),
54 url(r'^aide/$', 'savoirs.views.page_statique',
55 kwargs={'id': 'aide'}, name='aide'),
56 url(r'^domaines-de-recherche/$', 'savoirs.views.page_statique',
57 kwargs={'id': 'domaines-de-recherche'}, name='domaines-de-recherche'),
58 url(r'^legal/$', 'savoirs.views.page_statique',
59 kwargs={'id': 'legal'}, name='legal'),
60 url(r'^nous-contacter/$', 'savoirs.views.page_statique',
61 kwargs={'id': 'contact'}, name='contact'),
62
63 # ressources
64 url(r'^ressources/$', 'savoirs.views.ressource_index', name='ressources'),
65 url(r'^ressources/(?P<id>\d+)/$', 'savoirs.views.ressource_retrieve',
66 name='ressource'),
67
68 # actualités
69 url(r'^actualites/$', 'savoirs.views.actualite_index', name='actualites'),
70 url(r'^actualites/(?P<id>\d+)/$', 'savoirs.views.actualite',
71 name='actualite'),
72 url(r'^appels/$', 'savoirs.views.actualite_index',
73 kwargs={'type': 'appels'}, name='appels'),
74
75 # sites
76 url(r'^sites/$', 'sitotheque.views.index', name='sites'),
77 url(r'^sites/(?P<id>\d+)/$', 'sitotheque.views.retrieve', name='site'),
78 url(r'^sites/google.xml$', 'sitotheque.views.config_google'),
79
80 # sites AUF
81 url(r'^sites-auf/$', 'savoirs.views.sites_auf', name='sites-auf'),
82
83 # chercheurs
84 url(r'^chercheurs/$', 'chercheurs.views.index', name='chercheurs'),
85 url(r'^chercheurs/(?P<id>\d+)/$', 'chercheurs.views.retrieve',
86 name='chercheur'),
87 url(r'^chercheurs/inscription/$', 'chercheurs.views.inscription',
88 name='inscription'),
89 url(r'^chercheurs/inscription_faite/$',
90 TemplateView.as_view(
91 template_name='chercheurs/inscription_faite.html'
92 ),
93 name='chercheurs-inscription-faite'),
94 url(r'^chercheurs/activation/(?P<id_base36>.*)/(?P<token>.*)/$',
95 'chercheurs.views.activation',
96 name='chercheurs-activation'),
97 url(r'^chercheurs/desinscription/$', 'chercheurs.views.desinscription'),
98 url(r'^chercheurs/perso/$', 'chercheurs.views.perso'),
99 url(r'^chercheurs/edit/$', 'chercheurs.views.edit'),
100 url(r'^chercheurs/conversion$', 'savoirs.views.page_statique',
101 kwargs={'id': 'table-de-passage'}, name='conversion'),
102 url(r'^chercheurs/connexion/$', 'chercheurs.views.login',
103 kwargs={'template_name': 'chercheurs/login.html'},
104 name='chercheurs-login'),
105 url(r'^chercheurs/deconnexion/$', 'django.contrib.auth.views.logout',
106 kwargs={'template_name': 'chercheurs/logged_out.html'},
107 name='chercheurs-logout'),
108 url(r'^chercheurs/changement-mdp/$', 'chercheurs.views.password_change',
109 kwargs={
110 'template_name': 'chercheurs/password_change_form.html',
111 'post_change_redirect': '/chercheurs/changement-mdp-fini/'
112 },
113 name='chercheurs-password-change'),
114 url(r'^chercheurs/changement-mdp-fini/$',
115 'django.contrib.auth.views.password_change_done',
116 kwargs={'template_name': 'chercheurs/password_change_done.html'},
117 name='chercheurs-password-change-done'),
118 url(r'^chercheurs/oubli-mdp/$', 'django.contrib.auth.views.password_reset',
119 kwargs={
120 'template_name': 'chercheurs/password_reset_form.html',
121 'email_template_name': 'chercheurs/password_reset_email.txt',
122 'post_reset_redirect': '/chercheurs/oubli-mdp-envoye/'
123 },
124 name='chercheurs-password-reset'),
125 url(r'^chercheurs/oubli-mdp-envoye/$',
126 'django.contrib.auth.views.password_reset_done',
127 kwargs={'template_name': 'chercheurs/password_reset_done.html'},
128 name='chercheurs-password-reset-done'),
129 url(r'^chercheurs/oubli-mdp-retour/(?P<uidb36>.*)/(?P<token>.*)/$',
130 'django.contrib.auth.views.password_reset_confirm',
131 kwargs={'template_name': 'chercheurs/password_reset_confirm.html'},
132 name='chercheurs-password-reset-confirm'),
133 url(r'^chercheurs/oubli-mdp-fini/$',
134 'django.contrib.auth.views.password_reset_complete',
135 kwargs={'template_name': 'chercheurs/password_reset_complete.html'}),
136 url(r'^etablissements/autocomplete/$',
137 'chercheurs.views.etablissements_autocomplete'),
138 url(r'^etablissements/autocomplete/(?P<pays>.*)/$',
139 'chercheurs.views.etablissements_autocomplete'),
140
141 # API chercheurs
142 url(r'^api/chercheurs/(?P<chercheur_id>\d+)/$', 'chercheurs.api.api'),
143 url(r'^api/chercheurs/pays/(?P<pays>.*)/$', 'chercheurs.api.api'),
144 url(r'^api/chercheurs/region/(?P<region>.*)/$', 'chercheurs.api.api'),
145 url(r'^api/chercheurs/recherche', 'chercheurs.api.recherche'),
146
147
148 # groupes
149 url(r'^groupes/$', 'chercheurs.views.groupe_index'),
150 url(r'^groupes/(?P<id>\d+)/$', 'chercheurs.views.groupe_retrieve',
151 name='groupe_retrieve'),
152 url(r'^groupes/(?P<id>\d+)/adhesion/$', 'chercheurs.views.groupe_adhesion',
153 name='groupe_adhesion'),
154 url(r'^groupes/(?P<id>\d+)/membres/$', 'chercheurs.views.groupe_membres',
155 name='groupe_membres'),
156 url(r'^groupes/(?P<id>\d+)/messages/$', 'chercheurs.views.groupe_messages',
157 name='groupe_messages'),
158
159 # section par discipline et/ou région
160 url(r'^discipline/(?P<discipline>\d+)/', include(sep_patterns)),
161 url(r'^region/(?P<region>\d+)/', include(sep_patterns)),
162 url(r'^discipline/(?P<discipline>\d+)/region/(?P<region>\d+)/',
163 include(sep_patterns)),
164
165 # traduction disponible dans le frontend sans permissons
166 url(r'^jsi18n/$', admin.site.i18n_javascript),
167
168 # Rappels
169 url(r'^admin/rappels/$', 'rappels.views.admin_rappels',
170 name='admin-rappels'),
171
172 # Admin
173 url(r'^admin_tools/', include('admin_tools.urls')),
174 url(r'^admin/', include(admin.site.urls)),
175 url(r'^admin/confirmation/(.*)', 'savoirs.admin_views.confirmation'),
176 url(r'^admin/assigner_pays', 'savoirs.admin_views.assigner_pays'),
177 url(r'^admin/assigner_thematiques',
178 'savoirs.admin_views.assigner_thematiques'),
179 url(r'^admin/assigner_categorie',
180 'savoirs.admin_views.assigner_categorie'),
181 url(r'^admin/assigner_cgstatut',
182 'chercheurs.admin_views.assigner_cgstatut'),
183 url(r'^admin/(?P<app_name>[^/]*)/(?P<model_name>[^/]*)/assigner_regions',
184 'savoirs.admin_views.assigner_regions',
185 name='assigner_regions'),
186 url(r'^admin/(?P<app_name>[^/]*)/(?P<model_name>[^/]*)/'
187 r'assigner_disciplines',
188 'savoirs.admin_views.assigner_disciplines',
189 name='assigner_disciplines'),
190 url(r'^admin/chercheurs/chercheur/export',
191 'chercheurs.admin_views.export'),
192 url(r'^admin/', include(admin.site.urls)),
193
194 # stats
195 url(r'^stats/$', 'savoirs.admin_views.stats', name='stats'),
196
197
198 # rss
199 url(r'^rss/chercheurs/$', FilChercheurs(), name='rss_chercheurs'),
200 url(r'^rss/ressources/$', FilRessources(), name='rss_ressources'),
201 url(r'^rss/actualites/$', FilActualites(), name='rss_actualites'),
202 url(r'^rss/appels/$', FilAppels(), name='rss_appels'),
203 url(r'^rss/agenda/$', FilEvenements(), name='rss_agenda'),
204 url(r'^rss/sites/$', FilSites(), name='rss_sites'),
205 url(r'^rss/messages/(?P<groupe_id>\d+)/$', FilMessages(),
206 name='rss_messages'),
207 url(r'^json/get/$', 'savoirs.views.json_get'),
208 url(r'^json/set/$', 'savoirs.views.json_set'),
209
210 # recherches sauvegardées
211 url(r'^recherches/$', 'savoirs.views.recherches', name='recherches'),
212 url(r'^recherches/(?P<type>[^/]*)/sauvegarder/$',
213 'savoirs.views.sauvegarder_recherche',
214 name='sauvegarder_recherche'),
215 url(r'^recherches/(?P<id>\d+)/supprimer/$',
216 'savoirs.views.supprimer_recherche',
217 name='supprimer_recherche'),
218 url(r'^recherches/(?P<id>\d+)/editer/$',
219 'savoirs.views.editer_recherche',
220 name='editer_recherche'),
221 url(r'^recherches/(?P<id>\d+)/activer-alerte/$',
222 'savoirs.views.activer_alerte',
223 name='activer_alerte'),
224 url(r'^recherches/(?P<id>\d+)/desactiver-alerte/$',
225 'savoirs.views.desactiver_alerte',
226 name='desactiver_alerte'),
227
228 # API Interface (FAUN)
229 url(r'^faun/auteurs/(?P<id>\d+)', 'interfaces.views.faun_auteurs',
230 name='faun_auteurs'),
231
232 # Django-selectable
233 (r'^djselectable/', include('selectable.urls')),
234 ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)