Web:Client:InvitePanel: remove 'DocSpace admin' access right for RoomAdmin and DocSpace admin at accounts

This commit is contained in:
TimofeyBoyko 2022-11-10 18:17:08 +03:00
parent 8e087e3e7c
commit 1f531d5f9b
4 changed files with 16 additions and 4 deletions

View File

@ -10,10 +10,11 @@ const AccessSelector = ({
onSelectAccess,
containerRef,
defaultAccess,
isOwner,
}) => {
const width = containerRef?.current?.offsetWidth - 32;
const accessOptions = getAccessOptions(t, roomType, false, true);
const accessOptions = getAccessOptions(t, roomType, false, true, isOwner);
const selectedOption = accessOptions.filter(
(access) => access.access === +defaultAccess

View File

@ -27,6 +27,7 @@ const ExternalLinks = ({
defaultAccess,
shareLinks,
setInvitationLinks,
isOwner,
}) => {
const [linksVisible, setLinksVisible] = useState(false);
const [actionLinksVisible, setActionLinksVisible] = useState(false);
@ -172,6 +173,7 @@ const ExternalLinks = ({
defaultAccess={activeLink.access}
onSelectAccess={onSelectAccess}
containerRef={inputsRef}
isOwner={isOwner}
/>
</StyledInviteInputContainer>
)}
@ -179,7 +181,8 @@ const ExternalLinks = ({
);
};
export default inject(({ dialogsStore, filesStore }) => {
export default inject(({ auth, dialogsStore, filesStore }) => {
const { isOwner } = auth.userStore.user;
const { invitePanelOptions } = dialogsStore;
const { setInvitationLinks } = filesStore;
const { roomId, hideSelector, defaultAccess } = invitePanelOptions;
@ -189,5 +192,6 @@ export default inject(({ dialogsStore, filesStore }) => {
roomId,
hideSelector,
defaultAccess,
isOwner,
};
})(observer(ExternalLinks));

View File

@ -34,6 +34,7 @@ const InviteInput = ({
setInviteItems,
roomUsers,
t,
isOwner,
}) => {
const [inputValue, setInputValue] = useState("");
const [usersList, setUsersList] = useState([]);
@ -271,6 +272,7 @@ const InviteInput = ({
defaultAccess={selectedAccess}
onSelectAccess={onSelectAccess}
containerRef={inputsRef}
isOwner={isOwner}
/>
{!hideSelector && addUsersPanelVisible && (
@ -294,6 +296,7 @@ const InviteInput = ({
export default inject(({ auth, peopleStore, filesStore, dialogsStore }) => {
const { theme } = auth.settingsStore;
const { isOwner } = auth.userStore.user;
const { getUsersByQuery } = peopleStore.usersStore;
const { invitePanelOptions, setInviteItems, inviteItems } = dialogsStore;
@ -304,5 +307,6 @@ export default inject(({ auth, peopleStore, filesStore, dialogsStore }) => {
roomId: invitePanelOptions.roomId,
hideSelector: invitePanelOptions.hideSelector,
defaultAccess: invitePanelOptions.defaultAccess,
isOwner,
};
})(observer(InviteInput));

View File

@ -8,7 +8,8 @@ export const getAccessOptions = (
t,
roomType = RoomsType.CustomRoom,
withRemove = false,
withSeparator = false
withSeparator = false,
isOwner = false
) => {
let options = [];
const accesses = {
@ -113,8 +114,10 @@ export const getAccessOptions = (
];
break;
case -1:
if (isOwner) options.push(accesses.docSpaceAdmin);
options = [
accesses.docSpaceAdmin,
...options,
accesses.roomAdmin,
{ key: "s1", isSeparator: withSeparator },
accesses.user,