project/urls.py
changeset 109 0c24d69f0631
parent 106 3a31881564ba
child 120 e9172b05bba5
equal deleted inserted replaced
108:147c75a8f163 109:0c24d69f0631
     1 #django
       
     2 from django.conf.urls.defaults import include
     1 from django.conf.urls.defaults import include
     3 from django.conf.urls.defaults import patterns
     2 from django.conf.urls.defaults import patterns
     4 from django.conf import settings
     3 from django.conf import settings
     5 from django.contrib import admin
     4 from django.contrib import admin
     6 from django.views.generic.simple import direct_to_template
     5 from django.views.generic.simple import direct_to_template
       
     6 from django.views.generic.simple import redirect_to
     7 from django.conf.urls.defaults import *
     7 from django.conf.urls.defaults import *
     8 
     8 
     9 admin.autodiscover()
     9 admin.autodiscover()
    10 
    10 
    11 PROGRAM_PATTERN_CORE = r'[a-z](?:[0-9a-z]|_[0-9a-z])*'
    11 PROGRAM_PATTERN_CORE = r'[a-z](?:[0-9a-z]|_[0-9a-z])*'
    13 SCOPE_ARG_PATTERN = r'(?P<scope>%s/%s)' % (
    13 SCOPE_ARG_PATTERN = r'(?P<scope>%s/%s)' % (
    14     PROGRAM_PATTERN_CORE, EVENT_PATTERN_CORE) 
    14     PROGRAM_PATTERN_CORE, EVENT_PATTERN_CORE) 
    15 
    15 
    16 # Admin
    16 # Admin
    17 urlpatterns = patterns('',
    17 urlpatterns = patterns('',
    18     url(r'^$',  direct_to_template, {"template": "home.html"}, name='home'),
    18     url(r'^$', redirect_to, {'url': '/%s/' % (settings.CURRENT_SCOPE)}),
       
    19     url(r'^%s/$' % (SCOPE_ARG_PATTERN),
       
    20         direct_to_template, {"template": "home.html"}, name='home'),
    19     (r'^comments/', include('django.contrib.comments.urls')),
    21     (r'^comments/', include('django.contrib.comments.urls')),
    20     (r'^admin/(.*)', admin.site.root),
    22     (r'^admin/(.*)', admin.site.root),
    21 )
    23 )
    22 
    24 
    23 # Talks, etc.
    25 # Talks, etc.
    24 urlpatterns += patterns('project.scipycon.talk.views',
    26 urlpatterns += patterns('project.scipycon.talk.views',
    25     url(r'^talks/$', 'list_talks', name='list_talks'),
    27     url(r'^%s/talks/$' % (SCOPE_ARG_PATTERN),
    26     url(r'^talks/talk/(?P<id>\d+)/$', 'talk', name='talk_detail'),
    28         'list_talks', name='list_talks'),
    27     url(r'^submit-talk/$', 'submit_talk', name='scipycon_submit_talk'),
    29     url(r'^%s/talks/talk/(?P<id>\d+)/$' % (SCOPE_ARG_PATTERN),
    28     url(r'^edit-talk/(?P<id>\d+)/$', 'edit_talk', name='scipycon_edit_talk'),
    30         'talk', name='talk_detail'),
    29     url(r'^talks-cfp/list-talks/(?P<id>\d+)/$', 'list_talks',
    31     url(r'^%s/submit-talk/$' % (SCOPE_ARG_PATTERN),
    30         name='scipycon_list_talk'),
    32         'submit_talk', name='scipycon_submit_talk'),
       
    33     url(r'^%s/edit-talk/(?P<id>\d+)/$' % (SCOPE_ARG_PATTERN),
       
    34         'edit_talk', name='scipycon_edit_talk'),
       
    35     url(r'^%s/talks-cfp/list-talks/(?P<id>\d+)/$' % (SCOPE_ARG_PATTERN),
       
    36         'list_talks', name='scipycon_list_talk'),
    31     )
    37     )
    32 
    38 
    33 # Registration
    39 # Registration
    34 urlpatterns += patterns('project.scipycon.registration.views',
    40 urlpatterns += patterns('project.scipycon.registration.views',
    35     url(r'^%s/registrations/$' % (SCOPE_ARG_PATTERN), 'registrations',
    41     url(r'^%s/registrations/$' % (SCOPE_ARG_PATTERN), 'registrations',
    40         'edit_registration', name='scipycon_edit_registration'),
    46         'edit_registration', name='scipycon_edit_registration'),
    41     url(r'^%s/download_csv/' % (SCOPE_ARG_PATTERN),
    47     url(r'^%s/download_csv/' % (SCOPE_ARG_PATTERN),
    42         'download_csv', name="download_csv"),
    48         'download_csv', name="download_csv"),
    43     )
    49     )
    44 
    50 
    45 
       
    46 # Authentication and Profile
    51 # Authentication and Profile
    47 urlpatterns += patterns('project.scipycon.user.views',
    52 urlpatterns += patterns('project.scipycon.user.views',
    48     url(r'^login/$', 'login', name='scipycon_login'),
    53     url(r'^%s/login/$' % (SCOPE_ARG_PATTERN),
    49     url(r'^logout/$', 'logout', name='scipycon_logout'),
    54         'login', name='scipycon_login'),
    50     url(r'^account/$', 'account', name='scipycon_account'),
    55     url(r'^%s/logout/$' % (SCOPE_ARG_PATTERN),
    51     url(r'^password/$', 'password', name='scipycon_password'), # change pwd
    56         'logout', name='scipycon_logout'),
    52     url(r'^username/$', 'username', name='scipycon_username'), # change uname
    57     url(r'^%s/account/$' % (SCOPE_ARG_PATTERN),
    53     url(r'^edit-profile/$', 'edit_profile', name='scipycon_edit_profile'),
    58         'account', name='scipycon_account'),
    54     url(r'^get-usernames/$', 'get_usernames', name='scipycon_get_usernames'),
    59     url(r'^%s/password/$' % (SCOPE_ARG_PATTERN),
       
    60         'password', name='scipycon_password'), # change pwd
       
    61     url(r'^%s/username/$' % (SCOPE_ARG_PATTERN),
       
    62         'username', name='scipycon_username'), # change uname
       
    63     url(r'^%s/edit-profile/$' % (SCOPE_ARG_PATTERN),
       
    64         'edit_profile', name='scipycon_edit_profile'),
       
    65     url(r'^%s/get-usernames/$' % (SCOPE_ARG_PATTERN),
       
    66         'get_usernames', name='scipycon_get_usernames'),
    55     )
    67     )
    56 
    68 
    57 # Proceedings
    69 # Proceedings
    58 urlpatterns += patterns('project.scipycon.proceedings.views',
    70 urlpatterns += patterns('project.scipycon.proceedings.views',
    59     url(r'^proceedings/submit/$', 'submit',
    71     url(r'^%s/proceedings/submit/$' % (SCOPE_ARG_PATTERN), 'submit',
    60         name='scipycon_submit_proceedings'),
    72         name='scipycon_submit_proceedings'),
    61     url(r'^proceedings/submit/(?P<id>\d+)/$', 'submit', 
    73     url(r'^%s/proceedings/submit/(?P<id>\d+)/$' % (SCOPE_ARG_PATTERN),
    62         name='scipycon_submit_proceedings'),
    74         'submit', name='scipycon_submit_proceedings'),
    63     url(r'^proceedings/show_paper/(?P<id>\d+)/$', 'show_paper', 
    75     url(r'^%s/proceedings/show_paper/(?P<id>\d+)/$' % (SCOPE_ARG_PATTERN),
    64         name='scipycon_show_paper'),
    76         'show_paper', name='scipycon_show_paper'),
    65     )
    77     )
    66 
    78 
    67 # About pages and all other static html pages
    79 # About pages and all other static html pages
    68 urlpatterns += patterns('',
    80 urlpatterns += patterns('',
    69     url(r'^about/accommodation/$', 
    81     url(r'^%s/about/accommodation/$' % (SCOPE_ARG_PATTERN),
    70         direct_to_template, {"template": "about/accommodation.html"},
    82         direct_to_template, {"template": "about/accommodation.html"},
    71         name='scipycon_accommodation'),
    83         name='scipycon_accommodation'),
    72     url(r'^about/food/$',
    84     url(r'^%s/about/food/$' % (SCOPE_ARG_PATTERN),
    73         direct_to_template, {"template": "about/food.html"}, name='scipycon_food'),
    85         direct_to_template, {"template": "about/food.html"},
    74     url(r'^about/venue/$',
    86         name='scipycon_food'),
    75         direct_to_template, {"template": "about/venue.html"}, name='scipycon_venue'),
    87     url(r'^%s/about/venue/$' % (SCOPE_ARG_PATTERN),
    76     url(r'^about/reaching/$', 
    88         direct_to_template, {"template": "about/venue.html"},
       
    89         name='scipycon_venue'),
       
    90     url(r'^%s/about/reaching/$' % (SCOPE_ARG_PATTERN),
    77         direct_to_template, {"template": "about/reaching.html"},
    91         direct_to_template, {"template": "about/reaching.html"},
    78         name='scipycon_reaching'),
    92         name='scipycon_reaching'),
    79     url(r'^talks-cfp/$', 
    93     url(r'^%s/talks-cfp/$' % (SCOPE_ARG_PATTERN),
    80         direct_to_template, {"template": "talk/talks-cfp.html"},
    94         direct_to_template, {"template": "talk/talks-cfp.html"},
    81         name='scipycon_talks_cfp'),
    95         name='scipycon_talks_cfp'),
    82     url(r'^talks-cfp/schedule/$', 
    96     url(r'^%s/talks-cfp/schedule/$' % (SCOPE_ARG_PATTERN),
    83         direct_to_template, {"template": "talk/schedule.html"},
    97         direct_to_template, {"template": "talk/schedule.html"},
    84         name='scipycon_schedule'),
    98         name='scipycon_schedule'),
    85     url(r'^talks-cfp/tutorial/$', 
    99     url(r'^%s/talks-cfp/tutorial/$' % (SCOPE_ARG_PATTERN),
    86         direct_to_template, {"template": "talk/tutorial-schedule.html"},
   100         direct_to_template, {"template": "talk/tutorial-schedule.html"},
    87         name='scipycon_tutorial_schedule'),
   101         name='scipycon_tutorial_schedule'),
    88     url(r'^talks-cfp/sprint/$', 
   102     url(r'^%s/talks-cfp/sprint/$' % (SCOPE_ARG_PATTERN),
    89         direct_to_template, {"template": "talk/sprint-schedule.html"},
   103         direct_to_template, {"template": "talk/sprint-schedule.html"},
    90         name='scipycon_sprint_schedule'),
   104         name='scipycon_sprint_schedule'),
    91     url(r'^talks-cfp/speakers/$', 
   105     url(r'^%s/talks-cfp/speakers/$' % (SCOPE_ARG_PATTERN),
    92         direct_to_template, {"template": "talk/speakers.html"},
   106         direct_to_template, {"template": "talk/speakers.html"},
    93         name='scipycon_speakers'),
   107         name='scipycon_speakers'),
    94     )
   108     )
    95 
   109 
    96 # Password reset
   110 # Password reset