Yuki Takei 9 лет назад
Родитель
Сommit
c5eb76eac8
4 измененных файлов с 48 добавлено и 3 удалено
  1. 9 0
      lib/form/admin/customlayout.js
  2. 1 0
      lib/form/index.js
  3. 3 2
      lib/routes/index.js
  4. 35 1
      lib/views/admin/customize.html

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

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

+ 1 - 0
lib/form/index.js

@@ -19,6 +19,7 @@ module.exports = {
     plugin: require('./admin/plugin'),
     markdown: require('./admin/markdown'),
     customcss: require('./admin/customcss'),
+    customlayout: require('./admin/customlayout'),
     userInvite: require('./admin/userInvite'),
     slackSetting: require('./admin/slackSetting'),
   },

+ 3 - 2
lib/routes/index.js

@@ -52,8 +52,9 @@ module.exports = function(crowi, app) {
   app.post('/admin/markdown/lineBreaksSetting', loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.markdown, admin.markdown.lineBreaksSetting);
 
   // markdown admin
-  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.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/layout' , loginRequired(crowi, app) , middleware.adminRequired() , csrf, form.admin.customlayout, admin.api.customizeSetting);
 
   // search admin
   app.get('/admin/search'              , loginRequired(crowi, app) , middleware.adminRequired() , admin.search.index);

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

@@ -45,6 +45,40 @@
     </div>
     <div class="col-md-9">
 
+      <form action="/_api/admin/customize/layout" method="post" class="form-horizontal" id="cutomlayoutSettingForm" role="form">
+      <fieldset>
+        <legend>レイアウト</legend>
+
+        <div class="form-group">
+          <div class="col-xs-6">
+            <h4>
+              <input type="radio" name="settingForm[customize:layout]" value="crowi"
+                  {% if !settingForm['customize:layout'] || 'crowi' === settingForm['customize:layout'] %}checked="checked"{% endif %}>
+              Traditional Crowi Layout
+            </h4>
+            <a href="http://placehold.it"><img src="http://placehold.it/350x150"></a>
+          </div>
+          <div class="col-xs-6">
+            <h4>
+              <input type="radio" name="settingForm[customize:layout]" value="crowi-plus"
+                  {% if 'crowi-plus' === settingForm['customize:layout'] %}checked="checked"{% endif %}>
+              crowi-plus Original Layout
+            </h4>
+            <a href="http://placehold.it"><img src="http://placehold.it/350x150"></a>
+          </div>
+        </div>
+
+        <div class="form-group">
+          <div class="col-xs-offset-5 col-xs-6">
+            <input type="hidden" name="_csrf" value="{{ csrf() }}">
+            <button type="submit" class="btn btn-primary">更新</button>
+          </div>
+        </div>
+
+      </fieldset>
+      </form>
+
+
       <form action="/_api/admin/customize/css" method="post" class="form-horizontal" id="cutomcssSettingForm" role="form">
       <fieldset>
         <legend>カスタムCSS</legend>
@@ -80,7 +114,7 @@
   </div>
 
   <script>
-    $('#cutomcssSettingForm').each(function() {
+    $('#cutomcssSettingForm, #cutomlayoutSettingForm').each(function() {
       $(this).submit(function()
       {
         function showMessage(formId, msg, status) {