author | Madhusudan.C.S <madhusudancs@gmail.com> |
Thu, 01 Apr 2010 11:59:35 +0530 | |
changeset 94 | e86755df35da |
parent 1 | fda1c66b25f9 |
child 96 | 3ece0de11641 |
permissions | -rw-r--r-- |
1
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
1 |
# -*- coding: utf-8 -*- |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
2 |
from __future__ import absolute_import |
94
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
3 |
|
1
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
4 |
#python |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
5 |
from urlparse import urlparse |
94
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
6 |
import json |
1
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
7 |
import urllib |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
8 |
import os |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
9 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
10 |
#django |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
11 |
from django.conf import settings |
94
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
12 |
from django.db.models import Q |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
13 |
from django.http import HttpResponse |
1
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
14 |
from django.shortcuts import render_to_response |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
15 |
from django.template import RequestContext |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
16 |
from django.core.urlresolvers import reverse |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
17 |
from django.db.models.signals import post_save |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
18 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
19 |
#django.contrib |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
20 |
from django.contrib.auth.decorators import login_required |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
21 |
from django.contrib.auth.forms import AuthenticationForm |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
22 |
from django.contrib.auth.forms import PasswordChangeForm |
94
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
23 |
from django.contrib.auth.models import User |
1
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
24 |
from django.core.exceptions import ObjectDoesNotExist |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
25 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
26 |
#PIL |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
27 |
from PIL import Image |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
28 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
29 |
#kiwipycon |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
30 |
from project.kiwipycon.utils import set_message_cookie |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
31 |
from project.kiwipycon.talk.models import Talk |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
32 |
from project.kiwipycon.registration.models import Registration |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
33 |
from project.kiwipycon.registration.models import Wifi |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
34 |
from project.kiwipycon.registration.forms import WifiForm |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
35 |
from project.kiwipycon.sponsor.models import Sponsor |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
36 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
37 |
from .utils import kiwipycon_createuser |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
38 |
from .utils import handle_uploaded_photo |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
39 |
from .forms import RegisterForm |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
40 |
from .forms import EditProfileForm |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
41 |
from .forms import UsernameForm |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
42 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
43 |
@login_required |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
44 |
def account(request, template_name="user/account.html"): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
45 |
"""Displays the main screen of the current user's account. |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
46 |
""" |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
47 |
user = request.user |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
48 |
profile = user.get_profile() |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
49 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
50 |
talks = Talk.objects.filter(speaker=user) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
51 |
try: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
52 |
registration = Registration.objects.get(registrant=user) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
53 |
except ObjectDoesNotExist: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
54 |
registration = None |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
55 |
try: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
56 |
wifiobj = Wifi.objects.get(user=user) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
57 |
except ObjectDoesNotExist: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
58 |
wifiobj = None |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
59 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
60 |
if profile.photo: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
61 |
photo = os.path.join(settings.USER_MEDIA_URL, profile.photo) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
62 |
else: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
63 |
photo = '/img/user-default.png' |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
64 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
65 |
qstring = "" |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
66 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
67 |
wifi_comment = None |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
68 |
if wifiobj: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
69 |
wifi_form = False |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
70 |
else: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
71 |
if request.method == "POST": |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
72 |
wifi_form = WifiForm(request.POST) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
73 |
if wifi_form.is_valid(): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
74 |
wifi_form.save(user) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
75 |
wifi_comment = 'Thanks, your wifi preference has been saved' |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
76 |
wifi_form = None |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
77 |
else: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
78 |
wifi_form = WifiForm() |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
79 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
80 |
return render_to_response(template_name, RequestContext(request, { |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
81 |
"form" : wifi_form, "comment": wifi_comment, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
82 |
"user" : user, "profile" : profile, "photo" : photo, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
83 |
"talks" : talks, "registration" : registration, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
84 |
})) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
85 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
86 |
@login_required |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
87 |
def edit_profile(request, template_name="user/editprofile.html"): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
88 |
"""Allows user to edit profile |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
89 |
""" |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
90 |
user = request.user |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
91 |
profile = user.get_profile() |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
92 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
93 |
if request.method == "POST": |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
94 |
form = EditProfileForm(data=request.POST, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
95 |
files=request.FILES) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
96 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
97 |
if form.is_valid(): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
98 |
photo = request.FILES.get('photo', None) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
99 |
filename= None |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
100 |
if photo: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
101 |
filename = handle_uploaded_photo(user, request.FILES['photo']) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
102 |
if filename: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
103 |
profile.photo = filename |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
104 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
105 |
user.email = form.data.get("email") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
106 |
user.first_name = form.data.get("first_name") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
107 |
user.last_name = form.data.get("last_name") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
108 |
user.save() |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
109 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
110 |
profile.url = form.data.get("url") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
111 |
profile.about = form.data.get("about") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
112 |
profile.save() |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
113 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
114 |
redirect_to = reverse("kiwipycon_account") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
115 |
return set_message_cookie(redirect_to, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
116 |
msg = u"Your profile has been changed.") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
117 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
118 |
else: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
119 |
form = EditProfileForm(initial={"email" : user.email, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
120 |
"email2" : user.email, # hidden field |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
121 |
"first_name" : user.first_name, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
122 |
"last_name" : user.last_name, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
123 |
"url" : profile.url, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
124 |
"about" : profile.about, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
125 |
}) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
126 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
127 |
return render_to_response(template_name, RequestContext(request, { |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
128 |
"form": form |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
129 |
})) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
130 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
131 |
def login(request, template_name="user/login.html"): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
132 |
"""Custom view to login or register/login a user. |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
133 |
Integration of register and login form |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
134 |
It uses Django's standard AuthenticationForm, though. |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
135 |
""" |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
136 |
user = request.user |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
137 |
if user.is_authenticated(): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
138 |
redirect_to = reverse("kiwipycon_account") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
139 |
return set_message_cookie(redirect_to, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
140 |
msg = u"Redirected to account from login form.") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
141 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
142 |
# Using Djangos default AuthenticationForm |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
143 |
login_form = AuthenticationForm() |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
144 |
register_form = RegisterForm() |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
145 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
146 |
if request.POST.get("action") == "login": |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
147 |
login_form = AuthenticationForm(data=request.POST) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
148 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
149 |
if login_form.is_valid(): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
150 |
redirect_to = request.POST.get("next") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
151 |
# Light security check -- make sure redirect_to isn't garbage. |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
152 |
if not redirect_to or '//' in redirect_to or ' ' in redirect_to: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
153 |
redirect_to = reverse("kiwipycon_account") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
154 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
155 |
from django.contrib.auth import login |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
156 |
login(request, login_form.get_user()) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
157 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
158 |
return set_message_cookie(redirect_to, msg = u"You have been logged in.") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
159 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
160 |
elif request.POST.get("action") == "register": |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
161 |
register_form = RegisterForm(data=request.POST) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
162 |
if register_form.is_valid(): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
163 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
164 |
user = kiwipycon_createuser(request, register_form.data) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
165 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
166 |
redirect_to = request.POST.get("next") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
167 |
if not redirect_to or '//' in redirect_to or ' ' in redirect_to: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
168 |
redirect_to = reverse("kiwipycon_account") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
169 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
170 |
return set_message_cookie( |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
171 |
redirect_to, msg = u"You have been registered and logged in.") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
172 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
173 |
# Get next_url |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
174 |
next_url = request.REQUEST.get("next") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
175 |
if next_url is None: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
176 |
next_url = request.META.get("HTTP_REFERER") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
177 |
if next_url is None: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
178 |
next_url = reverse("kiwipycon_account") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
179 |
# Get just the path of the url. See django.contrib.auth.views.login for more |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
180 |
next_url = urlparse(next_url) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
181 |
next_url = next_url[2] |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
182 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
183 |
try: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
184 |
login_form_errors = login_form.errors["__all__"] |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
185 |
except KeyError: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
186 |
login_form_errors = None |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
187 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
188 |
return render_to_response(template_name, RequestContext(request, { |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
189 |
"login_form" : login_form, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
190 |
"login_form_errors" : login_form_errors, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
191 |
"register_form" : register_form, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
192 |
"next_url" : next_url, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
193 |
})) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
194 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
195 |
def logout(request): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
196 |
"""Custom method to logout a user. |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
197 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
198 |
The reason to use a custom logout method is just to provide a login and a |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
199 |
logoutmethod on one place. |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
200 |
""" |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
201 |
from django.contrib.auth import logout |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
202 |
logout(request) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
203 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
204 |
redirect_to = '/' |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
205 |
return set_message_cookie(redirect_to, msg = u"You have been logged out.") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
206 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
207 |
@login_required |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
208 |
def password(request, template_name="user/password.html"): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
209 |
"""Changes the password of current user. |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
210 |
""" |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
211 |
if request.method == "POST": |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
212 |
form = PasswordChangeForm(request.user, request.POST) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
213 |
if form.is_valid(): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
214 |
form.save() |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
215 |
redirect_to = reverse("kiwipycon_account") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
216 |
return set_message_cookie(redirect_to, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
217 |
msg = u"Your password has been changed.") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
218 |
else: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
219 |
form = PasswordChangeForm(request.user) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
220 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
221 |
return render_to_response(template_name, RequestContext(request, { |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
222 |
"form" : form |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
223 |
})) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
224 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
225 |
@login_required |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
226 |
def username(request, template_name="user/username.html"): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
227 |
"""Saves the username from the data form. |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
228 |
""" |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
229 |
if request.method == "POST": |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
230 |
username_form = UsernameForm(initial={"username" : request.user.username}, data=request.POST) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
231 |
if username_form.is_valid(): |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
232 |
request.user.username = username_form.cleaned_data.get("username") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
233 |
request.user.save() |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
234 |
redirect_to = reverse("kiwipycon_account") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
235 |
return set_message_cookie(redirect_to, |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
236 |
msg = u"Your username has been changed.") |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
237 |
else: |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
238 |
username_form = UsernameForm(initial={"username" : request.user.username}) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
239 |
|
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
240 |
return render_to_response(template_name, RequestContext(request, { |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
241 |
"form": username_form |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
242 |
})) |
fda1c66b25f9
Added all the files from kiwipycon and the changes made for SciPy.in.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff
changeset
|
243 |
|
94
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
244 |
|
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
245 |
def get_usernames(request): |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
246 |
"""Returns in json the list of ten possible usernames |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
247 |
starting with the last pattern in the comma separated string |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
248 |
""" |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
249 |
|
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
250 |
get_params = request.GET |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
251 |
authors_str = get_params.get('input') |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
252 |
|
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
253 |
if not authors_str: |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
254 |
return HttpResponse(json.dumps('')) |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
255 |
|
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
256 |
authors = authors_str.split(',') |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
257 |
search_author = authors[-1].strip() |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
258 |
|
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
259 |
users = User.objects.filter( |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
260 |
Q(username__istartswith=search_author) | Q( |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
261 |
first_name__istartswith=search_author) | Q( |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
262 |
last_name__istartswith=search_author)) |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
263 |
|
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
264 |
results = [{'id': '', |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
265 |
'info': 'plugin_header', |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
266 |
'value': 'User Names' |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
267 |
}] |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
268 |
|
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
269 |
for user in users: |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
270 |
results.append( |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
271 |
{'id': 'author_name', |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
272 |
'info': str(user.get_full_name()), |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
273 |
'value': str(user.username) |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
274 |
}) |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
275 |
|
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
276 |
json_response = {'results': results} |
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
277 |
|
e86755df35da
Add admin interface and views for proceedings. Booklet is also setup to generate paper.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
1
diff
changeset
|
278 |
return HttpResponse(json.dumps(json_response)) |