1 # -*- encoding: utf-8 -*-
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
9 from savoirs
.rss
import \
10 FilChercheurs
, FilRessources
, FilActualites
, \
11 FilAppels
, FilEvenements
, FilSites
, FilMessages
13 from chercheurs
.forms
import ReactiverForm
18 handler500
= "views.page_500"
19 handler404
= "views.page_404"
21 # Les URLs suivantes peuvent être préfixées de la discipline et/ou la
22 # région. Nous les regroupons donc dans un module qu'on incluera plus bas.
23 sep_patterns
= patterns(
27 url(r
'^$', 'savoirs.views.index', name
='accueil'),
30 url(r
'^recherche/$', 'savoirs.views.recherche'),
33 urlpatterns
= sep_patterns
+ patterns(
36 url(r
'^informations/$', 'savoirs.views.informations'),
39 url(r
'^agenda/$', 'savoirs.views.evenement_index', name
='agenda'),
40 url(r
'^agenda/evenements/(?P<id>\d+)/$', 'savoirs.views.evenement',
42 url(r
'^agenda/evenements/moderer/$', 'savoirs.views.evenement_moderation'),
43 url(r
'^agenda/evenements/moderer/(.+)/accepter/$',
44 'savoirs.views.evenement_accepter'),
45 url(r
'^agenda/evenements/moderer/(.+)/refuser/$',
46 'savoirs.views.evenement_refuser'),
47 url(r
'^agenda/evenements/utilisation/$', 'savoirs.views.page_statique',
48 kwargs
={'id': 'conditions-agenda'}, name
='conditions-agenda'),
49 url(r
'^agenda/evenements/creer/$', 'savoirs.views.evenement_ajout',
50 name
='evenement-ajout'),
51 url(r
'^agenda/evenements/creer/options_fuseau_horaire/$',
52 'savoirs.views.options_fuseau_horaire'),
55 url(r
'^a-propos/$', 'savoirs.views.page_statique',
56 kwargs
={'id': 'a-propos'}, name
='a-propos'),
57 url(r
'^aide/$', 'savoirs.views.page_statique',
58 kwargs
={'id': 'aide'}, name
='aide'),
59 url(r
'^domaines-de-recherche/$', 'savoirs.views.page_statique',
60 kwargs
={'id': 'domaines-de-recherche'}, name
='domaines-de-recherche'),
61 url(r
'^legal/$', 'savoirs.views.page_statique',
62 kwargs
={'id': 'legal'}, name
='legal'),
63 url(r
'^nous-contacter/$', 'savoirs.views.page_statique',
64 kwargs
={'id': 'contact'}, name
='contact'),
67 url(r
'^ressources/$', 'savoirs.views.ressource_index', name
='ressources'),
68 url(r
'^ressources/(?P<id>\d+)/$', 'savoirs.views.ressource_retrieve',
72 url(r
'^actualites/$', 'savoirs.views.actualite_index', name
='actualites'),
73 url(r
'^actualites/(?P<id>\d+)/$', 'savoirs.views.actualite',
75 url(r
'^appels/$', 'savoirs.views.actualite_index',
76 kwargs
={'type': 'appels'}, name
='appels'),
79 url(r
'^sites/$', 'sitotheque.views.index', name
='sites'),
80 url(r
'^sites/(?P<id>\d+)/$', 'sitotheque.views.retrieve', name
='site'),
81 url(r
'^sites/google.xml$', 'sitotheque.views.config_google'),
84 url(r
'^sites-auf/$', 'savoirs.views.sites_auf', name
='sites-auf'),
87 url(r
'^chercheurs/$', 'chercheurs.views.index', name
='chercheurs'),
88 url(r
'^chercheurs/(?P<id>\d+)/$', 'chercheurs.views.retrieve',
90 url(r
'^chercheurs/inscription/$', 'chercheurs.views.inscription',
92 url(r
'^chercheurs/inscription_faite/$',
94 template_name
='chercheurs/inscription_faite.html'
96 name
='chercheurs-inscription-faite'),
97 url(r
'^chercheurs/activation/(?P<id_base36>.*)/(?P<token>.*)/$',
98 'chercheurs.views.activation',
99 name
='chercheurs-activation'),
100 url(r
'^chercheurs/desinscription/$', 'chercheurs.views.desinscription'),
101 url(r
'^chercheurs/perso/$', 'chercheurs.views.perso'),
102 url(r
'^chercheurs/edit/$', 'chercheurs.views.edit'),
103 url(r
'^chercheurs/conversion$', 'savoirs.views.page_statique',
104 kwargs
={'id': 'table-de-passage'}, name
='conversion'),
106 url(r
'^chercheurs/connexion/$', 'chercheurs.views.login',
107 kwargs
={'template_name': 'chercheurs/login.html'},
108 name
='chercheurs-login'),
109 url(r
'^chercheurs/deconnexion/$', 'django.contrib.auth.views.logout',
110 kwargs
={'template_name': 'chercheurs/logged_out.html'},
111 name
='chercheurs-logout'),
113 url(r
'^chercheurs/changement-mdp/$', 'chercheurs.views.password_change',
115 'template_name': 'chercheurs/password_change_form.html',
116 'post_change_redirect': '/chercheurs/changement-mdp-fini/'
118 name
='chercheurs-password-change'),
119 url(r
'^chercheurs/changement-mdp-fini/$',
120 'django.contrib.auth.views.password_change_done',
121 kwargs
={'template_name': 'chercheurs/password_change_done.html'},
122 name
='chercheurs-password-change-done'),
124 # Oublié mot de passe
125 url(r
'^chercheurs/oubli-mdp/$', 'django.contrib.auth.views.password_reset',
127 'template_name': 'chercheurs/password_reset_form.html',
128 'email_template_name': 'chercheurs/password_reset_email.txt',
129 'post_reset_redirect': '/chercheurs/oubli-mdp-envoye/'
131 name
='chercheurs-password-reset'),
132 url(r
'^chercheurs/oubli-mdp-envoye/$',
133 'django.contrib.auth.views.password_reset_done',
134 kwargs
={'template_name': 'chercheurs/password_reset_done.html'},
135 name
='chercheurs-password-reset-done'),
136 url(r
'^chercheurs/oubli-mdp-retour/(?P<uidb36>.*)/(?P<token>.*)/$',
137 'django.contrib.auth.views.password_reset_confirm',
138 kwargs
={'template_name': 'chercheurs/password_reset_confirm.html'},
139 name
='chercheurs-password-reset-confirm'),
140 url(r
'^chercheurs/oubli-mdp-fini/$',
141 'django.contrib.auth.views.password_reset_complete',
142 kwargs
={'template_name': 'chercheurs/password_reset_complete.html'}),
145 url(r
'^chercheurs/reactiver/$', 'django.contrib.auth.views.password_reset',
147 'template_name': 'chercheurs/reactiver_form.html',
148 'email_template_name': 'chercheurs/reactiver_email.txt',
149 'post_reset_redirect': '/chercheurs/reactiver-envoye/'
151 name
='chercheurs-reactiver'),
152 url(r
'^chercheurs/reactiver-envoye/$',
153 'django.contrib.auth.views.password_reset_done',
154 kwargs
={'template_name': 'chercheurs/reactiver_done.html'},
155 name
='chercheurs-reactiver-done'),
156 url(r
'^chercheurs/reactiver-retour/(?P<uidb36>.*)/(?P<token>.*)/$',
157 'django.contrib.auth.views.password_reset_confirm',
158 kwargs
={'template_name': 'chercheurs/reactiver_confirm.html',
159 'set_password_form': ReactiverForm
},
160 name
='chercheurs-reactiver-confirm'),
161 url(r
'^chercheurs/reactiver-fini/$',
162 'django.contrib.auth.views.password_reset_complete',
163 kwargs
={'template_name': 'chercheurs/reactiver_complete.html'}),
166 url(r
'^etablissements/autocomplete/$',
167 'chercheurs.views.etablissements_autocomplete'),
168 url(r
'^etablissements/autocomplete/(?P<pays>.*)/$',
169 'chercheurs.views.etablissements_autocomplete'),
172 url(r
'^api/chercheurs/(?P<chercheur_id>\d+)/$', 'chercheurs.api.api'),
173 url(r
'^api/chercheurs/pays/(?P<pays>.*)/$', 'chercheurs.api.api'),
174 url(r
'^api/chercheurs/region/(?P<region>.*)/$', 'chercheurs.api.api'),
175 url(r
'^api/chercheurs/recherche', 'chercheurs.api.recherche'),
178 url(r
'^api/pong/', include('auf.django.pong.urls')),
182 url(r
'^groupes/$', 'chercheurs.views.groupe_index'),
183 url(r
'^groupes/(?P<id>\d+)/$', 'chercheurs.views.groupe_retrieve',
184 name
='groupe_retrieve'),
185 url(r
'^groupes/(?P<id>\d+)/adhesion/$', 'chercheurs.views.groupe_adhesion',
186 name
='groupe_adhesion'),
187 url(r
'^groupes/(?P<id>\d+)/membres/$', 'chercheurs.views.groupe_membres',
188 name
='groupe_membres'),
189 url(r
'^groupes/(?P<id>\d+)/messages/$', 'chercheurs.views.groupe_messages',
190 name
='groupe_messages'),
192 # section par discipline et/ou région
193 url(r
'^discipline/(?P<discipline>\d+)/', include(sep_patterns
)),
194 url(r
'^region/(?P<region>\d+)/', include(sep_patterns
)),
195 url(r
'^discipline/(?P<discipline>\d+)/region/(?P<region>\d+)/',
196 include(sep_patterns
)),
198 # traduction disponible dans le frontend sans permissons
199 url(r
'^jsi18n/$', admin
.site
.i18n_javascript
),
202 url(r
'^admin/rappels/$', 'rappels.views.admin_rappels',
203 name
='admin-rappels'),
206 url(r
'^admin_tools/', include('admin_tools.urls')),
207 url(r
'^admin/', include(admin
.site
.urls
)),
208 url(r
'^admin/confirmation/(.*)', 'savoirs.admin_views.confirmation'),
209 url(r
'^admin/assigner_pays', 'savoirs.admin_views.assigner_pays'),
210 url(r
'^admin/assigner_thematiques',
211 'savoirs.admin_views.assigner_thematiques'),
212 url(r
'^admin/assigner_categorie',
213 'savoirs.admin_views.assigner_categorie'),
214 url(r
'^admin/assigner_cgstatut',
215 'chercheurs.admin_views.assigner_cgstatut'),
216 url(r
'^admin/(?P<app_name>[^/]*)/(?P<model_name>[^/]*)/assigner_regions',
217 'savoirs.admin_views.assigner_regions',
218 name
='assigner_regions'),
219 url(r
'^admin/(?P<app_name>[^/]*)/(?P<model_name>[^/]*)/'
220 r
'assigner_disciplines',
221 'savoirs.admin_views.assigner_disciplines',
222 name
='assigner_disciplines'),
223 url(r
'^admin/chercheurs/chercheur/export',
224 'chercheurs.admin_views.export'),
225 url(r
'^admin/', include(admin
.site
.urls
)),
228 url(r
'^stats/$', 'savoirs.admin_views.stats', name
='stats'),
232 url(r
'^rss/chercheurs/$', FilChercheurs(), name
='rss_chercheurs'),
233 url(r
'^rss/ressources/$', FilRessources(), name
='rss_ressources'),
234 url(r
'^rss/actualites/$', FilActualites(), name
='rss_actualites'),
235 url(r
'^rss/appels/$', FilAppels(), name
='rss_appels'),
236 url(r
'^rss/agenda/$', FilEvenements(), name
='rss_agenda'),
237 url(r
'^rss/sites/$', FilSites(), name
='rss_sites'),
238 url(r
'^rss/messages/(?P<groupe_id>\d+)/$', FilMessages(),
239 name
='rss_messages'),
240 url(r
'^json/get/$', 'savoirs.views.json_get'),
241 url(r
'^json/set/$', 'savoirs.views.json_set'),
243 # recherches sauvegardées
244 url(r
'^recherches/$', 'savoirs.views.recherches', name
='recherches'),
245 url(r
'^recherches/(?P<type>[^/]*)/sauvegarder/$',
246 'savoirs.views.sauvegarder_recherche',
247 name
='sauvegarder_recherche'),
248 url(r
'^recherches/(?P<id>\d+)/supprimer/$',
249 'savoirs.views.supprimer_recherche',
250 name
='supprimer_recherche'),
251 url(r
'^recherches/(?P<id>\d+)/editer/$',
252 'savoirs.views.editer_recherche',
253 name
='editer_recherche'),
254 url(r
'^recherches/(?P<id>\d+)/activer-alerte/$',
255 'savoirs.views.activer_alerte',
256 name
='activer_alerte'),
257 url(r
'^recherches/(?P<id>\d+)/desactiver-alerte/$',
258 'savoirs.views.desactiver_alerte',
259 name
='desactiver_alerte'),
261 # API Interface (FAUN)
262 url(r
'^faun/auteurs/(?P<id>\d+)', 'interfaces.views.faun_auteurs',
263 name
='faun_auteurs'),
266 (r
'^djselectable/', include('selectable.urls')),
269 url(r
'^(?P<id>.*)/$', 'savoirs.views.page_statique'),
271 ) + static(settings
.MEDIA_URL
, document_root
=settings
.MEDIA_ROOT
)