def signUp(request): if request.method == 'POST': uf = UserForm(request.POST, prefix='user') af = AvatarForm(request.POST, request.FILES, prefix='author') if uf.is_valid() and af.is_valid(): user = uf.save(commit=False) user.is_active = True user.set_password(user.password) user.save() author = af.save(commit=False) author.user = user author.save() sendConfirmationMail.delay(user.id) createProfileImages.delay(user.id) messages.success(request, _('Sign Up Success!')) messages.info(request, _('Please go to your inbox and read the activation mail')) return HttpResponseRedirect(reverse('pageHome')) else: uf = UserForm(prefix='user') af = AvatarForm(prefix='author') return render(request, 'signup.html', dict(userForm=uf, avatarForm=af), )
def settings(request): author = Author.objects.get(slug=request.session['author']['slug']) if not author.is_verified: messages.warning(request, _('Your account not verified. Please read your mail for verify process.')) user = author.user upf = UserPasswordForm(prefix='password') uaf = AvatarForm(prefix='avatar') uef = UserEmailForm(prefix='email') if request.method == "POST": if request.POST['type'] == "change_password": upf = UserPasswordForm(request.POST, prefix='password') if upf.is_valid(): upf.save() createProfileImages.delay(user.id) messages.success(request, _('Password Changed !')) return HttpResponseRedirect(reverse('pageSettings')) elif request.POST['type'] == "change_email": uef = UserEmailForm(request.POST, prefix='email') if uef.is_valid(): user.email = uef.save() author.is_verified = False author.save() sendConfirmationMail.delay(user.id) messages.success(request, _('Email Change Success!')) messages.info(request, _('Please go to your inbox and read the re-activation mail')) return HttpResponseRedirect(reverse('pageSettings')) elif request.POST['type'] == "change_avatar": uaf = AvatarForm(request.POST, request.FILES, prefix='avatar') if uaf.is_valid(): uaf.save() messages.success(request, _('Avatar Changed, You look good!')) return HttpResponseRedirect(reverse('pageSettings')) return render(request, 'settings.html', dict(upf=upf, uef=uef, uaf=uaf))