SciPost Code Repository

Skip to content
Snippets Groups Projects
urls.py 3.92 KiB
Newer Older
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"


from django.conf import settings
Jorran de Wit's avatar
Jorran de Wit committed
from django.contrib.auth.decorators import login_required
Jean-Sébastien Caux's avatar
Jean-Sébastien Caux committed
from django.conf.urls import include, url
from django.conf.urls.static import static
Jean-Sébastien Caux's avatar
Jean-Sébastien Caux committed
from django.contrib import admin
from django.urls import path
# from rest_framework import routers
from journals.regexes import JOURNAL_DOI_LABEL_REGEX
from scipost import views as scipost_views
from organizations.views import OrganizationListView

Jorran de Wit's avatar
Jorran de Wit committed
# Journal URL Regex
JOURNAL_REGEX = '(?P<doi_label>%s)' % JOURNAL_DOI_LABEL_REGEX
Jorran de Wit's avatar
Jorran de Wit committed

Jorran de Wit's avatar
Jorran de Wit committed
# Disable admin login view which is essentially a 2FA workaround.
admin.site.login = login_required(admin.site.login)
Jorran de Wit's avatar
Jorran de Wit committed

# Base URLs
Jean-Sébastien Caux's avatar
Jean-Sébastien Caux committed
urlpatterns = [

    path('o/', include('oauth2_provider.urls', namespace='oauth2_provider')),
    url(r'^sitemap.xml$', scipost_views.sitemap_xml, name='sitemap_xml'),
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
    url(r'^api/', include('api.urls', namespace='api')),
    url(r'^10.21468/%s/' % JOURNAL_REGEX,
        include('journals.urls.journal', namespace="prefixed_journal")),
    url(r'^%s/' % JOURNAL_REGEX, include('journals.urls.journal', namespace="journal")),
    url(r'^', include('scipost.urls', namespace="scipost")),
    url(r'^careers/', include('careers.urls', namespace="careers")),
Jorran de Wit's avatar
Jorran de Wit committed
    url(r'^colleges/', include('colleges.urls', namespace="colleges")),
    url(r'^commentaries/', include('commentaries.urls', namespace="commentaries")),
    url(r'^commentary/', include('commentaries.urls', namespace="_commentaries")),
    url(r'^comments/', include('comments.urls', namespace="comments")),
Jean-Sébastien Caux's avatar
Jean-Sébastien Caux committed
    url(r'^forums/', include('forums.urls', namespace="forums")),
    url(r'^funders/', include('funders.urls', namespace="funders")),
Jorran de Wit's avatar
Jorran de Wit committed
    url(r'^finances/', include('finances.urls', namespace="finances")),
    url(r'^guides/', include('guides.urls', namespace="guides")),
    url(r'^helpdesk/', include('helpdesk.urls', namespace="helpdesk")),
Jorran de Wit's avatar
Jorran de Wit committed
    url(r'^invitations/', include('invitations.urls', namespace="invitations")),
    url(r'^journals/', include('journals.urls.general', namespace="journals")),
    url(r'^mailing_list/', include('mailing_lists.urls', namespace="mailing_lists")),
    url(r'^markup/', include('markup.urls', namespace='markup')),
    url(r'^submissions/', include('submissions.urls', namespace="submissions")),
    url(r'^submission/', include('submissions.urls', namespace="_submissions")),
    url(r'^theses/', include('theses.urls', namespace="theses")),
    url(r'^thesis/', include('theses.urls', namespace="_theses")),
Jorran de Wit's avatar
Jorran de Wit committed
    url(r'^mails/', include('mails.urls', namespace="mails")),
    url(r'^news/', include('news.urls', namespace="news")),
    url(r'^ontology/', include('ontology.urls', namespace="ontology")),
    url(r'^organizations/', include('organizations.urls', namespace="organizations")),
Jean-Sébastien Caux's avatar
Jean-Sébastien Caux committed
    url(r'^petitions/', include('petitions.urls', namespace="petitions")),
Jorran de Wit's avatar
Jorran de Wit committed
    url(r'^preprints/', include('preprints.urls', namespace="preprints")),
Jorran de Wit's avatar
Jorran de Wit committed
    url(r'^proceedings/', include('proceedings.urls', namespace="proceedings")),
    url(r'^production/', include('production.urls', namespace="production")),
    url(r'^profiles/', include('profiles.urls', namespace="profiles")),
    url(r'^security/', include('security.urls', namespace="security")),
    url(r'^series/', include('series.urls', namespace="series")),
    url(r'^sponsors/', include('sponsors.urls', namespace="sponsors")),
    url(r'^stats/', include('stats.urls', namespace="stats")),
    # Deprecated, keep temporarily for historical reasons
    url(r'^partners/', OrganizationListView.as_view(), name='partners'),
    url(r'^supporting_partners/', OrganizationListView.as_view(), name='partners'),

if settings.DEBUG:
    import debug_toolbar
    urlpatterns += [url(r'^__debug__/', include(debug_toolbar.urls))]
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)