Example #1
0
    def resolve_user_info(self):
        """Return the information for the user and current request.

        Returns:
            A tuple of (UserData, bool) including the UserData of the actor
            and a bool indicating whether or not this is for a password
            reset or a normal change of password. Returns (None, False)
            if no valid user is resolved.
        """

        user_data = _resolve_user_in_https_frame(self)
        reset_token_value = self.request_string("reset_token", default="")
        is_password_reset = False
        if not user_data:
            # Try to resolve the user from a reset token, if nobody is
            # logged in.
            reset_token = PasswordResetToken.for_value(reset_token_value)
            if reset_token:
                user_data = user_models.UserData.get_from_user_id(
                    reset_token.user_id)

                if reset_token.is_valid(user_data):
                    is_password_reset = True
                else:
                    user_data = None
        return (user_data, is_password_reset)
Example #2
0
    def resolve_user_info(self):
        """Return the information for the user and current request.

        Returns:
            A tuple of (UserData, bool) including the UserData of the actor
            and a bool indicating whether or not this is for a password
            reset or a normal change of password. Returns (None, False)
            if no valid user is resolved.
        """

        user_data = _resolve_user_in_https_frame(self)
        reset_token_value = self.request_string("reset_token", default="")
        is_password_reset = False
        if not user_data:
            # Try to resolve the user from a reset token, if nobody is
            # logged in.
            reset_token = PasswordResetToken.for_value(reset_token_value)
            if reset_token:
                user_data = user_models.UserData.get_from_user_id(
                    reset_token.user_id)

                if reset_token.is_valid(user_data):
                    is_password_reset = True
                else:
                    user_data = None
        return (user_data, is_password_reset)
Example #3
0
    def get(self):
        reset_token_value = self.request_string("token", default="")

        user_data = PasswordResetToken.get_user_for_value(
            reset_token_value, UserData.get_from_user_id)
        if not user_data:
            self.redirect("/")
            return

        self.render_jinja2_template('password-reset.html', {
            'reset_token': reset_token_value,
        })
Example #4
0
    def get(self):
        reset_token_value = self.request_string("token", default="")
        
        user_data = PasswordResetToken.get_user_for_value(
            reset_token_value, UserData.get_from_user_id)
        if not user_data:
            self.redirect("/")
            return

        self.render_jinja2_template(
            'password-reset.html', {
                'reset_token': reset_token_value,
            })
Example #5
0
 def build_link(user_data):
     pw_reset_token = PasswordResetToken.for_user(user_data)
     if not pw_reset_token:
         raise Exception("Unable to build password reset link for user")
     return util.absolute_url("/pwreset?token=%s" %
                              urllib.quote_plus(pw_reset_token.value))
Example #6
0
 def build_link(user_data):
     pw_reset_token = PasswordResetToken.for_user(user_data)
     if not pw_reset_token:
         raise Exception("Unable to build password reset link for user")
     return util.absolute_url("/pwreset?token=%s" %
                              urllib.quote_plus(pw_reset_token.value))