Beispiel #1
0
    def test_return_form_invalid_if_not_contain_upper_and_lower(self):
        expected = False

        # change password using the password change form
        form1 = ChangePasswordForm(data={
            'current_password': self.user.password,
            'new_password': '******',
            'confirm_password': '******'
        },
                                   user=self.user,
                                   profile=self.profile)

        form2 = ChangePasswordForm(data={
            'current_password': self.user.password,
            'new_password': '******',
            'confirm_password': '******'
        },
                                   user=self.user,
                                   profile=self.profile)

        result1 = form1.is_valid()
        result2 = form2.is_valid()

        self.assertEqual(expected, result1)
        self.assertEqual(expected, result2)
Beispiel #2
0
def change_password(request):
    """page to change password"""
    help_texts = password_validators_help_texts(password_validators=None)
    if request.method == 'POST':
        form = ChangePasswordForm(request.POST, request=request)
        if form.is_valid():
            current_password = form.cleaned_data['current_password']

            if request.user.check_password(current_password):
                new_password = form.cleaned_data.get('new_password')
                user = request.user
                user.set_password(new_password)
                user.save()
                messages.success(request, "Password updated!")
                return redirect('accounts:profile')
            else:
                messages.error(
                    request, "The password did not match \
                    your current password!")
                return redirect('accounts:change_password')
    else:
        form = ChangePasswordForm()
    help_texts = help_texts[:-1]
    help_texts.append("Your first name, last name, or username"
                      " cannot be in your new password.")
    return render(request, 'accounts/change_password.html', {
        'form': form,
        'help_texts': help_texts
    })
Beispiel #3
0
def change_password(request):
    if not request.user.is_authenticated:
        messages.error(request, "로그인 하셔야 합니다.")
        context = {}
        return redirect('accounts:login')
    else:
        if request.method == "POST":
            change_password_form = ChangePasswordForm(request.user, request.POST)

            if change_password_form.is_valid():
                user = change_password_form.save()
                update_session_auth_hash(request, user)
                messages.info(request, '비밀번호 변경 완료')

                return redirect('accounts:view_profile')
            else:
                messages.error(request, '비밀번호 변경 실패')

        else:
            change_password_form = ChangePasswordForm(request.user)
            context = {
                'password_change_form': change_password_form,
            }

        return render(request, 'accounts/password_change.html', context=context)
Beispiel #4
0
def change_password(request):
    if request.is_ajax():

        user = User.objects.get(id=request.user.id)

        response = {"status": True, "errors": []}

        if request.method == "POST":
            form = ChangePasswordForm(request.user,
                                      request.POST or None,
                                      use_required_attribute=False)

            if form.is_valid():
                form.save()
                update_session_auth_hash(request, user)
                messages.add_message(
                    request, messages.INFO,
                    "Password has been updated successfully! Please Login again"
                )

            else:
                response["status"] = False
                for key, value in form.errors.items():
                    tmp = {'key': key, 'error': value.as_text()}
                    response['errors'].append(tmp)

            return HttpResponse(json.dumps(response))
Beispiel #5
0
 def post(self, request):
     form = ChangePasswordForm(request.user, request.POST)
     if form.is_valid():
         user = form.save()
         update_session_auth_hash(request, user)
         messages.success(
             request,
             'Udało sie zmienić hasło. Proszę zalogować się ponownie, nowym hasłem.'
         )
         return redirect('url_login')
     return render(request, 'change-password.html', {'form': form})
Beispiel #6
0
def change_password(request):
    if request.method == 'POST':
        form = ChangePasswordForm(user=request.user, data=request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('logout'))
    else:
        form = ChangePasswordForm(user=request.user)
    results = {
        'form': form,
        'request': request,
    }
    return render(request, 'accounts/change_password.html', results)
Beispiel #7
0
 def post(self, request, *arg, **kwargs):
     user = request.user
     username = user.get_username()
     form = ChangePasswordForm(request.POST)
     if form.is_valid():
         account = User.objects.get(username__exact=username)
         account.set_password(form.cleaned_data.get('password1'))
         account.save()
         auth.login(request, account)
         return redirect('home')
     else:
         return render(request, 'registration/change_password.html',
                       {'form': form})
Beispiel #8
0
def change_password(request):
    if request.method == 'POST':
        user = request.user
        form = ChangePasswordForm(request.POST, request=request)
        if form.is_valid():
            user.set_password(request.POST['password1'])
            user.save()
            response_data = {'error': False, "response": 'Your password is updated !'}

        else:
            response_data = {'error': True, 'response': form.errors}

        return HttpResponse(json.dumps(response_data))
    return render(request, 'user/change_password.html')
Beispiel #9
0
    def test_return_form_invalid_if_current_password_incorrect(self):
        expected = False

        form = ChangePasswordForm(data={
            'current_password': '******',
            'new_password': '******',
            'confirm_password': '******'
        },
                                  user=self.user,
                                  profile=self.profile)

        result = form.is_valid()

        self.assertEqual(expected, result)
