def register_view(request): if request.user.is_authenticated: return redirect('mainapp:home') form = RegisterForm() if request.method == 'POST': form = RegisterForm(request.POST) if form.is_valid(): form.save() messages.success(request,"Account succefully created!!") return redirect('mainapp:home') return render(request,'authentication/auth_register.html',{"form":form})
def post(self, request): form = RegisterForm(request.POST) if form.is_valid(): user = form.save() return redirect(reverse('login')) return render(request, 'sign-up.html', {'form': form})
def post(self, request: HttpRequest): def _render_template(form, next_url): return render( request, "authentication/register.html", { "form": form, "next": next_url }, ) next_url = request.POST.get("next", "") form = RegisterForm(request.POST) if not form.is_valid(): return _render_template(form, next_url) try: user = form.save() assert user is not None # If any unique field's value wasn't unique except AssertionError: form.add_error("", "ثبت کاربر با مشکل مواجه شد") return _render_template(form, next_url) # Send confirmation uel confirm_manager = EmailConfirmationManager(user) uid_base64 = confirm_manager.get_uid_base64() token = confirm_manager.get_token() confirm_url = request.build_absolute_uri( resolve_url( "authentication:confirm_email", uid_base64=uid_base64, token=token, )) send_email_result = confirm_manager.send_mail( "mails/email_confirmation.html", confirm_url, settings.DEFAULT_FROM_EMAIL, ) messages.success(request, "ثبت نام با موفقیت انجام شد") if send_email_result: messages.success( request, "ارسال ایمیل تایید حساب کاربری با موفقیت انجام شد") else: messages.error(request, "ارسال ایمیل تایید حساب کاربری موفقیت آمیز نبود") # Redirect to login page login_url = reverse("authentication:login") + "?next=" + next_url return redirect(login_url)
def landing_page(request): create_review_models() form = RegisterForm() distinct_cities = Apartment.objects.values('city').distinct().count() distinct_apartments = Apartment.objects.all().count() if request.method == 'GET': context = { 'form': form, 'distinct_cities': distinct_cities, 'distinct_apartments': distinct_apartments } return render(request, 'landingpage/landing-page.html', context) else: # POST if request.POST.get("first_name"): # Register print("Registrering") form = RegisterForm(request.POST, request.FILES or None) if form.is_valid(): user = form.save(commit=False) # Cleaned (normalized) data email = form.cleaned_data['email'].lower() password = form.cleaned_data['password'] user.set_password(password) try: image = request.FILES.get("image") if image is not None: user.profile_picture = image user.save() except: messages.error(request, 'Noe gikk galt, prøv igjen') return redirect('/') # Returns User objects if credentials are correct user = authenticate(email=email, password=password) if user is not None: if user.is_active: login(request, user) # User is logged in messages.success(request, 'Du er nå registrert og logget inn!') return redirect('/') else: messages.warning(request, form.errors) return render( request, 'landingpage/landing-page.html', { 'form': form, 'distinct_cities': distinct_cities, 'distinct_apartments': distinct_apartments }) else: email = request.POST.get("email").lower() password = request.POST.get("password") user = authenticate(request, email=email, password=password) if user is not None: login(request, user) messages.success(request, 'Du er nå logget inn!') return redirect('landing-page') else: messages.error(request, 'Fant dessverre ikke brukeren, prøv på nytt') return redirect('landing-page')