author | nishanth |
Fri, 03 Sep 2010 16:17:19 +0530 | |
branch | anoop |
changeset 239 | b706790a1001 |
parent 236 | af8cee5a0a27 |
child 242 | 6826f27064c9 |
permissions | -rw-r--r-- |
15 | 1 |
from django.shortcuts import render_to_response, redirect |
98 | 2 |
from django.http import HttpResponse, Http404 |
65
0ca63c964237
now login is required for accessing stats and send_invi pages
nishanth
parents:
57
diff
changeset
|
3 |
from django.contrib.auth.decorators import login_required |
97 | 4 |
from django.utils.datastructures import MultiValueDictKeyError |
7 | 5 |
|
67 | 6 |
from django.contrib.auth import authenticate, login, logout |
7 |
||
120
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
8 |
from sage_days.sdi.models import Registrant, RegistrantInfo, ParticipantInfo |
236 | 9 |
from sage_days.sdi.forms import RegisterForm, SearchForm, EmailForm, LoginForm, UserSelectForm, ParticipantInfoForm, SendAccoForm, EditAddressForm |
185 | 10 |
from sage_days.sdi.events import send_reg_complete_mail, mail_invi, send_sgd_ptc_confirm, send_cnf_email, send_wsp_ptc_confirm, send_acco_confirm_mail |
72 | 11 |
from sage_days.settings import APACHE_URL_PREFIX as aup |
7 | 12 |
|
13 |
def register(request): |
|
14 |
""" The user register page. |
|
15 |
""" |
|
16 |
||
9 | 17 |
if request.method == "POST": |
14 | 18 |
form = RegisterForm(request.POST) |
19 |
if form.is_valid(): |
|
136
b68ff7095ca5
added the registrantinfo creation part in register view
nishanth
parents:
130
diff
changeset
|
20 |
user = form.save() |
53 | 21 |
|
22 |
data = form.cleaned_data |
|
23 |
first_name = data['first_name'] |
|
24 |
last_name = data['last_name'] |
|
25 |
email = data['email'] |
|
26 |
send_reg_complete_mail(email, first_name, last_name) |
|
27 |
||
136
b68ff7095ca5
added the registrantinfo creation part in register view
nishanth
parents:
130
diff
changeset
|
28 |
user_info = RegistrantInfo() |
b68ff7095ca5
added the registrantinfo creation part in register view
nishanth
parents:
130
diff
changeset
|
29 |
user_info.registrant = user |
b68ff7095ca5
added the registrantinfo creation part in register view
nishanth
parents:
130
diff
changeset
|
30 |
user_info.status_of_attending_sagedays = "1" |
b68ff7095ca5
added the registrantinfo creation part in register view
nishanth
parents:
130
diff
changeset
|
31 |
user_info.status_of_attending_workshop = True if user.need_for_python_workshop else False |
b68ff7095ca5
added the registrantinfo creation part in register view
nishanth
parents:
130
diff
changeset
|
32 |
user_info.status_of_accomodation = "1" if user.acco_required else "0" |
b68ff7095ca5
added the registrantinfo creation part in register view
nishanth
parents:
130
diff
changeset
|
33 |
user_info.save() |
b68ff7095ca5
added the registrantinfo creation part in register view
nishanth
parents:
130
diff
changeset
|
34 |
|
26
212fcba4459e
changed the app to work with apache + added base.html, and did needed changes.
anoop
parents:
25
diff
changeset
|
35 |
return redirect("/sage_days/registration/complete") |
14 | 36 |
else: |
37 |
return render_to_response("register.html", {"form":form}) |
|
9 | 38 |
else: |
39 |
form = RegisterForm() |
|
40 |
return render_to_response("register.html", {"form":form}) |
|
22 | 41 |
|
42 |
def reg_complete(request): |
|
43 |
""" Tell the registration is successful. |
|
44 |
""" |
|
45 |
||
46 |
return render_to_response("reg_complete.html") |
|
23 | 47 |
|
65
0ca63c964237
now login is required for accessing stats and send_invi pages
nishanth
parents:
57
diff
changeset
|
48 |
@login_required |
23 | 49 |
def list_stats(request): |
50 |
""" List the statiscs of registered participants. |
|
51 |
""" |
|
52 |
||
24
f79be1dd4a22
added clean methods for each attribute in search form
nishanth
parents:
23
diff
changeset
|
53 |
if request.method == "POST": |
f79be1dd4a22
added clean methods for each attribute in search form
nishanth
parents:
23
diff
changeset
|
54 |
form = SearchForm(request.POST) |
f79be1dd4a22
added clean methods for each attribute in search form
nishanth
parents:
23
diff
changeset
|
55 |
if form.is_valid(): |
25 | 56 |
data = form.cleaned_data |
79
064ff60025d9
removed the need_python_workshop and need_acco fields since they are very confusing
nishanth
parents:
77
diff
changeset
|
57 |
|
064ff60025d9
removed the need_python_workshop and need_acco fields since they are very confusing
nishanth
parents:
77
diff
changeset
|
58 |
#need_workshop = data['need_for_python_workshop'] |
064ff60025d9
removed the need_python_workshop and need_acco fields since they are very confusing
nishanth
parents:
77
diff
changeset
|
59 |
#acco_required = data['need_accomodation'] |
064ff60025d9
removed the need_python_workshop and need_acco fields since they are very confusing
nishanth
parents:
77
diff
changeset
|
60 |
#db_query = "Registrant.objects.filter(need_for_python_workshop=%s, acco_required=%s)"%(need_workshop, acco_required) |
064ff60025d9
removed the need_python_workshop and need_acco fields since they are very confusing
nishanth
parents:
77
diff
changeset
|
61 |
db_query = "Registrant.objects" |
25 | 62 |
|
63 |
topics_include, topics_exclude = data['topics_interested'] |
|
64 |
for number in topics_include: |
|
65 |
db_query += '.filter(topics_interested__contains="%s")'%number |
|
66 |
||
67 |
for number in topics_exclude: |
|
68 |
db_query += '.exclude(topics_interested__contains="%s")'%number |
|
69 |
||
70 |
start_python, stop_python = data['knowledge_of_python'] |
|
71 |
if start_python and stop_python: |
|
72 |
db_query += '.filter(knowledge_of_python__gte="%s")'%start_python |
|
73 |
db_query += '.filter(knowledge_of_python__lte="%s")'%stop_python |
|
74 |
elif start_python: |
|
75 |
db_query += '.filter(knowledge_of_python__exact="%s")'%start_python |
|
76 |
||
77 |
start_sage, stop_sage = data['knowledge_of_sage'] |
|
78 |
if start_sage and stop_sage: |
|
79 |
db_query += '.filter(knowledge_of_sage__gte="%s")'%start_sage |
|
80 |
db_query += '.filter(knowledge_of_sage__lte="%s")'%stop_sage |
|
81 |
elif start_sage: |
|
82 |
db_query += '.filter(knowledge_of_sage__exact="%s")'%start_sage |
|
83 |
||
84 |
start_likeliness, stop_likeliness = data['likeliness_of_attending'] |
|
85 |
if start_likeliness and stop_likeliness: |
|
86 |
db_query += '.filter(likeliness_of_attending__gte="%s")'%start_likeliness |
|
87 |
db_query += '.filter(likeliness_of_attending__lte="%s")'%stop_likeliness |
|
88 |
elif start_likeliness: |
|
89 |
db_query += '.filter(likeliness_of_attending__exact="%s")'%start_likeliness |
|
90 |
||
80
c200156c80a9
fixed a bug that arises when a query does not have any parameters to filter
nishanth
parents:
79
diff
changeset
|
91 |
db_query += ".all()" |
c200156c80a9
fixed a bug that arises when a query does not have any parameters to filter
nishanth
parents:
79
diff
changeset
|
92 |
|
25 | 93 |
matches = eval(db_query) |
94 |
return render_to_response("list_stats.html", {"form":form, 'matches':matches}) |
|
24
f79be1dd4a22
added clean methods for each attribute in search form
nishanth
parents:
23
diff
changeset
|
95 |
else: |
f79be1dd4a22
added clean methods for each attribute in search form
nishanth
parents:
23
diff
changeset
|
96 |
return render_to_response("list_stats.html", {"form":form}) |
f79be1dd4a22
added clean methods for each attribute in search form
nishanth
parents:
23
diff
changeset
|
97 |
else: |
f79be1dd4a22
added clean methods for each attribute in search form
nishanth
parents:
23
diff
changeset
|
98 |
form = SearchForm() |
f79be1dd4a22
added clean methods for each attribute in search form
nishanth
parents:
23
diff
changeset
|
99 |
return render_to_response("list_stats.html", {"form":form}) |
26
212fcba4459e
changed the app to work with apache + added base.html, and did needed changes.
anoop
parents:
25
diff
changeset
|
100 |
|
65
0ca63c964237
now login is required for accessing stats and send_invi pages
nishanth
parents:
57
diff
changeset
|
101 |
@login_required |
56 | 102 |
def send_invi(request): |
103 |
""" Take a list of csv email addresses and send mails to them. |
|
104 |
""" |
|
105 |
||
106 |
if request.method == "POST": |
|
107 |
form = EmailForm(request.POST) |
|
108 |
if form.is_valid(): |
|
109 |
to_emails = form.cleaned_data['emails'] |
|
110 |
mail_invi(to_emails) |
|
111 |
return render_to_response("send_invi.html", {"emails":to_emails}) |
|
112 |
else: |
|
113 |
return render_to_response("send_invi.html", {"form":form}) |
|
114 |
else: |
|
57 | 115 |
form = EmailForm() |
56 | 116 |
return render_to_response("send_invi.html", {"form":form}) |
117 |
||
86 | 118 |
@login_required |
119 |
def send_workshop_confirm(request): |
|
120 |
""" Show a list of all the ppl who requested for a workshop and |
|
121 |
send a confirmation mail to them if not sent. |
|
122 |
""" |
|
123 |
||
160 | 124 |
not_selected_ppl = Registrant.objects.filter(need_for_python_workshop=True, registrantinfo__status_of_attending_workshop="1") |
125 |
not_confirmed_ppl = Registrant.objects.filter(need_for_python_workshop=True, registrantinfo__status_of_attending_workshop="2") |
|
126 |
attending_ppl = Registrant.objects.filter(need_for_python_workshop=True, registrantinfo__status_of_attending_workshop="3") |
|
127 |
||
128 |
choices = list(not_selected_ppl) + list(not_confirmed_ppl) |
|
129 |
form = UserSelectForm(choices, request.POST) |
|
130 |
if request.method == "POST" and form.is_valid(): |
|
131 |
selected_users = form.cleaned_data['selected_users'] |
|
161
c7c5c727a483
removed old template and copied send_sgd_cnf as send_wsp_cnf since both are same and fixed a bug in view
nishanth
parents:
160
diff
changeset
|
132 |
for user in selected_users: |
160 | 133 |
user_info = user.registrantinfo_set.all()[0] |
134 |
user_info.status_of_attending_workshop = "2" |
|
135 |
user_info.save() |
|
136 |
||
162
27dd4494e7b4
created the mail event and added it in view for send_wsp_ptc
nishanhth
parents:
161
diff
changeset
|
137 |
send_wsp_ptc_confirm(user) |
27dd4494e7b4
created the mail event and added it in view for send_wsp_ptc
nishanhth
parents:
161
diff
changeset
|
138 |
|
160 | 139 |
return render_to_response("sent_wsp_confirm.html", {"selected_users":selected_users}) |
86 | 140 |
else: |
160 | 141 |
return render_to_response("send_wsp_cnf.html", {"attending": attending_ppl, |
142 |
"not_confirmed": not_confirmed_ppl, |
|
143 |
"not_selected": not_selected_ppl,}) |
|
86 | 144 |
|
108
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
145 |
@login_required |
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
146 |
def send_sagedays_confirm(request): |
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
147 |
""" filter out ppl depending on their status and display accordingly. |
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
148 |
""" |
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
149 |
|
146 | 150 |
attending_ppl = Registrant.objects.filter(registrantinfo__status_of_attending_sagedays ="3") |
151 |
not_confirmed_ppl = Registrant.objects.filter(registrantinfo__status_of_attending_sagedays ="2") |
|
152 |
not_selected_ppl = Registrant.objects.filter(registrantinfo__status_of_attending_sagedays ="1") |
|
108
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
153 |
|
115 | 154 |
user_choices = list(not_selected_ppl) + list(not_confirmed_ppl) |
182 | 155 |
form = UserSelectForm(user_choices, request.POST) |
108
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
156 |
|
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
157 |
if request.method == "POST" and form.is_valid(): |
112 | 158 |
selected_users = form.cleaned_data['selected_users'] |
114
aa5c29984e84
now the send_sgd_cnf view does the updating of user record
nishanth
parents:
113
diff
changeset
|
159 |
for user in selected_users: |
117 | 160 |
user_info = user.registrantinfo_set.all()[0] |
114
aa5c29984e84
now the send_sgd_cnf view does the updating of user record
nishanth
parents:
113
diff
changeset
|
161 |
user_info.status_of_attending_sagedays = "2" |
aa5c29984e84
now the send_sgd_cnf view does the updating of user record
nishanth
parents:
113
diff
changeset
|
162 |
user_info.save() |
118
6c3602582f9f
included the send_mail and created the corresponding event in events
nishanth
parents:
117
diff
changeset
|
163 |
|
137
02a5304a2c5f
fixed a typo and corrected at various places accordingly
nishanth
parents:
136
diff
changeset
|
164 |
send_sgd_ptc_confirm(user) |
114
aa5c29984e84
now the send_sgd_cnf view does the updating of user record
nishanth
parents:
113
diff
changeset
|
165 |
|
116
54ced1b9e010
fixed a typo and added new template for confirmation of sending mail to selected participants
nishanth
parents:
115
diff
changeset
|
166 |
return render_to_response("sent_sgd_confirm.html", {"selected_users":selected_users}) |
108
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
167 |
else: |
111 | 168 |
return render_to_response("send_sgd_cnf.html", {"attending":attending_ppl, |
108
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
169 |
"not_confirmed":not_confirmed_ppl, |
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
170 |
"not_selected":not_selected_ppl, |
110 | 171 |
}) |
108
9363e5121f9b
added the GET part of view for sending event confirmation emails
nishanth
parents:
107
diff
changeset
|
172 |
|
174
d979d1bc1c4e
removed "2" from acco_choices and made corresponding change in view
nishanth
parents:
172
diff
changeset
|
173 |
@login_required |
152
86bfdb64edb5
created basic view for sending acco and added corresponding url
nishanth
parents:
151
diff
changeset
|
174 |
def send_acco_confirm(request): |
86bfdb64edb5
created basic view for sending acco and added corresponding url
nishanth
parents:
151
diff
changeset
|
175 |
""" display list of confirmed participants who requested for accomodation |
86bfdb64edb5
created basic view for sending acco and added corresponding url
nishanth
parents:
151
diff
changeset
|
176 |
and let the admin decide. |
86bfdb64edb5
created basic view for sending acco and added corresponding url
nishanth
parents:
151
diff
changeset
|
177 |
""" |
153
55f338569133
updated the view for GET part and created corresponding template
nishanth
parents:
152
diff
changeset
|
178 |
|
214
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
179 |
rejected_ppl = Registrant.objects.filter( |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
180 |
registrantinfo__status_of_attending_sagedays ="3", |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
181 |
registrantinfo__status_of_accomodation="3") |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
182 |
selected_ppl = Registrant.objects.filter( |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
183 |
registrantinfo__status_of_attending_sagedays ="3", |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
184 |
registrantinfo__status_of_accomodation="2") |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
185 |
not_selected_ppl = Registrant.objects.filter( |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
186 |
registrantinfo__status_of_attending_sagedays ="3", |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
187 |
registrantinfo__status_of_accomodation="1") |
153
55f338569133
updated the view for GET part and created corresponding template
nishanth
parents:
152
diff
changeset
|
188 |
|
186 | 189 |
user_choices = list(rejected_ppl) + list(not_selected_ppl) |
182 | 190 |
form = SendAccoForm(user_choices, request.POST) |
153
55f338569133
updated the view for GET part and created corresponding template
nishanth
parents:
152
diff
changeset
|
191 |
|
55f338569133
updated the view for GET part and created corresponding template
nishanth
parents:
152
diff
changeset
|
192 |
if request.method == "POST" and form.is_valid(): |
156
cebb6ffb5f83
created the POST part of view. hav to implement the sending email part
nishanth
parents:
155
diff
changeset
|
193 |
selected_users = form.cleaned_data['selected_users'] |
184 | 194 |
message = form.cleaned_data['message'] |
156
cebb6ffb5f83
created the POST part of view. hav to implement the sending email part
nishanth
parents:
155
diff
changeset
|
195 |
for user in selected_users: |
cebb6ffb5f83
created the POST part of view. hav to implement the sending email part
nishanth
parents:
155
diff
changeset
|
196 |
user_info = user.registrantinfo_set.all()[0] |
183 | 197 |
user_info.status_of_accomodation = "3" |
156
cebb6ffb5f83
created the POST part of view. hav to implement the sending email part
nishanth
parents:
155
diff
changeset
|
198 |
user_info.save() |
214
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
199 |
|
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
200 |
send_acco_confirm_mail(user, message) |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
201 |
|
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
202 |
return render_to_response("sent_acco_confirm.html", |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
203 |
{"selected_users":selected_users}) |
153
55f338569133
updated the view for GET part and created corresponding template
nishanth
parents:
152
diff
changeset
|
204 |
else: |
214
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
205 |
return render_to_response("send_acco_cnf.html", |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
206 |
{"rejected": rejected_ppl, |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
207 |
"selected":selected_ppl, |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
208 |
"not_selected":not_selected_ppl, |
e76c56790872
Made style changes.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
211
diff
changeset
|
209 |
}) |
153
55f338569133
updated the view for GET part and created corresponding template
nishanth
parents:
152
diff
changeset
|
210 |
|
95
ab554d46fd34
created basic view for confirmation of wsp participation
nishanth
parents:
93
diff
changeset
|
211 |
def confirm_wsp_participation(request, uid): |
ab554d46fd34
created basic view for confirmation of wsp participation
nishanth
parents:
93
diff
changeset
|
212 |
""" match id versus email and take lappy details. |
ab554d46fd34
created basic view for confirmation of wsp participation
nishanth
parents:
93
diff
changeset
|
213 |
""" |
193 | 214 |
return render_to_response("workshop_info.html") |
95
ab554d46fd34
created basic view for confirmation of wsp participation
nishanth
parents:
93
diff
changeset
|
215 |
|
120
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
216 |
def confirm_sgd_participation(request, uid): |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
217 |
""" match id versus email and take lappy details. |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
218 |
""" |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
219 |
|
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
220 |
try: |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
221 |
email = request.GET['email'] |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
222 |
except MultiValueDictKeyError: |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
223 |
raise Http404 |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
224 |
|
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
225 |
try: |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
226 |
user = Registrant.objects.get(id=uid, email=email) |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
227 |
except Registrant.DoesNotExist: |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
228 |
raise Http404 |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
229 |
|
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
230 |
user_info = user.registrantinfo_set.all()[0] |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
231 |
status = user_info.status_of_attending_sagedays |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
232 |
if status == "3": |
139
7eaaecef80f6
replaced acco_required with user.acco_required in template and made change accordingly
nishanth
parents:
138
diff
changeset
|
233 |
return render_to_response("attending_sgd.html", {"user":user}) |
123 | 234 |
elif status != "2": |
120
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
235 |
raise Http404 |
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
236 |
|
225 | 237 |
special_request = [150,151,175,195,189,190] |
210
9dde8b1de561
barred unconfirmed people from confirming, and added one more exception/special request.
anoop
parents:
206
diff
changeset
|
238 |
if int(uid) < 229 and int(uid) not in special_request: |
201 | 239 |
return render_to_response("late_for_confirmation.html", {"user":user}) |
240 |
||
124
d4a7644e7fe8
created a form for taking participant info and used it in the view
nishanth
parents:
123
diff
changeset
|
241 |
participant_info = ParticipantInfo() |
d4a7644e7fe8
created a form for taking participant info and used it in the view
nishanth
parents:
123
diff
changeset
|
242 |
participant_info.participant = user |
d4a7644e7fe8
created a form for taking participant info and used it in the view
nishanth
parents:
123
diff
changeset
|
243 |
|
128 | 244 |
form = ParticipantInfoForm(request.POST) |
245 |
if request.method == "POST" and form.is_valid(): |
|
246 |
data = form.cleaned_data |
|
130 | 247 |
participant_info.has_laptop_for_sagedays = True if data['has_laptop_for_sagedays'] == "Yes" else False |
128 | 248 |
participant_info.sprinted_already = True if data['sprinted_already'] == "Yes" else False |
249 |
participant_info.will_sprint = data['will_sprint'] |
|
129 | 250 |
participant_info.save() |
251 |
||
252 |
user_info.status_of_attending_sagedays = "3" |
|
253 |
user_info.save() |
|
254 |
||
151 | 255 |
send_cnf_email(user) |
149
1f53ccd82a21
included the send_cnf_email event in views but right now, it is commented
nishanth
parents:
148
diff
changeset
|
256 |
|
139
7eaaecef80f6
replaced acco_required with user.acco_required in template and made change accordingly
nishanth
parents:
138
diff
changeset
|
257 |
return render_to_response("attending_sgd.html", {"user":user}) |
120
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
258 |
else: |
126 | 259 |
return render_to_response("cnf_sgd_ptc.html", {"user":user}) |
120
f9408ab30ace
created the basic view and template for confirming participation in sage days
nishanth
parents:
118
diff
changeset
|
260 |
|
236 | 261 |
def confirm_address(request, uid): |
262 |
""" match id versus email and let him edit the address |
|
263 |
""" |
|
264 |
||
265 |
try: |
|
266 |
email = request.GET['email'] |
|
267 |
except MultiValueDictKeyError: |
|
268 |
raise Http404 |
|
269 |
||
270 |
try: |
|
271 |
user = Registrant.objects.get(id=uid, email=email) |
|
272 |
except Registrant.DoesNotExist: |
|
273 |
raise Http404 |
|
274 |
||
239 | 275 |
form = EditAddressForm(instance=user) |
276 |
if request.method == "POST" |
|
277 |
form = EditAddressForm(request.POST, instance=user) |
|
278 |
if form.is_valid(): |
|
279 |
form.save() |
|
280 |
#send_addr_upd_email(user) |
|
281 |
else: |
|
282 |
return render_to_response("address_updated.html", {"user":user}) |
|
236 | 283 |
|
284 |
return render_to_response("address_updated.html", {"user":user}) |
|
285 |
else: |
|
239 | 286 |
return render_to_response("update_address.html", {"user":user, 'form':form}) |
236 | 287 |
|
67 | 288 |
def admin_login(request): |
289 |
""" basic login. |
|
290 |
""" |
|
56 | 291 |
|
72 | 292 |
redirect_url = "/%s/registration/stats"%aup |
293 |
||
294 |
user = request.user |
|
295 |
if user.is_authenticated(): |
|
296 |
return redirect(redirect_url) |
|
297 |
||
67 | 298 |
if request.method == "POST": |
299 |
form = LoginForm(request.POST) |
|
300 |
if form.is_valid(): |
|
72 | 301 |
data = form.cleaned_data |
67 | 302 |
|
303 |
username = data['username'] |
|
304 |
password = data['password'] |
|
305 |
||
306 |
user = authenticate(username=username, password=password) |
|
307 |
login(request, user) |
|
72 | 308 |
return redirect(redirect_url) |
67 | 309 |
else: |
310 |
return render_to_response("login.html", {"form":form}) |
|
311 |
else: |
|
312 |
form = LoginForm() |
|
313 |
return render_to_response("login.html", {"form":form}) |
|
314 |
||
70 | 315 |
@login_required |
67 | 316 |
def admin_logout(request): |
317 |
""" simply logout. |
|
318 |
""" |
|
319 |
||
320 |
logout(request) |
|
321 |
return render_to_response("logout.html") |
|
56 | 322 |
|
26
212fcba4459e
changed the app to work with apache + added base.html, and did needed changes.
anoop
parents:
25
diff
changeset
|
323 |
def homepage(request): |
91 | 324 |
return render_to_response("index.html") |
26
212fcba4459e
changed the app to work with apache + added base.html, and did needed changes.
anoop
parents:
25
diff
changeset
|
325 |
|
31 | 326 |
def schedule(request): |
91 | 327 |
return render_to_response("schedule.html") |
31 | 328 |
|
329 |
def organizers(request): |
|
91 | 330 |
return render_to_response("organizers.html") |
31 | 331 |
|
332 |
def venue(request): |
|
91 | 333 |
return render_to_response("about_venue.html") |
31 | 334 |
|
335 |
def contact(request): |
|
91 | 336 |
return render_to_response("contact.html") |
31 | 337 |
|
338 |
def about(request): |
|
91 | 339 |
return render_to_response("about.html") |
48
a3e6f9470549
made some changes to links and added accomodation page.
anoop
parents:
31
diff
changeset
|
340 |
|
a3e6f9470549
made some changes to links and added accomodation page.
anoop
parents:
31
diff
changeset
|
341 |
def accomodation(request): |
91 | 342 |
return render_to_response("accomodation.html") |
84 | 343 |
|
344 |
def about_mumbai(request): |
|
345 |
return render_to_response("about_mumbai.html") |
|
346 |
||
347 |
def reaching_iitb(request): |
|
348 |
return render_to_response("reaching_iitb.html") |
|
91 | 349 |
|
350 |
def talks_proposed(request): |
|
351 |
return render_to_response("talks_proposed.html") |
|
143
a752dc99e23c
added link to sprint_info and created a basic template
nishanth
parents:
139
diff
changeset
|
352 |
|
a752dc99e23c
added link to sprint_info and created a basic template
nishanth
parents:
139
diff
changeset
|
353 |
def sprint_info(request): |
a752dc99e23c
added link to sprint_info and created a basic template
nishanth
parents:
139
diff
changeset
|
354 |
""" display info on what a sprint is. |
a752dc99e23c
added link to sprint_info and created a basic template
nishanth
parents:
139
diff
changeset
|
355 |
""" |
a752dc99e23c
added link to sprint_info and created a basic template
nishanth
parents:
139
diff
changeset
|
356 |
|
144 | 357 |
return render_to_response("sprint_info.html") |
172 | 358 |
|
359 |
def workshop_info(request): |
|
360 |
""" disply info on workshop |
|
361 |
""" |
|
362 |
||
363 |
return render_to_response("workshop_info.html") |