示例#1
0
def profile_password(request):
    customer = Customer.objects.get(user=request.user)
    if request.method == 'POST':
        form = PasswordResetForm(request.POST)
        if not form.is_valid():
            return render(request, 'info_profile_password.html', {
                'customer': customer,
                'form': form
            })
        old_password = form.cleaned_data.get('old_password')
        user = customer.user
        if not check_password(old_password, user.password,
                              preferred='default'):
            form.add_error('old_password',
                           'password doesn\'t match with previous password')
            return render(request, 'info_profile_password.html', {
                'customer': customer,
                'form': form
            })
        password = form.cleaned_data.get('password')
        user.password = make_password(password)
        user.save()
        customer.save()
    return render(request, 'info_profile_password.html', {
        'customer': customer,
        'form': PasswordResetForm()
    })
示例#2
0
文件: views.py 项目: umdsp/romeu
def reset_password(request, reset_password_key=None):

    try:
        vprk = ValidPasswordResetKey.objects.get(
            reset_password_key=reset_password_key)
    except:
        msg = _("The password reset key is invalid")
        messages.error(request, msg)
        return HttpResponseRedirect(reverse('accounts_login'))
    if request.method == 'POST':
        form = PasswordResetForm(request.POST)
        if form.is_valid():
            vprk.user.set_password(form.cleaned_data['password1'])
            vprk.user.save()
            vprk.delete()
            logout(request)
            msg = _(
                "Your password has been reset. Please login with your new password."
            )
            messages.success(request, msg)
            return HttpResponseRedirect(reverse('accounts_login'))
        else:
            return render_to_response(
                'accounts/reset-password.html',
                RequestContext(request, {
                    'form': form,
                    'reset_password_key': reset_password_key
                }))

    return render_to_response(
        'accounts/reset-password.html',
        RequestContext(request, {
            'form': PasswordResetForm(),
            'reset_password_key': reset_password_key
        }))
示例#3
0
def password_reset(request, uid, token):
    user = User.objects.get(id=urlsafe_base64_decode(uid))

    if request.method == "POST":
        form = PasswordResetForm(request.POST)

        if form.is_valid() and default_token_generator.check_token(
                user, token):
            cd = form.cleaned_data
            user.set_password(cd['password1'])
            user.save()

            url = reverse('login')
            message = 'You have changed your password. You can sign in with your new password now.'
            return success(request, url, message)

        else:
            form.errors['__all__'] = form.error_class(
                ['Invalid or expired token.'])

    else:
        form = PasswordResetForm()

    return render(request, 'password_reset_form.html', {
        'form': form,
        'user': user,
    })
示例#4
0
文件: views.py 项目: umdsp/romeu
def reset_password(request, reset_password_key=None):
    
    try:
        vprk=ValidPasswordResetKey.objects.get(
                                        reset_password_key=reset_password_key)    
    except:
        msg = _("The password reset key is invalid")
        messages.error(request, msg)
        return HttpResponseRedirect(reverse('accounts_login'))
    if request.method == 'POST':
        form = PasswordResetForm(request.POST)
        if form.is_valid():
            vprk.user.set_password(form.cleaned_data['password1'])
            vprk.user.save()
            vprk.delete()
            logout(request)
            msg = _("Your password has been reset. Please login with your new password.")
            messages.success(request, msg)
            return HttpResponseRedirect(reverse('accounts_login'))            
        else:
            return render_to_response('accounts/reset-password.html',
                                      RequestContext(request,
                                    {'form': form,
                                     'reset_password_key': reset_password_key}))  
        
    return render_to_response('accounts/reset-password.html',
                              RequestContext(request,
                                    {'form': PasswordResetForm(),
                                    'reset_password_key': reset_password_key}))
