Exemplo n.º 1
0
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})
Exemplo n.º 2
0
    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})
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
Arquivo: views.py Projeto: Agnar22/PU
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')