summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGavin Lilly <gavtherav@gmail.com>2019-02-11 16:43:57 +0000
committerGavin Lilly <gavtherav@gmail.com>2019-02-11 16:43:57 +0000
commitc1ea3f49cadeab5aec8db85ba0dceb18028bbf03 (patch)
tree8c87e2ea182b96f4d9b08b84dc26a300c9c5f0e9
parent905c45f225809769268e1aaa64d30c1d44254f15 (diff)
parent2d291c8f5ea747c0097879cb0d9fc5e4c317a301 (diff)
downloadwekan-c1ea3f49cadeab5aec8db85ba0dceb18028bbf03.tar.gz
wekan-c1ea3f49cadeab5aec8db85ba0dceb18028bbf03.tar.bz2
wekan-c1ea3f49cadeab5aec8db85ba0dceb18028bbf03.zip
Merge branch 'devel' of github.com:wekan/wekan into devel
-rw-r--r--.eslintrc.json2
-rw-r--r--.meteor/versions2
-rw-r--r--CHANGELOG.md53
-rw-r--r--Dockerfile2
-rw-r--r--Stackerfile.yml2
-rw-r--r--client/components/boards/boardBody.js76
-rw-r--r--client/components/main/layouts.jade6
-rw-r--r--client/components/main/layouts.js132
-rw-r--r--client/components/settings/settingBody.jade19
-rw-r--r--client/components/settings/settingBody.js40
-rw-r--r--client/components/swimlanes/swimlanes.styl3
-rw-r--r--docker-compose.yml3
-rw-r--r--i18n/ar.i18n.json4
-rw-r--r--i18n/bg.i18n.json4
-rw-r--r--i18n/br.i18n.json4
-rw-r--r--i18n/ca.i18n.json4
-rw-r--r--i18n/cs.i18n.json4
-rw-r--r--i18n/da.i18n.json4
-rw-r--r--i18n/de.i18n.json4
-rw-r--r--i18n/el.i18n.json4
-rw-r--r--i18n/en-GB.i18n.json4
-rw-r--r--i18n/en.i18n.json4
-rw-r--r--i18n/eo.i18n.json4
-rw-r--r--i18n/es-AR.i18n.json4
-rw-r--r--i18n/es.i18n.json10
-rw-r--r--i18n/eu.i18n.json4
-rw-r--r--i18n/fa.i18n.json4
-rw-r--r--i18n/fi.i18n.json4
-rw-r--r--i18n/fr.i18n.json4
-rw-r--r--i18n/gl.i18n.json4
-rw-r--r--i18n/he.i18n.json20
-rw-r--r--i18n/hi.i18n.json4
-rw-r--r--i18n/hu.i18n.json4
-rw-r--r--i18n/hy.i18n.json4
-rw-r--r--i18n/id.i18n.json4
-rw-r--r--i18n/ig.i18n.json4
-rw-r--r--i18n/it.i18n.json4
-rw-r--r--i18n/ja.i18n.json4
-rw-r--r--i18n/ka.i18n.json4
-rw-r--r--i18n/km.i18n.json4
-rw-r--r--i18n/ko.i18n.json4
-rw-r--r--i18n/lv.i18n.json4
-rw-r--r--i18n/mk.i18n.json4
-rw-r--r--i18n/mn.i18n.json4
-rw-r--r--i18n/nb.i18n.json4
-rw-r--r--i18n/nl.i18n.json4
-rw-r--r--i18n/pl.i18n.json110
-rw-r--r--i18n/pt-BR.i18n.json16
-rw-r--r--i18n/pt.i18n.json4
-rw-r--r--i18n/ro.i18n.json4
-rw-r--r--i18n/ru.i18n.json4
-rw-r--r--i18n/sr.i18n.json4
-rw-r--r--i18n/sv.i18n.json4
-rw-r--r--i18n/sw.i18n.json4
-rw-r--r--i18n/ta.i18n.json4
-rw-r--r--i18n/th.i18n.json4
-rw-r--r--i18n/tr.i18n.json4
-rw-r--r--i18n/uk.i18n.json4
-rw-r--r--i18n/vi.i18n.json4
-rw-r--r--i18n/zh-CN.i18n.json4
-rw-r--r--i18n/zh-TW.i18n.json4
-rw-r--r--models/settings.js11
-rw-r--r--package.json2
-rwxr-xr-xreleases/virtualbox/start-wekan.sh3
-rw-r--r--sandstorm-pkgdef.capnp4
-rw-r--r--server/migrations.js24
-rw-r--r--server/publications/settings.js12
-rwxr-xr-xsnap-src/bin/config7
-rwxr-xr-xsnap-src/bin/mongodb-control2
-rwxr-xr-xsnap-src/bin/wekan-help6
-rw-r--r--start-wekan.bat7
-rwxr-xr-xstart-wekan.sh3
72 files changed, 553 insertions, 204 deletions
diff --git a/.eslintrc.json b/.eslintrc.json
index 6a1df879..364f82a9 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -6,7 +6,7 @@
"browser": true
},
"parserOptions": {
- "ecmaVersion": 6,
+ "ecmaVersion": 2017,
"sourceType": "module",
"ecmaFeatures": {
"experimentalObjectRestSpread": true
diff --git a/.meteor/versions b/.meteor/versions
index 320ba7a6..5477519e 100644
--- a/.meteor/versions
+++ b/.meteor/versions
@@ -145,7 +145,7 @@ retry@1.0.9
routepolicy@1.0.12
rzymek:fullcalendar@3.8.0
salleman:accounts-oidc@1.0.10
-salleman:oidc@1.0.10
+salleman:oidc@1.0.11
service-configuration@1.0.11
session@1.1.7
sha@1.0.9
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7d45c080..cb2985b3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,56 @@
+# v2.20 2019-02-11 Wekan release
+
+This release adds the following new features:
+
+- [Add OIDC / OAuth2 optional setting DEBUG=true to salleman-oidc and Dockerfile](https://github.com/wekan/wekan/pull/2181).
+ Thanks to danpatdav.
+- [Add OIDC / OAuth2 optional setting DEBUG=true to docker-compose.yml/Snap/Source](https://github.com/wekan/wekan/commits/8e02170dd1d5a638ba47dcca910e6eecbfd03baf).
+ Thanks to xet7.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v2.19 2019-02-09 Wekan release
+
+This release removes the following new features:
+
+- [Remove oplog from snap](https://github.com/wekan/wekan/commit/f1bd36a3b87f97927dfe60572646a457e1f7ef66). Need to think how to do it properly.
+
+Thanks to GitHub user xet7 for conrtibutions.
+
+# v2.18 2019-02-08 Wekan release
+
+This release adds the folloging new features:
+
+- [Improve Authentication: Admin Panel / Layout / Set Default Authentication / Password/LDAP](https://github.com/wekan/wekan/pull/2172). Thanks to Akuket.
+- [Add oplog to snap mongodb](https://github.com/wekan/wekan/commit/79ffb7d50202471c7b7f297286f13e66ce30922e). Thanks to xet7.
+
+and fixes the following bugs with Apache I-CLA, thanks to bentiss:
+
+- [Fix swimlanes sorting](https://github.com/wekan/wekan/pull/2174)
+ since "[Properly fix horizontal rendering on Chrome and Firefox](https://github.com/wekan/wekan/commit/7cc185ac)".
+ The rendering of the new design of the swimlanes was correct, but this
+ commit broke the reordering capability. Having the swimlane header at
+ the same level than the lists of cards makes the whole sortable
+ pattern fail.
+ - 2 solutions:
+ - revert to only have 1 div per swimlane. But this introduces [the firefox
+ bug mentioned](https://github.com/wekan/wekan/commit/7cc185ac), so not ideal
+ - force the sortable pattern to do what we want.
+ - To force the sortable pattern, we need:
+ - add in the helper a clone of the list of cards (to not just move the
+ header)
+ - make sure the placeholder never get placed between the header and the
+ list of cards in a swimlane
+ - fix the finding of the next and previous list of cards.
+ For all of this to be successful, we need to resize the swimlanes to a
+ known value. This can lead to some visual jumps with scrolling when you
+ drag or drop the swimlanea. I tried to remedy that by computing the new
+ scroll value. Still not ideal however, as there are still some jumps when
+ dropping.
+ Fixes [#2159](https://github.com/wekan/wekan/issues/2159).
+
+Thanks to above GitHub users and translators for contributions.
+
# v2.17 2019-02-04 Wekan release
This release fixes the following bugs:
diff --git a/Dockerfile b/Dockerfile
index 240fb0b7..ff6243d5 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -2,6 +2,7 @@ FROM debian:buster-slim
LABEL maintainer="wekan"
# Declare Arguments
+ARG DEBUG
ARG NODE_VERSION
ARG METEOR_RELEASE
ARG METEOR_EDGE
@@ -76,6 +77,7 @@ ARG DEFAULT_AUTHENTICATION_METHOD
# DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
# ENV BUILD_DEPS="paxctl"
ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential python python3 python3-distutils git ca-certificates gcc-7" \
+ DEBUG=false \
NODE_VERSION=v8.15.0 \
METEOR_RELEASE=1.6.0.1 \
USE_EDGE=false \
diff --git a/Stackerfile.yml b/Stackerfile.yml
index 0c3fe242..989913b5 100644
--- a/Stackerfile.yml
+++ b/Stackerfile.yml
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
-appVersion: "v2.17.0"
+appVersion: "v2.20.0"
files:
userUploads:
- README.md
diff --git a/client/components/boards/boardBody.js b/client/components/boards/boardBody.js
index 2de8777a..9105e624 100644
--- a/client/components/boards/boardBody.js
+++ b/client/components/boards/boardBody.js
@@ -1,5 +1,6 @@
const subManager = new SubsManager();
const { calculateIndex, enableClickOnTouch } = Utils;
+const swimlaneWhileSortingHeight = 150;
BlazeComponent.extendComponent({
onCreated() {
@@ -74,21 +75,64 @@ BlazeComponent.extendComponent({
$swimlanesDom.sortable({
tolerance: 'pointer',
appendTo: '.board-canvas',
- helper: 'clone',
+ helper(evt, item) {
+ const helper = $(`<div class="swimlane"
+ style="flex-direction: column;
+ height: ${swimlaneWhileSortingHeight}px;
+ width: $(boardComponent.width)px;
+ overflow: hidden;"/>`);
+ helper.append(item.clone());
+ // Also grab the list of lists of cards
+ const list = item.next();
+ helper.append(list.clone());
+ return helper;
+ },
handle: '.js-swimlane-header',
- items: '.js-swimlane:not(.placeholder)',
+ items: '.swimlane:not(.placeholder)',
placeholder: 'swimlane placeholder',
distance: 7,
start(evt, ui) {
+ const listDom = ui.placeholder.next('.js-swimlane');
+ const parentOffset = ui.item.parent().offset();
+
ui.placeholder.height(ui.helper.height());
EscapeActions.executeUpTo('popup-close');
+ listDom.addClass('moving-swimlane');
boardComponent.setIsDragging(true);
+
+ ui.placeholder.insertAfter(ui.placeholder.next());
+ boardComponent.origPlaceholderIndex = ui.placeholder.index();
+
+ // resize all swimlanes + headers to be a total of 150 px per row
+ // this could be achieved by setIsDragging(true) but we want immediate
+ // result
+ ui.item.siblings('.js-swimlane').css('height', `${swimlaneWhileSortingHeight - 26}px`);
+
+ // set the new scroll height after the resize and insertion of
+ // the placeholder. We want the element under the cursor to stay
+ // at the same place on the screen
+ ui.item.parent().get(0).scrollTop = ui.placeholder.get(0).offsetTop + parentOffset.top - evt.pageY;
+ },
+ beforeStop(evt, ui) {
+ const parentOffset = ui.item.parent().offset();
+ const siblings = ui.item.siblings('.js-swimlane');
+ siblings.css('height', '');
+
+ // compute the new scroll height after the resize and removal of
+ // the placeholder
+ const scrollTop = ui.placeholder.get(0).offsetTop + parentOffset.top - evt.pageY;
+
+ // then reset the original view of the swimlane
+ siblings.removeClass('moving-swimlane');
+
+ // and apply the computed scrollheight
+ ui.item.parent().get(0).scrollTop = scrollTop;
},
stop(evt, ui) {
// To attribute the new index number, we need to get the DOM element
// of the previous and the following card -- if any.
- const prevSwimlaneDom = ui.item.prev('.js-swimlane').get(0);
- const nextSwimlaneDom = ui.item.next('.js-swimlane').get(0);
+ const prevSwimlaneDom = ui.item.prevAll('.js-swimlane').get(0);
+ const nextSwimlaneDom = ui.item.nextAll('.js-swimlane').get(0);
const sortIndex = calculateIndex(prevSwimlaneDom, nextSwimlaneDom, 1);
$swimlanesDom.sortable('cancel');
@@ -103,6 +147,30 @@ BlazeComponent.extendComponent({
boardComponent.setIsDragging(false);
},
+ sort(evt, ui) {
+ // get the mouse position in the sortable
+ const parentOffset = ui.item.parent().offset();
+ const cursorY = evt.pageY - parentOffset.top + ui.item.parent().scrollTop();
+
+ // compute the intended index of the placeholder (we need to skip the
+ // slots between the headers and the list of cards)
+ const newplaceholderIndex = Math.floor(cursorY / swimlaneWhileSortingHeight);
+ let destPlaceholderIndex = (newplaceholderIndex + 1) * 2;
+
+ // if we are scrolling far away from the bottom of the list
+ if (destPlaceholderIndex >= ui.item.parent().get(0).childElementCount) {
+ destPlaceholderIndex = ui.item.parent().get(0).childElementCount - 1;
+ }
+
+ // update the placeholder position in the DOM tree
+ if (destPlaceholderIndex !== ui.placeholder.index()) {
+ if (destPlaceholderIndex < boardComponent.origPlaceholderIndex) {
+ ui.placeholder.insertBefore(ui.placeholder.siblings().slice(destPlaceholderIndex - 2, destPlaceholderIndex - 1));
+ } else {
+ ui.placeholder.insertAfter(ui.placeholder.siblings().slice(destPlaceholderIndex - 1, destPlaceholderIndex));
+ }
+ }
+ },
});
// ugly touch event hotfix
diff --git a/client/components/main/layouts.jade b/client/components/main/layouts.jade
index 55ee2686..a6115ec1 100644
--- a/client/components/main/layouts.jade
+++ b/client/components/main/layouts.jade
@@ -23,10 +23,8 @@ template(name="userFormsLayout")
br
section.auth-dialog
+Template.dynamic(template=content)
- +connectionMethod
- if isCas
- .at-form
- button#cas(class='at-btn submit' type='submit') {{casSignInLabel}}
+ if currentSetting.displayAuthenticationMethod
+ +connectionMethod
div.at-form-lang
select.select-lang.js-userform-set-language
each languages
diff --git a/client/components/main/layouts.js b/client/components/main/layouts.js
index a50d167e..6f7c914a 100644
--- a/client/components/main/layouts.js
+++ b/client/components/main/layouts.js
@@ -20,13 +20,19 @@ const validator = {
},
};
-Template.userFormsLayout.onCreated(() => {
- Meteor.subscribe('setting');
-
+Template.userFormsLayout.onCreated(function() {
+ const instance = this;
+ instance.currentSetting = new ReactiveVar();
+
+ Meteor.subscribe('setting', {
+ onReady() {
+ instance.currentSetting.set(Settings.findOne());
+ return this.stop();
+ },
+ });
});
Template.userFormsLayout.onRendered(() => {
-
AccountsTemplates.state.form.keys = new Proxy(AccountsTemplates.state.form.keys, validator);
const i18nTag = navigator.language;
@@ -37,12 +43,10 @@ Template.userFormsLayout.onRendered(() => {
});
Template.userFormsLayout.helpers({
-
currentSetting() {
- return Settings.findOne();
+ return Template.instance().currentSetting.get();
},
-
afterBodyStart() {
return currentSetting.customHTMLafterBodyStart;
},
@@ -75,17 +79,6 @@ Template.userFormsLayout.helpers({
const curLang = T9n.getLanguage() || 'en';
return t9nTag === curLang;
},
-/*
- isCas() {
- return Meteor.settings.public &&
- Meteor.settings.public.cas &&
- Meteor.settings.public.cas.loginUrl;
- },
-
- casSignInLabel() {
- return TAPi18n.__('casSignIn', {}, T9n.getLanguage() || 'en');
- },
-*/
});
Template.userFormsLayout.events({
@@ -94,55 +87,74 @@ Template.userFormsLayout.events({
T9n.setLanguage(i18nTagToT9n(i18nTag));
evt.preventDefault();
},
- 'click button#cas'() {
+ 'click #at-btn'(event, instance) {
+ if (FlowRouter.getRouteName() === 'atSignIn') {
+ authentication(event, instance);
+ }
+ },
+});
+
+Template.defaultLayout.events({
+ 'click .js-close-modal': () => {
+ Modal.close();
+ },
+});
+
+async function authentication(event, instance) {
+ const match = $('#at-field-username_and_email').val();
+ const password = $('#at-field-password').val();
+
+ if (!match || !password) return;
+
+ const result = await getAuthenticationMethod(instance.currentSetting.get(), match);
+
+ if (result === 'password') return;
+
+ // Stop submit #at-pwd-form
+ event.preventDefault();
+ event.stopImmediatePropagation();
+
+ switch (result) {
+ case 'ldap':
+ Meteor.loginWithLDAP(match, password, function() {
+ FlowRouter.go('/');
+ });
+ break;
+
+ case 'cas':
Meteor.loginWithCas(function() {
- if (FlowRouter.getRouteName() === 'atSignIn') {
- FlowRouter.go('/');
- }
+ FlowRouter.go('/');
});
- },
- 'click #at-btn'(event) {
- /* All authentication method can be managed/called here.
- !! DON'T FORGET to correctly fill the fields of the user during its creation if necessary authenticationMethod : String !!
- */
- const authenticationMethodSelected = $('.select-authentication').val();
- // Local account
- if (authenticationMethodSelected === 'password') {
- return;
- }
+ break;
- // Stop submit #at-pwd-form
- event.preventDefault();
- event.stopImmediatePropagation();
+ default:
+ break;
+ }
+}
- const email = $('#at-field-username_and_email').val();
- const password = $('#at-field-password').val();
+function getAuthenticationMethod({displayAuthenticationMethod, defaultAuthenticationMethod}, match) {
+ if (displayAuthenticationMethod) {
+ return $('.select-authentication').val();
+ }
+ return getUserAuthenticationMethod(defaultAuthenticationMethod, match);
+}
- // Ldap account
- if (authenticationMethodSelected === 'ldap') {
- // Check if the user can use the ldap connection
- Meteor.subscribe('user-authenticationMethod', email, {
+function getUserAuthenticationMethod(defaultAuthenticationMethod, match) {
+ return new Promise((resolve) => {
+ try {
+ Meteor.subscribe('user-authenticationMethod', match, {
onReady() {
const user = Users.findOne();
- if (user === undefined || user.authenticationMethod === 'ldap') {
- // Use the ldap connection package
- Meteor.loginWithLDAP(email, password, function(error) {
- if (!error) {
- // Connection
- return FlowRouter.go('/');
- }
- return error;
- });
- }
- return this.stop();
+
+ const authenticationMethod = user
+ ? user.authenticationMethod
+ : defaultAuthenticationMethod;
+
+ resolve(authenticationMethod);
},
});
+ } catch(error) {
+ resolve(defaultAuthenticationMethod);
}
- },
-});
-
-Template.defaultLayout.events({
- 'click .js-close-modal': () => {
- Modal.close();
- },
-});
+ });
+}
diff --git a/client/components/settings/settingBody.jade b/client/components/settings/settingBody.jade
index 153649fc..220dbb50 100644
--- a/client/components/settings/settingBody.jade
+++ b/client/components/settings/settingBody.jade
@@ -142,6 +142,16 @@ template(name='layoutSettings')
input.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
+ input.form-control#display-authentication-method(type="radio" name="displayAuthenticationMethod" value="true" checked="{{#if currentSetting.displayAuthenticationMethod}}checked{{/if}}")
+ span {{_ 'yes'}}
+ input.form-control#display-authentication-method(type="radio" name="displayAuthenticationMethod" value="false" checked="{{#unless currentSetting.displayAuthenticationMethod}}checked{{/unless}}")
+ span {{_ 'no'}}
+ li.layout-form
+ .title {{_ 'default-authentication-method'}}
+ +selectAuthenticationMethod(authenticationMethod=currentSetting.defaultAuthenticationMethod)
+ li.layout-form
.title {{_ 'custom-product-name'}}
.form-group
input.form-control#product-name(type="text", placeholder="Wekan" value="{{currentSetting.productName}}")
@@ -153,3 +163,12 @@ template(name='layoutSettings')
textarea#customHTMLbeforeBodyEnd.form-control= currentSetting.customHTMLbeforeBodyEnd
li
button.js-save-layout.primary {{_ 'save'}}
+
+
+template(name='selectAuthenticationMethod')
+ select#defaultAuthenticationMethod
+ each authentications
+ if isSelected value
+ option(value="{{value}}" selected) {{_ value}}
+ else
+ option(value="{{value}}") {{_ value}} \ No newline at end of file
diff --git a/client/components/settings/settingBody.js b/client/components/settings/settingBody.js
index 4f07c84c..2f58d551 100644
--- a/client/components/settings/settingBody.js
+++ b/client/components/settings/settingBody.js
@@ -62,6 +62,9 @@ BlazeComponent.extendComponent({
toggleHideLogo() {
$('#hide-logo').toggleClass('is-checked');
},
+ toggleDisplayAuthenticationMethod() {
+ $('#display-authentication-method').toggleClass('is-checked');
+ },
switchMenu(event) {
const target = $(event.target);
if (!target.hasClass('active')) {
@@ -140,17 +143,20 @@ BlazeComponent.extendComponent({
const productName = $('#product-name').val().trim();
const hideLogoChange = ($('input[name=hideLogo]:checked').val() === 'true');
+ const displayAuthenticationMethod = ($('input[name=displayAuthenticationMethod]:checked').val() === 'true');
+ const defaultAuthenticationMethod = $('#defaultAuthenticationMethod').val();
const customHTMLafterBodyStart = $('#customHTMLafterBodyStart').val().trim();
const customHTMLbeforeBodyEnd = $('#customHTMLbeforeBodyEnd').val().trim();
try {
-
Settings.update(Settings.findOne()._id, {
$set: {
productName,
hideLogo: hideLogoChange,
customHTMLafterBodyStart,
customHTMLbeforeBodyEnd,
+ displayAuthenticationMethod,
+ defaultAuthenticationMethod,
},
});
} catch (e) {
@@ -165,17 +171,14 @@ BlazeComponent.extendComponent({
sendSMTPTestEmail() {
Meteor.call('sendSMTPTestEmail', (err, ret) => {
- if (!err && ret) { /* eslint-disable no-console */
+ if (!err && ret) {
const message = `${TAPi18n.__(ret.message)}: ${ret.email}`;
- console.log(message);
alert(message);
} else {
const reason = err.reason || '';
const message = `${TAPi18n.__(err.error)}\n${reason}`;
- console.log(message, err);
alert(message);
}
- /* eslint-enable no-console */
});
},
@@ -190,6 +193,7 @@ BlazeComponent.extendComponent({
'click button.js-send-smtp-test-email': this.sendSMTPTestEmail,
'click a.js-toggle-hide-logo': this.toggleHideLogo,
'click button.js-save-layout': this.saveLayout,
+ 'click a.js-toggle-display-authentication-method': this.toggleDisplayAuthenticationMethod,
}];
},
}).register('setting');
@@ -262,3 +266,29 @@ BlazeComponent.extendComponent({
}];
},
}).register('announcementSettings');
+
+
+Template.selectAuthenticationMethod.onCreated(function() {
+ this.authenticationMethods = new ReactiveVar([]);
+
+ Meteor.call('getAuthenticationsEnabled', (_, result) => {
+ if (result) {
+ // TODO : add a management of different languages
+ // (ex {value: ldap, text: TAPi18n.__('ldap', {}, T9n.getLanguage() || 'en')})
+ this.authenticationMethods.set([
+ {value: 'password'},
+ // Gets only the authentication methods availables
+ ...Object.entries(result).filter((e) => e[1]).map((e) => ({value: e[0]})),
+ ]);
+ }
+ });
+});
+
+Template.selectAuthenticationMethod.helpers({
+ authentications() {
+ return Template.instance().authenticationMethods.get();
+ },
+ isSelected(match) {
+ return Template.instance().data.authenticationMethod === match;
+ },
+});
diff --git a/client/components/swimlanes/swimlanes.styl b/client/components/swimlanes/swimlanes.styl
index 77a7a413..1056e1e3 100644
--- a/client/components/swimlanes/swimlanes.styl
+++ b/client/components/swimlanes/swimlanes.styl
@@ -53,6 +53,9 @@
.list-group
height: 100%
+.moving-swimlane
+ display: none
+
swimlane-color(background, color...)
background: background !important
if color
diff --git a/docker-compose.yml b/docker-compose.yml
index ddd293a4..5d39cb07 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -278,6 +278,9 @@ services:
# example: OAUTH2_TOKEN_ENDPOINT=/oauth/token
#- OAUTH2_TOKEN_ENDPOINT=
#-----------------------------------------------------------------
+ # Debug OIDC OAuth2 etc
+ #- DEBUG=true
+ #-----------------------------------------------------------------
# ==== LDAP ====
# https://github.com/wekan/wekan/wiki/LDAP
# For Snap settings see https://github.com/wekan/wekan-snap/wiki/Supported-settings-keys
diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json
index cf32ad1e..3a1b171f 100644
--- a/i18n/ar.i18n.json
+++ b/i18n/ar.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json
index 52a9a2c6..96e0195d 100644
--- a/i18n/bg.i18n.json
+++ b/i18n/bg.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json
index 6f552ce9..b6ffe2db 100644
--- a/i18n/br.i18n.json
+++ b/i18n/br.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json
index cd53a89b..3ec05181 100644
--- a/i18n/ca.i18n.json
+++ b/i18n/ca.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json
index 3348df26..3e5f8b49 100644
--- a/i18n/cs.i18n.json
+++ b/i18n/cs.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Něco se pokazilo",
- "error-ldap-login": "Během přihlašování nastala chyba"
+ "error-ldap-login": "Během přihlašování nastala chyba",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/da.i18n.json b/i18n/da.i18n.json
index a2b6b0aa..656de729 100644
--- a/i18n/da.i18n.json
+++ b/i18n/da.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json
index 22e61fbb..84141731 100644
--- a/i18n/de.i18n.json
+++ b/i18n/de.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Füge benutzerdefiniertes HTML nach <body> Anfang hinzu",
"add-custom-html-before-body-end": "Füge benutzerdefiniertes HTML vor </body>Ende hinzu",
"error-undefined": "Etwas ist schief gelaufen",
- "error-ldap-login": "Es ist ein Fehler beim Anmelden aufgetreten"
+ "error-ldap-login": "Es ist ein Fehler beim Anmelden aufgetreten",
+ "display-authentication-method": "Anzeige Authentifizierungsverfahren",
+ "default-authentication-method": "Standardauthentifizierungsverfahren"
} \ No newline at end of file
diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json
index d678c093..adfd19f2 100644
--- a/i18n/el.i18n.json
+++ b/i18n/el.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json
index 8892e0da..04bb2bac 100644
--- a/i18n/en-GB.i18n.json
+++ b/i18n/en-GB.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json
index 2c2d41da..d4e817ea 100644
--- a/i18n/en.i18n.json
+++ b/i18n/en.i18n.json
@@ -662,5 +662,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
}
diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json
index 8775b4cf..da1e9697 100644
--- a/i18n/eo.i18n.json
+++ b/i18n/eo.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json
index 4984a1c2..95c2f086 100644
--- a/i18n/es-AR.i18n.json
+++ b/i18n/es-AR.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json
index 700560ab..dad03bf6 100644
--- a/i18n/es.i18n.json
+++ b/i18n/es.i18n.json
@@ -363,9 +363,9 @@
"muted-info": "No serás notificado de ningún cambio en este tablero",
"my-boards": "Mis tableros",
"name": "Nombre",
- "no-archived-cards": "No hay tarjetas en el Archivo",
- "no-archived-lists": "No hay listas en el Archivo",
- "no-archived-swimlanes": "No hay carriles en el Archivo",
+ "no-archived-cards": "No hay tarjetas archivadas.",
+ "no-archived-lists": "No hay listas archivadas.",
+ "no-archived-swimlanes": "No hay carriles archivados.",
"no-results": "Sin resultados",
"normal": "Normal",
"normal-desc": "Puedes ver y editar tarjetas. No puedes cambiar la configuración.",
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Añade HTML personalizado después de <body> ",
"add-custom-html-before-body-end": "Añade HTML personalizado después de </body>",
"error-undefined": "Algo no está bien",
- "error-ldap-login": "Ocurrió un error al intentar acceder"
+ "error-ldap-login": "Ocurrió un error al intentar acceder",
+ "display-authentication-method": "Mostrar el método de autenticación",
+ "default-authentication-method": "Método de autenticación por defecto"
} \ No newline at end of file
diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json
index dffa609f..4d34b6ca 100644
--- a/i18n/eu.i18n.json
+++ b/i18n/eu.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json
index cd50066f..c1ef3401 100644
--- a/i18n/fa.i18n.json
+++ b/i18n/fa.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "افزودن کد های HTML بعد از <body> شروع",
"add-custom-html-before-body-end": "افزودن کد های HTML قبل از </body> پایان",
"error-undefined": "یک اشتباه رخ داده شده است",
- "error-ldap-login": "هنگام تلاش برای ورود به یک خطا رخ داد"
+ "error-ldap-login": "هنگام تلاش برای ورود به یک خطا رخ داد",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json
index c8601093..7e2c4d3b 100644
--- a/i18n/fi.i18n.json
+++ b/i18n/fi.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Lisää HTML <body> alun jälkeen",
"add-custom-html-before-body-end": "Lisä HTML ennen </body> loppua",
"error-undefined": "Jotain meni pieleen",
- "error-ldap-login": "Virhe tapahtui yrittäessä kirjautua sisään"
+ "error-ldap-login": "Virhe tapahtui yrittäessä kirjautua sisään",
+ "display-authentication-method": "Näytä kirjautumistapa",
+ "default-authentication-method": "Oletus kirjautumistapa"
} \ No newline at end of file
diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json
index b6b8f904..ff4b2146 100644
--- a/i18n/fr.i18n.json
+++ b/i18n/fr.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Ajouter le HTML personnalisé après le début du <body>",
"add-custom-html-before-body-end": "Ajouter le HTML personnalisé avant la fin du </body>",
"error-undefined": "Une erreur inconnue s'est produite",
- "error-ldap-login": "Une erreur s'est produite lors de la tentative de connexion"
+ "error-ldap-login": "Une erreur s'est produite lors de la tentative de connexion",
+ "display-authentication-method": "Afficher la méthode d'authentification",
+ "default-authentication-method": "Méthode d'authentification par défaut"
} \ No newline at end of file
diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json
index 9ec32447..9c310c78 100644
--- a/i18n/gl.i18n.json
+++ b/i18n/gl.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json
index 88e4bd98..939f2002 100644
--- a/i18n/he.i18n.json
+++ b/i18n/he.i18n.json
@@ -14,7 +14,7 @@
"act-archivedBoard": "__board__ הועבר לארכיון",
"act-archivedCard": "__card__ הועבר לארכיון",
"act-archivedList": "__list__ הועבר לארכיון",
- "act-archivedSwimlane": "__swimlane__ נשמר בארכיון",
+ "act-archivedSwimlane": "__swimlane__ הועבר לארכיון",
"act-importBoard": "הלוח __board__ יובא",
"act-importCard": "הכרטיס __card__ יובא",
"act-importList": "הרשימה __list__ יובאה",
@@ -84,7 +84,7 @@
"archive-board": "העברת הלוח לארכיון",
"archive-card": "העברת הכרטיס לארכיון",
"archive-list": "העברת הרשימה לארכיון",
- "archive-swimlane": "שמור נתיב זרימה לארכיון",
+ "archive-swimlane": "העברת מסלול לארכיון",
"archive-selection": "העברת הבחירה לארכיון",
"archiveBoardPopup-title": "להעביר לוח זה לארכיון?",
"archived-items": "להעביר לארכיון",
@@ -335,10 +335,10 @@
"list-archive-cards-pop": "כל הכרטיסים מרשימה זו יוסרו מהלוח. לצפייה בכרטיסים השמורים בארכיון ולהחזירם ללוח, ניתן ללחוץ על „תפריט” > „פריטים בארכיון”.",
"list-move-cards": "העברת כל הכרטיסים שברשימה זו",
"list-select-cards": "בחירת כל הכרטיסים שברשימה זו",
- "set-color-list": "Set Color",
+ "set-color-list": "הגדרת צבע",
"listActionPopup-title": "פעולות רשימה",
"swimlaneActionPopup-title": "פעולות על מסלול",
- "swimlaneAddPopup-title": "Add a Swimlane below",
+ "swimlaneAddPopup-title": "הוספת מסלול מתחת",
"listImportCardPopup-title": "יבוא כרטיס מ־Trello",
"listMorePopup-title": "עוד",
"link-list": "קישור לרשימה זו",
@@ -365,7 +365,7 @@
"name": "שם",
"no-archived-cards": "אין כרטיסים בארכיון",
"no-archived-lists": "אין רשימות בארכיון",
- "no-archived-swimlanes": "לא שמורים מסלולים בארכיון",
+ "no-archived-swimlanes": "אין מסלולים בארכיון.",
"no-results": "אין תוצאות",
"normal": "רגיל",
"normal-desc": "הרשאה לצפות ולערוך כרטיסים. לא ניתן לשנות הגדרות.",
@@ -520,9 +520,9 @@
"editCardReceivedDatePopup-title": "החלפת מועד הקבלה",
"editCardEndDatePopup-title": "החלפת מועד הסיום",
"setCardColorPopup-title": "הגדרת צבע",
- "setCardActionsColorPopup-title": "Choose a color",
- "setSwimlaneColorPopup-title": "Choose a color",
- "setListColorPopup-title": "Choose a color",
+ "setCardActionsColorPopup-title": "בחירת צבע",
+ "setSwimlaneColorPopup-title": "בחירת צבע",
+ "setListColorPopup-title": "בחירת צבע",
"assigned-by": "הוקצה על ידי",
"requested-by": "התבקש על ידי",
"board-delete-notice": "מחיקה היא לצמיתות. כל הרשימות, הכרטיבים והפעולות שקשורים בלוח הזה ילכו לאיבוד.",
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "הוספת קוד HTML מותאם אישית לאחר ה־<body> הפותח.",
"add-custom-html-before-body-end": "הוספת קוד HTML מותאם אישית לפני ה־</body> הסוגר.",
"error-undefined": "מהו השתבש",
- "error-ldap-login": "אירעה שגיאה בעת ניסיון הכניסה"
+ "error-ldap-login": "אירעה שגיאה בעת ניסיון הכניסה",
+ "display-authentication-method": "הצגת שיטת אימות",
+ "default-authentication-method": "שיטת אימות כבררת מחדל"
} \ No newline at end of file
diff --git a/i18n/hi.i18n.json b/i18n/hi.i18n.json
index 3f96e848..8f5028d6 100644
--- a/i18n/hi.i18n.json
+++ b/i18n/hi.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json
index f5268f34..18b5b0a1 100644
--- a/i18n/hu.i18n.json
+++ b/i18n/hu.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json
index d5f45f8b..fe53857b 100644
--- a/i18n/hy.i18n.json
+++ b/i18n/hy.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json
index c03e9320..2f363bb9 100644
--- a/i18n/id.i18n.json
+++ b/i18n/id.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json
index 72268d70..27cee963 100644
--- a/i18n/ig.i18n.json
+++ b/i18n/ig.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json
index cf41adfa..82187722 100644
--- a/i18n/it.i18n.json
+++ b/i18n/it.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json
index 3e445a86..59db5a82 100644
--- a/i18n/ja.i18n.json
+++ b/i18n/ja.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/ka.i18n.json b/i18n/ka.i18n.json
index 11f78552..76ee2ffe 100644
--- a/i18n/ka.i18n.json
+++ b/i18n/ka.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/km.i18n.json b/i18n/km.i18n.json
index 24daa9b3..5f3b2dd4 100644
--- a/i18n/km.i18n.json
+++ b/i18n/km.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json
index 6f07eb99..1f7066cb 100644
--- a/i18n/ko.i18n.json
+++ b/i18n/ko.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json
index a24397c6..b5c62aae 100644
--- a/i18n/lv.i18n.json
+++ b/i18n/lv.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/mk.i18n.json b/i18n/mk.i18n.json
index 432504e2..5481cc70 100644
--- a/i18n/mk.i18n.json
+++ b/i18n/mk.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json
index 47af0cca..012dea07 100644
--- a/i18n/mn.i18n.json
+++ b/i18n/mn.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json
index 318ee700..1427e263 100644
--- a/i18n/nb.i18n.json
+++ b/i18n/nb.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json
index 207ae71c..24370c09 100644
--- a/i18n/nl.i18n.json
+++ b/i18n/nl.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json
index 5b38ade5..99a1af9f 100644
--- a/i18n/pl.i18n.json
+++ b/i18n/pl.i18n.json
@@ -1,6 +1,6 @@
{
"accept": "Akceptuj",
- "act-activity-notify": "Activity Notification",
+ "act-activity-notify": "Powiadomienia aktywności",
"act-addAttachment": "dodano załącznik __attachement__ do __card__",
"act-addSubtask": "dodał podzadanie __checklist__ do __card__",
"act-addChecklist": "dodał listę zadań __checklist__ to __card__",
@@ -78,7 +78,7 @@
"and-n-other-card": "I __count__ inna karta",
"and-n-other-card_plural": "I __count__ inne karty",
"apply": "Zastosuj",
- "app-is-offline": "Loading, please wait. Refreshing the page will cause data loss. If loading does not work, please check that server has not stopped.",
+ "app-is-offline": "Trwa ładowanie, proszę czekać. Odświeżenie strony może spowodować utratę danych. Jeśli strona się nie przeładowuje, upewnij się, że serwer działa poprawnie.",
"archive": "Przenieś do Archiwum",
"archive-all": "Przenieś wszystko do Archiwum",
"archive-board": "Przenieś tablicę do Archiwum",
@@ -169,30 +169,30 @@
"close-board-pop": "Będziesz w stanie przywrócić tablicę poprzez kliknięcie przycisku \"Archiwizuj\" w nagłówku strony domowej.",
"color-black": "czarny",
"color-blue": "niebieski",
- "color-crimson": "crimson",
- "color-darkgreen": "darkgreen",
- "color-gold": "gold",
- "color-gray": "gray",
+ "color-crimson": "karmazynowy",
+ "color-darkgreen": "ciemnozielony",
+ "color-gold": "złoty",
+ "color-gray": "szary",
"color-green": "zielony",
- "color-indigo": "indigo",
+ "color-indigo": "indygo",
"color-lime": "limonkowy",
- "color-magenta": "magenta",
- "color-mistyrose": "mistyrose",
- "color-navy": "navy",
+ "color-magenta": "fuksjowy",
+ "color-mistyrose": "różowy",
+ "color-navy": "granatowy",
"color-orange": "pomarańczowy",
- "color-paleturquoise": "paleturquoise",
- "color-peachpuff": "peachpuff",
+ "color-paleturquoise": "turkusowy",
+ "color-peachpuff": "brzoskwiniowy",
"color-pink": "różowy",
- "color-plum": "plum",
+ "color-plum": "śliwkowy",
"color-purple": "fioletowy",
"color-red": "czerwony",
- "color-saddlebrown": "saddlebrown",
- "color-silver": "silver",
+ "color-saddlebrown": "jasnobrązowy",
+ "color-silver": "srebrny",
"color-sky": "błękitny",
- "color-slateblue": "slateblue",
- "color-white": "white",
+ "color-slateblue": "szaroniebieski",
+ "color-white": "miały",
"color-yellow": "żółty",
- "unset-color": "Unset",
+ "unset-color": "Nieustawiony",
"comment": "Komentarz",
"comment-placeholder": "Dodaj komentarz",
"comment-only": "Tylko komentowanie",
@@ -299,19 +299,19 @@
"import-board": "importuj tablice",
"import-board-c": "Import tablicy",
"import-board-title-trello": "Importuj tablicę z Trello",
- "import-board-title-wekan": "Import board from previous export",
- "import-sandstorm-backup-warning": "Do not delete data you import from original exported board or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
+ "import-board-title-wekan": "Importuj tablicę z poprzedniego eksportu",
+ "import-sandstorm-backup-warning": "Nie usuwaj danych, które importujesz ze źródłowej tablicy lub Trello zanim upewnisz się, że wszystko zostało prawidłowo przeniesione przy czym brane jest pod uwagę ponowne uruchomienie strony, ponieważ w przypadku błędu braku tablicy stracisz dane.",
"import-sandstorm-warning": "Zaimportowana tablica usunie wszystkie istniejące dane na aktualnej tablicy oraz zastąpi ją danymi z tej importowanej.",
"from-trello": "Z Trello",
- "from-wekan": "From previous export",
+ "from-wekan": "Z poprzedniego eksportu",
"import-board-instruction-trello": "W twojej tablicy na Trello przejdź do 'Menu', następnie 'Więcej', 'Drukuj i eksportuj', 'Eksportuj jako JSON' i skopiuj wynik",
- "import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-wekan": "Na Twojej tablicy przejdź do 'Menu', a następnie wybierz 'Eksportuj tablicę' i skopiuj tekst w pobranym pliku.",
"import-board-instruction-about-errors": "W przypadku, gdy otrzymujesz błędy importowania tablicy, czasami importowanie pomimo wszystko działa poprawnie i tablica znajduje się w oknie Wszystkie tablice.",
"import-json-placeholder": "Wklej Twoje dane JSON tutaj",
"import-map-members": "Przypisz członków",
- "import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
+ "import-members-map": "Twoje zaimportowane tablice mają kilku członków. Proszę wybierz członków których chcesz zaimportować dla Twoich użytkowników",
"import-show-user-mapping": "Przejrzyj wybranych członków",
- "import-user-select": "Pick your existing user you want to use as this member",
+ "import-user-select": "Wybierz istniejącego użytkownika, który ma stać się członkiem",
"importMapMembersAddPopup-title": "Wybierz użytkownika",
"info": "Wersja",
"initials": "Inicjały",
@@ -335,10 +335,10 @@
"list-archive-cards-pop": "To usunie wszystkie karty z tej listy z tej tablicy. Aby przejrzeć karty w Archiwum i przywrócić na tablicę, kliknij \"Menu\" > \"Archiwizuj\".",
"list-move-cards": "Przenieś wszystkie karty z tej listy",
"list-select-cards": "Zaznacz wszystkie karty z tej listy",
- "set-color-list": "Set Color",
+ "set-color-list": "Ustaw kolor",
"listActionPopup-title": "Lista akcji",
"swimlaneActionPopup-title": "Opcje diagramu czynności",
- "swimlaneAddPopup-title": "Add a Swimlane below",
+ "swimlaneAddPopup-title": "Dodaj diagram czynności poniżej",
"listImportCardPopup-title": "Zaimportuj kartę z Trello",
"listMorePopup-title": "Więcej",
"link-list": "Podepnij do tej listy",
@@ -478,14 +478,14 @@
"send-smtp-test": "Wyślij wiadomość testową do siebie",
"invitation-code": "Kod z zaproszenia",
"email-invite-register-subject": "__inviter__ wysłał Ci zaproszenie",
- "email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to kanban board for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
- "email-smtp-test-subject": "SMTP Test Email",
+ "email-invite-register-text": "Drogi __user__,\n\n__inviter__ zaprasza Cię do współpracy na naszej tablicy kanban.\n\nAby kontynuować, wejdź w poniższy link:\n__url__\n\nTwój kod zaproszenia to: __icode__\n\nDziękuję.",
+ "email-smtp-test-subject": "Wiadomość testowa SMTP",
"email-smtp-test-text": "Wiadomość testowa została wysłana z powodzeniem.",
"error-invitation-code-not-exist": "Kod zaproszenia nie istnieje",
"error-notAuthorized": "Nie jesteś uprawniony do przeglądania tej strony.",
"outgoing-webhooks": "Wychodzące webhooki",
"outgoingWebhooksPopup-title": "Wychodzące webhooki",
- "boardCardTitlePopup-title": "Card Title Filter",
+ "boardCardTitlePopup-title": "Filtruj poprzez nazwę karty",
"new-outgoing-webhook": "Nowy wychodzący webhook",
"no-name": "(nieznany)",
"Node_version": "Wersja Node",
@@ -498,7 +498,7 @@
"OS_Totalmem": "Dostępna pamięć RAM",
"OS_Type": "Typ systemu",
"OS_Uptime": "Czas działania systemu",
- "days": "days",
+ "days": "dni",
"hours": "godzin",
"minutes": "minut",
"seconds": "sekund",
@@ -519,10 +519,10 @@
"card-end-on": "Kończy się",
"editCardReceivedDatePopup-title": "Zmień datę odebrania",
"editCardEndDatePopup-title": "Zmień datę ukończenia",
- "setCardColorPopup-title": "Set color",
- "setCardActionsColorPopup-title": "Choose a color",
- "setSwimlaneColorPopup-title": "Choose a color",
- "setListColorPopup-title": "Choose a color",
+ "setCardColorPopup-title": "Ustaw kolor",
+ "setCardActionsColorPopup-title": "Wybierz kolor",
+ "setSwimlaneColorPopup-title": "Wybierz kolor",
+ "setListColorPopup-title": "Wybierz kolor",
"assigned-by": "Przypisane przez",
"requested-by": "Zlecone przez",
"board-delete-notice": "Usuwanie jest permanentne. Stracisz wszystkie listy, kart oraz czynności przypisane do tej tablicy.",
@@ -561,14 +561,14 @@
"r-delete-rule": "Usuń regułę",
"r-new-rule-name": "Nowa nazwa reguły",
"r-no-rules": "Brak regułę",
- "r-when-a-card": "When a card",
+ "r-when-a-card": "Gdy karta",
"r-is": "jest",
- "r-is-moved": "is moved",
- "r-added-to": "added to",
+ "r-is-moved": "jest przenoszona",
+ "r-added-to": "dodana do",
"r-removed-from": "Usunięto z",
"r-the-board": "tablicy",
"r-list": "lista",
- "set-filter": "Set Filter",
+ "set-filter": "Ustaw filtr",
"r-moved-to": "Przeniesiono do",
"r-moved-from": "Przeniesiono z",
"r-archived": "Przeniesione z Archiwum",
@@ -576,7 +576,7 @@
"r-a-card": "karta",
"r-when-a-label-is": "Gdy etykieta jest",
"r-when-the-label-is": "Gdy etykieta jest",
- "r-list-name": "list name",
+ "r-list-name": "nazwa listy",
"r-when-a-member": "Gdy członek jest",
"r-when-the-member": "Gdy członek jest",
"r-name": "nazwa",
@@ -601,7 +601,7 @@
"r-label": "etykieta",
"r-member": "członek",
"r-remove-all": "Usuń wszystkich członków tej karty",
- "r-set-color": "Set color to",
+ "r-set-color": "Ustaw kolor na",
"r-checklist": "lista zadań",
"r-check-all": "Zaznacz wszystkie",
"r-uncheck-all": "Odznacz wszystkie",
@@ -626,9 +626,9 @@
"r-d-unarchive": "Przywróć kartę z Archiwum",
"r-d-add-label": "Dodaj etykietę",
"r-d-remove-label": "Usuń etykietę",
- "r-create-card": "Create new card",
- "r-in-list": "in list",
- "r-in-swimlane": "in swimlane",
+ "r-create-card": "Utwórz nową kartę",
+ "r-in-list": "na liście",
+ "r-in-swimlane": "w diagramie zdarzeń",
"r-d-add-member": "Dodaj członka",
"r-d-remove-member": "Usuń członka",
"r-d-remove-all-member": "Usuń wszystkich członków",
@@ -639,14 +639,14 @@
"r-d-check-of-list": "z listy zadań",
"r-d-add-checklist": "Dodaj listę zadań",
"r-d-remove-checklist": "Usuń listę zadań",
- "r-by": "by",
+ "r-by": "przez",
"r-add-checklist": "Dodaj listę zadań",
- "r-with-items": "with items",
- "r-items-list": "item1,item2,item3",
- "r-add-swimlane": "Add swimlane",
- "r-swimlane-name": "swimlane name",
- "r-board-note": "Note: leave a field empty to match every possible value.",
- "r-checklist-note": "Note: checklist's items have to be written as comma separated values.",
+ "r-with-items": "z elementami",
+ "r-items-list": "element1,element2,element3",
+ "r-add-swimlane": "Dodaj diagram zdarzeń",
+ "r-swimlane-name": "Nazwa diagramu",
+ "r-board-note": "Uwaga: pozostaw pole puste, aby każda wartość była brana pod uwagę.",
+ "r-checklist-note": "Uwaga: wartości elementów listy muszą być oddzielone przecinkami.",
"r-when-a-card-is-moved": "Gdy karta jest przeniesiona do innej listy",
"ldap": "LDAP",
"oauth2": "OAuth2",
@@ -656,8 +656,10 @@
"custom-product-name": "Niestandardowa nazwa produktu",
"layout": "Układ strony",
"hide-logo": "Ukryj logo",
- "add-custom-html-after-body-start": "Add Custom HTML after <body> start",
- "add-custom-html-before-body-end": "Add Custom HTML before </body> end",
- "error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "add-custom-html-after-body-start": "Dodaj niestandardowy kod HTML po <body> starcie",
+ "add-custom-html-before-body-end": "Dodaj niestandardowy kod HTML przed </body> końcem",
+ "error-undefined": "Coś poszło nie tak",
+ "error-ldap-login": "Wystąpił błąd w trakcie logowania",
+ "display-authentication-method": "Wyświetl metodę logowania",
+ "default-authentication-method": "Domyślna metoda logowania"
} \ No newline at end of file
diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json
index 07ce1dfc..49c2eea3 100644
--- a/i18n/pt-BR.i18n.json
+++ b/i18n/pt-BR.i18n.json
@@ -192,7 +192,7 @@
"color-slateblue": "azul ardósia",
"color-white": "branco",
"color-yellow": "amarelo",
- "unset-color": "Unset",
+ "unset-color": "Remover",
"comment": "Comentário",
"comment-placeholder": "Escrever Comentário",
"comment-only": "Somente comentários",
@@ -335,10 +335,10 @@
"list-archive-cards-pop": "Isto removerá todos os cartões desta lista para o quadro. Para visualizar cartões arquivados e trazê-los de volta para o quadro, clique em “Menu” > “Arquivo-morto”.",
"list-move-cards": "Mover todos os cartões desta lista",
"list-select-cards": "Selecionar todos os cartões nesta lista",
- "set-color-list": "Set Color",
+ "set-color-list": "Definir Cor",
"listActionPopup-title": "Listar Ações",
"swimlaneActionPopup-title": "Ações de Raia",
- "swimlaneAddPopup-title": "Add a Swimlane below",
+ "swimlaneAddPopup-title": "Adicionar uma Raia abaixo ",
"listImportCardPopup-title": "Importe um cartão do Trello",
"listMorePopup-title": "Mais",
"link-list": "Vincular a esta lista",
@@ -520,9 +520,9 @@
"editCardReceivedDatePopup-title": "Modificar data de recebimento",
"editCardEndDatePopup-title": "Mudar data de fim",
"setCardColorPopup-title": "Definir cor",
- "setCardActionsColorPopup-title": "Choose a color",
- "setSwimlaneColorPopup-title": "Choose a color",
- "setListColorPopup-title": "Choose a color",
+ "setCardActionsColorPopup-title": "Escolha uma cor",
+ "setSwimlaneColorPopup-title": "Escolha uma cor",
+ "setListColorPopup-title": "Escolha uma cor",
"assigned-by": "Atribuído por",
"requested-by": "Solicitado por",
"board-delete-notice": "Excluir é permanente. Você perderá todas as listas, cartões e ações associados nesse quadro.",
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Adicionar HTML Customizado depois do início do <body>",
"add-custom-html-before-body-end": "Adicionar HTML Customizado antes do fim do </body>",
"error-undefined": "Algo deu errado",
- "error-ldap-login": "Um erro ocorreu enquanto tentava entrar"
+ "error-ldap-login": "Um erro ocorreu enquanto tentava entrar",
+ "display-authentication-method": "Mostrar Método de Autenticação",
+ "default-authentication-method": "Método de Autenticação Padrão"
} \ No newline at end of file
diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json
index ce895972..b5870960 100644
--- a/i18n/pt.i18n.json
+++ b/i18n/pt.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json
index ffcc4761..dd3938d4 100644
--- a/i18n/ro.i18n.json
+++ b/i18n/ro.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json
index 5a14bc2e..16bbb6e7 100644
--- a/i18n/ru.i18n.json
+++ b/i18n/ru.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Добавить HTML после начала <body> ",
"add-custom-html-before-body-end": "Добавить HTML до завершения </body>",
"error-undefined": "Что-то пошло не так",
- "error-ldap-login": "Ошибка при попытке авторизации"
+ "error-ldap-login": "Ошибка при попытке авторизации",
+ "display-authentication-method": "Показывать способ авторизации",
+ "default-authentication-method": "Способ авторизации по умолчанию"
} \ No newline at end of file
diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json
index c44e59a4..83bdc3a6 100644
--- a/i18n/sr.i18n.json
+++ b/i18n/sr.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json
index 773ea874..c93862bb 100644
--- a/i18n/sv.i18n.json
+++ b/i18n/sv.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Något gick fel",
- "error-ldap-login": "Ett fel uppstod när du försökte logga in"
+ "error-ldap-login": "Ett fel uppstod när du försökte logga in",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/sw.i18n.json b/i18n/sw.i18n.json
index 4931db9b..1ffffddb 100644
--- a/i18n/sw.i18n.json
+++ b/i18n/sw.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json
index cdc21750..ab803752 100644
--- a/i18n/ta.i18n.json
+++ b/i18n/ta.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json
index e767a6cd..a748773e 100644
--- a/i18n/th.i18n.json
+++ b/i18n/th.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json
index a7bb0f3c..5bac9e4f 100644
--- a/i18n/tr.i18n.json
+++ b/i18n/tr.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Bir şeyler yanlış gitti",
- "error-ldap-login": "Giriş yapmaya çalışırken bir hata oluştu"
+ "error-ldap-login": "Giriş yapmaya çalışırken bir hata oluştu",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json
index e9381cd2..a7a85d40 100644
--- a/i18n/uk.i18n.json
+++ b/i18n/uk.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json
index 2572b501..96223df8 100644
--- a/i18n/vi.i18n.json
+++ b/i18n/vi.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json
index b8729e83..71bb3ac3 100644
--- a/i18n/zh-CN.i18n.json
+++ b/i18n/zh-CN.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "添加定制的HTML在开始<body>之前",
"add-custom-html-before-body-end": "添加定制的HTML在结束</body>之后",
"error-undefined": "出了点问题",
- "error-ldap-login": "尝试登陆时出错"
+ "error-ldap-login": "尝试登陆时出错",
+ "display-authentication-method": "显示认证方式",
+ "default-authentication-method": "缺省认证方式"
} \ No newline at end of file
diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json
index 4d7e18d0..29f47c29 100644
--- a/i18n/zh-TW.i18n.json
+++ b/i18n/zh-TW.i18n.json
@@ -659,5 +659,7 @@
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
- "error-ldap-login": "An error occurred while trying to login"
+ "error-ldap-login": "An error occurred while trying to login",
+ "display-authentication-method": "Display Authentication Method",
+ "default-authentication-method": "Default Authentication Method"
} \ No newline at end of file
diff --git a/models/settings.js b/models/settings.js
index 674c99a0..4fcc36ac 100644
--- a/models/settings.js
+++ b/models/settings.js
@@ -40,6 +40,14 @@ Settings.attachSchema(new SimpleSchema({
type: String,
optional: true,
},
+ displayAuthenticationMethod: {
+ type: Boolean,
+ optional: true,
+ },
+ defaultAuthenticationMethod: {
+ type: String,
+ optional: false,
+ },
hideLogo: {
type: Boolean,
optional: true,
@@ -85,7 +93,8 @@ if (Meteor.isServer) {
const from = `Boards Support <support@${domain}>`;
const defaultSetting = {disableRegistration: false, mailServer: {
username: '', password: '', host: '', port: '', enableTLS: false, from,
- }, createdAt: now, modifiedAt: now};
+ }, createdAt: now, modifiedAt: now, displayAuthenticationMethod: true,
+ defaultAuthenticationMethod: 'password'};
Settings.insert(defaultSetting);
}
const newSetting = Settings.findOne();
diff --git a/package.json b/package.json
index d67c362e..41778899 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "wekan",
- "version": "v2.17.0",
+ "version": "v2.20.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
diff --git a/releases/virtualbox/start-wekan.sh b/releases/virtualbox/start-wekan.sh
index 2aec8004..7df5f023 100755
--- a/releases/virtualbox/start-wekan.sh
+++ b/releases/virtualbox/start-wekan.sh
@@ -70,6 +70,9 @@
# example: export OAUTH2_TOKEN_ENDPOINT=/oauth/token
#export OAUTH2_TOKEN_ENDPOINT=''
#---------------------------------------------
+ # Debug OIDC OAuth2 etc.
+ #export DEBUG=true
+ #---------------------------------------------
# LDAP_ENABLE : Enable or not the connection by the LDAP
# example : export LDAP_ENABLE=true
#export LDAP_ENABLE=false
diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp
index 906ce447..4de89a89 100644
--- a/sandstorm-pkgdef.capnp
+++ b/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 = 219,
+ appVersion = 222,
# Increment this for every release.
- appMarketingVersion = (defaultText = "2.17.0~2019-02-04"),
+ appMarketingVersion = (defaultText = "2.20.0~2019-02-11"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
diff --git a/server/migrations.js b/server/migrations.js
index 2512b40c..8dcd892a 100644
--- a/server/migrations.js
+++ b/server/migrations.js
@@ -398,3 +398,27 @@ Migrations.add('add-custom-html-before-body-end', () => {
},
}, noValidateMulti);
});
+
+Migrations.add('add-displayAuthenticationMethod', () => {
+ Settings.update({
+ displayAuthenticationMethod: {
+ $exists: false,
+ },
+ }, {
+ $set: {
+ displayAuthenticationMethod: true,
+ },
+ }, noValidateMulti);
+});
+
+Migrations.add('add-defaultAuthenticationMethod', () => {
+ Settings.update({
+ defaultAuthenticationMethod: {
+ $exists: false,
+ },
+ }, {
+ $set: {
+ defaultAuthenticationMethod: 'password',
+ },
+ }, noValidateMulti);
+});
diff --git a/server/publications/settings.js b/server/publications/settings.js
index 573a79b4..a8f8a969 100644
--- a/server/publications/settings.js
+++ b/server/publications/settings.js
@@ -1,5 +1,15 @@
Meteor.publish('setting', () => {
- return Settings.find({}, {fields:{disableRegistration: 1, productName: 1, hideLogo: 1, customHTMLafterBodyStart: 1, customHTMLbeforeBodyEnd: 1}});
+ return Settings.find({}, {
+ fields:{
+ disableRegistration: 1,
+ productName: 1,
+ hideLogo: 1,
+ customHTMLafterBodyStart: 1,
+ customHTMLbeforeBodyEnd: 1,
+ displayAuthenticationMethod: 1,
+ defaultAuthenticationMethod: 1,
+ },
+ });
});
Meteor.publish('mailServer', function () {
diff --git a/snap-src/bin/config b/snap-src/bin/config
index 7eb9a990..e749d80e 100755
--- a/snap-src/bin/config
+++ b/snap-src/bin/config
@@ -3,7 +3,7 @@
# All supported keys are defined here together with descriptions and default values
# list of supported keys
-keys="MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API CORS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD"
+keys="MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API CORS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD DEBUG"
# default values
DESCRIPTION_MONGODB_BIND_UNIX_SOCKET="mongodb binding unix socket:\n"\
@@ -290,7 +290,10 @@ DESCRIPTION_LOGOUT_ON_MINUTES="The number of minutes"
DEFAULT_LOGOUT_ON_MINUTES=""
KEY_LOGOUT_ON_MINUTES="logout-on-minutes"
-
DESCRIPTION_DEFAULT_AUTHENTICATION_METHOD="The default authentication method used if a user does not exist to create and authenticate. Method can be password or ldap."
DEFAULT_DEFAULT_AUTHENTICATION_METHOD=""
KEY_DEFAULT_AUTHENTICATION_METHOD="default-authentication-method"
+
+DESCRIPTION_DEBUG="Debug OIDC etc. Example: sudo snap set wekan debug='true'"
+DEFAULT_DEBUG="false"
+KEY_DEBUG="debug"
diff --git a/snap-src/bin/mongodb-control b/snap-src/bin/mongodb-control
index a7a98739..d6d795bc 100755
--- a/snap-src/bin/mongodb-control
+++ b/snap-src/bin/mongodb-control
@@ -29,4 +29,4 @@ if [ "x" != "x${MONGODB_PORT}" ]; then
fi
echo "mongodb bind options: $BIND_OPTIONS"
-mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS
+mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS --smallfiles
diff --git a/snap-src/bin/wekan-help b/snap-src/bin/wekan-help
index 9c7a67a2..eda05ff8 100755
--- a/snap-src/bin/wekan-help
+++ b/snap-src/bin/wekan-help
@@ -100,6 +100,12 @@ echo -e "\t$ snap set $SNAP_NAME OAUTH2_TOKEN_ENDPOINT='/oauth/token'"
echo -e "\t-Disable the OAuth2 Token Endpoint of Wekan:"
echo -e "\t$ snap set $SNAP_NAME OAUTH2_TOKEN_ENDPOINT=''"
echo -e "\n"
+echo -e "Debug OIDC OAuth2 etc."
+echo -e "To enable the Debug of Wekan:"
+echo -e "\t$ snap set $SNAP_NAME DEBUG='true'"
+echo -e "\t-Disable the Debug of Wekan:"
+echo -e "\t$ snap set $SNAP_NAME DEBUG='false'"
+echo -e "\n"
echo -e "Ldap Enable."
echo -e "To enable the ldap of Wekan:"
echo -e "\t$ snap set $SNAP_NAME LDAP_ENABLE='true'"
diff --git a/start-wekan.bat b/start-wekan.bat
index fee3e18a..c2acb3d6 100644
--- a/start-wekan.bat
+++ b/start-wekan.bat
@@ -69,6 +69,11 @@ REM SET OAUTH2_TOKEN_ENDPOINT=
REM ------------------------------------------------------------
+REM # Debug OIDC OAuth2 etc.
+REM SET DEBUG=true
+
+REM ------------------------------------------------------------
+
REM # LDAP_ENABLE : Enable or not the connection by the LDAP
REM # example : LDAP_ENABLE=true
REM SET LDAP_ENABLE=false
@@ -245,4 +250,4 @@ REM SET LOGOUT_ON_MINUTES=
cd .build\bundle
node main.js
-cd ..\.. \ No newline at end of file
+cd ..\..
diff --git a/start-wekan.sh b/start-wekan.sh
index a7587e40..bd052588 100755
--- a/start-wekan.sh
+++ b/start-wekan.sh
@@ -88,6 +88,9 @@ function wekan_repo_check(){
# example: export OAUTH2_TOKEN_ENDPOINT=/oauth/token
#export OAUTH2_TOKEN_ENDPOINT=''
#---------------------------------------------
+ # Debug OIDC OAuth2 etc.
+ #export DEBUG=true
+ #---------------------------------------------
# LDAP_ENABLE : Enable or not the connection by the LDAP
# example : export LDAP_ENABLE=true
#export LDAP_ENABLE=false