Example #1
0
    def post(self, *args: Any, **kwargs: Any) -> None:
        name = self.get_path_argument("name")
        password_id = int(self.get_path_argument("password_id"))

        user = User.get(self.session, name=name)
        if not user:
            return self.notfound()

        if not self.check_access(self.session, self.current_user, user):
            return self.forbidden()

        password = UserPassword.get(self.session, user=user, id=password_id)

        try:
            delete_user_password(self.session, password.name, user.id)
        except PasswordDoesNotExist:
            # if the password doesn't exist, we can pretend like it did and that we deleted it
            return self.redirect("/users/{}?refresh=yes".format(user.username))
        AuditLog.log(
            self.session,
            self.current_user.id,
            "delete_password",
            "Deleted password: {}".format(password.name),
            on_user_id=user.id,
        )
        self.session.commit()
        return self.redirect("/users/{}?refresh=yes".format(user.username))
Example #2
0
    def get(self, user_id=None, name=None, pass_id=None):
        user = User.get(self.session, user_id, name)
        if not user:
            return self.notfound()

        if not self.check_access(self.session, self.current_user, user):
            return self.forbidden()
        password = UserPassword.get(self.session, user=user, id=pass_id)
        return self.render("user-password-delete.html", user=user, password=password)
Example #3
0
def add_new_user_password(session, password_name, password, user_id):
    # type: (Session, str, str, int) -> None
    """Add the new user password specified.

    Args:
        session(grouper.models.base.session.Session): database session
        password_name(str): name of the password to be added
        password(str): the (plaintext) password to be added
        user_id(int): the id of the user to add this password to
    """
    p = UserPassword(name=password_name, user_id=user_id)
    p.set_password(password)
    Counter.incr(session, "updates")
    p.add(session)
    try:
        session.commit()
    except IntegrityError:
        raise PasswordAlreadyExists()
Example #4
0
    def get(self, *args: Any, **kwargs: Any) -> None:
        name = self.get_path_argument("name")
        password_id = int(self.get_path_argument("password_id"))

        user = User.get(self.session, name=name)
        if not user:
            return self.notfound()

        if not self.check_access(self.session, self.current_user, user):
            return self.forbidden()
        password = UserPassword.get(self.session, user=user, id=password_id)
        return self.render("user-password-delete.html",
                           user=user,
                           password=password)
Example #5
0
    def post(self, user_id=None, name=None, pass_id=None):
        user = User.get(self.session, user_id, name)
        if not user:
            return self.notfound()

        if not self.check_access(self.session, self.current_user, user):
            return self.forbidden()

        password = UserPassword.get(self.session, user=user, id=pass_id)

        try:
            delete_user_password(self.session, password.name, user.id)
        except PasswordDoesNotExist:
            # if the password doesn't exist, we can pretend like it did and that we deleted it
            return self.redirect("/users/{}?refresh=yes".format(user.id))
        AuditLog.log(self.session, self.current_user.id, 'delete_password',
                     'Deleted password: {}'.format(password.name),
                     on_user_id=user.id)
        self.session.commit()
        return self.redirect("/users/{}?refresh=yes".format(user.id))
Example #6
0
def add_new_user_password(session, password_name, password, user_id):
    # type: (Session, str, str, int) -> None
    """Add the new user password specified.

    Args:
        session(grouper.models.base.session.Session): database session
        password_name(str): name of the password to be added
        password(str): the (plaintext) password to be added
        user_id(int): the id of the user to add this password to
    """
    p = UserPassword(name=password_name, user_id=user_id)
    p.set_password(password)
    Counter.incr(session, "updates")
    p.add(session)
    try:
        session.commit()
    except IntegrityError:
        raise PasswordAlreadyExists()