1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.auth import login, logout, authenticate
from django.shortcuts import render_to_response
from django.core.context_processors import csrf
from django.template import RequestContext
from django.contrib.auth.decorators import login_required
from django.contrib.auth import authenticate, login, logout
from django.core.mail import EmailMultiAlternatives
from django.contrib import messages
from django.utils import timezone
from django.conf import settings
import random, string
from forums.forms import *
def account_register(request):
context = {}
print "account_registration"
print request.method
if request.method == 'POST':
form = RegisterForm(request.POST)
print form
print form.is_valid
if form.is_valid():
username = request.POST['username']
print username
password = request.POST['password']
print password
email = request.POST['email']
print email
user = User.objects.create_user(username, email, password)
user.is_active = True
user.save()
confirmation_code = ''.join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for x in range(33))
#p = Profile(user=user, confirmation_code=confirmation_code)
#p.save()
#send_registration_confirmation(user)
messages.success(request, """
Please confirm your registration by clicking on the activation link which has been sent to your registered email id.
""")
return HttpResponseRedirect('/')
context = {'form':form}
return render_to_response('forums/templates/user-register.html', context,context_instance = RequestContext(request))
else:
form = RegisterForm()
context = {
'form': form
}
context.update(csrf(request))
return render_to_response('forums/templates/user-register.html', context)
def send_registration_confirmation(user):
p = Profile.objects.get(user=user)
user.email = "ashwinids03@gmail.com"
# Sending email when an answer is posted
subject = 'Account Active Notification'
message = """Dear {0},
Thank you for registering at {1}. You may activate your account by clicking on this link or copying and pasting it in your browser
{2}
Regards,
Admin
FOSSEE forum
IIT Bombay.
""".format(
user.username,
"http://spoken-tutorial.org",
"http://spoken-tutorial.org/accounts/confirm/" + str(p.confirmation_code) + "/" + user.username
)
email = EmailMultiAlternatives(
subject, message, 'sysads@fossee.in',
to = [user.email], bcc = [], cc = [],
headers={'Reply-To': 'no-replay@spoken-tutorial.org', "Content-type":"text/html;charset=iso-8859-1"}
)
email.attach_alternative(message, "text/html")
try:
result = email.send(fail_silently=False)
except:
pass
def user_login(request):
if request.user.is_anonymous():
if request.method == 'POST':
form = UserLoginForm(request.POST)
if form.is_valid():
cleaned_data = form.cleaned_data
user = cleaned_data.get("user")
login(request, user)
if 'next' in request.POST:
next_url = request.POST.get('next')
return HttpResponseRedirect(next_url)
return HttpResponseRedirect('/')
else:
form = UserLoginForm()
print form.errors
next_url = request.GET.get('next')
context = {
'form': form,
'next': next_url
}
context.update(csrf(request))
return render_to_response('forums/templates/user-login.html', context)
else:
return HttpResponseRedirect('/')
def user_logout(request):
logout(request)
return HttpResponseRedirect('/')
|