def edit_member(self, requester, user_or_group, reason, **kwargs): """ Edit an existing member (User or Group) of a group. This takes the same parameters as add_member, except that we do not allow you to set a status: this only works on existing members. Any option that is not passed is not updated, and instead, the existing value for this user is kept. """ logging.debug("Editing member (%s) in %s", user_or_group.name, self.groupname) persist_group_member_changes(session=self.session, group=self, requester=requester, member=user_or_group, status="actioned", reason=reason, **kwargs) member_type = user_or_group.member_type message = "Edit member {} {}: {}".format( OBJ_TYPES_IDX[member_type].lower(), user_or_group.name, reason) AuditLog.log(self.session, requester.id, "edit_member", message, on_group_id=self.id)
def revoke_member(self, requester: User, user_or_group: Union[User, Group], reason: str) -> None: """Revoke a member (User or Group) from this group. Args: requester: A User object of the person requesting the addition user_or_group: A User/Group object of the member reason: A comment on why this member should exist """ logging.debug("Revoking member (%s) from %s", user_or_group.name, self.groupname) persist_group_member_changes( session=self.session, group=self, requester=requester, member=user_or_group, status="actioned", reason=reason, # Create the edge even if it doesn't exist so that we can explicitly disable it. create_edge=True, role="member", expiration=None, active=False, )
def edit_member(self, requester, user_or_group, reason, **kwargs): """ Edit an existing member (User or Group) of a group. This takes the same parameters as add_member, except that we do not allow you to set a status: this only works on existing members. Any option that is not passed is not updated, and instead, the existing value for this user is kept. """ logging.debug( "Editing member (%s) in %s", user_or_group.name, self.groupname ) persist_group_member_changes( session=self.session, group=self, requester=requester, member=user_or_group, status="actioned", reason=reason, **kwargs ) member_type = user_or_group.member_type message = "Edit member {} {}: {}".format( OBJ_TYPES_IDX[member_type].lower(), user_or_group.name, reason) AuditLog.log(self.session, requester.id, 'edit_member', message, on_group_id=self.id)
def revoke_member(self, requester, user_or_group, reason): """ Revoke a member (User or Group) from this group. Arguments: requester: A User object of the person requesting the addition user_or_group: A User/Group object of the member reason: A comment on why this member should exist """ logging.debug( "Revoking member (%s) from %s", user_or_group.name, self.groupname ) persist_group_member_changes( session=self.session, group=self, requester=requester, member=user_or_group, status="actioned", reason=reason, # Create the edge even if it doesn't exist so that we can explicitly disable it. create_edge=True, role="member", expiration=None, active=False )
def add_member(self, requester, user_or_group, reason, status="pending", expiration=None, role="member"): """ Add a member (User or Group) to this group. Arguments: requester: A User object of the person requesting the addition user_or_group: A User/Group object of the member reason: A comment on why this member should exist status: pending/actioned, whether the request needs approval or should be immediate expiration: datetime object when membership should expire. role: member/manager/owner/np-owner of the Group. """ logging.debug("Adding member (%s) to %s", user_or_group.name, self.groupname) return persist_group_member_changes( session=self.session, group=self, requester=requester, member=user_or_group, status=status, reason=reason, create_edge=True, role=role, expiration=expiration, active=True, )
def add_member(self, requester, user_or_group, reason, status="pending", expiration=None, role="member"): """ Add a member (User or Group) to this group. Arguments: requester: A User object of the person requesting the addition user_or_group: A User/Group object of the member reason: A comment on why this member should exist status: pending/actioned, whether the request needs approval or should be immediate expiration: datetime object when membership should expire. role: member/manager/owner/np-owner of the Group. """ logging.debug( "Adding member (%s) to %s", user_or_group.name, self.groupname ) return persist_group_member_changes( session=self.session, group=self, requester=requester, member=user_or_group, status=status, reason=reason, create_edge=True, role=role, expiration=expiration, active=True )