urls.py 5.12 KB
Newer Older
Thom Wiggers's avatar
Thom Wiggers committed
1 2 3 4 5
"""
Thalia's root URL Configuration

The ``urlpatterns`` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/dev/topics/http/urls/
Thom Wiggers's avatar
Thom Wiggers committed
6 7

Examples:
Thom Wiggers's avatar
Thom Wiggers committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

* Function views

  1. Add an import: ``from my_app import views``
  2. Add a URL to ``urlpatterns``: ``url(r'^$', views.home, name='home')``

* Class-based views

  1. Add an import: ``from other_app.views import Home``
  2. Add a URL to urlpatterns: ``url(r'^$', Home.as_view(), name='home')``

* Including another URLconf

  1. Import the ``include()`` function::

        from django.conf.urls import url, include

  2. Add a URL to urlpatterns: ``url(r'^blog/', include('blog.urls'))``
Thom Wiggers's avatar
Thom Wiggers committed
26
"""
Thom Wiggers's avatar
Thom Wiggers committed
27 28 29

# pragma: noqa

Thom Wiggers's avatar
Thom Wiggers committed
30 31 32
import os.path

from django.conf import settings
33
from django.conf.urls import include, url
Thom Wiggers's avatar
Thom Wiggers committed
34
from django.conf.urls.static import static
Thom Wiggers's avatar
Thom Wiggers committed
35
from django.contrib import admin
Thom Wiggers's avatar
Thom Wiggers committed
36
from django.contrib.sitemaps.views import sitemap
37
from django.views.generic import TemplateView
38
from django.views.i18n import JavaScriptCatalog
39

40
import members
41
from activemembers.sitemaps import sitemap as activemembers_sitemap
Thom Wiggers's avatar
Thom Wiggers committed
42
from documents.sitemaps import sitemap as documents_sitemap
43 44
from events.feeds import DeprecationFeed
from members.sitemaps import sitemap as members_sitemap
Thom Wiggers's avatar
Thom Wiggers committed
45
from partners.sitemaps import sitemap as partners_sitemap
46
from thabloid.sitemaps import sitemap as thabloid_sitemap
47
from events.sitemaps import sitemap as events_sitemap
48
from utils.views import private_thumbnails, generate_thumbnail
Thom Wiggers's avatar
Thom Wiggers committed
49

Thom Wiggers's avatar
Thom Wiggers committed
50
from . import views
51
from .sitemaps import StaticViewSitemap
Thom Wiggers's avatar
Thom Wiggers committed
52

Thom Wiggers's avatar
Thom Wiggers committed
53 54 55
thalia_sitemap = {
    'main-static': StaticViewSitemap,
}
56
thalia_sitemap.update(activemembers_sitemap)
Thom Wiggers's avatar
Thom Wiggers committed
57 58 59
thalia_sitemap.update(members_sitemap)
thalia_sitemap.update(documents_sitemap)
thalia_sitemap.update(thabloid_sitemap)
Thom Wiggers's avatar
Thom Wiggers committed
60
thalia_sitemap.update(partners_sitemap)
61
thalia_sitemap.update(events_sitemap)
Thom Wiggers's avatar
Thom Wiggers committed
62

