This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
polynum/polynum/urls.py

65 lines
2.6 KiB
Python

from django.conf import settings
from django.conf.urls import patterns, include, url
from django.core.urlresolvers import reverse_lazy
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
from django.contrib.auth.decorators import login_required, user_passes_test
admin.autodiscover()
from utils import decorated_includes
import request.urls
import delegation.urls
from base.decorators import combine_decorators, user_has_validated_cgu
request_decorator = combine_decorators(
login_required,
user_passes_test(user_has_validated_cgu,
login_url=reverse_lazy('cgu-view')))
urlpatterns = patterns('',
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin_tools/', include('admin_tools.urls')), # django-admin-tools
url(r'^admin/', include(admin.site.urls)),
url(r'^request/',
decorated_includes(request_decorator, include(request.urls.urlpatterns))),
url(r'^delegation/',
decorated_includes(request_decorator, include(delegation.urls.urlpatterns))),
url(r'^', include('polynum.pages.urls')),
url(r'^', include('polynum.entity.urls')),
url(r'^oai/', include('polynum.oai.urls')),
url(r'^editor/', include('polynum.editor.urls')),
url(r'^su/(?P<username>.*)/$', 'polynum.base.views.su', {'redirect_url': '/'}),
url(r'^cgu/$', 'polynum.base.views.cgu', name='cgu-view'),
url(r'^public-document/(?P<pk>\d*)/$',
'polynum.base.views.public_document', name='public-document'),
url(r'^public-document/(?P<pk>\d*)/(?P<name>.*)$',
'polynum.base.views.public_document', name='public-document-with-name')
)
if 'polynum.base.backends.CASBackend' in settings.AUTHENTICATION_BACKENDS:
urlpatterns += patterns('',
url(r'^accounts/login/$', 'django_cas.views.login', name='login'),
url(r'^accounts/logout/$', 'django_cas.views.logout', name='logout'),
)
else:
urlpatterns += patterns('',
url(r'^accounts/login/$', 'django.contrib.auth.views.login',
{'template_name': 'login.html'} if not settings.CAS_SERVER_URL else {}, name='login'),
url(r'^accounts/logout/$', 'django.contrib.auth.views.logout',
{'template_name': 'logout.html'} if not settings.CAS_SERVER_URL else {}, name='logout'),
)
# handle static files directly -- useless in production
urlpatterns += patterns('',
url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.STATIC_ROOT,
}),
)