yuken 3 лет назад
Родитель
Сommit
d357b00f13
1 измененных файлов с 7 добавлено и 2 удалено
  1. 7 2
      packages/app/src/components/Page/FixPageGrantAlert.tsx

+ 7 - 2
packages/app/src/components/Page/FixPageGrantAlert.tsx

@@ -27,7 +27,9 @@ const FixPageGrantModal = (props: ModalProps): JSX.Element => {
     isOpen, pageId, dataApplicableGrant, currentAndParentPageGrantData, close,
   } = props;
 
-  const [selectedGrant, setSelectedGrant] = useState<PageGrant>(PageGrant.GRANT_OWNER);
+  const applicableGrants = Object.keys(dataApplicableGrant);
+
+  const [selectedGrant, setSelectedGrant] = useState<PageGrant>(PageGrant.GRANT_RESTRICTED);
   const [selectedGroup, setSelectedGroup] = useState<{_id: string, name: string} | undefined>(undefined); // TODO: Typescriptize model
 
   // Alert message state
@@ -38,7 +40,7 @@ const FixPageGrantModal = (props: ModalProps): JSX.Element => {
   // Reset state when opened
   useEffect(() => {
     if (isOpen) {
-      setSelectedGrant(PageGrant.GRANT_OWNER);
+      setSelectedGrant(PageGrant.GRANT_RESTRICTED);
       setSelectedGroup(undefined);
       setShowModalAlert(false);
     }
@@ -134,6 +136,7 @@ const FixPageGrantModal = (props: ModalProps): JSX.Element => {
                   name="grantRestricted"
                   id="grantRestricted"
                   type="radio"
+                  disabled={!applicableGrants.includes(PageGrant.GRANT_RESTRICTED.toString())}
                   checked={selectedGrant === PageGrant.GRANT_RESTRICTED}
                   onChange={() => setSelectedGrant(PageGrant.GRANT_RESTRICTED)}
                 />
@@ -147,6 +150,7 @@ const FixPageGrantModal = (props: ModalProps): JSX.Element => {
                   name="grantUser"
                   id="grantUser"
                   type="radio"
+                  disabled={!applicableGrants.includes(PageGrant.GRANT_OWNER.toString())}
                   checked={selectedGrant === PageGrant.GRANT_OWNER}
                   onChange={() => setSelectedGrant(PageGrant.GRANT_OWNER)}
                 />
@@ -160,6 +164,7 @@ const FixPageGrantModal = (props: ModalProps): JSX.Element => {
                   name="grantUserGroup"
                   id="grantUserGroup"
                   type="radio"
+                  disabled={!applicableGrants.includes(PageGrant.GRANT_USER_GROUP.toString())}
                   checked={selectedGrant === PageGrant.GRANT_USER_GROUP}
                   onChange={() => setSelectedGrant(PageGrant.GRANT_USER_GROUP)}
                 />