示例#5
0
def reset_password(request):
    feedback = {'status': None, 'data': None}
    if request.method == 'POST':
        print(request.POST)
        form = PasswordResetForm(request.POST)
        if form.is_valid():
            old_Password = form.cleaned_data['old_password']
            new_Password = form.cleaned_data['new_password']
            confirm_New_Password = form.cleaned_data['confirm_new_password']
            if (new_Password == confirm_New_Password
                ) and request.user.check_password(old_Password):
                request.user.set_password(new_Password)
                request.user.save()
                feedback['status'] = 'OK'
                feedback['data'] = "Password has been reset successfully."
            else:
                feedback['status'] = 'FAIL'
                feedback[
                    'data'] = "An Error occurred. Password change unsuccessful."
        else:
            feedback['status'] = 'FAIL'
            feedback[
                'data'] = "An Error occurred. Password change unsuccessful."
            feedback['form'] = 'invalid'

    return HttpResponse(json.dumps(feedback), content_type="application/json")
def entity_add_user(request, entity_id):
    entity = get_object_or_404(Entity, pk=entity_id)
    if request.POST:
        form = AddUserForm(request.POST)
        if form.is_valid():
            #Lookup or create user, add to entity
            email = form.cleaned_data['email']
            form.cleaned_data['username'] = email[:30]
            del form.cleaned_data['email']
            user, created = User.objects.get_or_create(email=email, defaults=form.cleaned_data)
            if created:
                reset_form = PasswordResetForm({'email':user.email})
                reset_form.is_valid()
                reset_form.save(email_template_name="registration/new_account.html", subject=_("Account created on %s"))
            assign('change_entity', user, entity)
            return HttpResponseRedirect(reverse('show_user',args=[user.pk]))
    else:
        form = AddUserForm()
    return render_to_response('scorecard_processor/entity/add_user.html', {'object':entity,'form':form}, RequestContext(request))
示例#7
0
def password_reset(request):
    """
	Password reset view
	"""
    if request.method == "POST":
        form = PasswordResetForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/password_reset_done/')
    else:
        form = PasswordResetForm()
    return TemplateResponse(request, 'reset.html', {
        'form': form,
        'next': '/password_reset_done/'
    })
示例#8
0
def password_reset(request, response_format='html'):
    "Password_reset sends the email with the new password"

    if request.POST:
        form = PasswordResetForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('password_reset_done'))
    else:
        form = PasswordResetForm()

    return render_to_response('core/password_reset_form',
                              {'form': form},
                              context_instance=RequestContext(request),
                              response_format=response_format)
示例#9
0
def password_reset(request, to_email):
    from_email = '*****@*****.**'
    to_email_dict = {'email': to_email}
    token_generator = default_token_generator
    email_template_name = 'email/reset_email.html'
    subject_template_name = 'email/reset_subject.txt'
    form = PasswordResetForm(to_email_dict)
    if form.is_valid():
        opts = {
            'use_https': request.is_secure(),
            'from_email': from_email,
            'email_template_name': email_template_name,
            'subject_template_name': subject_template_name,
            'request': request}
        form.save(**opts)
示例#10
0
def window_password_reset(request):
    window_password_form = PasswordResetForm(request.POST)
    if window_password_form.is_valid():
        window_password_dict = window_password_form.cleaned_data
        try:
            window_model = window.get_by_username(window_password_dict)  # verify user's authority
            window.update_password(window_model, window_password_dict)
            verify_code_model = request.verify_code_meta['verify_code_model']
            verify_code_model.delete()
            return json_response_from_object(OK, CODE_MESSAGE.get(OK))
        except ObjectDoesNotExist:
            verify_code_model = request.verify_code_meta['verify_code_model']
            verify_code_model.delete()
            return json_response(USER_NOT_EXIST, CODE_MESSAGE.get(USER_NOT_EXIST))
    else:
        return json_response(PARAM_REQUIRED, window_password_form.errors)
示例#11
0
def resetPassword(request):
	if request.method == 'POST':
		form = PasswordResetForm(request.POST)
		if form.is_valid():
			cleaned_data = form.clean()
			email = cleaned_data['emailAddress']
			user = User.objects.get(email = email)
			newpassword = generate_password(12)
			user.set_password(newpassword)
			user.save()
			subject = "Password Reset"
			message = "New Password: " + newpassword
			send_mail(subject, message, '*****@*****.**', [email], fail_silently=False)
			return HttpResponseRedirect('successful/')
	else:
		form = PasswordResetForm()
	
	return render(request, 'resetPassword.html', {'form': form})
