Ejemplo n.º 1
0
 def test_help_text_translation(self):
     french_help_texts = [
         'Votre mot de passe ne peut pas trop ressembler à vos autres informations personnelles.',
         'Votre mot de passe doit contenir au minimum 12 caractères.',
     ]
     form = SetPasswordForm(self.u1)
     with translation.override('fr'):
         html = form.as_p()
         for french_text in french_help_texts:
             self.assertIn(french_text, html)
Ejemplo n.º 2
0
def change_password(request):
    """
        Used in the workflow at first connection of a new user.
        This function implements the Group to which the user belongs.
    """
    if request.method == "POST":
        form = SetPasswordForm(user=request.user, data=request.POST)
        if form.is_valid():
            user = form.save()
            # Attributes to a user a group depending on his status.
            user.groups.add(Group.objects.get(name=user.status_type))
            update_session_auth_hash(request, user)  # Important!
            messages.success(request, 'Votre mot de passe a été changé')
            return redirect(reverse_lazy('pages:home'))
        else:
            messages.error(request, 'S\'il vous plait, corrigez l\'erreur.')
    else:
        form = SetPasswordForm(request.user)
    return render(request, 'accounts/change_password.html', {'form': form})
Ejemplo n.º 3
0
 def post(self, request):
     if request.user.is_authenticated():
         return HttpResponseRedirect('/')
     form = SetPasswordForm(data=request.POST)
     if form.is_valid():
         form.save()
         HttpResponseRedirect('/')
     return render_to_response('registration/set_password_form.html',
                               {'form': form},
                               context_instance=RequestContext(request))
Ejemplo n.º 4
0
def password_reset_confirm(request, key):
    template = loader.get_template('acounts/password_reset_confirm.html')
    context = {}
    reset = get_object_or_404(PasswordReset, key=key)
    form = SetPasswordForm(user=reset.user, data=request.POST or None)
    if form.is_valid():
        form.save()
        context['success'] = True
    context['form'] = form
    return HttpResponse(template.render(context, request))
Ejemplo n.º 5
0
def pass_settings(request):
    form = SetPasswordForm(request.user)
    context = {
        'username': request.user.username,
    }
    if request.method == 'POST':
        form = SetPasswordForm(request.user, request.POST)
        if form.is_valid():
            form.save()
            user = auth.authenticate(username=request.user.email,
                                     password=request.POST.get(
                                         'new_password1', ''))
            if user is not None:
                auth.login(request, user)
                context['success'] = "Password updated successfully."

    context['form'] = form

    return render(request, 'accounts/pass_settings.html', context)
Ejemplo n.º 6
0
def change_password(req, user=''):
    args = dict()
    if user:
        _user = get_object_or_404(User, id=user)
        if req.user.is_staff or req.user.id == _user.id:
            if req.method == 'POST':
                form = SetPasswordForm(_user, req.POST)
                if form.is_valid():
                    form.save()
                    return redirect(reverse('tracker:general'))
                else:
                    args['form'] = form
            else:
                form = SetPasswordForm(_user)
                args['form'] = form
            args['user_id'] = user
            bootstraped_form(form)
            return render(req, 'change_password/index.html', args)
    return redirect(reverse('tracker:general'))
Ejemplo n.º 7
0
    def test_mismatching_passwords(self):
        form = SetPasswordForm(user=self.user,
                               data={
                                   "new_password1": "OnePassword!2",
                                   "new_password2": "OtherPassword!2"
                               })

        self.assertFalse(form.is_valid())
        self.assertIn('password_mismatch',
                      self.get_error_message_code(form.errors))
Ejemplo n.º 8
0
    def missing_digit(self):
        form = SetPasswordForm(user=self.user,
                               data={
                                   "new_password1": "password!",
                                   "new_password2": "password!"
                               })

        self.assertFalse(form.is_valid())
        self.assertIn('password_no_digit',
                      self.get_error_message_code(form.errors))
Ejemplo n.º 9
0
    def missing_small_letter(self):
        form = SetPasswordForm(user=self.user,
                               data={
                                   "new_password1": "1PASSWORD!",
                                   "new_password2": "1PASSWORD!"
                               })

        self.assertFalse(form.is_valid())
        self.assertIn('password_no_lowercase_character',
                      self.get_error_message_code(form.errors))
