Example #1
0
def signup(request):
        user = request.user
	profile = UserProfile()
        if request.method == 'POST':
		signupForm = SignupForm(request.POST)
		if signupForm.is_valid():       	
			if signupForm.cleaned_data['captcha'] == SignupForm.n3: 			
				email = signupForm.cleaned_data['email']
				username = email.split('@', 1 )[0]
		 		password = signupForm.cleaned_data['password']
				confirm = signupForm.cleaned_data['confirm']
				if confirm != password:
					signupForm.confirm = ''	
					return render_to_response('account/confirmError.html',{'signupForm':signupForm}, context_instance=RequestContext(request))
				first_name = signupForm.cleaned_data['first_name']
				last_name = signupForm.cleaned_data['last_name']
       	        	        profile.city = signupForm.cleaned_data['city']
				profile.state = signupForm.cleaned_data['state']
				profile.birthday = signupForm.cleaned_data['birthday']
			 	imageFile = open('%s/profile_pics/hop100.jpg' % (settings.MEDIA_ROOT), 'r')
				file = File(imageFile)	
				profile.photo = file 
				month = profile.birthday.month
				day = profile.birthday.day			
				year = profile.birthday.year
				now = datetime.datetime.now()
				if now.year - year < 21:
					return render_to_response('account/ageError.html',{'signupForm':signupForm}, context_instance=RequestContext(request))
				if now.year - year == 21:
					if now.month < month:	
						return render_to_response('account/ageError.html',{'signupForm':signupForm}, context_instance=RequestContext(request))
					if now.month == month:	
						if now.day < day:
							return render_to_response('account/ageError.html',{'signupForm':signupForm}, context_instance=RequestContext(request))	
	
#       	                profile.gender = signupForm.cleaned_data['gender']
	               	        user = User.objects.create_user(username,email,password)	
				user.first_name = first_name
				user.last_name = last_name
				user.is_active = False
				user.save()
				salt = sha_constructor(str(random.random())).hexdigest()[:5]
				activation_key = sha_constructor(salt+user.username).hexdigest()
				ctx_dict  = {'activation_key': activation_key }
				subject = render_to_string('account/activation_email_subject.txt',ctx_dict)
				subject = ''.join(subject.splitlines())
				message = render_to_string('account/activation_email.txt', ctx_dict)
				#connection = mail.get_connection()
				#connection.open()
				#mail.send_mail(subject, message, '*****@*****.**', [user.email])
				#user.email_user(subject, message, from_email='*****@*****.**')
				profile.user = user
				profile.save()
                
			        return render_to_response('account/activated.html',{'signupForm':signupForm}, context_instance=RequestContext(request))                 
			else:
				signupForm.captcha = ''
				return render_to_response('account/captchaError.html',{'signupForm':signupForm}, context_instance=RequestContext(request))
        else:
                signupForm = SignupForm()           
	  	return render_to_response('account/signup.html',{'signupForm':signupForm}, context_instance=RequestContext(request))                            
	random.random()
	return render_to_response('account/signup.html',{'signupForm':signupForm}, context_instance=RequestContext(request))