From 1f531d5f9b8610cf1c17580ac0a27fa94ebf4da2 Mon Sep 17 00:00:00 2001 From: TimofeyBoyko Date: Thu, 10 Nov 2022 18:17:08 +0300 Subject: [PATCH] Web:Client:InvitePanel: remove 'DocSpace admin' access right for RoomAdmin and DocSpace admin at accounts --- .../panels/InvitePanel/sub-components/AccessSelector.js | 3 ++- .../panels/InvitePanel/sub-components/ExternalLinks.js | 6 +++++- .../panels/InvitePanel/sub-components/InviteInput.js | 4 ++++ .../src/components/panels/InvitePanel/utils/index.js | 7 +++++-- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/client/src/components/panels/InvitePanel/sub-components/AccessSelector.js b/packages/client/src/components/panels/InvitePanel/sub-components/AccessSelector.js index 95b0009795..1210ce65e0 100644 --- a/packages/client/src/components/panels/InvitePanel/sub-components/AccessSelector.js +++ b/packages/client/src/components/panels/InvitePanel/sub-components/AccessSelector.js @@ -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 diff --git a/packages/client/src/components/panels/InvitePanel/sub-components/ExternalLinks.js b/packages/client/src/components/panels/InvitePanel/sub-components/ExternalLinks.js index 0e11cc76aa..b8af2312f4 100644 --- a/packages/client/src/components/panels/InvitePanel/sub-components/ExternalLinks.js +++ b/packages/client/src/components/panels/InvitePanel/sub-components/ExternalLinks.js @@ -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} /> )} @@ -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)); diff --git a/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js b/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js index 65aba4451a..e7e1466292 100644 --- a/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js +++ b/packages/client/src/components/panels/InvitePanel/sub-components/InviteInput.js @@ -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)); diff --git a/packages/client/src/components/panels/InvitePanel/utils/index.js b/packages/client/src/components/panels/InvitePanel/utils/index.js index d9f7011b47..a627efd80b 100644 --- a/packages/client/src/components/panels/InvitePanel/utils/index.js +++ b/packages/client/src/components/panels/InvitePanel/utils/index.js @@ -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,