Ejemplo n.º 10
0
    def test_missing_capital_letter(self):
        form = SetPasswordForm(user=self.user,
                               data={
                                   "new_password1": "1password!",
                                   "new_password2": "1password!"
                               })

        self.assertFalse(form.is_valid())
        self.assertIn('password_no_uppercase_character',
                      self.get_error_message_code(form.errors))
Ejemplo n.º 11
0
 def test_password_whitespace_not_stripped(self):
     user = User.objects.get(username='******')
     data = {
         'new_password1': '   password   ',
         'new_password2': '   password   ',
     }
     form = SetPasswordForm(user, data)
     self.assertTrue(form.is_valid())
     self.assertEqual(form.cleaned_data['new_password1'], data['new_password1'])
     self.assertEqual(form.cleaned_data['new_password2'], data['new_password2'])
Ejemplo n.º 12
0
def password_reset_confirmation(request, key):
    template_name = 'accounts/password_reset_confirmation.html'
    context = {}
    reset = get_object_or_404(PasswordReset, key=key)
    form = SetPasswordForm(user=reset.user, data=request.POST or None)
    if form.is_valid():
        form.save()
        context['success'] = True
    context['form'] = form
    return render(request, template_name, context)
Ejemplo n.º 13
0
def updateDirectoryProfile(request):
    perm = general_methods.control_access(request)

    if not perm:
        logout(request)
        return redirect('accounts:login')

    user = request.user
    directory_user = DirectoryMember.objects.get(user=user)
    person = Person.objects.get(pk=directory_user.person.pk)
    communication = Communication.objects.get(
        pk=directory_user.communication.pk)
    user_form = DisabledUserForm(request.POST or None, instance=user)
    person_form = DisabledPersonForm(request.POST or None, instance=person)
    communication_form = DisabledCommunicationForm(request.POST or None,
                                                   instance=communication)
    member_form = DisabledDirectoryForm(request.POST or None,
                                        instance=directory_user)
    password_form = SetPasswordForm(request.user, request.POST)

    if request.method == 'POST':

        if user_form.is_valid() and communication_form.is_valid(
        ) and person_form.is_valid() and member_form.is_valid(
        ) and password_form.is_valid():

            user.username = user_form.cleaned_data['email']
            user.first_name = user_form.cleaned_data['first_name']
            user.last_name = user_form.cleaned_data['last_name']
            user.email = user_form.cleaned_data['email']
            user.set_password(password_form.cleaned_data['new_password1'])
            user.save()

            person_form.save()
            communication_form.save()
            member_form.save()
            password_form.save()

            messages.success(request,
                             'Yönetim Kurul Üyesi Başarıyla Güncellenmiştir.')

            return redirect('sbs:yonetim-kurul-profil-guncelle')

        else:

            messages.warning(request, 'Alanları Kontrol Ediniz')

    return render(
        request, 'yonetim/yonetim-kurul-profil-guncelle.html', {
            'user_form': user_form,
            'communication_form': communication_form,
            'person_form': person_form,
            'password_form': password_form,
            'member_form': member_form
        })
Ejemplo n.º 14
0
def updateUrlProfile(request):
    if request.method == 'GET':
        try:
            data = request.GET.get('query')
            gelen = Forgot.objects.get(uuid=data)
            user = gelen.user
            password_form = SetPasswordForm(user)
            if gelen.status == False:
                gelen.status = True
                gelen.save()
                return render(request, 'registration/newPassword.html',
                              {'password_form': password_form})

            else:
                return redirect('accounts:login')
        except:
            return redirect('accounts:login')

    if request.method == 'POST':
        try:
            gelen = Forgot.objects.get(uuid=request.GET.get('query'))
            password_form = SetPasswordForm(gelen.user, request.POST)
            user = gelen.user
            if password_form.is_valid():
                user.set_password(password_form.cleaned_data['new_password1'])
                user.save()
                # zaman kontrolüde yapilacak
                gelen.status = True
                messages.success(request, 'Şifre Başarıyla Güncellenmiştir.')

                return redirect('accounts:login')


            else:

                messages.warning(request, 'Alanları Kontrol Ediniz')
                return render(request, 'registration/newPassword.html',
                              {'password_form': password_form})
        except:
            return redirect('accounts:login')

    return render(request, 'accounts/index.html')
