urls.py 4.46 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
import os.path

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

26
from events.feeds import DeprecationFeed
27
from utils.views import private_thumbnails
28
import members
29

Thom Wiggers's avatar
Thom Wiggers committed
30
from .sitemaps import StaticViewSitemap
31
from activemembers.sitemaps import sitemap as activemembers_sitemap
Thom Wiggers's avatar
Thom Wiggers committed
32 33 34
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
35
from partners.sitemaps import sitemap as partners_sitemap
Thom Wiggers's avatar
Thom Wiggers committed
36 37 38 39

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

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