Ejemplo n.º 1
0
def recover_password(request):
    """
    Форма смены пароля
    """
    try:
        user = User.objects.get(recover_pass_key=request.GET.get('key'),
                                recover_pass_active=True)
    except User.DoesNotExist:
        return TemplateResponse(request, "main/change_password.html", {})

    if request.method == 'POST':
        form = ChangePasswordForm(request.POST)
        if form.is_valid():
            user.set_password(form.get_password())
            user.recover_pass_deactivate()
            user.save()
            context = {'success': 1}
            return TemplateResponse(request, "main/change_password.html",
                                    context)
        else:
            context = {'form': form}
            return TemplateResponse(request, "main/change_password.html",
                                    context)
    else:
        form = ChangePasswordForm()
        context = {'form': form}
        return TemplateResponse(request, "main/change_password.html", context)
Ejemplo n.º 2
0
def change_password(request, redirect_to='/help/'):
  info = messager(request, messages.INFO)
  redirect_to = request.GET.get('next', redirect_to)
  change_password_form = None
  if request.method == 'POST':
    change_password_form = ChangePasswordForm(request.POST)
    if change_password_form.is_valid():
      # change password.
      password = extract_cd(change_password_form, 'password')
      user = request.user
      user.set_password(password)
      user.get_profile().change_password_on_login = False
      user.save()
      user.get_profile().save()
      # DONE!
      action_factory.user_change_password(user)
      info("Password changed successfully.")
      return HttpResponseRedirect(redirect_to)
    else:
      # Change password failed (miserably).
      info(change_password_form.errors.values()[0][0])
      return login_screens_with_next(change_password, redirect_to)
  else:
    change_password_form = ChangePasswordForm()
  ctx = dict(change_password_form=change_password_form)
  return render_to_response('intro/intro_password.html',
    ctx,
    RequestContext(request))
Ejemplo n.º 3
0
def change_password(request):
    if request.method == 'POST':
        form = ChangePasswordForm(user=request.user, data=request.POST)
        if request.is_ajax():
            if form.is_valid():
                form.save()
                data = {'changed': True}
            else:
                data = {
                    'changed': False,
                    'errors': dict([(k, [e for e in v])
                                    for k, v in form.errors.items()])
                }

            return JSONResponse(data)
Ejemplo n.º 4
0
def account_password(request):
    user = request.user
    err_msg = ''
    if request.method == 'POST':
        form = ChangePasswordForm(request.POST)
        if form.is_valid():
            old_password = form.cleaned_data.get('old_password')
            if user.check_password(old_password):
                user.set_password(form.cleaned_data.get('new_password'))
                user.save()
                return render_to_response('account/password_ok.html', locals(), context_instance=RequestContext(request))
            else:
                err_msg = design.invalid_old_password
    else:
        form = ChangePasswordForm()

    return render_to_response('account/password.html', locals(), context_instance=RequestContext(request))
Ejemplo n.º 5
0
def password(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)
            messages.add_message(request, messages.SUCCESS,
                                 'Your password was successfully changed.')
            return redirect('password')

    else:
        form = ChangePasswordForm(instance=user)

    return render(request, 'main/password.html', {'form': form})
Ejemplo n.º 6
0
 def post(self, request):
     status = False
     form = ChangePasswordForm(request.POST)
     if form.is_valid():
         old_password = form.cleaned_data['old_password']
         new_password = form.cleaned_data['new_password']
         user = authenticate(request,
                             username=request.user.username,
                             password=old_password)
         if not user:
             messages.error(request, 'Текущий пароль введен неверно')
         else:
             user.set_password(new_password)
             user.save()
             login(request, user)
             messages.success(request, 'Пароль успешно изменен')
             status = True
     return form_response(request, form, status, 'account')
Ejemplo n.º 7
0
def personal(request):
    args = {}
    user = request.user

    userprofile = UserProfile.objects.get(user=request.user)
    if request.method == 'POST' and ('update_info' in request.POST):
        update_user_form = UpdateUserForm(request.POST, instance=user)
        update_userprofile_form = UpdateUserProfileForm(request.POST, request.FILES, instance=userprofile)
        if update_user_form.is_valid() and update_userprofile_form.is_valid():
            update_user_form.save()
            update_userprofile_form.save()
            return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
        else:
            update_user_form = UpdateUserForm(instance=user)
            update_userprofile_form = UpdateUserProfileForm(instance=userprofile)
    person_form = UpdateUserForm(instance=user)
    person_form_info = UpdateUserProfileForm(instance=userprofile)
    args['person'] = person_form
    args['person_info'] = person_form_info

    password_form = ChangePasswordForm(user=request.user)
    if request.method == 'POST' and ('change_password' in request.POST):
        password_form = ChangePasswordForm(user=request.user, data=request.POST)
        if password_form.is_valid():
            password_form.save()

            update_session_auth_hash(request, password_form.user)
    args['password_form'] = password_form
    if request.method == 'POST' and ('delete_profile' in request.POST):
        user = request.user
        user.delete()
        return redirect('index')
    if request.method == 'POST' and ('delete_photo' in request.POST):
        userprofile.photo.delete()
        return redirect('personal')
    if userprofile.photo:
        args['url'] = userprofile.photo.url
    else:
        args['url'] = ''
    return render(request, 'personal.html', args)
Ejemplo n.º 8
0
def account_password(request):
    user = request.user
    err_msg = ''
    if request.method == 'POST':
        form = ChangePasswordForm(request.POST)
        if form.is_valid():
            old_password = form.cleaned_data.get('old_password')
            if user.check_password(old_password):
                user.set_password(form.cleaned_data.get('new_password'))
                user.save()
                return render_to_response(
                    'account/password_ok.html',
                    locals(),
                    context_instance=RequestContext(request))
            else:
                err_msg = design.invalid_old_password
    else:
        form = ChangePasswordForm()

    return render_to_response('account/password.html',
                              locals(),
                              context_instance=RequestContext(request))