def newregister(request): """ Make a new registration, inserting into User_info and ProfileImage models. """ if request.method == 'POST': request.session.set_test_cookie() if request.session.test_cookie_worked(): request.session.delete_test_cookie() else: return HttpResponse("Please enable cookies and try again") form = NewRegisterForm(request.POST, request.FILES) if form.is_valid(): inp_password = form.cleaned_data['password'] inp_username = form.cleaned_data['username'] new_register = form.save(commit=False) hashed_password = make_password(inp_password) new_register.password = hashed_password new_register.save() user_object = get_object_or_404(User_info, username=inp_username) profile_image = request.FILES['image'] profile_image_object = ProfileImage(image=profile_image, username=user_object) profile_image_object.image.name = inp_username + ".jpg" profile_image_object.save() request.session['username'] = form.cleaned_data['username'] request.session['is_loggedin'] = True return HttpResponseRedirect('/') else: form = NewRegisterForm() return render_to_response('register/newregister.html', {'form': form}, RequestContext(request))
def update_profile_pic(request): try: is_loggedin, username = get_session_variables(request) # User is not logged in if not logged_in(request): return HttpResponseRedirect('/register/login') else: user_details = get_object_or_404(User_info, username=username) init_user_details = user_details.__dict__ #If method is not POST if request.method != 'POST': #return form with old details return render_to_response('register/update_profile_pic.html',\ {'form':UpdateProfileForm(init_user_details),\ 'is_loggedin':is_loggedin, 'username':username},\ RequestContext(request)) # If method is POST else: user_object = get_object_or_404(User_info, \ username=username) if 'image' in request.FILES: try: to_delete = ProfileImage.objects.filter( username=username) for obj in to_delete: obj.delete() except ProfileImage.DoesNotExist: pass profile_image = request.FILES['image'] profile_image_object = ProfileImage \ (image=profile_image, \ username=user_object) profile_image_object.image.name = username + \ ".jpg" profile_image_object.save() redirect_url = "/register/profile/" + username + "/" return HttpResponseRedirect(redirect_url) except KeyError: return error_key(request)
def update_profile_pic(request): try: is_loggedin, username = get_session_variables(request) # User is not logged in if not logged_in(request): return HttpResponseRedirect('/register/login') else: user_details = get_object_or_404(User_info, username = username) init_user_details = user_details.__dict__ #If method is not POST if request.method != 'POST': #return form with old details return render_to_response('register/update_profile_pic.html',\ {'form':UpdateProfileForm(init_user_details),\ 'is_loggedin':is_loggedin, 'username':username},\ RequestContext(request)) # If method is POST else: user_object = get_object_or_404(User_info, \ username=username) if 'image' in request.FILES: try: to_delete = ProfileImage.objects.filter(username=username) for obj in to_delete: obj.delete() except ProfileImage.DoesNotExist: pass profile_image = request.FILES['image'] profile_image_object = ProfileImage \ (image=profile_image, \ username=user_object) profile_image_object.image.name = username + \ ".jpg" profile_image_object.save() redirect_url = "/register/profile/"+username+"/" return HttpResponseRedirect(redirect_url) except KeyError: return error_key(request)
def newregister(request): """ Make a new registration, inserting into User_info and ProfileImage models. """ try: # If the user is already loggedin never show the login page if logged_in(request): return render_to_response('register/logged_in.html', RequestContext(request)) # Upon Register button click if request.method == 'POST': form = NewRegisterForm(request.POST, request.FILES) # Form has all valid entries if form.is_valid(): cleaned_reg_data = form.cleaned_data inp_username = cleaned_reg_data['username'] inp_password = cleaned_reg_data['password'] inp_email = cleaned_reg_data['email'] # Saving the user inputs into table new_register = form.save(commit=False) new_register.password = hash_func(inp_password) \ .hexdigest() new_register.save() user_object = get_object_or_404(User_info, \ username=inp_username) # Optional image upload processing and saving if 'image' in request.FILES: profile_image = request.FILES['image'] profile_image_object = ProfileImage \ (image=profile_image, \ username=user_object) profile_image_object.image.name = inp_username + \ ".jpg" profile_image_object.save() # Setting the session variables request.session['username'] = cleaned_reg_data['username'] request.session['is_loggedin'] = True request.session['email'] = cleaned_reg_data['email'] sendmail_after_userreg(inp_username, inp_password, inp_email) notify_new_user(inp_username, inp_email) return render_to_response('register/register_success.html', {'is_loggedin':logged_in(request), \ 'username':request.session['username']}, \ RequestContext(request)) # Invalid form inputs else: error = "Invalid inputs" return render_to_response('register/newregister.html', { 'form': form, 'error': error }, RequestContext(request)) return render_to_response('register/newregister.html', {'form': NewRegisterForm}, RequestContext(request)) except KeyError: return error_key(request)
def newregister(request): """ Make a new registration, inserting into User_info and ProfileImage models. """ try: # If the user is already loggedin never show the login page if logged_in(request): return render_to_response('register/logged_in.html', RequestContext(request)) # Upon Register button click if request.method == 'POST': form = NewRegisterForm(request.POST, request.FILES) # Form has all valid entries if form.is_valid(): cleaned_reg_data = form.cleaned_data inp_username = cleaned_reg_data['username'] inp_password = cleaned_reg_data['password'] inp_email = cleaned_reg_data['email'] # Saving the user inputs into table new_register = form.save(commit=False) new_register.password = hash_func(inp_password) \ .hexdigest() new_register.save() user_object = get_object_or_404(User_info, \ username=inp_username) # Optional image upload processing and saving if 'image' in request.FILES: profile_image = request.FILES['image'] profile_image_object = ProfileImage \ (image=profile_image, \ username=user_object) profile_image_object.image.name = inp_username + \ ".jpg" profile_image_object.save() # Setting the session variables request.session['username'] = cleaned_reg_data['username'] request.session['is_loggedin'] = True request.session['email'] = cleaned_reg_data['email'] sendmail_after_userreg(inp_username, inp_password, inp_email) notify_new_user(inp_username, inp_email) return render_to_response('register/register_success.html', {'is_loggedin':logged_in(request), \ 'username':request.session['username']}, \ RequestContext(request)) # Invalid form inputs else: error = "Invalid inputs" return render_to_response('register/newregister.html', {'form': form, 'error':error}, RequestContext(request)) return render_to_response('register/newregister.html', {'form': NewRegisterForm}, RequestContext(request)) except KeyError: return error_key(request)