summaryrefslogtreecommitdiff
path: root/forums/views.py
blob: e757ab9289ea4fbb5ac4a8e5dc3c960fc117c296 (plain)
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('/')