瀏覽代碼

Merge branch 'edge' into meteor-1.8

Lauri Ojansivu 6 年之前
父節點
當前提交
d93efd9e9b
共有 60 個文件被更改,包括 165 次插入60 次删除
  1. 6 2
      CHANGELOG.md
  2. 4 2
      client/components/main/header.jade
  3. 5 0
      client/components/main/header.js
  4. 7 2
      client/components/main/layouts.jade
  5. 11 0
      client/components/main/layouts.js
  6. 7 1
      client/components/settings/settingBody.jade
  7. 9 1
      client/components/settings/settingBody.js
  8. 2 1
      i18n/ar.i18n.json
  9. 2 1
      i18n/bg.i18n.json
  10. 2 1
      i18n/br.i18n.json
  11. 2 1
      i18n/ca.i18n.json
  12. 2 1
      i18n/cs.i18n.json
  13. 2 1
      i18n/da.i18n.json
  14. 2 1
      i18n/de.i18n.json
  15. 2 1
      i18n/el.i18n.json
  16. 2 1
      i18n/en-GB.i18n.json
  17. 2 1
      i18n/en.i18n.json
  18. 2 1
      i18n/eo.i18n.json
  19. 2 1
      i18n/es-AR.i18n.json
  20. 2 1
      i18n/es.i18n.json
  21. 2 1
      i18n/eu.i18n.json
  22. 2 1
      i18n/fa.i18n.json
  23. 2 1
      i18n/fi.i18n.json
  24. 2 1
      i18n/fr.i18n.json
  25. 2 1
      i18n/gl.i18n.json
  26. 2 1
      i18n/he.i18n.json
  27. 2 1
      i18n/hi.i18n.json
  28. 2 1
      i18n/hu.i18n.json
  29. 2 1
      i18n/hy.i18n.json
  30. 2 1
      i18n/id.i18n.json
  31. 2 1
      i18n/ig.i18n.json
  32. 2 1
      i18n/it.i18n.json
  33. 2 1
      i18n/ja.i18n.json
  34. 2 1
      i18n/ka.i18n.json
  35. 2 1
      i18n/km.i18n.json
  36. 2 1
      i18n/ko.i18n.json
  37. 2 1
      i18n/lv.i18n.json
  38. 2 1
      i18n/mn.i18n.json
  39. 2 1
      i18n/nb.i18n.json
  40. 2 1
      i18n/nl.i18n.json
  41. 2 1
      i18n/pl.i18n.json
  42. 2 1
      i18n/pt-BR.i18n.json
  43. 2 1
      i18n/pt.i18n.json
  44. 2 1
      i18n/ro.i18n.json
  45. 2 1
      i18n/ru.i18n.json
  46. 2 1
      i18n/sr.i18n.json
  47. 2 1
      i18n/sv.i18n.json
  48. 2 1
      i18n/sw.i18n.json
  49. 2 1
      i18n/ta.i18n.json
  50. 2 1
      i18n/th.i18n.json
  51. 2 1
      i18n/tr.i18n.json
  52. 2 1
      i18n/uk.i18n.json
  53. 2 1
      i18n/vi.i18n.json
  54. 2 1
      i18n/zh-CN.i18n.json
  55. 2 1
      i18n/zh-TW.i18n.json
  56. 4 0
      models/settings.js
  57. 1 1
      package.json
  58. 2 2
      sandstorm-pkgdef.capnp
  59. 12 0
      server/migrations.js
  60. 1 1
      server/publications/settings.js

+ 6 - 2
CHANGELOG.md

@@ -1,6 +1,10 @@
-# Upcoming Wekan release
+# v1.75 2018-11-20 Wekan release
 