Beispiel #10
0
def change_password(request):
    if request.method == 'POST':
        user = request.user
        form = ChangePasswordForm(request.POST, request=request)
        if form.is_valid():
            user.set_password(request.POST['password1'])
            user.save()
            response_data = {'error': False, "response": 'Your password is updated !'}
            messages.success(request, 'Your password updated successfully!')
        else:
            response_data = {'error': True, 'response': form.errors}

        return HttpResponse(json.dumps(response_data))
    return render(request, 'user/change_password.html', {'notification_list': get_notification_list(request.user)})
Beispiel #11
0
def change_pass(request, pk, token):
    user = get_object_or_404(User, pk=pk)
    if request.method == 'POST':
        form = ChangePasswordForm(request.POST)
        if form.is_valid():
            user.set_password(form.cleaned_data['password1'])
            user.save()
            return HttpResponseRedirect('/accounts/login/?username={}'.format(user.username))
        return render(request, 'accounts/change_password_form.html', {'form': form})
    else:
        if token_generator.check_token(user, token):
            form = ChangePasswordForm()
            return render(request, 'accounts/change_password_form.html', {'form': form})
    return render(request, 'accounts/invalid_link.html')
Beispiel #12
0
def password(request):
    password_changed = False
    if request.method == "POST":
        form = ChangePasswordForm(request.user, request.POST)
        if form.is_valid():
            request.user.set_password(form.cleaned_data["new_password"])
            request.user.save()
            update_session_auth_hash(request, request.user)
            password_changed = True
    else:
        form = ChangePasswordForm(request.user)
    return render(request, "accounts/password.html", {
        "form": form,
        "password_changed": password_changed
    })
Beispiel #13
0
    def test_return_form_valid_if_contains_username(self):
        expected = True

        # change password using the password change form
        form = ChangePasswordForm(data={
            'current_password': self.user.password,
            'new_password': '******',
            'confirm_password': '******'
        },
                                  user=self.user,
                                  profile=self.profile)

        result = form.is_valid()

        self.assertEqual(expected, result)
Beispiel #14
0
    def test_return_form_invalid_if_contains_last_name(self):
        expected = False

        # change password using the password change form
        form = ChangePasswordForm(data={
            'current_password': self.user.password,
            'new_password': '******',
            'confirm_password': '******'
        },
                                  user=self.user,
                                  profile=self.profile)

        result = form.is_valid()

        self.assertEqual(expected, result)
Beispiel #15
0
    def test_return_form_invalid_if_not_contain_special_characters(self):
        expected = False

        # change password using the password change form
        form = ChangePasswordForm(data={
            'current_password': self.user.password,
            'new_password': '******',
            'confirm_password': '******'
        },
                                  user=self.user,
                                  profile=self.profile)

        result = form.is_valid()

        self.assertEqual(expected, result)
Beispiel #16
0
def change_password(request):
    temp_name = "accounts/accounts-header.html"
    if request.method == 'POST':
        form = ChangePasswordForm(user=request.user, data=request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('user_list'))
    else:
        form = ChangePasswordForm(user=request.user)
    kwargs = {
        'form': form,
        'request': request,
        'temp_name': temp_name,
    }
    return render(request, 'accounts/change_password.html', kwargs)
Beispiel #17
0
def change_password(request):
    if request.method == 'POST':
        JSON_RESULT = {'status': 200, 'message': '', 'error': '', 'data': []}
        forms = ChangePasswordForm(request, data=request.POST)
        if forms.is_valid():
            forms.save()
            auth.update_session_auth_hash(request, request.user)
            JSON_RESULT['message'] = '修改成功'
            return JsonResponse(JSON_RESULT)
        JSON_RESULT['status'] = 201
        JSON_RESULT['error'] = forms.errors.as_json()
        return JsonResponse(JSON_RESULT)
    else:
        forms = ChangePasswordForm(request)
    html_title = '修改密码'
    cancel = reverse('accounts:user-list')
    return render(request, 'accounts/change_password.html', locals())
Beispiel #18
0
def change_password_view(request):
    if not request.user.is_authenticated() or request.user.type != 'student':
        return redirect('login')
    else:
        form = ChangePasswordForm(request.POST or None)
        if form.is_valid():
            user = get_object_or_404(MyUser, id=request.user.id)
            user.set_password(form.cleaned_data["password"])
            user.save()
            user_login = authenticate(username=request.user.username,
                                      password=form.cleaned_data["password"])
            login(request, user_login)
            messages.success(request,
                             "You have successfully changed password.")
            return redirect('student:index')
        context = {'form': form}
        return render(request, "student/change_password.html", context)
