author | Shantanu <shantanu@fossee.in> |
Fri, 02 Oct 2009 20:35:23 +0530 | |
changeset 16 | 17db9913a8ff |
parent 15 | 8de52278da5d |
child 17 | cfc989ab8298 |
permissions | -rwxr-xr-x |
6
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
1 |
import datetime |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
2 |
import re |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
3 |
import time |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
4 |
|
15 | 5 |
from django.contrib.auth import authenticate, login, logout |
6
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
6 |
from django.contrib.auth.models import User |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
7 |
from django.http import HttpResponse |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
8 |
from django.http import HttpResponseRedirect |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
9 |
from django.shortcuts import render_to_response |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
10 |
from django.template import Context |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
11 |
from django.template import RequestContext |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
12 |
from django.template import loader |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
13 |
from django.utils.translation import gettext_lazy as _ |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
14 |
|
7
4976650293f4
Fixed settings due to reorganization.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
6
diff
changeset
|
15 |
from conference.forms import ParticipantForm |
4976650293f4
Fixed settings due to reorganization.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
6
diff
changeset
|
16 |
from conference.models import Participant |
6
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
17 |
|
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
18 |
|
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
19 |
def makemsg(username,url): |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
20 |
""" |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
21 |
Email body to be sent to user. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
22 |
""" |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
23 |
msg = _("\ |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
24 |
Dear %(username)s,\n\n\ |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
25 |
\ |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
26 |
Thank you for registering with us. Please visit this url:\n\n\ |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
27 |
%(url)s\n\n\ |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
28 |
to complete the registration\n\n\ |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
29 |
regards\n\ |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
30 |
PyCon India 2009 Team\ |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
31 |
") %{'username': username,'url': url} |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
32 |
return msg |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
33 |
|
12
243a7e90f3c3
Added Template context processors and Session Expire time for auth module.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
7
diff
changeset
|
34 |
def home(request, template_name='home.html'): |
243a7e90f3c3
Added Template context processors and Session Expire time for auth module.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
7
diff
changeset
|
35 |
return render_to_response(template_name, RequestContext(request, {})) |
6
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
36 |
|
15 | 37 |
def logout_view(request): |
38 |
#print request.user.username |
|
6
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
39 |
if request.user.is_authenticated(): |
15 | 40 |
#print request.user.username |
6
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
41 |
logout(request) |
15 | 42 |
return HttpResponseRedirect('../') |
6
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
43 |
|
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
44 |
def register(request): |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
45 |
"""Register function. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
46 |
""" |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
47 |
|
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
48 |
if request.user.is_authenticated(): |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
49 |
msg = _("You are already registered") |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
50 |
return HttpResponseRedirect("/2009/message/%s/" % msg) |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
51 |
|
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
52 |
if request.POST: |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
53 |
# On POST method. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
54 |
form = ParticipantForm(request.POST) |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
55 |
if form.is_valid(): |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
56 |
# If form is clean and has no errors. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
57 |
fm = form.cleaned_data |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
58 |
if len(fm['username']) > 30 or len(fm['username']) < 4: |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
59 |
# Username should be > 4 characters and less that 30 characters. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
60 |
form.errors['username']=[_("User Name must be 4-30 characters long")] |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
61 |
else: |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
62 |
r = re.compile(r"[A-Za-z0-9_]") |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
63 |
for alph in fm['username']: |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
64 |
# Check if every character of the username is either an |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
65 |
# alphabet or numeral. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
66 |
if not r.match(alph): |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
67 |
form.errors['username']=[_("Invalid character %s in Username") %(alph)] |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
68 |
if not form.errors: |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
69 |
test = User.objects.filter(username__iexact=fm['username']) |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
70 |
# Check if username already exists. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
71 |
if test: |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
72 |
form.errors['username'] = [("Username registered, try something else")] |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
73 |
# Check if the email id has already been in use. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
74 |
teste = User.objects.filter(email__iexact=fm['email']) |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
75 |
if teste: |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
76 |
form.errors['email'] = [_("Email registered. Try something else")] |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
77 |
else: |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
78 |
# If username is found in the temporary registration database |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
79 |
# then show pending error message. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
80 |
teste1 = User.objects.filter(email__iexact=fm['email']) |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
81 |
if teste1: |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
82 |
form.errors['email'] = [("Username pending registration. Try tomorrow")] |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
83 |
if not form.errors: |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
84 |
# If all goes well then push into database. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
85 |
new_reg = form.save() |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
86 |
#new_reg.save() |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
87 |
return HttpResponseRedirect("/regthank/%i/" % new_reg.id) |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
88 |
else: |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
89 |
# On the GET method. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
90 |
form = ParticipantForm() |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
91 |
return render_to_response("register.html", |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
92 |
{ "form":form, }, context_instance=RequestContext(request)) |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
93 |
|
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
94 |
|
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
95 |
def regthank(request,id): |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
96 |
"""Function displayed after registration is successful. |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
97 |
""" |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
98 |
p = Participant.objects.get(pk=id) |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
99 |
t = loader.get_template("regthank.html") |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
100 |
c = RequestContext(request, |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
101 |
{"p":p, |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
102 |
}) |
4e819dd96e1f
Restructured and revamped the entire settings.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
103 |
return HttpResponse(t.render(c)) |