예제 #1
0
def register(request):
    if request.method == "POST":  # S'il s'agit d'une requête POST
        print("IS POST REQUEST")
        form = RegisterForm(request.POST)  # On récupère les données

        if form.is_valid():  # On vérifie que les données envoyées sont valides

            new_user = User.objects.create_user(
                form.cleaned_data["email"], form.cleaned_data["email"], form.cleaned_data["password"]
            )
            new_user.first_name = form.cleaned_data["first_name"]
            new_user.last_name = form.cleaned_data["last_name"]
            new_user.save()

            new_profil = Profil()
            new_profil.user = new_user
            new_profil.save()

            envoi = True

            return HttpResponseRedirect("/accounts/login/")
        else:
            error = True
            error_message = "Invalid informations"

    else:  # Si ce n'est pas du POST, c'est probablement une requête GET
        form = RegisterForm()  # Nous créons un formulaire vide

    return render(request, "authentication/register.html", locals())
예제 #2
0
 def post(self, request):
     form = RegisterForm(request.POST)
     if form.is_valid():
         user = User.objects.create_user(**form.cleaned_data)
         user.save()
         return redirect('login')
     return render(request, self.template_name, context={'form': form})
예제 #3
0
파일: views.py 프로젝트: JPupsik/HealthCare
    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})
예제 #4
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)
예제 #5
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})
예제 #6
0
def register(request):
    data = request.POST.copy()
    register_form = RegisterForm()
    if request.POST:
        register_form = RegisterForm(data)
        if register_form.is_valid():
            User.objects.create_user(data['username'], data['password'], data['email'])
            user = auth.authenticate(username=data['username'], password=data['password'])
            auth.login(request, user)
            return redirect(reverse('home'))
    
    objcontext = {'register_form': register_form, 'login_form': LoginForm()}
    return render(request, 'authentication/register.html', objcontext)
예제 #7
0
    def test_form_valid_data(self):
        form = RegisterForm(
            data={
                'email': "*****@*****.**",
                'first_name': "Test",
                'last_name': "Test",
                'phone_number': 12345678,
                'password': "******"
            })

        self.assertTrue(form.is_valid())
        self.assertEqual(len(form.errors), 0)


# python manage.py test authentication
예제 #8
0
def registerView(request, template_name="authentication/register.html"):
    if request.user.is_authenticated():
        return HttpResponseRedirect('/')

    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            email = request.POST['email']
            password = request.POST['password']
            username = email.split("@")[0]
            print "..... username: %s" % username
            new_user = User.objects.create_user(email=email,
                                                password=password,
                                                username=username)
            new_user.backend = 'django.contrib.auth.backends.ModelBackend'
            login(request, new_user)
    return HttpResponseRedirect('/')
예제 #9
0
    def post(self, request):
        """регистрация пользователя"""
        postdata = request.POST.copy()
        email = postdata.get('email', None)
        password = postdata.get('password', None)
        username = postdata.get('username', None)

        form = RegisterForm(request.POST)
        profile_form = StudentProfileForm(request.POST)
        if form.is_valid() and profile_form.is_valid():
            user = Account.objects.create_user(email, password=password, username=username)
            user = populateAccountData(request, user, is_teacher=False)
            login(request, user)
            profile_form.save(user)
            return HttpResponseRedirect('/')

        return render_to_response(self.template_name, locals(), context_instance=RequestContext(request))
예제 #10
0
파일: views.py 프로젝트: tomaslu/map_editor
 def post(self, request, *args, **kwargs):
     data = RequestUtils.get_parameters(request)
     
     form = RegisterForm(data)
     if form.is_valid():
         user = User.objects.create_user(
                                          form.cleaned_data['username'], 
                                          form.cleaned_data['email'], 
                                          form.cleaned_data['password'],
                                          )
         if form.cleaned_data['first_name']:
             user.first_name = form.cleaned_data['first_name']
         if form.cleaned_data['last_name']:
             user.last_name = form.cleaned_data['last_name']
         user.save()
         return HttpResponse('user is created')
     else:
         return HttpResponseBadRequest(str(form.errors))
예제 #11
0
def register(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST)

        if form.is_valid():
            data = form.cleaned_data
            user = TwitterUser.objects.create_user(
                username=data['username'],
                password=data['password1']
            )
            login(request, user)
            return HttpResponseRedirect(reverse('homepage'))

    else:
        form = RegisterForm()

    return render(request, 'generic_form.html', {
        'form': form
    })
예제 #12
0
파일: views.py 프로젝트: 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')
예제 #13
0
def register_view(request):
    # This view registers new users.
    if request.user.is_authenticated:
        return redirect(settings.LOGIN_REDIRECT_URL)

    error_register = False
    # We use the context because we have two forms in the same page.
    context = {
        'login_form': LoginForm(),
        'register_form': RegisterForm(request.POST),
        'error_register': error_register
    }

    if request.method == "POST":
        form = RegisterForm(request.POST)
        if form.is_valid():
            # Getting the form data.
            first_name_reg = form.cleaned_data["first_name_reg"]
            last_name_reg = form.cleaned_data["last_name_reg"]
            username_reg = form.cleaned_data["username_reg"]
            email_reg = form.cleaned_data["email_reg"]
            password_reg = form.cleaned_data["password_reg"]
            account_type = form.cleaned_data["account_type"]

            # Checking if the user already exits.
            user = authenticate(username=username_reg, password=password_reg)
            if user:
                error_register = True
                context['error_register'] = error_register
                context['error_message'] = '* Username already exists.'
            else:
                # Creating the new user.
                new_user = User.objects.create_user(username_reg, email_reg,
                                                    password_reg)
                new_user.first_name = first_name_reg
                new_user.last_name = last_name_reg
                new_user.save()

                # Every user has a profile. We create a profile and save it.
                new_profile = Profile.objects.create(user=new_user)
                new_profile.profile_type = account_type
                new_profile.save()
                # Authenticating the user.
                user = authenticate(username=username_reg,
                                    password=password_reg)
                # data is correct (It should be correct in this case).
                if user:
                    login(request, user)
                    return redirect(settings.LOGIN_REDIRECT_URL)
                else:
                    error_register = True
                    context['error_register'] = error_register
        else:
            error_register = True
            context['error_register'] = error_register
            try:
                context['error_message'] = form._errors["password_reg"]
            except KeyError:
                try:
                    context['error_message'] = form._errors["email_reg"]
                except KeyError:
                    context['error_message'] = form._errors["username_reg"]

    else:
        form = RegisterForm()
        error_register = True
        context['error_register'] = error_register

    return render(request, 'registration/login_register.html', context)
예제 #14
0
 def test_form_no_data(self):
     form = RegisterForm(data={})
     self.assertFalse(form.is_valid())
     self.assertEqual(len(form.errors), 5)