Beispiel #19
0
def PasswordChange(request):
    user = request.user
    if request.method == 'POST':
        form = ChangePasswordForm(request.POST)
        if form.is_valid():
            new_password = form.cleaned_data.get('new_password')
            user.set_password(new_password)
            user.save()
            update_session_auth_hash(request, user)
            return redirect('change_password_done')
    else:
        form = ChangePasswordForm(instance=user)

    context = {
        'form': form,
    }

    return render(request, 'change_password.html', context)
Beispiel #20
0
def change_password_view(request):
    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = ChangePasswordForm(request.POST, user = request.user)
        # check whether it's valid:
        if form.is_valid():
            # process the data in form.cleaned_data as required
            # ...
            # redirect to a new URL:
            new_password = form.cleaned_data['newPassword']
            change_password(request.user, new_password)
            logout(request)
            return render(request, "accounts/change_password_done.html", {})

    # if a GET (or any other method) we'll create a blank form
    else:
        form = ChangePasswordForm(user=request.user)

    return render(request, "accounts/change_password.html", {'form': form})
Beispiel #21
0
def change_password(request):
    if request.method == "POST":
        form = ChangePasswordForm(data=request.POST)
        user = request.user
        new_password = request.POST['new_password']
        current_password = request.POST['current_password']
        if not user.check_password(current_password):
            form.add_error(
                None, 'Please provide correct password to apply changes.')

        if form.is_valid():
            user.set_password(new_password)
            user.save()
            update_session_auth_hash(request, user)
            return redirect('base:index')
    else:
        form = ChangePasswordForm()
    return render(request,
                  'accounts/change-password-form.html',
                  context={'form': form})
Beispiel #22
0
def PasswordChange(request):
    user = request.user
    if request.method == 'POST':
        form = ChangePasswordForm(request.POST)
        if form.is_valid():
            old_password = form.cleaned_data.get('old_password')

            new_password = form.cleaned_data.get('new_password')
            confirm_password = form.cleaned_data.get('confirm_password')
            id = request.user.id
            password = User.objects.get(pk=id)
            print(password)
            if not password.check_password(old_password):
                messages.error(request, 'old password does not match')
            else:
                if new_password == confirm_password:
                    user.set_password(new_password)
                    user.save()
                    current_site = get_current_site(request)
                    mail_subject = 'Password change.'
                    message = "your password changed successfully"
                    to_email = request.user.email
                    email = EmailMessage(mail_subject, message, to=[to_email])
                    email.send()
                    messages.success(request, 'password saved')

                    # if new_password != confirm_password:
                    # messages.success(request,'password does not match')
                else:
                    messages.error(request, 'password does not match')

            # update_session_auth_hash(request, user)
            return redirect('change_password')
    else:
        form = ChangePasswordForm()

    context = {
        'form': form,
    }

    return render(request, 'accounts/change_password.html', context)
Beispiel #23
0
def change_password(request):
    message = ''
    if request.method == 'POST':

        form = ChangePasswordForm(request.user, request.POST)
        form_help = PasswordChangeForm(request.user)
        if form.is_valid():
            user = form.save()
            update_session_auth_hash(request, user)  # Important!
            message = 'Hasło zmienione poprawnie!'

        else:
            messages.error(request, 'Please correct the error below.')
    else:
        form = ChangePasswordForm(request.user)
        form_help = PasswordChangeForm(request.user)
    return render(request, 'accounts/password_change.html', {
        'form': form,
        'message': message,
        'form_help': form_help
    })
Beispiel #24
0
def change_password(request):
    user = request.user
    if request.method == "POST":
        form = ChangePasswordForm(request.POST)
        if form.is_valid():
            if user.check_password(form.cleaned_data['old_password']) is False:
                messages.error(request, _('Password is wrong.'))
                form = ChangePasswordForm()
            elif form.cleaned_data['new_password1'] != form.cleaned_data[
                    'new_password2']:
                messages.error(request, _('Passwords are not matched.'))
                form = ChangePasswordForm()
            else:
                user.set_password(form.cleaned_data['new_password1'])
                user.save()
                messages.success(request, _('Password changed'))
            return redirect(reverse('profile'))
        else:
            messages.error(request, _('Change is failed.'))
            return redirect(reverse('changepassword'))
    else:
        form = ChangePasswordForm()
    return render(request, 'accounts/change_password.html', {'form': form})
Beispiel #25
0
def password(request, pk):
    try:
        obj = User.objects.get(pk=pk)
    except User.DoesNotExist:
        messages.warning(request, "Usuario no encontrada.")
        return HttpResponseRedirect(reverse("usuarios"))

    if request.method == 'POST':
        form = ChangePasswordForm(request.POST)
        if form.is_valid():
            obj.set_password(request.POST.get("new_password"))
            obj.save()
            messages.success(request, "Contraseña actualizada.")
            return HttpResponseRedirect(
                reverse("empresas_detalle", args=(pk, )))
        else:
            messages.warning(request, 'Verifique la información completada.')
    else:
        form = ChangePasswordForm()
    ctx = {
        'form': form,
    }
    return render(request, 'usuarios/password.html', ctx)