-This release fixes the following bugs:
+This release adds the following new features:
+
+- Admin Panel / Layout: Hide Logo: Yes / No. This does hide Wekan logo on Login page and Board page. Thanks to xet7.
+
+and fixes the following bugs:
 
 - [Fix Snap database-list-backups command](https://github.com/wekan/wekan-snap/issues/26). Thanks to WaryWolf.
 

+ 4 - 2
client/components/main/header.jade

@@ -47,6 +47,7 @@ template(name="header")
       +Template.dynamic(template=headerBar)
 
       unless hideLogo
+
         //-
           On sandstorm, the logo shouldn't be clickable, because we only have one
           page/document on it, and we don't want to see the home page containing
@@ -55,8 +56,9 @@ template(name="header")
           .wekan-logo
             img(src="{{pathFor '/wekan-logo-header.png'}}" alt="Wekan")
         else
-          a.wekan-logo(href="{{pathFor 'home'}}" title="{{_ 'header-logo-title'}}")
-            img(src="{{pathFor '/wekan-logo-header.png'}}" alt="Wekan")
+          unless currentSetting.hideLogo
+            a.wekan-logo(href="{{pathFor 'home'}}" title="{{_ 'header-logo-title'}}")
+              img(src="{{pathFor '/wekan-logo-header.png'}}" alt="Wekan")
 
   if appIsOffline
     +offlineWarning

+ 5 - 0
client/components/main/header.js

@@ -1,11 +1,16 @@
 Meteor.subscribe('user-admin');
 Meteor.subscribe('boards');
+Meteor.subscribe('setting');
 
 Template.header.helpers({
   wrappedHeader() {
     return !Session.get('currentBoard');
   },
 
+  currentSetting() {
+    return Settings.findOne();
+  },
+
   hideLogo() {
     return Utils.isMiniScreen() && Session.get('currentBoard');
   },

+ 7 - 2
client/components/main/layouts.jade

@@ -14,8 +14,13 @@ head
 
 template(name="userFormsLayout")
   section.auth-layout
-    h1.at-form-landing-logo
-      img(src="{{pathFor '/wekan-logo.png'}}" alt="Wekan")
+    unless currentSetting.hideLogo
+      h1.at-form-landing-logo
+        img(src="{{pathFor '/wekan-logo.png'}}" alt="Wekan")
+    if currentSetting.hideLogo
+      h1
+        br
+        br
     section.auth-dialog
       +Template.dynamic(template=content)
       +connectionMethod

+ 11 - 0
client/components/main/layouts.js

@@ -20,7 +20,13 @@ const validator = {
   },
 };
 
+Template.userFormsLayout.onCreated(() => {
+  Meteor.subscribe('setting');
+
+});
+
 Template.userFormsLayout.onRendered(() => {
+
   AccountsTemplates.state.form.keys = new Proxy(AccountsTemplates.state.form.keys, validator);
 
   const i18nTag = navigator.language;
@@ -31,6 +37,11 @@ Template.userFormsLayout.onRendered(() => {
 });
 
 Template.userFormsLayout.helpers({
+
+  currentSetting() {
+    return Settings.findOne();
+  },
+
   languages() {
     return _.map(TAPi18n.getLanguages(), (lang, code) => {
       const tag = code;

+ 7 - 1
client/components/settings/settingBody.jade

@@ -134,10 +134,16 @@ template(name='announcementSettings')
 
 template(name='layoutSettings')
   ul#layout-setting.setting-detail
+    li.layout-form
+      .title {{_ 'hide-logo'}}
+      .form-group.flex
+        input.form-control#hide-logo(type="radio" name="hideLogo" value="true" checked="{{#if currentSetting.hideLogo}}checked{{/if}}")
+        span {{_ 'yes'}}
+        input.form-control#hide-logo(type="radio" name="hideLogo" value="false" checked="{{#unless currentSetting.hideLogo}}checked{{/unless}}")
+        span {{_ 'no'}}
     li.layout-form
       .title {{_ 'custom-product-name'}}
       .form-group
         input.form-control#product-name(type="text", placeholder="Wekan" value="{{currentSetting.productName}}")
-
     li
       button.js-save-layout.primary {{_ 'save'}}

+ 9 - 1
client/components/settings/settingBody.js

@@ -59,6 +59,9 @@ BlazeComponent.extendComponent({
   toggleTLS() {
     $('#mail-server-tls').toggleClass('is-checked');
   },
+  toggleHideLogo() {
+    $('#hide-logo').toggleClass('is-checked');
+  },
   switchMenu(event) {
     const target = $(event.target);
     if (!target.hasClass('active')) {
@@ -135,11 +138,15 @@ BlazeComponent.extendComponent({
     this.setLoading(true);
     $('li').removeClass('has-error');
 
+    const productName = $('#product-name').val().trim();
+    const hideLogoChange = ($('input[name=hideLogo]:checked').val() === 'true');
+
     try {
-      const productName = $('#product-name').val().trim();
+
       Settings.update(Settings.findOne()._id, {
         $set: {
           productName,
+          hideLogo: hideLogoChange,
         },
       });
     } catch (e) {
@@ -175,6 +182,7 @@ BlazeComponent.extendComponent({
       'click button.js-email-invite': this.inviteThroughEmail,
       'click button.js-save': this.saveMailServerInfo,
       'click button.js-send-smtp-test-email': this.sendSMTPTestEmail,
+      'click a.js-toggle-hide-logo': this.toggleHideLogo,
       'click button.js-save-layout': this.saveLayout,
     }];
   },

+ 2 - 1
i18n/ar.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/bg.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/br.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/ca.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/cs.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Metoda autentizace",
     "authentication-type": "Typ autentizace",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/da.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/de.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentifizierungsmethode",
     "authentication-type": "Authentifizierungstyp",
     "custom-product-name": "Benutzerdefinierter Produktname",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/el.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/en-GB.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/en.i18n.json

@@ -618,5 +618,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/eo.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/es-AR.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/es.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/eu.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/fa.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "متد اعتبارسنجی",
     "authentication-type": "نوع اعتبارسنجی",
     "custom-product-name": "نام سفارشی محصول",
-    "layout": "لایه"
+    "layout": "لایه",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/fi.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Kirjautumistapa",
     "authentication-type": "Kirjautumistyyppi",
     "custom-product-name": "Mukautettu tuotenimi",
-    "layout": "Ulkoasu"
+    "layout": "Ulkoasu",
+    "hide-logo": "Piilota Logo"
 }

+ 2 - 1
i18n/fr.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Méthode d'authentification",
     "authentication-type": "Type d'authentification",
     "custom-product-name": "Nom personnalisé",
-    "layout": "Interface"
+    "layout": "Interface",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/gl.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/he.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/hi.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/hu.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/hy.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/id.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/ig.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/it.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Metodo di Autenticazione",
     "authentication-type": "Tipo Autenticazione",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/ja.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/ka.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/km.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/ko.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/lv.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/mn.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/nb.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/nl.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/pl.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Sposób autoryzacji",
     "authentication-type": "Typ autoryzacji",
     "custom-product-name": "Niestandardowa nazwa produktu",
-    "layout": "Układ strony"
+    "layout": "Układ strony",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/pt-BR.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/pt.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/ro.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/ru.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/sr.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/sv.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/sw.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/ta.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/th.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/tr.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/uk.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/vi.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/zh-CN.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "认证方式",
     "authentication-type": "认证类型",
     "custom-product-name": "自定义产品名称",
-    "layout": "布局"
+    "layout": "布局",
+    "hide-logo": "Hide Logo"
 }

+ 2 - 1
i18n/zh-TW.i18n.json

@@ -617,5 +617,6 @@
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type",
     "custom-product-name": "Custom Product Name",
-    "layout": "Layout"
+    "layout": "Layout",
+    "hide-logo": "Hide Logo"
 }

+ 4 - 0
models/settings.js

@@ -32,6 +32,10 @@ Settings.attachSchema(new SimpleSchema({
     type: String,
     optional: true,
   },
+  hideLogo: {
+    type: Boolean,
+    optional: true,
+  },
   createdAt: {
     type: Date,
     denyUpdate: true,

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "wekan",
-  "version": "v1.74.1",
+  "version": "v1.75.0",
   "description": "Open-Source kanban",
   "private": true,
   "scripts": {

+ 2 - 2
sandstorm-pkgdef.capnp

@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
     appTitle = (defaultText = "Wekan"),
     # The name of the app as it is displayed to the user.
 
-    appVersion = 177,
+    appVersion = 178,
     # Increment this for every release.
 
-    appMarketingVersion = (defaultText = "1.74.1~2018-11-17"),
+    appMarketingVersion = (defaultText = "1.75.0~2018-11-20"),
     # Human-readable presentation of the app version.
 
     minUpgradableAppVersion = 0,

+ 12 - 0
server/migrations.js

@@ -362,3 +362,15 @@ Migrations.add('add-product-name', () => {
     },
   }, noValidateMulti);
 });
+
+Migrations.add('add-hide-logo', () => {
+  Settings.update({
+    hideLogo: {
+      $exists: false,
+    },
+  }, {
+    $set: {
+      hideLogo: false,
+    },
+  }, noValidateMulti);
+});

+ 1 - 1
server/publications/settings.js

@@ -1,5 +1,5 @@
 Meteor.publish('setting', () => {
-  return Settings.find({}, {fields:{disableRegistration: 1, productName: 1}});
+  return Settings.find({}, {fields:{disableRegistration: 1, productName: 1, hideLogo: 1}});
 });
 
 Meteor.publish('mailServer', function () {