Ejemplo n.º 1
0
def register_user(request):
    if request.method == 'POST':
        user_registration_form = UserRegistrationForm(get_post_data_from_request(request))

        if user_registration_form.is_valid():
            user_registration_form.save()

            registered_user = authenticate(
                username=user_registration_form.cleaned_data['email'],
                password=user_registration_form.cleaned_data['password1']
            )
            login(request, registered_user)
            response = JsonHttpResponse(
                message=u'Вы успешно зарегистрировались. Осталось подтвердить регистрацию пройдя по ссылке в письме, '
                        u'которое было отправлено на ваш электронный адрес.'
            )
        else:
            response = JsonHttpResponse(
                status=JsonHttpResponse.Status.ERROR,
                message=u'Заполните форму регистрации',
                data={'errors': user_registration_form.errors}
            )
    else:
        response = render(request, 'users/registration.html', {'user_registration_form': UserRegistrationForm()})

    return response
Ejemplo n.º 2
0
def login_user(request):
    if request.method == 'POST':
        user_login_form = UserLoginForm(get_post_data_from_request(request))

        if user_login_form.is_valid():
            user = authenticate(
                username=user_login_form.cleaned_data['username'],
                password=user_login_form.cleaned_data['password']
            )

            if user is not None:
                if user.is_active:
                    login(request, user)

                    if user_login_form.cleaned_data['do_not_remember']:
                        request.session.set_expiry(0)

                    response = JsonHttpResponse(message=u'Вы успешно вошли в систему')
                else:
                    response = JsonHttpResponse(
                        status=JsonHttpResponse.Status.ERROR,
                        message=u'Пользователь не активен'
                    )
            else:
                response = JsonHttpResponse(
                    status=JsonHttpResponse.Status.ERROR,
                    message=u'Пользователя с таким именем и/или паролем не существует'
                )
        else:
            response = JsonHttpResponse(status=JsonHttpResponse.Status.ERROR, data={'errors': user_login_form.errors})
    else:
        response = render(request, 'users/login.html', {'user_login_form': UserLoginForm()})

    return response