Ejemplo n.º 15
0
def resetarSenhaConfirmacao(request, key):
	nome_template = 'contas/resetarSenhaConfirmacao.html'
	reset = get_object_or_404(ResetarSenha, key=key)
	contexto = {'reset':reset}
	form = SetPasswordForm(user=reset.user, data=request.POST or None)

	if form.is_valid():
		form.save()
		contexto['success'] = True
	contexto['form'] = form;
	return render(request,nome_template, contexto)
Ejemplo n.º 16
0
def password_reset_confirm(request, key):
    template_name = 'accounts/password_reset_confirm.html'
    context = {}
    reset = get_object_or_404(PasswordReset, key=key)
    form = SetPasswordForm(user=reset.user, data=request.POST or None)
    if form.is_valid():
        form.save()
        messages.success(request, "Sua senha foi criada com sucesso")
        return redirect('accounts:dashboard')
    context['form'] = form
    return render(request, template_name, context)
Ejemplo n.º 17
0
def password_reset_confirm(request, key):
    template_name = 'accounts/password_reset_confirm.html'
    context = {}
    # para validação de formulário esta é outra forma elegante de se usar
    reset = get_object_or_404(PasswordReset, key=key)
    form = SetPasswordForm(user=reset.user, data=request.POST or None)
    if form.is_valid():
        form.save()
        context['success'] = True
    context['form'] = form
    return render(request, template_name, context)
Ejemplo n.º 18
0
def create_new_password(request, id, token):
    user = User.objects.get(id=id)
    if default_token_generator.check_token(user, token):
        form = SetPasswordForm(user, request.POST or None)
        if form.is_valid():
            form.save()
            return redirect('login')
        context = {'form': form}
        return render(request, 'nova_senha.html', context)

    raise Http404
Ejemplo n.º 19
0
 def post(self, request):
     senha_form = SetPasswordForm(request.user, request.POST)
     if senha_form.is_valid():
         senha_form.save()
         org = Organizador.objects.get(user=request.user)
         org.has_changed_password = True
         org.save()
         return redirect('core:login')
     template_name = 'organizador/nova_senha.html'
     context = {'senha_form': senha_form}
     return render(request, template_name, context)
Ejemplo n.º 20
0
def password_reset_confirm(request, key):
    template_name = 'accounts/password_reset_confirm.html'
    context = {}
    reset = get_object_or_404(PasswordReset, key=key) 
    form = SetPasswordForm(user=reset.user, data=request.POST or None)
    if form.is_valid():
        form.save()
        messages.add_message(request, messages.INFO, 'Sucesso')
        reset.delete()
    context['form'] = form
    return render(request, template_name, context)
Ejemplo n.º 21
0
def initial_password_setup(request):
    """
    Used by user to set his password when connecting the first time
    (when directly created through VosaeUser pre_save hook)
    """
    if request.user.has_usable_password():
        return redirect('root')

    if request.method == 'POST':
        form = SetPasswordForm(request.user, request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('root'))
    else:
        form = SetPasswordForm(None)
    context = {
        'form': form,
    }
    return TemplateResponse(request, 'account/initial_password_setup.html',
                            context)
    def obj_create(self, bundle, **kwargs):

        if bundle.request.user:
            form = SetPasswordForm(bundle.request.user, data=bundle.data)
            if form.is_valid():
                bundle.obj = form.save()
            else:
                raise ImmediateHttpResponse(response=self.error_response(
                    bundle.request, {'errors': form.errors}))

        return bundle
Ejemplo n.º 23
0
def employee_set_password(request, uid):
    user = get_object_or_404(User, pk=uid)

    if request.method == 'POST':
        form = SetPasswordForm(user, request.POST)
        if form.is_valid():
            user = form.save()
            login(request, user)

            messages.success(
                request,
                'Welcome ' + user.email + '. Your account is now operational')
            return redirect('core:login_redirect')
    else:
        form = SetPasswordForm(user)

    return render(request, 'core/employee/set_password.html', {
        'set_password_form': form,
        'user': user
    })
