aboutsummaryrefslogtreecommitdiffstats
path: root/account/urls.py
blob: 671ac9a666c2e95d8679832d20beedc47e0e2698 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# -*- coding: utf-8 -*-

"""
urls.py for app 'account'
customize 'registration.backends.default.urls' to use custom form
"""

from django.conf.urls import patterns, include, url
from django.views.generic.base import TemplateView
from django.contrib.auth.decorators import login_required

from registration.backends.default.views import ActivationView
from registration.backends.default.views import RegistrationView

from account.forms import UserRegForm


urlpatterns = patterns('',
    ## django-registration
    # 0. registration_disallowed
    url(r'^register/closed/$',
        TemplateView.as_view(template_name='registration/registration_closed.html'),
        name='registration_disallowed'),
    # 1. registration_register
    url(r'^register/$',
        RegistrationView.as_view(form_class=UserRegForm),
        name='registration_register'),
    # 2. registration_complete
    url(r'^register/complete/$',
        TemplateView.as_view(template_name='registration/registration_complete.html'),
        name='registration_complete'),
    # 4. registration_activation_complete
    url(r'^activate/complete/$',
        TemplateView.as_view(template_name='registration/activation_complete.html'),
        name='registration_activation_complete'),
    # 3. registration_activate (place this section *AFTER* step 4)
    # Activation keys get matched by \w+ instead of the more specific
    # [a-fA-F0-9]{40} because a bad activation key should still get to the view;
    # that way it can return a sensible "invalid key" message instead of a
    # confusing 404.
    url(r'^activate/(?P<activation_key>\w+)/$',
        ActivationView.as_view(),
        name='registration_activate'),
    ## profile
    url(r'^profile/$',
        login_required(TemplateView.as_view(template_name='account/profile.html')),
        name='profile'),
    ## django auth views
    # login
    url(r'^login/$', 'django.contrib.auth.views.login',
        {'template_name': 'account/login.html'},
        name='login'),
    # logout
    url(r'^logout/$', 'django.contrib.auth.views.logout',
        {'template_name': 'account/logout.html'},
        name='logout'),
    # change password
    # If 'post_change_redirect' not provided,
    # then redirect to url 'password_change_done'.
    url(r'^password/change/$', 'django.contrib.auth.views.password_change',
        {'template_name': 'account/password_change.html'},
        name='password_change'),
    # change password done
    url(r'^password/change/done$', 'django.contrib.auth.views.password_change_done',
        {'template_name': 'account/password_change_done.html'},
        name='password_change_done'),
)