itizawa 5 лет назад
Родитель
Сommit
4a19d38da1

+ 9 - 0
src/client/js/components/Admin/App/FileUploadSetting.jsx

@@ -57,6 +57,7 @@ function FileUploadSetting(props) {
                     name="file-upload-type"
                     name="file-upload-type"
                     id={`file-upload-type-radio-${type}`}
                     id={`file-upload-type-radio-${type}`}
                     checked={adminAppContainer.state.fileUploadType === type}
                     checked={adminAppContainer.state.fileUploadType === type}
+                    disabled={adminAppContainer.state.isFixedFileUploadByEnvVar}
                     onChange={() => { adminAppContainer.changeFileUploadType(type) }}
                     onChange={() => { adminAppContainer.changeFileUploadType(type) }}
                   />
                   />
                   <label className="custom-control-label" htmlFor={`file-upload-type-radio-${type}`}>{t(`admin:app_setting.${type}_label`)}</label>
                   <label className="custom-control-label" htmlFor={`file-upload-type-radio-${type}`}>{t(`admin:app_setting.${type}_label`)}</label>
@@ -64,6 +65,14 @@ function FileUploadSetting(props) {
               );
               );
             })}
             })}
         </div>
         </div>
+        {adminAppContainer.state.isFixedFileUploadByEnvVar && (
+          <p className="alert alert-warning mt-2 text-left offset-3 col-6">
+            <i className="icon-exclamation icon-fw">
+            </i><b>FIXED</b><br />
+            {/* eslint-disable-next-line react/no-danger */}
+            <b dangerouslySetInnerHTML={{ __html: t('admin:app_setting.fixed_by_env_var', { fileUploadType: adminAppContainer.state.envFileUploadType }) }} />
+          </p>
+        )}
       </div>
       </div>
 
 
       <AdminUpdateButtonRow onClick={submitFileUploadTypeHandler} disabled={adminAppContainer.state.retrieveError != null} />
       <AdminUpdateButtonRow onClick={submitFileUploadTypeHandler} disabled={adminAppContainer.state.retrieveError != null} />

+ 14 - 0
src/client/js/services/AdminAppContainer.js

@@ -37,6 +37,7 @@ export default class AdminAppContainer extends Container {
 
 
       fileUploadType: '',
       fileUploadType: '',
       envFileUploadType: '',
       envFileUploadType: '',
+      isFixedFileUploadByEnvVar: false,
 
 
       gcsApiKeyJsonPath: '',
       gcsApiKeyJsonPath: '',
       envGcsApiKeyJsonPath: '',
       envGcsApiKeyJsonPath: '',
@@ -105,6 +106,19 @@ export default class AdminAppContainer extends Container {
       isEnabledPlugins: appSettingsParams.isEnabledPlugins,
       isEnabledPlugins: appSettingsParams.isEnabledPlugins,
     });
     });
 
 
+    // check is file upload type forced
+    if (this.isFixedFileUploadByEnvVar(appSettingsParams.envFileUploadType)) {
+      this.setState({ fileUploadType: appSettingsParams.envFileUploadType });
+      this.setState({ isFixedFileUploadByEnvVar: true });
+    }
+  }
+
+  /**
+   * get isFixedFileUploadByEnvVar
+   * @return {bool} isFixedFileUploadByEnvVar
+   */
+  isFixedFileUploadByEnvVar(envFileUploadType) {
+    return envFileUploadType != null;
   }
   }
 
 
   /**
   /**