Ejemplo n.º 24
0
 def test_password_verification(self):
     # The two new passwords do not match.
     user = User.objects.get(username='******')
     data = {
         'new_password1': 'abc123',
         'new_password2': 'abc',
         }
     form = SetPasswordForm(user, data)
     self.assertFalse(form.is_valid())
     self.assertEqual(form["new_password2"].errors,
                      [force_text(form.error_messages['password_mismatch'])])
 def test_form_fields_n_inputs(self):
     """Tests if the reset pwd confirm form looks like it should"""
     user = get_user(self.client)
     form = SetPasswordForm(user)
     expected = ['new_password1', 'new_password2']
     actual = list(form.fields)
     self.assertSequenceEqual(expected, actual)
     self.assertContains(self.pwd_reset_confirm_response, '<input', 3)
     self.assertContains(self.pwd_reset_confirm_response, 'type="password"',
                         2)
     self.assertContains(self.pwd_reset_confirm_response, 'type="submit"')
Ejemplo n.º 26
0
 def test_password_verification(self):
     # The two new passwords do not match.
     user = User.objects.get(username='******')
     data = {
         'new_password1': 'abc123',
         'new_password2': 'abc',
     }
     form = SetPasswordForm(user, data)
     self.assertFalse(form.is_valid())
     self.assertEqual(form["new_password2"].errors,
                      [u"The two password fields didn't match."])
Ejemplo n.º 27
0
def reset_confirm(request, key):
    """
    Complete the password reset procedure.
    """
    key = get_object_or_404(ConfirmationKey, key=key)
    if request.method == 'POST':
        form = SetPasswordForm(user=key.user, data=request.POST)
        if form.is_valid():
            form.save()
            key.delete()
            messages.info(request, "Thank you! Your password has been reset. Please log in below.")
            return redirect('accounts:login')
    else:
        form = SetPasswordForm(user=key.user)
    return render(request, 'form.html', {
        'title': 'Set Password',
        'form': form,
        'description': "Please enter a new password for your account.",
        'action': 'Continue',
    })
Ejemplo n.º 28
0
def password_reset_confirm(request):
    template_name = 'usuarios/password_reset_confirm.html'
    context = {}
    reset = get_object_or_404(PasswordReset)
    form = SetPasswordForm(user=reset.user, data=request.POST or None)
    if form.is_valid():
        form.save()
        context['success'] = True
        return redirect('usuarios:login')
    context['form'] = form
    return render(request, template_name, context)
Ejemplo n.º 29
0
def password_reset_confirm(request, key):
    template_name = "accounts/password_request_confirm.html"
    reset = get_object_or_404(PasswordReset, key=key)
    form = SetPasswordForm(user=reset.user, data=request.POST or None)
    context = {}
    if form.is_valid():
        form.save()
        context["success"] = True

    context["form"] = form
    return render(request, template_name, context)
Ejemplo n.º 30
0
def registration_confirm(request, code, max_age=1800):
    try:
        email, user = decode(code, max_age=max_age)
    except InvalidCode as exc:
        messages.error(request, exc[0])
        return redirect('/')

    if not user:
        if User.objects.filter(email=email).exists():
            messages.error(request, 'Diese Email Adresse besteht bereits')
            return redirect('/')

        user = User(
            username=email if len(email) <= 30 else get_random_string(25),
            email=email)

    if request.method == 'POST':
        form = SetPasswordForm(user, request.POST)
        if form.is_valid():
            user = form.save()

            password_set.send(
                sender=user.__class__,
                request=request,
                user=user,
                password=form.cleaned_data.get('new_password1'),
            )

            messages.success(
                request, 'Dein Passwort wurde erfolgreich gesetzt.'
                'Du kannst dich nun anmelden.')

            return redirect('login')

    else:
        messages.success(request, 'Bitte setze ein Passwort.')
        form = SetPasswordForm(user)

    return render(request, 'registration/password_set_form.html', {
        'form': form,
    })