Ejemplo n.º 1
0
def request_reset_password(request):
  form = ResetPasswordRequestForm()
  message = ""
  if request.method == 'POST' and form.validate(request.form):
    try:
      auth_model_class = import_string(settings.AUTH_USER_MODEL)
    except (ImportError, AttributeError), e:
      raise ImproperlyConfigured, \
          'Failed to import %s: "%s".' % (settings.AUTH_USER_MODEL, e)
    user = auth_model_class.get_by_user_name(form['user_name'])
    if user is None:
      return render_to_response("auth/no_such_user.html",
                                {"user_name": form["user_name"]})
    else:
      temporary_session = TemporarySession.get_new_session(
        user, additional_tq_url='_internal/send_reset_password_instruction',
        tq_kwargs={"user_key": user.key()}
      )
      return render_to_response("auth/reset_password_finish.html")
Ejemplo n.º 2
0
def reset_password(request, session_key):
  form = ResetPasswordForm()
  if request.method == 'GET':
    try:
      temporary_session = TemporarySession.get(session_key)
    except Exception:
      # BadKeyError ... etc
      temporary_session = None
    if temporary_session is None:
      raise Forbidden("Temporary Session might be expired.")
    # TODO: acquire new temporary session
    new_session = TemporarySession.get_new_session(temporary_session.user)
    temporary_session.delete()
    form.data['temp_session'] = str(new_session.key())
  elif request.method == 'POST' and form.validate(request.form):
    new_session = TemporarySession.get(form['temp_session'])
    user = new_session.user
    user.set_password(form['new_password'])
    new_session.delete()
    return render_to_response("auth/reset_password_success.html")
  return render_to_response("auth/reset_password.html",
                            {"form": form.as_widget()})
Ejemplo n.º 3
0
 def store_user(self, user):
   from yan.auth.models import TemporarySession
   session = TemporarySession.get_new_session(user)
   return session