示例#12
0
def password_reset(request):
	"""
	Password reset view
	"""
	if request.method=="POST":
		form = PasswordResetForm(request.POST)
		if form.is_valid():
			form.save()
			return HttpResponseRedirect('/password_reset_done/')
	else:
		form = PasswordResetForm()
	return TemplateResponse(
		request,
		'reset.html',
		{
			'form': form,
			'next': '/password_reset_done/'
		}
		)
示例#13
0
文件: views.py 项目: mingyuec/Grumblr
def reset_password_form(request, uidb64, token):
    context = {'validlink': False}
    try:
        # decode the uid in the url
        uid = force_text(urlsafe_base64_decode(uidb64))
        user = User.objects.get(pk=uid)
    except (TypeError, ValueError, OverflowError, User.DoesNotExist):
        user = None
    if user and default_token_generator.check_token(user, token):
        context['validlink'] = True
    if request.method == 'GET':
        if context['validlink'] == False:
            return render(request,
                          'grumblr/password_reset/password_reset_form.html',
                          context)
        # if there is no exception and the token is the same as we calculated, render password reset form
        context['form'] = PasswordResetForm()
        # context['form'] = PasswordResetForm(initial={'username':user.username})
        return render(request,
                      'grumblr/password_reset/password_reset_form.html',
                      context)
    # if user post their new passwords

    form = PasswordResetForm(request.POST)
    # form.fields["username"].initial = user.username
    context['form'] = form

    # Validates the form.
    if not form.is_valid():
        return render(request,
                      'grumblr/password_reset/password_reset_form.html',
                      context)
    # reset password
    user.set_password(form.cleaned_data['new_password'])
    # set the user to be active
    user.is_active = True
    # save it
    user.save()
    return render(request,
                  'grumblr/password_reset/password_reset_complete.html')
示例#14
0
def reset_password(request):
    feedback = {'status':None, 'data':None}
    if request.method == 'POST':
        print(request.POST)
        form = PasswordResetForm(request.POST)
        if form.is_valid():
            old_Password=form.cleaned_data['old_password']
            new_Password=form.cleaned_data['new_password']
            confirm_New_Password=form.cleaned_data['confirm_new_password']
            if (new_Password == confirm_New_Password) and request.user.check_password(old_Password):
                request.user.set_password(new_Password)
                request.user.save()
                feedback['status']='OK'
                feedback['data']="Password has been reset successfully."
            else:
                feedback['status']='FAIL'
                feedback['data']="An Error occurred. Password change unsuccessful."
        else:
            feedback['status']='FAIL'
            feedback['data']="An Error occurred. Password change unsuccessful."
            feedback['form'] = 'invalid'

    return HttpResponse(json.dumps(feedback),content_type="application/json")
示例#15
0
def auth_reset_password(request, template='auth/reset.html'):
    ''' View to allow users to reset their password.  This view takes a GET/POST variable
        of a UUID which was previously e-mailed to the User requesting a password reset.  
        If the UUID is valid, then display a PasswordResetForm allowing them to select
        a new password ''' 
    from forms import PasswordResetForm
    from atrinsic.base.models import User
    from atrinsic.util.backend import UserBackend
    from django.contrib.auth.models import AnonymousUser
    
    reset_auth = request.REQUEST.get('reset_auth', None)
    reset = get_object_or_404(UserPasswordReset, reset=reset_auth)

    if request.method == 'POST':
        form = PasswordResetForm(request.POST)

        if form.is_valid():
            reset.user.set_password(form.cleaned_data['password'])
            reset.user.save()

            user = authenticate(email=reset.user.email, password=form.cleaned_data['password'])
            if user:    
                login(request, user)
    
                if request.session.get("organization_id", None):
                    del request.session["organization_id"]
                    
                reset.delete()
                return HttpResponseRedirect(reverse('auth_choice'))
                
    else:
        form = PasswordResetForm()

    return render_to_response(template, {
                'form' : form,
                'reset_auth' : reset_auth,
           }, context_instance = RequestContext(request))