Przeglądaj źródła

setState strictGuestModeValue in adminGeneralSecurityContainer

Shun Miyazawa 4 lat temu
rodzic
commit
bc6ad831d1

+ 4 - 1
packages/app/src/client/services/AdminGeneralSecurityContainer.js

@@ -65,9 +65,12 @@ export default class AdminGeneralSecurityContainer extends Container {
   async retrieveSecurityData() {
     await this.retrieveSetupStratedies();
     const response = await this.appContainer.apiv3.get('/security-setting/');
+
+    const strictGuestModeValue = document.getElementById('admin-security-setting')?.getAttribute('guest-mode-value');
+
     const { generalSetting, shareLinkSetting, generalAuth } = response.data.securityParams;
     this.setState({
-      currentRestrictGuestMode: generalSetting.restrictGuestMode,
+      currentRestrictGuestMode: strictGuestModeValue ?? generalSetting.restrictGuestMode,
       currentPageDeletionAuthority: generalSetting.pageDeletionAuthority,
       currentPageCompleteDeletionAuthority: generalSetting.pageCompleteDeletionAuthority,
       currentPageRecursiveDeletionAuthority: generalSetting.pageRecursiveDeletionAuthority,

+ 3 - 5
packages/app/src/components/Admin/Security/SecuritySetting.jsx

@@ -310,12 +310,10 @@ class SecuritySetting extends React.Component {
   render() {
     const { t, adminGeneralSecurityContainer } = this.props;
     const {
-      currentPageDeletionAuthority, currentPageCompleteDeletionAuthority,
+      currentRestrictGuestMode, currentPageDeletionAuthority, currentPageCompleteDeletionAuthority,
       currentPageRecursiveDeletionAuthority, currentPageRecursiveCompleteDeletionAuthority,
     } = adminGeneralSecurityContainer.state;
 
-    const guestModeValue = document.getElementById('admin-security-setting')?.getAttribute('guest-mode-value');
-
     const isButtonDisabledForDeletion = !validateDeleteConfigs(
       adminGeneralSecurityContainer.state.currentPageDeletionAuthority, PageDeleteConfigValue.AdminAndAuthor,
     );
@@ -407,8 +405,8 @@ class SecuritySetting extends React.Component {
                 aria-expanded="true"
               >
                 <span className="float-left">
-                  {guestModeValue === 'Deny' && t('security_setting.guest_mode.deny')}
-                  {guestModeValue === 'Readonly' && t('security_setting.guest_mode.readonly')}
+                  {currentRestrictGuestMode === 'Deny' && t('security_setting.guest_mode.deny')}
+                  {currentRestrictGuestMode === 'Readonly' && t('security_setting.guest_mode.readonly')}
                 </span>
               </button>
               <div className="dropdown-menu" aria-labelledby="dropdownMenuButton">