Thom Wiggers's avatar
Thom Wiggers committed
63
urlpatterns = [
Luuk Scholten's avatar
Luuk Scholten committed
64
    url(r'^$', TemplateView.as_view(template_name='index.html'), name='index'),
Thom Wiggers's avatar
Thom Wiggers committed
65
    url(r'^admin/', admin.site.urls),
66 67
    url(r'^mailinglists/', include('mailinglists.urls')),
    url(r'^members/', include('members.urls')),
68
    url(r'^account/$', members.views.account, name='account'),
69 70
    url(r'^events/', include('events.urls')),
    url(r'^pizzas/', include('pizzas.urls')),
71 72 73 74
    url(r'^', include([  # 'deprecated ical feeds' menu
        url(r'^index\.php/events/ical/feed\.ics', DeprecationFeed()),
        url(r'^nieuws/agenda/vcal\.php', DeprecationFeed()),
    ])),
75
    url(r'^newsletters/', include('newsletters.urls')),
76
    url(r'^nieuwsbrief/', include('newsletters.urls', namespace='newsletters-legacy'),),  # for legacy reasons
Sébastiaan Versteeg's avatar
Sébastiaan Versteeg committed
77 78
    url(r'^association$', TemplateView.as_view(
        template_name='singlepages/association.html'), name='association'),
79 80
    url(r'^', include([  # 'association' menu
        url(r'^', include('activemembers.urls')),
81 82
        url(r'^merchandise/', include('merchandise.urls')),
        url(r'^documents/', include('documents.urls')),
83
        url(r'^become-a-member/', members.views.become_a_member, name='become-a-member'),
Thom Wiggers's avatar
Thom Wiggers committed
84
        url(r'^sister-associations', TemplateView.as_view(template_name='singlepages/sister_associations.html'), name='sister-associations'),
85
        url(r'^thabloid/', include('thabloid.urls')),
Joost Rijneveld's avatar
Joost Rijneveld committed
86
    ])),
Sébastiaan Versteeg's avatar
Sébastiaan Versteeg committed
87 88
    url(r'^for-members$', TemplateView.as_view(
        template_name='singlepages/for_members.html'), name='for-members'),
89 90
    url(r'^', include([  # 'for members' menu
        url(r'^become-active/', TemplateView.as_view(template_name='singlepages/become_active.html'), name='become-active'),
91
        url(r'^photos/', include('photos.urls')),
92 93 94
        url(r'^statistics/$', members.views.statistics, name='statistics'),
        url(r'^styleguide/$', views.styleguide, name='styleguide'),
        url(r'^styleguide/file/(?P<filename>[\w\-_\.]+)$', views.styleguide_file, name='styleguide-file'),
Joost Rijneveld's avatar
Joost Rijneveld committed
95
    ])),
96
    url(r'^career/', include('partners.urls')),
Joost Rijneveld's avatar
Joost Rijneveld committed
97
    url(r'^contact$', TemplateView.as_view(template_name='singlepages/contact.html'), name='contact'),
98
    url(r'^private-thumbnails/(?P<size_fit>\d+x\d+_[01])/(?P<path>.*)', private_thumbnails, name='private-thumbnails'),
99
    url(r'^generate-thumbnail/(?P<size_fit>\d+x\d+_[01])/(?P<path>[^/]+)/(?P<thumbpath>[^/]+)', generate_thumbnail, name='generate-thumbnail'),
100 101
    url(r'^api/', include([
        url(r'^', include('events.api.urls')),
102
        url(r'^', include('members.api.urls')),
103
        url(r'^', include('partners.api.urls')),
Wietse Kuipers's avatar
Wietse Kuipers committed
104
        url(r'^', include('thaliapp.urls')),
Thom Wiggers's avatar
Thom Wiggers committed
105
        url(r'wikilogin', views.wiki_login),
106
    ])),
107
    url(r'^education/', include('education.urls')),
Joost Rijneveld's avatar
Joost Rijneveld committed
108
    url(r'^announcements/', include('announcements.urls')),
109 110
    # Default login helpers
    url(r'^', include('django.contrib.auth.urls')),
Thom Wiggers's avatar
Thom Wiggers committed
111
    url(r'^i18n/', include('django.conf.urls.i18n')),
Thom Wiggers's avatar
Thom Wiggers committed
112 113 114
    # Sitemap
    url(r'^sitemap\.xml$', sitemap, {'sitemaps': thalia_sitemap},
        name='django.contrib.sitemaps.views.sitemap'),
115 116
    # Dependencies
    url(r'^tinymce/', include('tinymce.urls')),
117 118
    # Javascript translation catalog
    url(r'jsi18n/$', JavaScriptCatalog.as_view(), name='javascript-catalog'),
Thom Wiggers's avatar
Thom Wiggers committed
119 120
    # XXX
    url(r'crash/$', views.crash),
121
] + static(settings.MEDIA_URL + 'public/',
Thom Wiggers's avatar
Thom Wiggers committed
122
           document_root=os.path.join(settings.MEDIA_ROOT, 'public'))