From 2d369dac6d75b19ade577db8252d26ce2fb50a06 Mon Sep 17 00:00:00 2001
From: Rahul Rodrigues <rodrigues.rahul77@gmail.com>
Date: Tue, 21 Nov 2023 13:34:30 -0500
Subject: [PATCH] fixed admin room access issues (#5543)

* fixed admin room access issues

* fixed eslint errors

* updated to use room shared boolean over owner name
---
 .../components/rooms/room/shared_access/SharedAccess.jsx   | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/app/javascript/components/rooms/room/shared_access/SharedAccess.jsx b/app/javascript/components/rooms/room/shared_access/SharedAccess.jsx
index d3d8069b..a0d484c4 100644
--- a/app/javascript/components/rooms/room/shared_access/SharedAccess.jsx
+++ b/app/javascript/components/rooms/room/shared_access/SharedAccess.jsx
@@ -29,6 +29,7 @@ import useDeleteSharedAccess from '../../../../hooks/mutations/shared_accesses/u
 import useSharedUsers from '../../../../hooks/queries/shared_accesses/useSharedUsers';
 import SharedAccessEmpty from './SharedAccessEmpty';
 import useRoom from '../../../../hooks/queries/rooms/useRoom';
+import { useAuth } from '../../../../contexts/auth/AuthProvider';
 
 export default function SharedAccess() {
   const { t } = useTranslation();
@@ -37,6 +38,8 @@ export default function SharedAccess() {
   const { data: sharedUsers } = useSharedUsers(friendlyId, searchInput);
   const deleteSharedAccess = useDeleteSharedAccess(friendlyId);
   const { data: room } = useRoom(friendlyId);
+  const currentUser = useAuth();
+  const isAdmin = currentUser?.role.name === 'Administrator';
 
   if (sharedUsers?.length || searchInput) {
     return (
@@ -45,7 +48,7 @@ export default function SharedAccess() {
           <div>
             <SearchBar searchInput={searchInput} setSearchInput={setSearchInput} />
           </div>
-          { !room.shared && (
+          { (!room.shared || isAdmin) && (
             <Modal
               modalButton={(
                 <Button
@@ -82,7 +85,7 @@ export default function SharedAccess() {
                           </Stack>
                         </td>
                         <td>
-                          {!room.shared && (
+                          { (!room.shared || isAdmin) && (
                           <Button
                             variant="icon"
                             className="float-end pe-2"
-- 
GitLab