def email_change(request): """ The email change page If you pass it an EmailForm, it will save it, and display a message. If it fails, it renders the users home page. """ if request.method == "POST": form = EmailForm(request.POST, instance=request.user) if form.is_valid(): form.save() return home(request, "Email Changed Successfully") else: form = EmailForm(instance=request.user) ctx = _make_context(request, "email_form", form) return TemplateResponse(request, "users/index.html", ctx)
def thanks(request, user_id): user = get_object_or_404(Users, id=user_id) registration_form = EmailForm(user_id=user_id) context = RequestContext(request) l = [] if request.method == 'POST': form = EmailForm(request.POST, user_id=user_id) if form.is_valid(): datas = {} datas['first_name'] = user.first_name datas['last_name'] = user.last_name datas['username'] = user.username datas['password'] = user.password datas['email'] = form.cleaned_data['email'] datas['timezone'] = settings.TIME_ZONE datas[ 'preferred_languages'] = "[\"" + settings.LANGUAGE_CODE + "\"]" salt = hashlib.sha1(str(random.random())).hexdigest()[:5] usernamesalt = datas['username'] if isinstance(usernamesalt, unicode): usernamesalt = usernamesalt.encode('utf8') datas['activation_key'] = hashlib.sha1(salt + usernamesalt).hexdigest() datas['email_path'] = "/ActivationEmail.txt" datas['email_subject'] = _("Activate your user account for CMS") if not user.is_active: form.sendEmail(datas) form.save(datas) #Save the user and his profile el = get_object_or_404(Users, username=user.username) request.session['registered'] = True #For display purposes return redirect(settings.URL + settings.THANKS + "/" + str(user.id) + "/") else: registration_form = form #Display form with error messages (incorrect fields, etc) return render( request, 'thanks.html', { 'user': user, 'formset': registration_form, 'u': settings.CMS_URL, 'lpl': lpl }, locals())