urls.py 4.8 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 utils.views import private_thumbnails, generate_thumbnail
Thom Wiggers's avatar
Thom Wiggers committed
37

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

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

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