Преглед изворни кода

refs #259: Feature: Custom Header
WIP
can save custom header

大谷 東彦 пре 8 година
родитељ
комит
32b4f90af6
5 измењених фајлова са 26 додато и 2 уклоњено
  1. 9 0
      lib/form/admin/customheader.js
  2. 1 0
      lib/form/index.js
  3. 14 0
      lib/models/config.js
  4. 1 1
      lib/routes/index.js
  5. 1 1
      lib/views/admin/customize.html

+ 9 - 0
lib/form/admin/customheader.js

@@ -0,0 +1,9 @@
+'use strict';
+
+var form = require('express-form')
+  , field = form.field
+  ;
+
+module.exports = form(
+  field('settingForm[customize:header]')
+);

+ 1 - 0
lib/form/index.js

@@ -22,6 +22,7 @@ module.exports = {
     markdown: require('./admin/markdown'),
     markdown: require('./admin/markdown'),
     customcss: require('./admin/customcss'),
     customcss: require('./admin/customcss'),
     customscript: require('./admin/customscript'),
     customscript: require('./admin/customscript'),
+    customheader: require('./admin/customheader'),
     custombehavior: require('./admin/custombehavior'),
     custombehavior: require('./admin/custombehavior'),
     customlayout: require('./admin/customlayout'),
     customlayout: require('./admin/customlayout'),
     customfeatures: require('./admin/customfeatures'),
     customfeatures: require('./admin/customfeatures'),

+ 14 - 0
lib/models/config.js

@@ -84,6 +84,7 @@ module.exports = function(crowi) {
 
 
       'customize:css' : '',
       'customize:css' : '',
       'customize:script' : '',
       'customize:script' : '',
+      'customize:header' : '',
       'customize:behavior' : 'crowi',
       'customize:behavior' : 'crowi',
       'customize:layout' : 'crowi',
       'customize:layout' : 'crowi',
       'customize:isEnabledTimeline' : true,
       'customize:isEnabledTimeline' : true,
@@ -351,6 +352,19 @@ module.exports = function(crowi) {
     return this._customScript;
     return this._customScript;
   }
   }
 
 
+  configSchema.statics.initCustomHeader = function(config)
+  {
+    const key = 'customize:header';
+    const rawHeader = getValueForCrowiNS(config, key);
+    // store as is
+    this._customHeader = rawHeader;
+  }
+
+  configSchema.statics.customHeader = function(config)
+  {
+    return this._customHeader;
+  }
+
   configSchema.statics.behaviorType = function(config)
   configSchema.statics.behaviorType = function(config)
   {
   {
     const key = 'customize:behavior';
     const key = 'customize:behavior';

+ 1 - 1
lib/routes/index.js

@@ -73,7 +73,7 @@ module.exports = function(crowi, app) {
   app.get('/admin/customize'                , loginRequired(crowi, app) , middleware.adminRequired() , admin.customize.index);
   app.get('/admin/customize'                , loginRequired(crowi, app) , middleware.adminRequired() , admin.customize.index);
   app.post('/_api/admin/customize/css'      , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.customcss, admin.api.customizeSetting);
   app.post('/_api/admin/customize/css'      , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.customcss, admin.api.customizeSetting);
   app.post('/_api/admin/customize/script'   , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.customscript, admin.api.customizeSetting);
   app.post('/_api/admin/customize/script'   , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.customscript, admin.api.customizeSetting);
-  app.post('/_api/admin/customize/html'     , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.customhtml, admin.api.customizeSetting);
+  app.post('/_api/admin/customize/header'   , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.customheader, admin.api.customizeSetting);
   app.post('/_api/admin/customize/behavior' , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.custombehavior, admin.api.customizeSetting);
   app.post('/_api/admin/customize/behavior' , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.custombehavior, admin.api.customizeSetting);
   app.post('/_api/admin/customize/layout'   , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.customlayout, admin.api.customizeSetting);
   app.post('/_api/admin/customize/layout'   , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.customlayout, admin.api.customizeSetting);
   app.post('/_api/admin/customize/features' , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.customfeatures, admin.api.customizeSetting);
   app.post('/_api/admin/customize/features' , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.customfeatures, admin.api.customizeSetting);

+ 1 - 1
lib/views/admin/customize.html

@@ -310,7 +310,7 @@
         <div class="form-group">
         <div class="form-group">
           <div class="col-xs-12">
           <div class="col-xs-12">
             <div id="custom-header-editor"></div>
             <div id="custom-header-editor"></div>
-            <input type="hidden" id="inputCustomHeader" name="settingForm[customize:script]" value="{{ settingForm['customize:script'] }}">
+            <input type="hidden" id="inputCustomHeader" name="settingForm[customize:header]" value="{{ settingForm['customize:header'] }}">
           </div>
           </div>
           <div class="col-xs-12">
           <div class="col-xs-12">
             <p class="help-block text-right">
             <p class="help-block text-right">