david / django-invitation-backend (http://code.welldev.org/django-invitation/)
fork of django-invitation
A fork of django-invitation to use the new django-registration-backends branch. See http://bitbucket.org/ubernostrum/django-registr... for the reasons.
Clone this repository (size: 52.2 KB): HTTPS / SSH
$ hg clone http://code.welldev.org/django-invitation-backend
| commit 16: | 2ee1be485e41 |
| parent 15: | 343ccff7a4df |
| branch: | default |
Refactoring, consistency and extra_context for all views, thanks Zebuline
14 months ago
Changed (Δ408 bytes):
raw changeset »
invitation/views.py (29 lines added, 19 lines removed)
Up to file-list invitation/views.py:
| … | … | @@ -15,13 +15,16 @@ remaining_invitations_for_user = Invitat |
15 |
15 |
|
16 |
16 |
# TODO: move the authorization control to a dedicated decorator |
17 |
17 |
|
18 |
def invited(request, invitation_key=None |
|
18 |
def invited(request, invitation_key=None, extra_context=None): |
|
19 |
19 |
if 'INVITE_MODE' in settings.get_all_members() and settings.INVITE_MODE: |
20 |
20 |
if invitation_key and is_key_valid(invitation_key): |
21 |
template |
|
21 |
template_name = 'invitation/invited.html' |
|
22 |
22 |
else: |
23 |
template = 'invitation/wrong_invitation_key.html' |
|
24 |
return direct_to_template(request, template, {'invitation_key': invitation_key}) |
|
23 |
template_name = 'invitation/wrong_invitation_key.html' |
|
24 |
if extra_context is None: |
|
25 |
extra_context = {} |
|
26 |
extra_context.update({'invitation_key': invitation_key}) |
|
27 |
return direct_to_template(request, template_name, extra_context) |
|
25 |
28 |
else: |
26 |
29 |
return HttpResponseRedirect(reverse('registration_register')) |
27 |
30 |
|
| … | … | @@ -29,25 +32,31 @@ def register(request, success_url=None, |
29 |
32 |
form_class=RegistrationForm, profile_callback=None, |
30 |
33 |
template_name='registration/registration_form.html', |
31 |
34 |
extra_context=None): |
35 |
if extra_context is None: |
|
36 |
extra_context = {} |
|
32 |
37 |
if 'INVITE_MODE' in settings.get_all_members() and settings.INVITE_MODE: |
33 |
if 'invitation_key' in request.REQUEST \ |
|
34 |
and is_key_valid(request.REQUEST['invitation_key']): |
|
35 |
invitation_key = request.REQUEST['invitation_key'] |
|
36 |
if extra_context is None: |
|
37 |
|
|
38 |
if 'invitation_key' in request.REQUEST: |
|
39 |
if is_key_valid(request.REQUEST['invitation_key']): |
|
40 |
invitation_key = request.REQUEST['invitation_key'] |
|
41 |
extra_context.update({'invitation_key': invitation_key}) |
|
42 |
return registration_register(request, success_url, form_class, |
|
43 |
profile_callback, template_name, extra_context) |
|
38 |
44 |
else: |
39 |
extra_context.update({'invitation_key': invitation_key}) |
|
40 |
return registration_register(request, success_url, form_class, |
|
41 |
|
|
45 |
extra_context.update({'invalid_key': True}) |
|
42 |
46 |
else: |
43 |
|
|
47 |
extra_context.update({'no_key': True}) |
|
48 |
template_name = 'invitation/wrong_invitation_key.html' |
|
49 |
return direct_to_template(request, template_name, extra_context) |
|
44 |
50 |
else: |
45 |
51 |
return registration_register(request, success_url, form_class, |
46 |
52 |
profile_callback, template_name, extra_context) |
47 |
53 |
|
48 |
def invite(request, success_url=None, |
|
54 |
def invite(request, success_url=None, |
|
49 |
55 |
form_class=InvitationKeyForm, |
50 |
template_name='invitation/invitation_form.html', |
|
56 |
template_name='invitation/invitation_form.html', |
|
57 |
extra_context=None): |
|
58 |
if extra_context is None: |
|
59 |
extra_context = {} |
|
51 |
60 |
remaining_invitations = remaining_invitations_for_user(request.user) |
52 |
61 |
if request.method == 'POST': |
53 |
62 |
form = form_class(data=request.POST, files=request.FILES) |
| … | … | @@ -61,8 +70,9 @@ def invite(request, success_url=None, |
61 |
70 |
return HttpResponseRedirect(success_url or reverse('invitation_complete')) |
62 |
71 |
else: |
63 |
72 |
form = form_class() |
64 |
return direct_to_template(request, template_name, { |
|
65 |
'form': form, |
|
66 |
'remaining_invitations': remaining_invitations, |
|
67 |
}) |
|
73 |
extra_context.update({ |
|
74 |
'form': form, |
|
75 |
'remaining_invitations': remaining_invitations, |
|
76 |
}) |
|
77 |
return direct_to_template(request, template_name, extra_context) |
|
68 |
78 |
invite = login_required(invite) |
