Просмотр исходного кода

BugFix: isEnabledPlugins button state when app boot at first time

Yuki Takei 9 лет назад
Родитель
Сommit
b15a9f9256
4 измененных файлов с 23 добавлено и 3 удалено
  1. 2 1
      lib/crowi/index.js
  2. 14 0
      lib/models/config.js
  3. 5 0
      lib/util/swigFunctions.js
  4. 2 2
      lib/views/layout/layout.html

+ 2 - 1
lib/crowi/index.js

@@ -337,7 +337,8 @@ Crowi.prototype.buildServer = function() {
   require('./express-init')(this, app);
   require('./express-init')(this, app);
 
 
   // import plugins
   // import plugins
-  var isEnabledPlugins = this.config.crowi['plugin:isEnabledPlugins'] || false;
+  var Config = this.model('Config');
+  var isEnabledPlugins = Config.isEnabledPlugins(this.config);
   if (isEnabledPlugins) {
   if (isEnabledPlugins) {
     debug('plugins enabled');
     debug('plugins enabled');
     require('../plugins')(this, app);
     require('../plugins')(this, app);

+ 14 - 0
lib/models/config.js

@@ -194,10 +194,23 @@ module.exports = function(crowi) {
     return method != 'none';
     return method != 'none';
   };
   };
 
 
+  configSchema.statics.isEnabledPlugins = function(config)
+  {
+    var defaultValue = getArrayForInstalling()['plugin:isEnabledPlugins'];
+
+    // return defaultValue if undefined
+    if (undefined === config.crowi || undefined === config.crowi['plugin:isEnabledPlugins']) {
+      return defaultValue;
+    }
+
+    return config.crowi['plugin:isEnabledPlugins'];
+  };
+
   configSchema.statics.isEnabledLinebreaks = function(config)
   configSchema.statics.isEnabledLinebreaks = function(config)
   {
   {
     var defaultValue = getDefaultMarkdownConfigs()['markdown:isEnabledLinebreaks'];
     var defaultValue = getDefaultMarkdownConfigs()['markdown:isEnabledLinebreaks'];
 
 
+    // return defaultValue if undefined
     if (undefined === config.markdown || undefined === config.markdown['markdown:isEnabledLinebreaks']) {
     if (undefined === config.markdown || undefined === config.markdown['markdown:isEnabledLinebreaks']) {
       return defaultValue;
       return defaultValue;
     }
     }
@@ -209,6 +222,7 @@ module.exports = function(crowi) {
   {
   {
     var defaultValue = getDefaultMarkdownConfigs()['markdown:isEnabledLinebreaksInComments'];
     var defaultValue = getDefaultMarkdownConfigs()['markdown:isEnabledLinebreaksInComments'];
 
 
+    // return defaultValue if undefined
     if (undefined === config.markdown || undefined === config.markdown['markdown:isEnabledLinebreaksInComments']) {
     if (undefined === config.markdown || undefined === config.markdown['markdown:isEnabledLinebreaksInComments']) {
       return defaultValue;
       return defaultValue;
     }
     }

+ 5 - 0
lib/util/swigFunctions.js

@@ -22,6 +22,11 @@ module.exports = function(crowi, app, req, locals) {
     return false;
     return false;
   };
   };
 
 
+  locals.isEnabledPlugins = function() {
+    var config = crowi.getConfig()
+    return Config.isEnabledPlugins(config);
+  }
+
   locals.isEnabledLinebreaks = function() {
   locals.isEnabledLinebreaks = function() {
     var config = crowi.getConfig()
     var config = crowi.getConfig()
     return Config.isEnabledLinebreaks(config);
     return Config.isEnabledLinebreaks(config);

+ 2 - 2
lib/views/layout/layout.html

@@ -32,7 +32,7 @@
 
 
   <script src="{{ webpack_asset('style').js }}"></script>
   <script src="{{ webpack_asset('style').js }}"></script>
   <script src="{{ webpack_asset('commons').js }}" defer></script>
   <script src="{{ webpack_asset('commons').js }}" defer></script>
-  {% if config.crowi['plugin:isEnabledPlugins'] %}
+  {% if isEnabledPlugins() %}
     <script src="{{ webpack_asset('plugin').js }}" defer></script>
     <script src="{{ webpack_asset('plugin').js }}" defer></script>
   {% endif %}
   {% endif %}
   <script src="{{ webpack_asset('legacy').js }}" defer></script>
   <script src="{{ webpack_asset('legacy').js }}" defer></script>
@@ -51,7 +51,7 @@
 <body
 <body
   class="crowi main-container {% block html_base_css %}{% endblock %}"
   class="crowi main-container {% block html_base_css %}{% endblock %}"
   data-me="{{ user._id.toString() }}"
   data-me="{{ user._id.toString() }}"
-  data-plugin-enabled="{{ config.crowi['plugin:isEnabledPlugins'] }}"
+  data-plugin-enabled="{{ isEnabledPlugins() }}"
  {% block html_base_attr %}{% endblock %}
  {% block html_base_attr %}{% endblock %}
  >
  >