|
1 # -*- coding: utf-8 -*- |
|
2 |
|
3 from django.contrib.auth.decorators import login_required |
|
4 from django.contrib.auth.forms import AuthenticationForm |
|
5 from django.shortcuts import render_to_response |
|
6 from django.template import RequestContext |
|
7 |
|
8 from project.kiwipycon.user.forms import RegisterForm |
|
9 from project.kiwipycon.proceedings.forms import ProceedingsForm |
|
10 |
|
11 |
|
12 @login_required |
|
13 def submit(request, template = 'proceedings/submit.html'): |
|
14 """View to submit the proceedings paper. |
|
15 """ |
|
16 user = request.user |
|
17 if user.is_authenticated(): |
|
18 try: |
|
19 profile = user.get_profile() |
|
20 except: |
|
21 profile, new = UserProfile.objects.get_or_create(user=user) |
|
22 if new: |
|
23 profile.save() |
|
24 message = None |
|
25 |
|
26 if request.method == 'POST': |
|
27 proceedings_form = ProceedingsForm(data=request.POST) |
|
28 |
|
29 register_form = RegisterForm(data=request.POST, |
|
30 files=request.FILES) |
|
31 |
|
32 if request.POST.get('action', None) == 'login': |
|
33 login_form = AuthenticationForm(data=request.POST) |
|
34 if login_form.is_valid(): |
|
35 |
|
36 from django.contrib.auth import login |
|
37 login(request, login_form.get_user()) |
|
38 |
|
39 redirect_to = reverse('kiwipycon_submit_proceedings') |
|
40 return set_message_cookie(redirect_to, |
|
41 msg = u'You have been logged in.') |
|
42 |
|
43 if request.POST.get('action', None) == 'register': |
|
44 # add the new user |
|
45 if register_form.is_valid(): |
|
46 |
|
47 user = kiwipycon_createuser(request, register_form.data) |
|
48 |
|
49 if proceedings_form.is_valid(): |
|
50 if user.is_authenticated(): |
|
51 title = proceedings_form.data.get('title') |
|
52 |
|
53 # Saved, ... redirect back to account |
|
54 redirect_to = reverse('kiwipycon_account') |
|
55 return set_message_cookie(redirect_to, |
|
56 msg = u'Thanks, your paper has been submitted.') |
|
57 else: |
|
58 redirect_to = reverse('kiwipycon_submit_proceedings') |
|
59 return set_message_cookie(redirect_to, |
|
60 msg = u'Something is wrong here.') |
|
61 |
|
62 else: |
|
63 proceedings_form = ProceedingsForm() |
|
64 register_form = RegisterForm() |
|
65 login_form = AuthenticationForm() |
|
66 |
|
67 |
|
68 proceedings_form = ProceedingsForm() |
|
69 register_form = RegisterForm() |
|
70 login_form = AuthenticationForm() |
|
71 |
|
72 context = RequestContext(request, { |
|
73 'proceedings_form': proceedings_form, |
|
74 'register_form' : register_form, |
|
75 'message' : message, |
|
76 'login_form' : login_form |
|
77 }) |
|
78 |
|
79 return render_to_response(template, context) |
|
80 |
|
81 |
|
82 def edit(request, id, template = 'proceedings/edit.html'): |
|
83 """View to edit the proceedings paper. |
|
84 """ |
|
85 |
|
86 context = RequestContext(request, { |
|
87 'proceedings_form': proceedings_form, |
|
88 'register_form' : register_form, |
|
89 'message' : message, |
|
90 'login_form' : login_form |
|
91 }) |
|
92 |
|
93 return render_to_response(template, context) |