Explorar el Código

Code improvement

https://youtrack.weseek.co.jp/issue/GW-7759
- Update isDefaultLogo value when update settings
- Get value of isDefaultLogo from customizeParams
- Set default value of isDefaultLogo when config not present
- Keep value of config 'customize:isDefaultLogo' unchanged on delete logo
mudana hace 3 años
padre
commit
ebd57e00db

+ 2 - 8
packages/app/src/client/services/AdminCustomizeContainer.js

@@ -108,17 +108,11 @@ export default class AdminCustomizeContainer extends Container {
         currentCustomizeCss: customizeParams.customizeCss,
         currentCustomizeScript: customizeParams.customizeScript,
         brandLogoAttachmentId: customizeParams.brandLogoAttachmentId,
+        isDefaultLogo: customizeParams.isDefaultLogo,
         uploadedLogoSrc: customizeParams.uploadedLogoSrc,
       });
       // search style name from object for display
       this.setState({ currentHighlightJsStyleName: this.state.highlightJsCssSelectorOptions[customizeParams.styleName].name });
-
-      if (!('isDefaultLogo' in customizeParams)) {
-        this.setState({ isDefaultLogo: true });
-      }
-      else {
-        this.setState({ isDefaultLogo: customizeParams.isDefaultLogo });
-      }
     }
     catch (err) {
       this.setState({ retrieveError: err });
@@ -494,7 +488,7 @@ export default class AdminCustomizeContainer extends Container {
   async updateCustomizeLogo() {
     try {
       const response = await apiv3Put('/customize-setting/customize-logo', {
-        isDefaultLogo: this.state.uploadedLogoSrc == null ? true : this.state.isDefaultLogo,
+        isDefaultLogo: this.state.isDefaultLogo,
         brandLogoAttachmentId: this.state.brandLogoAttachmentId,
         uploadedLogoSrc: this.state.uploadedLogoSrc,
       });

+ 3 - 2
packages/app/src/server/routes/apiv3/customize-setting.js

@@ -173,7 +173,8 @@ module.exports = (crowi) => {
    *                      description: customize params
    */
   router.get('/', loginRequiredStrictly, adminRequired, async(req, res) => {
-
+    const defaultLogoConfig = await crowi.configManager.getConfig('crowi', 'customize:isDefaultLogo');
+    const isDefaultLogo = defaultLogoConfig === undefined || defaultLogoConfig;
     const customizeParams = {
       themeType: await crowi.configManager.getConfig('crowi', 'customize:theme'),
       isEnabledTimeline: await crowi.configManager.getConfig('crowi', 'customize:isEnabledTimeline'),
@@ -193,7 +194,7 @@ module.exports = (crowi) => {
       customizeCss: await crowi.configManager.getConfig('crowi', 'customize:css'),
       customizeScript: await crowi.configManager.getConfig('crowi', 'customize:script'),
       brandLogoAttachmentId: await crowi.configManager.getConfig('crowi', 'customize:brandLogoAttachmentId'),
-      isDefaultLogo: await crowi.configManager.getConfig('crowi', 'customize:isDefaultLogo'),
+      isDefaultLogo,
       uploadedLogoSrc: await crowi.configManager.getConfig('crowi', 'customize:uploadedLogoSrc'),
     };
 

+ 0 - 1
packages/app/src/server/routes/attachment.js

@@ -773,7 +773,6 @@ module.exports = function(crowi, app) {
       // update attachmentId immediately
       const attachmentConfigParams = {
         'customize:brandLogoAttachmentId': null,
-        'customize:isDefaultLogo': true,
         'customize:uploadedLogoSrc': null,
       };
       await crowi.configManager.updateConfigsInTheSameNamespace('crowi', attachmentConfigParams);