Merge branch 'edge' into meteor-1.8

This commit is contained in:
Lauri Ojansivu 2018-11-20 02:46:35 +02:00
commit d93efd9e9b
60 changed files with 165 additions and 60 deletions

View file

@ -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.

View file

@ -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

View file

@ -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');
},

View file

@ -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

View file

@ -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;

View file

@ -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'}}

View file

@ -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,
}];
},

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

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

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

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

View file

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

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

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

View file

@ -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"
}

View file

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

View file

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

View file

@ -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,

View file

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

View file

@ -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 () {