urls.py 5.09 KB
Newer Older
Thom Wiggers's avatar
Thom Wiggers committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
"""thaliawebsite URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/dev/topics/http/urls/
Examples:
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
16 17 18

# pragma: noqa

Thom Wiggers's avatar
Thom Wiggers committed
19 20 21
import os.path

from django.conf import settings
22
from django.conf.urls import include, url
Thom Wiggers's avatar
Thom Wiggers committed
23
from django.conf.urls.static import static
Thom Wiggers's avatar
Thom Wiggers committed
24
from django.contrib import admin
Thom Wiggers's avatar
Thom Wiggers committed
25
from django.contrib.sitemaps.views import sitemap
26
from django.views.generic import TemplateView
27
from django.views.i18n import JavaScriptCatalog
28

29
import members
30
from activemembers.sitemaps import sitemap as activemembers_sitemap
Thom Wiggers's avatar
Thom Wiggers committed
31
from documents.sitemaps import sitemap as documents_sitemap
32 33
from events.feeds import DeprecationFeed
from members.sitemaps import sitemap as members_sitemap
Thom Wiggers's avatar
Thom Wiggers committed
34
from partners.sitemaps import sitemap as partners_sitemap
35
from thabloid.sitemaps import sitemap as thabloid_sitemap
36
from events.sitemaps import sitemap as events_sitemap
37
from utils.views import private_thumbnails, generate_thumbnail
Thom Wiggers's avatar
Thom Wiggers committed
38

Thom Wiggers's avatar
Thom Wiggers committed
39
from . import views
40
from .sitemaps import StaticViewSitemap
Thom Wiggers's avatar
Thom Wiggers committed
41

Thom Wiggers's avatar
Thom Wiggers committed
42 43 44
thalia_sitemap = {
    'main-static': StaticViewSitemap,
}
45
thalia_sitemap.update(activemembers_sitemap)
Thom Wiggers's avatar
Thom Wiggers committed
46 47 48
thalia_sitemap.update(members_sitemap)
thalia_sitemap.update(documents_sitemap)
thalia_sitemap.update(thabloid_sitemap)
Thom Wiggers's avatar
Thom Wiggers committed
49
thalia_sitemap.update(partners_sitemap)
50
thalia_sitemap.update(events_sitemap)
Thom Wiggers's avatar
Thom Wiggers committed
51

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