Compare commits

...
15 Commits
Author SHA1 Message Date
Lauri Ojansivu 655fe8afd3 v4.40 2020-09-18 19:50:40 +03:00
Lauri Ojansivu 855c66976e Update ChangeLog. 2020-09-18 19:46:27 +03:00
Lauri Ojansivu 185cf163b2 Upgrade to Meteor v1.11.1 .
Thanks to Meteor developers !
2020-09-18 19:42:34 +03:00
Lauri Ojansivu 45b7365025 Update translations. 2020-09-18 19:34:56 +03:00
Lauri Ojansivu ed5f64ccd6 Update ChangeLog. 2020-09-18 19:23:16 +03:00
Lauri Ojansivu 3fc80e1145 Better translation: Target URL to Link URL. 2020-09-18 19:20:16 +03:00
Lauri Ojansivu 05e3fc31b4 Remove extra translation that is not used. 2020-09-18 19:06:02 +03:00
Lauri Ojansivu d5e1c4bfa5 Update ChangeLog. 2020-09-18 18:58:22 +03:00
Lauri Ojansivu a7c3317ed6 Custom Logo for Login and Top Left Corner. Optional link when clicking logo. Settings at Admin Panel / Layout.
Thanks to xet7 !

Fixes #1493,
fixes #2721,
fixes #2681,
fixes #1583,
fixes #1196,
fixes #336,
fixes wekan/wekan-snap#130
2020-09-18 18:45:48 +03:00
Lauri Ojansivu 7db08082bc v4.39 2020-09-17 00:19:45 +03:00
Lauri Ojansivu 32836d42c9 Update ChangeLog. 2020-09-16 23:26:38 +03:00
Lauri Ojansivu 789c4b480a Update translations. 2020-09-16 23:23:22 +03:00
Lauri Ojansivu abe291837a Merge branch 'Akuket-feature/impersonate-user' 2020-09-16 23:12:25 +03:00
Lauri Ojansivu 81ac0fdba9 Add translations strings for impersonate user feature.
Thanks to xet7 !
2020-09-16 23:11:43 +03:00
Guillaume d19cc972e0 Add admin ability : Impersonate one user. 2020-09-16 18:11:19 +00:00
76 changed files with 44021 additions and 43543 deletions

No files matched your search

+1 -1
View File
@@ -7,7 +7,7 @@ meteor-base@1.4.0
# Build system
ecmascript@0.14.3
standard-minifier-css@1.6.0
standard-minifier-css@1.6.1
standard-minifier-js@2.6.0
mquandalle:jade
coffeescript@2.4.1!
+1 -1
View File
@@ -1 +1 @@
METEOR@1.11
METEOR@1.11.1
+28
View File
@@ -1,3 +1,31 @@
# v4.40 2020-09-18 Wekan release
This release adds the following new features:
- Custom Logo for Login and Top Left Corner. Optional link when clicking logo.
Settings at Admin Panel / Layout.
[Part 1](https://github.com/wekan/wekan/commit/a7c3317ed696fad8e211b22afbb3012f3a4f2ddb),
[Part 2](https://github.com/wekan/wekan/commit/05e3fc31b4633978a6b002a0325aad8e74d57ec4),
[Part 3](https://github.com/wekan/wekan/commit/3fc80e1145b23f8e6c7492ef4e3313b02f3d8772).
Thanks to xet7.
and adds the following updates:
- [Upgrade to Meteor v1.11.1](https://github.com/wekan/wekan/commit/185cf163b23280af5a7910381209984e2362a452).
Thanks to Meteor developers.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.39 2020-09-17 Wekan release
This release adds the following new features:
- [Impersonate one user](https://github.com/wekan/wekan/pull/3280) and
[related translatable strings](https://github.com/wekan/wekan/commit/81ac0fdba9b52477dbbe7b6ed01b6d299288bcca).
Thanks to Akuket and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.38 2020-09-16 Wekan release
This release fixes the following CRITICAL VULNERABILITIES:
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v4.38.0"
appVersion: "v4.40.0"
files:
userUploads:
- README.md
+13 -11
View File
@@ -19,6 +19,19 @@ template(name="header")
= title
#header-new-board-icon
else
//-
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
the list of all boards.
unless currentSetting.hideLogo
if currentSetting.customTopLeftCornerLogoImageUrl
if currentSetting.customTopLeftCornerLogoLinkUrl
a(href="{{currentSetting.customTopLeftCornerLogoLinkUrl}}")
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="27" width="auto" margin="0" padding="0")
unless currentSetting.customTopLeftCornerLogoLinkUrl
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="27" width="auto" margin="0" padding="0")
unless currentSetting.customTopLeftCornerLogoImageUrl
img(src="{{pathFor '/logo-header.png'}}" alt="")
ul
li
a(href="{{pathFor 'home'}}")
@@ -52,17 +65,6 @@ template(name="header")
#header-main-bar(class="{{#if wrappedHeader}}wrapper{{/if}}")
+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
the list of all boards.
// unless currentSetting.hideLogo
// a.wekan-logo(href="{{pathFor 'home'}}" title="{{_ 'header-logo-title'}}")
// img(src="{{pathFor '/logo-header.png'}}" alt="")
if appIsOffline
+offlineWarning
+17
View File
@@ -19,6 +19,23 @@ head
template(name="userFormsLayout")
section.auth-layout
if currentSetting.hideLogo
h1.at-form-landing-logo
br
br
unless currentSetting.hideLogo
h1.at-form-landing-logo
if currentSetting.customLoginLogoImageUrl
if currentSetting.customLoginLogoLinkUrl
a(href="{{currentSetting.customLoginLogoLinkUrl}}")
img(src="{{currentSetting.customLoginLogoImageUrl}}" width="300" height="auto")
br
unless currentSetting.customLoginLogoLinkUrl
img(src="{{currentSetting.customLoginLogoImageUrl}}" width="300" height="auto")
br
unless currentSetting.customLoginLogoImageUrl
img(src="{{pathFor '/wekan-logo.svg'}}" alt="" width="300" height="auto")
br
section.auth-dialog
if isLoading
+loader
-1
View File
@@ -447,7 +447,6 @@ a
flex-direction: column
align-items: center
justify-content: center
height: 100%
.auth-dialog
margin: 0 !important
@@ -104,6 +104,8 @@ template(name="peopleRow")
a.edit-user
i.fa.fa-edit
| {{_ 'edit'}}
a.more-settings-user
i.fa.fa-ellipsis-h
template(name="editUserPopup")
form
@@ -200,3 +202,10 @@ template(name="newUserPopup")
input.js-profile-password(type="password")
div.buttonsContainer
input.primary.wide(type="submit" value="{{_ 'save'}}")
template(name="settingsUserPopup")
ul.pop-over-list
li
a.impersonate-user
i.fa.fa-user
| {{_ 'impersonate-user'}}
+14
View File
@@ -194,6 +194,7 @@ BlazeComponent.extendComponent({
return [
{
'click a.edit-user': Popup.open('editUser'),
'click a.more-settings-user': Popup.open('settingsUser'),
},
];
},
@@ -343,3 +344,16 @@ Template.newUserPopup.events({
Popup.close();
},
});
Template.settingsUserPopup.events({
'click .impersonate-user'(event) {
event.preventDefault();
Meteor.call('impersonate', this.userId, err => {
if (!err) {
FlowRouter.go('/');
Meteor.connection.setUserId(this.userId);
}
});
},
});
@@ -46,3 +46,6 @@ table
div
margin: auto
.more-settings-user
margin-left: 10px;
+23 -8
View File
@@ -163,13 +163,6 @@ template(name='announcementSettings')
template(name='layoutSettings')
ul#layout-setting.setting-detail
//li.layout-form
.title {{_ 'hide-logo'}}
.form-group.flex
input.wekan-form-control#hide-logo(type="radio" name="hideLogo" value="true" checked="{{#if currentSetting.hideLogo}}checked{{/if}}")
span {{_ 'yes'}}
input.wekan-form-control#hide-logo(type="radio" name="hideLogo" value="false" checked="{{#unless currentSetting.hideLogo}}checked{{/unless}}")
span {{_ 'no'}}
li.layout-form
.title {{_ 'display-authentication-method'}}
.form-group.flex
@@ -184,10 +177,32 @@ template(name='layoutSettings')
.title {{_ 'custom-product-name'}}
.form-group
input.wekan-form-control#product-name(type="text", placeholder="" value="{{currentSetting.productName}}")
li.layout-form
.title {{_ 'hide-logo'}}
.form-group.flex
input.wekan-form-control#hide-logo(type="radio" name="hideLogo" value="true" checked="{{#if currentSetting.hideLogo}}checked{{/if}}")
span {{_ 'yes'}}
input.wekan-form-control#hide-logo(type="radio" name="hideLogo" value="false" checked="{{#unless currentSetting.hideLogo}}checked{{/unless}}")
span {{_ 'no'}}
li.layout-form
.title {{_ 'custom-login-logo-image-url'}}
.form-group
input.wekan-form-control#custom-login-logo-image-url(type="text", placeholder="" value="{{currentSetting.customLoginLogoImageUrl}}")
li.layout-form
.title {{_ 'custom-login-logo-link-url'}}
.form-group
input.wekan-form-control#custom-login-logo-link-url(type="text", placeholder="" value="{{currentSetting.customLoginLogoLinkUrl}}")
li.layout-form
.title {{_ 'custom-top-left-corner-logo-image-url'}}
.form-group
input.wekan-form-control#custom-top-left-corner-logo-image-url(type="text", placeholder="" value="{{currentSetting.customTopLeftCornerLogoImageUrl}}")
li.layout-form
.title {{_ 'custom-top-left-corner-logo-link-url'}}
.form-group
input.wekan-form-control#custom-top-left-corner-logo-link-url(type="text", placeholder="" value="{{currentSetting.customTopLeftCornerLogoLinkUrl}}")
li
button.js-save-layout.primary {{_ 'save'}}
template(name='selectAuthenticationMethod')
select#defaultAuthenticationMethod
each authentications
+20
View File
@@ -167,6 +167,22 @@ BlazeComponent.extendComponent({
const productName = $('#product-name')
.val()
.trim();
const customLoginLogoImageUrl = $('#custom-login-logo-image-url')
.val()
.trim();
const customLoginLogoLinkUrl = $('#custom-login-logo-link-url')
.val()
.trim();
const customTopLeftCornerLogoImageUrl = $(
'#custom-top-left-corner-logo-image-url',
)
.val()
.trim();
const customTopLeftCornerLogoLinkUrl = $(
'#custom-top-left-corner-logo-link-url',
)
.val()
.trim();
const hideLogoChange = $('input[name=hideLogo]:checked').val() === 'true';
const displayAuthenticationMethod =
$('input[name=displayAuthenticationMethod]:checked').val() === 'true';
@@ -177,6 +193,10 @@ BlazeComponent.extendComponent({
$set: {
productName,
hideLogo: hideLogoChange,
customLoginLogoImageUrl,
customLoginLogoLinkUrl,
customTopLeftCornerLogoImageUrl,
customTopLeftCornerLogoLinkUrl,
displayAuthenticationMethod,
defaultAuthenticationMethod,
},
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+6
View File
@@ -359,6 +359,7 @@
"headerBarCreateBoardPopup-title": "Create Board",
"home": "Home",
"import": "Import",
"impersonate-user": "Impersonate user",
"link": "Link",
"import-board": "import board",
"import-board-c": "Import board",
@@ -403,6 +404,7 @@
"list-select-cards": "Select all cards in this list",
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -512,6 +514,10 @@
"upload": "Upload",
"upload-avatar": "Upload an avatar",
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"username": "Username",
"view-it": "View it",
"warn-list-archived": "warning: this card is in an list at Archive",
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+827 -821
View File
File diff suppressed because it is too large. Load diff
+16
View File
@@ -45,6 +45,22 @@ Settings.attachSchema(
type: Boolean,
optional: true,
},
customLoginLogoImageUrl: {
type: String,
optional: true,
},
customLoginLogoLinkUrl: {
type: String,
optional: true,
},
customTopLeftCornerLogoImageUrl: {
type: String,
optional: true,
},
customTopLeftCornerLogoLinkUrl: {
type: String,
optional: true,
},
createdAt: {
type: Date,
denyUpdate: true,
+10
View File
@@ -905,6 +905,16 @@ if (Meteor.isServer) {
}
return { username: user.username, email: user.emails[0].address };
},
impersonate(userId) {
check(userId, String);
if (!Meteor.users.findOne(userId))
throw new Meteor.Error(404, 'User not found');
if (!Meteor.user().isAdmin)
throw new Meteor.Error(403, 'Permission denied');
this.setUserId(userId);
},
});
Accounts.onCreateUser((options, user) => {
const userCount = Users.find().count();
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v4.38.0",
"version": "v4.40.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v4.38.0",
"version": "v4.40.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
+2 -2
View File
@@ -1524,7 +1524,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<ul class="toc-list-h1">
<li>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v4.38">Wekan REST API v4.38</a>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v4.40">Wekan REST API v4.40</a>
</li>
@@ -2027,7 +2027,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<div class="page-wrapper">
<div class="dark-box"></div>
<div class="content">
<h1 id="wekan-rest-api">Wekan REST API v4.38</h1>
<h1 id="wekan-rest-api">Wekan REST API v4.40</h1>
<blockquote>
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
</blockquote>
+1 -1
View File
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
version: v4.38
version: v4.40
description: |
The REST API allows you to control and extend Wekan with ease.
+1
View File
@@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 302.5 210.37"><defs><style>.cls-1{fill:none;}.cls-2{clip-path:url(#clip-path);}.cls-3{fill:url(#linear-gradient);}.cls-4{fill:#7addfc;}.cls-5{fill:#529fdd;}.cls-6{fill:#fff;}</style><clipPath id="clip-path" transform="translate(0 0)"><path class="cls-1" d="M260.63,180.45H39.9c-7,0-9-2.27-9-9V31.71c0-6.81,2.1-9,9-9H260.63c6.8,0,9,2.13,9,9V171.45c0,6.57-2.08,9-9,9"/></clipPath><linearGradient id="linear-gradient" x1="-716.13" y1="35.06" x2="-715.13" y2="35.06" gradientTransform="matrix(0, -157.69, -157.69, 0, 5678.87, -112746.33)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#007c8f"/><stop offset="0.37" stop-color="#007088"/><stop offset="1" stop-color="#005377"/></linearGradient></defs><title>wekan-1_2</title><g class="cls-2"><rect class="cls-3" x="30.9" y="22.76" width="238.73" height="157.69"/><path class="cls-4" d="M225.06,138.25v-.54h-149a2.5,2.5,0,0,1-2.5-2.5v-69a2.5,2.5,0,0,1,2.5-2.5h149a2.5,2.5,0,0,1,2.5,2.5v69.07a2.5,2.5,0,0,1-2.5,2.5v1a3.5,3.5,0,0,0,3.5-3.5V66.18a3.5,3.5,0,0,0-3.5-3.5h-149a3.5,3.5,0,0,0-3.5,3.5v69.07a3.5,3.5,0,0,0,3.5,3.5h149Z" transform="translate(0 0)"/><path class="cls-5" d="M143.05,55.9v-.5H75.93a2.5,2.5,0,0,1-2.5-2.5V3.5A2.5,2.5,0,0,1,75.93,1h67.12a2.5,2.5,0,0,1,2.5,2.5V52.9a2.5,2.5,0,0,1-2.5,2.5v1a3.5,3.5,0,0,0,3.5-3.5V3.5a3.5,3.5,0,0,0-3.5-3.5H75.93a3.5,3.5,0,0,0-3.5,3.5V52.9a3.5,3.5,0,0,0,3.5,3.5h67.12Z" transform="translate(0 0)"/><path class="cls-5" d="M143.05,200.92v-.5H75.93a2.5,2.5,0,0,1-2.5-2.5v-49.4a2.5,2.5,0,0,1,2.5-2.5h67.12a2.5,2.5,0,0,1,2.5,2.5v49.4a2.5,2.5,0,0,1-2.5,2.5v1a3.5,3.5,0,0,0,3.5-3.5v-49.4a3.5,3.5,0,0,0-3.5-3.5H75.93a3.5,3.5,0,0,0-3.5,3.5v49.4a3.5,3.5,0,0,0,3.5,3.5h67.12Z" transform="translate(0 0)"/><path class="cls-5" d="M224.43,55.9v-.5H157.32a2.5,2.5,0,0,1-2.5-2.5V3.5a2.5,2.5,0,0,1,2.5-2.5h67.12a2.5,2.5,0,0,1,2.5,2.5V52.9a2.5,2.5,0,0,1-2.5,2.5v1a3.5,3.5,0,0,0,3.5-3.5V3.5a3.5,3.5,0,0,0-3.5-3.5H157.32a3.5,3.5,0,0,0-3.5,3.5V52.9a3.5,3.5,0,0,0,3.5,3.5h67.12Z" transform="translate(0 0)"/><path class="cls-5" d="M224.43,200.92v-.5H157.32a2.5,2.5,0,0,1-2.5-2.5v-49.4a2.5,2.5,0,0,1,2.5-2.5h67.12a2.5,2.5,0,0,1,2.5,2.5v49.4a2.5,2.5,0,0,1-2.5,2.5v1a3.5,3.5,0,0,0,3.5-3.5v-49.4a3.5,3.5,0,0,0-3.5-3.5H157.32a3.5,3.5,0,0,0-3.5,3.5v49.4a3.5,3.5,0,0,0,3.5,3.5h67.12Z" transform="translate(0 0)"/><path class="cls-5" d="M299,94.93v-.5H238.16a2.5,2.5,0,0,1-2.5-2.5V5.08a2.5,2.5,0,0,1,2.5-2.5H299a2.5,2.5,0,0,1,2.5,2.5V91.93a2.5,2.5,0,0,1-2.5,2.5v1a3.5,3.5,0,0,0,3.5-3.5V5.08a3.5,3.5,0,0,0-3.5-3.5H238.16a3.5,3.5,0,0,0-3.5,3.5V91.93a3.5,3.5,0,0,0,3.5,3.5H299Z" transform="translate(0 0)"/><path class="cls-5" d="M299,209.87v-.5H238.16a2.5,2.5,0,0,1-2.5-2.5V105.18a2.5,2.5,0,0,1,2.5-2.5H299a2.5,2.5,0,0,1,2.5,2.5V206.87a2.5,2.5,0,0,1-2.5,2.5v1a3.5,3.5,0,0,0,3.5-3.5V105.18a3.5,3.5,0,0,0-3.5-3.5H238.16a3.5,3.5,0,0,0-3.5,3.5V206.87a3.5,3.5,0,0,0,3.5,3.5H299Z" transform="translate(0 0)"/><path class="cls-5" d="M63,94.93v-.5H3.5A2.5,2.5,0,0,1,1,91.93V5.08a2.5,2.5,0,0,1,2.5-2.5H63a2.5,2.5,0,0,1,2.5,2.5V91.93a2.5,2.5,0,0,1-2.5,2.5v1a3.5,3.5,0,0,0,3.5-3.5V5.08A3.5,3.5,0,0,0,63,1.58H3.5A3.5,3.5,0,0,0,0,5.08V91.93a3.5,3.5,0,0,0,3.5,3.5H63Z" transform="translate(0 0)"/><path class="cls-5" d="M63,209.87v-.5H3.5a2.5,2.5,0,0,1-2.5-2.5V105.18a2.5,2.5,0,0,1,2.5-2.5H63a2.5,2.5,0,0,1,2.5,2.5V206.87a2.5,2.5,0,0,1-2.5,2.5v1a3.5,3.5,0,0,0,3.5-3.5V105.18a3.5,3.5,0,0,0-3.5-3.5H3.5a3.5,3.5,0,0,0-3.5,3.5V206.87a3.5,3.5,0,0,0,3.5,3.5H63Z" transform="translate(0 0)"/><path class="cls-6" d="M208.62,108.44a1.51,1.51,0,0,0-.83.33q-3.12,8.16-4.95,7.92c-.35,0-.56-.37-.58-1a10.31,10.31,0,0,1,.31-2.53c.23-1.06.5-2.12.78-3.19s.56-2.28.89-3.61.6-2.38.75-3.14a1.15,1.15,0,0,0-.47-1.28,2.48,2.48,0,0,0-1.89-.06c-3.55.79-6.33,3.92-8.31,9.36q.92-6.36,1.14-7.17c.25-1.11.45-1.82.56-2.14a9.13,9.13,0,0,0-1.81-.11,17.39,17.39,0,0,0-3.45.33c-1.27.24-1.93.54-2,.92-.22,1.92-.24,3.93-.44,5.92s-.32,3.69-.44,5.31a10.85,10.85,0,0,1-1.25,1.69c-.53.55-1,.81-1.42.75-1-.16-.37-3,1.53-8.64,1.45-4.33.71-6.16-5.22-6.2a10.64,10.64,0,0,0-5.47,1.67,12.27,12.27,0,0,0-5.33,7c-.09.31-.16.6-.22.89a13.11,13.11,0,0,1-.83,1.36,6.94,6.94,0,0,1-1.64,1.94,1.67,1.67,0,0,1-1.14.33c-1-.16-2.28-1-3.7-2.58-1-1.09-2.86-3-3.78-4.14,5.64-10.17,20.73-12.5,25.06-12.5,1.36,0,1.41-6.25,0-6.25-17.55,0-25.36,14.85-27.09,20,.15-1.65.27-2.71.5-4.86s.4-3.85.53-5.11.26-2.73.42-4.36.32-2.91.42-3.86.23-2,.36-3.11.23-2,.33-2.69l.31-1.94c.1-.65.18-1.19.28-1.58a.94.94,0,0,0-.69-1.31,5,5,0,0,0-.94-.06A1.87,1.87,0,0,0,158,81a1.92,1.92,0,0,0-.69.94q-3.71,8.75-6.14,27.17a13.62,13.62,0,0,1-4.25,6,7.65,7.65,0,0,1-5.33,1.86,3.36,3.36,0,0,1-2.83-2.42,9.53,9.53,0,0,1-.19-5.47c.86-4.11,2-6.17,3.33-6.17.91,0,.95,1.54.08,4.64-.66,2.21-1.58,3.69-2.75,4.42-.41.25-.58.46-.53.58s.36.19.92,0a19.09,19.09,0,0,0,5.56-2.31,6.17,6.17,0,0,0,3-3.28,3.08,3.08,0,0,0-1.27-3.25,7.24,7.24,0,0,0-4.33-1.53,11.24,11.24,0,0,0-5.08,1l.11-.19a47.7,47.7,0,0,0,5.75-12q1.Line truncated

After

Width:  |  Height:  |  Size: 7.7 KiB

+2 -2
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 = 438,
appVersion = 440,
# Increment this for every release.
appMarketingVersion = (defaultText = "4.38.0~2020-09-16"),
appMarketingVersion = (defaultText = "4.40.0~2020-09-18"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
+16
View File
@@ -1044,3 +1044,19 @@ Migrations.add('add-default-profile-view', () => {
}
});
});
Migrations.add('add-hide-logo-by-default', () => {
Settings.update(
{
hideLogo: {
hideLogo: false,
},
},
{
$set: {
hideLogo: true,
},
},
noValidateMulti,
);
});
+4
View File
@@ -12,6 +12,10 @@ Meteor.publish('setting', () => {
disableRegistration: 1,
productName: 1,
hideLogo: 1,
customLoginLogoImageUrl: 1,
customLoginLogoLinkUrl: 1,
customTopLeftCornerLogoImageUrl: 1,
customTopLeftCornerLogoLinkUrl: 1,
customHTMLafterBodyStart: 1,
customHTMLbeforeBodyEnd: 1,
displayAuthenticationMethod: 1,