Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def register(request):
- if request.method == "POST":
- first_name = request.POST['first_name']
- last_name = request.POST['last_name']
- last_name = request.POST['last_name']
- username = request.POST['username']
- email = request.POST['email']
- password = request.POST['password']
- password2 = request.POST['password2']
- if password == password2:
- if len(password) < 5:
- messages.error(
- request, _('Your password is too small. Please use a stronger one.'))
- return redirect('register')
- if User.objects.filter(username=username).exists():
- messages.error(
- request, _('Username is already taken. Please register again with new username.'))
- return redirect('register')
- if User.objects.filter(email=email).exists():
- messages.error(
- request, _('Email: '+email+' is already registered. You can login with that email.'))
- return redirect('register')
- else:
- user = User.objects.create_user(
- first_name=first_name, last_name=last_name, username=username, email=email, password=password)
- user.save()
- messages.success(
- request, _('Your account has been created.You can log in now.'))
- return redirect('login')
- else:
- messages.error(request, _('Password didn\'t match!'))
- return redirect('register')
- else:
- return render(request, 'accounts/register.html')
- def login(request):
- if request.method == 'POST':
- username = request.POST['username']
- password = request.POST['password']
- user = auth.authenticate(username=username, password=password)
- if user is not None:
- auth.login(request, user)
- messages.success(request, _('You are logged in now.'))
- return redirect('dashboard')
- else:
- messages.error(
- request, _('Your credentials didn\'t matched. Please use correct username and password.'))
- return redirect('login')
- else:
- return render(request, 'accounts/login.html')
- def logout(request):
- auth.logout(request)
- messages.success(request, _('You have been logged out.'))
- return redirect('login')
- @login_required
- def edit_profile(request):
- if request.method == 'POST':
- user = User.objects.get(id=request.user.id)
- if request.POST.get('username') != request.user.username and User.objects.filter(username=request.POST.get('username')).exists():
- messages.error(request,_('User with same username already exists! Please choose unique username.'))
- return redirect('dashboard')
- user.first_name = request.POST.get(
- 'first_name', request.user.first_name)
- user.last_name = request.POST.get('last_name', request.user.last_name)
- if request.POST['username']:
- saved_items = Save.objects.filter(username=user.username)
- for item in saved_items:
- item.username = request.POST['username']
- item.save()
- user.username = request.POST.get('username', request.user.username)
- user.email = request.POST.get('email', request.user.email)
- user.save()
- messages.success(request, _('Your profile is successfully updated.'))
- return redirect('dashboard')
- return redirect('login')
- @login_required
- def change_password(request):
- if request.method == 'POST':
- form = PasswordChangeForm(request.user, request.POST)
- if form.is_valid():
- user = form.save()
- update_session_auth_hash(request, user) # Important!
- messages.success(
- request, _('Your password was successfully updated!'))
- return redirect('dashboard')
- else:
- messages.error(request, _('Please make sure all conditions are matched !'))
- else:
- form = PasswordChangeForm(request.user)
- return render(request, 'accounts/change_password.html', {
- 'form': form
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement