urls.py 4.6 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 url, include
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
from events.feeds import DeprecationFeed
30
from utils.views import private_thumbnails
31
import members
32

Thom Wiggers's avatar
Thom Wiggers committed
33
from .sitemaps import StaticViewSitemap
34
from activemembers.sitemaps import sitemap as activemembers_sitemap
Thom Wiggers's avatar
Thom Wiggers committed
35 36 37
from members.sitemaps import sitemap as members_sitemap
from documents.sitemaps import sitemap as documents_sitemap
from thabloid.sitemaps import sitemap as thabloid_sitemap
Thom Wiggers's avatar
Thom Wiggers committed
38
from partners.sitemaps import sitemap as partners_sitemap
Thom Wiggers's avatar
Thom Wiggers committed
39

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

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)
Thom Wiggers's avatar
Thom Wiggers committed
50

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