summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.devcontainer/Dockerfile2
-rw-r--r--.github/workflows/dockerimage.yml17
-rw-r--r--.meteor/.finished-upgraders1
-rw-r--r--.meteor/packages6
-rw-r--r--.meteor/release2
-rw-r--r--.meteor/versions16
-rw-r--r--.travis.yml2
-rw-r--r--CHANGELOG.md48
-rw-r--r--Dockerfile6
-rw-r--r--Stackerfile.yml2
-rw-r--r--client/components/activities/comments.js3
-rw-r--r--client/components/boards/boardBody.js35
-rw-r--r--client/components/boards/boardHeader.jade12
-rw-r--r--client/components/boards/boardHeader.js12
-rw-r--r--client/components/cards/cardDetails.js6
-rw-r--r--client/components/cards/minicard.jade13
-rw-r--r--client/components/cards/minicard.js8
-rw-r--r--client/components/lists/list.js23
-rw-r--r--client/components/lists/listHeader.js22
-rw-r--r--client/components/settings/peopleBody.jade59
-rw-r--r--client/components/sidebar/sidebar.js6
-rw-r--r--client/components/swimlanes/swimlaneHeader.js4
-rw-r--r--client/components/swimlanes/swimlanes.jade22
-rw-r--r--client/components/swimlanes/swimlanes.js68
-rw-r--r--client/components/users/userHeader.js47
-rw-r--r--client/lib/utils.js15
-rw-r--r--docker-compose.yml9
-rw-r--r--i18n/ar.i18n.json2
-rw-r--r--i18n/bg.i18n.json2
-rw-r--r--i18n/br.i18n.json2
-rw-r--r--i18n/ca.i18n.json4
-rw-r--r--i18n/cs.i18n.json2
-rw-r--r--i18n/da.i18n.json2
-rw-r--r--i18n/de.i18n.json4
-rw-r--r--i18n/el.i18n.json2
-rw-r--r--i18n/en-GB.i18n.json2
-rw-r--r--i18n/en.i18n.json2
-rw-r--r--i18n/eo.i18n.json2
-rw-r--r--i18n/es-AR.i18n.json2
-rw-r--r--i18n/es.i18n.json8
-rw-r--r--i18n/eu.i18n.json2
-rw-r--r--i18n/fa.i18n.json204
-rw-r--r--i18n/fi.i18n.json66
-rw-r--r--i18n/fr.i18n.json4
-rw-r--r--i18n/gl.i18n.json2
-rw-r--r--i18n/he.i18n.json2
-rw-r--r--i18n/hi.i18n.json2
-rw-r--r--i18n/hu.i18n.json2
-rw-r--r--i18n/hy.i18n.json2
-rw-r--r--i18n/id.i18n.json2
-rw-r--r--i18n/ig.i18n.json2
-rw-r--r--i18n/it.i18n.json38
-rw-r--r--i18n/ja.i18n.json2
-rw-r--r--i18n/ka.i18n.json2
-rw-r--r--i18n/km.i18n.json2
-rw-r--r--i18n/ko.i18n.json2
-rw-r--r--i18n/lv.i18n.json2
-rw-r--r--i18n/mk.i18n.json2
-rw-r--r--i18n/mn.i18n.json2
-rw-r--r--i18n/nb.i18n.json2
-rw-r--r--i18n/nl.i18n.json70
-rw-r--r--i18n/oc.i18n.json2
-rw-r--r--i18n/pl.i18n.json6
-rw-r--r--i18n/pt-BR.i18n.json66
-rw-r--r--i18n/pt.i18n.json2
-rw-r--r--i18n/ro.i18n.json2
-rw-r--r--i18n/ru.i18n.json28
-rw-r--r--i18n/sl.i18n.json2
-rw-r--r--i18n/sr.i18n.json2
-rw-r--r--i18n/sv.i18n.json2
-rw-r--r--i18n/sw.i18n.json2
-rw-r--r--i18n/ta.i18n.json2
-rw-r--r--i18n/th.i18n.json2
-rw-r--r--i18n/tr.i18n.json6
-rw-r--r--i18n/uk.i18n.json2
-rw-r--r--i18n/vi.i18n.json2
-rw-r--r--i18n/zh-CN.i18n.json2
-rw-r--r--i18n/zh-HK.i18n.json2
-rw-r--r--i18n/zh-TW.i18n.json10
-rw-r--r--models/cards.js9
-rw-r--r--models/checklists.js11
-rw-r--r--package-lock.json2
-rw-r--r--package.json2
-rw-r--r--public/api/wekan.html4
-rw-r--r--public/api/wekan.yml2
-rw-r--r--rebuild-wekan.bat4
-rwxr-xr-xrebuild-wekan.sh2
-rw-r--r--releases/not-working-meteor-1.8-snapcraft.yaml262
-rwxr-xr-xreleases/old-rebuild-release.sh43
-rwxr-xr-xreleases/rebuild-wekan.sh136
-rwxr-xr-xreleases/sandstorm-make-spk.sh2
-rwxr-xr-xreleases/snap-install.sh2
-rwxr-xr-xreleases/virtualbox/old-rebuild-wekan.sh42
-rw-r--r--sandstorm-pkgdef.capnp4
-rw-r--r--server/authentication.js2
-rwxr-xr-xsnap-src/bin/config2
-rwxr-xr-xsnap-src/bin/mongodb-control4
-rwxr-xr-xsnap-src/bin/wekan-help8
-rw-r--r--snapcraft.yaml2
-rwxr-xr-xstacksmith/user-scripts/build.sh3
-rwxr-xr-xstart-wekan.bat2
-rwxr-xr-xstart-wekan.sh2
-rw-r--r--torodb-postgresql/docker-compose.yml8
103 files changed, 612 insertions, 1006 deletions
diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index c2be3595..fa17ff1f 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND=noninteractive
ENV \
DEBUG=false \
- NODE_VERSION=8.16.2 \
+ NODE_VERSION=8.17.0 \
METEOR_RELEASE=1.8.1 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
diff --git a/.github/workflows/dockerimage.yml b/.github/workflows/dockerimage.yml
new file mode 100644
index 00000000..de27ed1a
--- /dev/null
+++ b/.github/workflows/dockerimage.yml
@@ -0,0 +1,17 @@
+name: Docker Image CI
+
+on:
+ push:
+ branches:
+ - master
+
+jobs:
+
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v1
+ - name: Build the Docker image
+ run: docker build . --file Dockerfile --tag wekan:$(date +%s)
diff --git a/.meteor/.finished-upgraders b/.meteor/.finished-upgraders
index 8f397c7d..bc5b50f7 100644
--- a/.meteor/.finished-upgraders
+++ b/.meteor/.finished-upgraders
@@ -17,3 +17,4 @@ notices-for-facebook-graph-api-2
1.4.3-split-account-service-packages
1.5-add-dynamic-import-package
1.7-split-underscore-from-meteor-base
+1.8.3-split-jquery-from-blaze
diff --git a/.meteor/packages b/.meteor/packages
index 7fa85bee..8d25f206 100644
--- a/.meteor/packages
+++ b/.meteor/packages
@@ -6,9 +6,9 @@
meteor-base@1.4.0
# Build system
-ecmascript@0.13.0
+ecmascript@0.13.2
standard-minifier-css@1.5.4
-standard-minifier-js@2.5.0
+standard-minifier-js@2.5.2
mquandalle:jade
# Polyfills
@@ -75,7 +75,7 @@ horka:swipebox
dynamic-import@0.5.1
staringatlights:fast-render
-accounts-password@1.5.1
+accounts-password@1.5.2
cfs:gridfs
rzymek:fullcalendar
momentjs:moment@2.22.2
diff --git a/.meteor/release b/.meteor/release
index 250a263b..bfccdc2c 100644
--- a/.meteor/release
+++ b/.meteor/release
@@ -1 +1 @@
-METEOR@1.8.2
+METEOR@1.8.3
diff --git a/.meteor/versions b/.meteor/versions
index 2b21c42e..ce5a6635 100644
--- a/.meteor/versions
+++ b/.meteor/versions
@@ -1,7 +1,7 @@
3stack:presence@1.1.2
accounts-base@1.4.5
accounts-oauth@1.1.16
-accounts-password@1.5.1
+accounts-password@1.5.2
aldeed:collection2@2.10.0
aldeed:collection2-core@1.2.0
aldeed:schema-deny@1.1.0
@@ -12,11 +12,11 @@ allow-deny@1.1.0
arillo:flow-router-helpers@0.5.2
audit-argument-checks@1.0.7
autoupdate@1.6.0
-babel-compiler@7.4.0
+babel-compiler@7.4.2
babel-runtime@1.4.0
base64@1.0.12
binary-heap@1.0.11
-blaze@2.3.3
+blaze@2.3.4
blaze-tools@1.0.10
boilerplate-generator@1.6.0
browser-policy-common@1.0.11
@@ -57,11 +57,11 @@ deps@1.0.12
diff-sequence@1.1.1
dynamic-import@0.5.1
easylogic:summernote@0.8.8
-ecmascript@0.13.0
+ecmascript@0.13.2
ecmascript-runtime@0.7.0
ecmascript-runtime-client@0.9.0
ecmascript-runtime-server@0.8.0
-ejson@1.1.0
+ejson@1.1.1
email@1.2.3
es5-shim@4.8.0
fastclick@1.0.13
@@ -91,7 +91,7 @@ logging@1.1.20
lucasantoniassi:accounts-lockout@1.0.0
matb33:collection-hooks@0.9.1
matteodem:easy-search@1.6.4
-mdg:meteor-apm-agent@3.2.3
+mdg:meteor-apm-agent@3.2.5
mdg:validation-error@0.5.1
meteor@1.9.3
meteor-base@1.4.0
@@ -102,7 +102,7 @@ meteorhacks:picker@1.0.3
meteorhacks:subs-manager@1.6.4
meteorspark:util@0.2.0
minifier-css@1.4.3
-minifier-js@2.5.0
+minifier-js@2.5.1
minifiers@1.1.8-faster-rebuild.0
minimongo@1.4.5
mobile-status-bar@1.0.14
@@ -168,7 +168,7 @@ spacebars@1.0.15
spacebars-compiler@1.1.3
srp@1.0.12
standard-minifier-css@1.5.4
-standard-minifier-js@2.5.0
+standard-minifier-js@2.5.2
staringatlights:fast-render@3.2.0
staringatlights:inject-data@2.3.0
tap:i18n@1.8.2
diff --git a/.travis.yml b/.travis.yml
index 6f0a9e0a..68bd678a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,7 +3,7 @@ sudo: required
env:
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
- TRAVIS_NODE_VERSION: 8.16.2
+ TRAVIS_NODE_VERSION: 8.17.0
TRAVIS_NPM_VERSION: latest
before_install:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b05fa3d1..b80a5bb6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,32 @@
-# Upcoming Wekan release
+# v3.57 2019-12-22 Wekan release
+
+This release adds the following features:
+
+- [Allow card and checklist API creation for authorized board members](https://github.com/wekan/wekan/pull/2854).
+ Thanks to Robert-Lebedeu.
+- [Visual difference for inactive user in Administration: strikethrough](https://github.com/wekan/wekan/commit/1f1aea87a421ca5e7931d220d10c838574208e2c).
+ Thanks to hever and xet7.
+
+and adds the following updates:
+
+- [Upgrade to Meteor 1.8.3 and Node 8.17.0. Update release scripts. Fix ldap background sync documentation part 2](https://github.com/wekan/wekan/commit/782d0b620988628f40f50f9cd824f6652cfb0dd9).
+ Thanks to xet7.
+
+and fixes the following bugs:
+
+- [Fix: Don't add a blank space for empty custom fields on minicards](https://github.com/wekan/wekan/commit/e2a374f0aad8489a84d6de9966c281a812b5eca3).
+ Thanks to roobre and xet7.
+- [Fix: Allow to set empty card title, AssignedBy and RequestedBy](https://github.com/wekan/wekan/commit/25561946edf37351f67cf7500902dde7d9114d2f).
+ Thanks to justinr1234 and xet7.
+- [Fix comment text disappearing when clicking outside of comment text area.
+ Fix lint error](https://github.com/wekan/wekan/commit/3b3950369ce07aa9e6fc4ab1bef9fb8a4993e398).
+ Thanks to xet7.
+- [Fix ldap background sync documentation](https://github.com/wekan/wekan/pull/2855).
+ Thanks to koelle25.
+
+Thanks to above GitHub users for their contributions and translators for their translations.
+
+# v3.56 2019-11-21 Wekan release
This release adds the following updates:
@@ -6,10 +34,16 @@ This release adds the following updates:
Thanks to xet7.
- [Fix lint errors and update travis NPM version](https://github.com/wekan/wekan/commit/b0f345ba21830b033c9edcc8ee5252b280111ae7).
Thanks to xet7.
+- [Change base image to rolling, that is currently Ubuntu eoan
+ version](https://github.com/wekan/wekan/commit/c66cc3d4dadb15b669256530cfda89359cdb9340).
+ Thanks to xet7.
+- [It seems Ubuntu eoan package bsdtar has been renamed to
+ libarchive-tools](https://github.com/wekan/wekan/commit/c60967e935bdc0e7e9aea0a1c23178aee8a73c29).
+ Thanks to xet7.
and fixes the following bugs:
-- Fix slow scroll on card detail by setting scrollInertia to 0](https://github.com/wekan/wekan/commit/599ace1db7918df41d9708d14b0351acb0f8688e).
+- [Fix slow scroll on card detail by setting scrollInertia to 0](https://github.com/wekan/wekan/commit/599ace1db7918df41d9708d14b0351acb0f8688e).
Thanks to cafeoh.
- [Fix lint errors](https://github.com/wekan/wekan/commit/788dd0a81a06efee165007a92780f9e8c2c754ac).
Thanks to xet7.
@@ -17,6 +51,8 @@ and fixes the following bugs:
Thanks to xet7.
- [Try to fix lint errors](https://github.com/wekan/wekan/commit/58e505f79a0617011576bdded9427b0d448d6107).
Thanks to xet7.
+- [Add to Snap MongoDB logging option --quiet](https://github.com/wekan/wekan/commit/c7ded515022fff2c1167ce8938405a846185a710).
+ Thanks to fmeehan and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
@@ -97,7 +133,7 @@ This release adds the following new features:
mode](https://github.com/wekan/wekan/commits/77f8b76d4e13c35ea3451622176bbb69a4d39a32).
Thanks to whowillcare.
- Allow user to sort Lists in Board by his own preference boardadmin can star
- list [1](https://github.com/wekan/wekan/commit/bc2a20f04e32607f8488a9cecd815647fb43e40e),
+ list [1](https://github.com/wekan/wekan/commit/bc2a20f04e32607f8488a9cecd815647fb43e40e),
[2](https://github.com/wekan/wekan/commit/bc2a20f04e32607f8488a9cecd815647fb43e40e).
Thanks to whowillcare.
- [Allowing user to filter list in Filter function not just cards
@@ -214,7 +250,7 @@ This release adds the following new features:
NOTIFY_DUE_DAYS_BEFORE_AND_AFTER = 2,0 it means notification will be sent on both due day and two days before.
Thanks to whowillcare.
- [Added modifications the help files, related to NOTIFY_DUE_DAYS_BEFORE_AND_AFTER](https://github.com/wekan/wekan/pull/2740).
- Thanks to whowillcare.
+ Thanks to whowillcare.
and fixes the following bugs:
@@ -265,7 +301,7 @@ This release adds the following new features:
- [More Mobile and Desktop drag handles for Swimlanes/Lists/Cards. Part 1](https://github.com/wekan/wekan/commit/ff550e91103115e7b731dd80c4588b93b2d4c64f).
Thanks to xet7.
-
+
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.40 2019-09-11 Wekan release
@@ -674,7 +710,7 @@ This release fixes the following bugs:
- [Add missing dependencies back and revert deleting phantomjs](https://github.com/wekan/wekan/commit/32e9aa0ddaf1b015825b8c62ad17ed74b449e4b1).
Thanks to whowillcare and xet7.
-
+
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.09 2019-08-07 Wekan release
diff --git a/Dockerfile b/Dockerfile
index 31e12a47..62c60390 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,12 +1,12 @@
-FROM ubuntu:disco
+FROM ubuntu:rolling
LABEL maintainer="wekan"
# Set the environment variables (defaults where required)
# 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 g++ build-essential git ca-certificates" \
+ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
DEBUG=false \
- NODE_VERSION=v8.16.2 \
+ NODE_VERSION=v8.17.0 \
METEOR_RELEASE=1.8.1 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
diff --git a/Stackerfile.yml b/Stackerfile.yml
index 77c6c328..aeab7645 100644
--- a/Stackerfile.yml
+++ b/Stackerfile.yml
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
-appVersion: "v3.55.0"
+appVersion: "v3.57.0"
files:
userUploads:
- README.md
diff --git a/client/components/activities/comments.js b/client/components/activities/comments.js
index 95084646..50ca019b 100644
--- a/client/components/activities/comments.js
+++ b/client/components/activities/comments.js
@@ -16,9 +16,6 @@ BlazeComponent.extendComponent({
events() {
return [
{
- 'click .js-new-comment:not(.focus)'() {
- commentFormIsOpen.set(true);
- },
'submit .js-new-comment-form'(evt) {
const input = this.getInput();
const text = input.val().trim();
diff --git a/client/components/boards/boardBody.js b/client/components/boards/boardBody.js
index 41b6f4ef..55b8c0a1 100644
--- a/client/components/boards/boardBody.js
+++ b/client/components/boards/boardBody.js
@@ -1,3 +1,5 @@
+import { Cookies } from 'meteor/ostrio:cookies';
+const cookies = new Cookies();
const subManager = new SubsManager();
const { calculateIndex, enableClickOnTouch } = Utils;
const swimlaneWhileSortingHeight = 150;
@@ -192,9 +194,6 @@ BlazeComponent.extendComponent({
// ugly touch event hotfix
enableClickOnTouch('.js-swimlane:not(.placeholder)');
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
-
this.autorun(() => {
let showDesktopDragHandles = false;
currentUser = Meteor.user();
@@ -207,8 +206,8 @@ BlazeComponent.extendComponent({
showDesktopDragHandles = false;
}
if (
- Utils.isMiniScreen()
- || (!Utils.isMiniScreen() && showDesktopDragHandles)
+ Utils.isMiniScreen() ||
+ (!Utils.isMiniScreen() && showDesktopDragHandles)
) {
$swimlanesDom.sortable({
handle: '.js-swimlane-header-handle',
@@ -225,9 +224,9 @@ BlazeComponent.extendComponent({
function userIsMember() {
return (
- Meteor.user()
- && Meteor.user().isBoardMember()
- && !Meteor.user().isCommentOnly()
+ Meteor.user() &&
+ Meteor.user().isBoardMember() &&
+ !Meteor.user().isCommentOnly()
);
}
@@ -244,8 +243,6 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-swimlanes';
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-swimlanes';
}
},
@@ -255,8 +252,6 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-lists';
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-lists';
}
},
@@ -266,8 +261,6 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-cal';
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-cal';
}
},
@@ -306,16 +299,16 @@ BlazeComponent.extendComponent({
scrollLeft(position = 0) {
const swimlanes = this.$('.js-swimlanes');
- swimlanes
- && swimlanes.animate({
+ swimlanes &&
+ swimlanes.animate({
scrollLeft: position,
});
},
scrollTop(position = 0) {
const swimlanes = this.$('.js-swimlanes');
- swimlanes
- && swimlanes.animate({
+ swimlanes &&
+ swimlanes.animate({
scrollTop: position,
});
},
@@ -359,8 +352,8 @@ BlazeComponent.extendComponent({
end = end || card.endAt;
title = title || card.title;
const className =
- (extraCls ? `${extraCls} ` : '')
- + (card.color ? `calendar-event-${card.color}` : '');
+ (extraCls ? `${extraCls} ` : '') +
+ (card.color ? `calendar-event-${card.color}` : '');
events.push({
id: card._id,
title,
@@ -430,8 +423,6 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-cal';
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-cal';
}
},
diff --git a/client/components/boards/boardHeader.jade b/client/components/boards/boardHeader.jade
index 39221778..53a74f76 100644
--- a/client/components/boards/boardHeader.jade
+++ b/client/components/boards/boardHeader.jade
@@ -103,14 +103,9 @@ template(name="boardHeaderBar")
i.fa.fa-trello
if $eq boardView 'board-view-swimlanes'
i.fa.fa-th-large
- // unless collapseSwimlane
- // i.fa.fa-th-large
- // if collapseSwimlane
- // i.fa.fa-play
if $eq boardView 'board-view-cal'
i.fa.fa-calendar
span {{#if boardView}}{{_ boardView}}{{else}}{{_ 'board-view-lists'}}{{/if}}
- //span {{#if collapseSwimlane}}{{_ 'board-view-collapse'}}{{else}}{{#if boardView}}{{_ boardView}}{{else}}{{_ 'board-view-lists'}}{{/if}}{{/if}}
if canModifyBoard
a.board-header-btn.js-multiselection-activate(
@@ -191,13 +186,6 @@ template(name="boardChangeViewPopup")
| {{_ 'board-view-swimlanes'}}
if $eq Utils.boardView "board-view-swimlanes"
i.fa.fa-check
- //li
- // with "board-view-collapse"
- // a.js-open-collapse-view
- // i.fa.fa-play.colorful
- // | {{_ 'board-view-collapse'}}
- // if $eq Utils.boardView "board-view-collapse"
- // i.fa.fa-check
li
with "board-view-cal"
a.js-open-cal-view
diff --git a/client/components/boards/boardHeader.js b/client/components/boards/boardHeader.js
index ffbb9b72..eea43bd3 100644
--- a/client/components/boards/boardHeader.js
+++ b/client/components/boards/boardHeader.js
@@ -175,15 +175,6 @@ Template.boardHeaderBar.helpers({
boardView() {
return Utils.boardView();
},
- //collapseSwimlane() {
- // import { Cookies } from 'meteor/ostrio:cookies';
- // const cookies = new Cookies();
- // if (cookies.has('collapseSwimlane')) {
- // return true;
- // } else {
- // return false;
- // }
- //},
});
Template.boardChangeViewPopup.events({
@@ -195,9 +186,6 @@ Template.boardChangeViewPopup.events({
Utils.setBoardView('board-view-swimlanes');
Popup.close();
},
- //'click .js-open-collapse-view'() {
- // Utils.setBoardView('board-view-collapse');
- //Popup.close();
'click .js-open-cal-view'() {
Utils.setBoardView('board-view-cal');
Popup.close();
diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js
index 7bb54223..67120043 100644
--- a/client/components/cards/cardDetails.js
+++ b/client/components/cards/cardDetails.js
@@ -291,6 +291,8 @@ BlazeComponent.extendComponent({
.trim();
if (title) {
this.data().setTitle(title);
+ } else {
+ this.data().setTitle('');
}
},
'submit .js-card-details-assigner'(event) {
@@ -300,6 +302,8 @@ BlazeComponent.extendComponent({
.trim();
if (assigner) {
this.data().setAssignedBy(assigner);
+ } else {
+ this.data().setAssignedBy('');
}
},
'submit .js-card-details-requester'(event) {
@@ -309,6 +313,8 @@ BlazeComponent.extendComponent({
.trim();
if (requester) {
this.data().setRequestedBy(requester);
+ } else {
+ this.data().setRequestedBy('');
}
},
'click .js-member': Popup.open('cardMember'),
diff --git a/client/components/cards/minicard.jade b/client/components/cards/minicard.jade
index 79672f8c..7dd220ee 100644
--- a/client/components/cards/minicard.jade
+++ b/client/components/cards/minicard.jade
@@ -67,14 +67,15 @@ template(name="minicard")
.minicard-custom-fields
each customFieldsWD
if definition.showOnCard
- .minicard-custom-field
- if definition.showLabelOnMiniCard
+ if trueValue
+ .minicard-custom-field
+ if definition.showLabelOnMiniCard
+ .minicard-custom-field-item
+ +viewer
+ = definition.name
.minicard-custom-field-item
+viewer
- = definition.name
- .minicard-custom-field-item
- +viewer
- = trueValue
+ = trueValue
if getAssignees
.minicard-assignees.js-minicard-assignees
diff --git a/client/components/cards/minicard.js b/client/components/cards/minicard.js
index a9f92dec..1ea608f5 100644
--- a/client/components/cards/minicard.js
+++ b/client/components/cards/minicard.js
@@ -1,3 +1,5 @@
+import { Cookies } from 'meteor/ostrio:cookies';
+const cookies = new Cookies();
// Template.cards.events({
// 'click .member': Popup.open('cardMember')
// });
@@ -18,8 +20,6 @@ BlazeComponent.extendComponent({
},
{
'click .js-toggle-minicard-label-text'() {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
cookies.remove('hiddenMinicardLabelText'); //true
} else {
@@ -37,8 +37,6 @@ Template.minicard.helpers({
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
@@ -51,8 +49,6 @@ Template.minicard.helpers({
if (currentUser) {
return (currentUser.profile || {}).hiddenMinicardLabelText;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
return true;
} else {
diff --git a/client/components/lists/list.js b/client/components/lists/list.js
index e58ea430..89d51e85 100644
--- a/client/components/lists/list.js
+++ b/client/components/lists/list.js
@@ -1,3 +1,5 @@
+import { Cookies } from 'meteor/ostrio:cookies';
+const cookies = new Cookies();
const { calculateIndex, enableClickOnTouch } = Utils;
BlazeComponent.extendComponent({
@@ -22,9 +24,9 @@ BlazeComponent.extendComponent({
function userIsMember() {
return (
- Meteor.user()
- && Meteor.user().isBoardMember()
- && !Meteor.user().isCommentOnly()
+ Meteor.user() &&
+ Meteor.user().isBoardMember() &&
+ !Meteor.user().isCommentOnly()
);
}
@@ -74,14 +76,14 @@ BlazeComponent.extendComponent({
const currentBoard = Boards.findOne(Session.get('currentBoard'));
let swimlaneId = '';
if (
- Utils.boardView() === 'board-view-swimlanes'
- || currentBoard.isTemplatesBoard()
+ Utils.boardView() === 'board-view-swimlanes' ||
+ currentBoard.isTemplatesBoard()
)
swimlaneId = Blaze.getData(ui.item.parents('.swimlane').get(0))._id;
else if (
- Utils.boardView() === 'board-view-lists'
- || Utils.boardView() === 'board-view-cal'
- || !Utils.boardView
+ Utils.boardView() === 'board-view-lists' ||
+ Utils.boardView() === 'board-view-cal' ||
+ !Utils.boardView
)
swimlaneId = currentBoard.getDefaultSwimline()._id;
@@ -115,9 +117,6 @@ BlazeComponent.extendComponent({
// ugly touch event hotfix
enableClickOnTouch(itemsSelector);
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
-
this.autorun(() => {
let showDesktopDragHandles = false;
currentUser = Meteor.user();
@@ -178,8 +177,6 @@ Template.list.helpers({
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
diff --git a/client/components/lists/listHeader.js b/client/components/lists/listHeader.js
index 34322fa9..570cc30f 100644
--- a/client/components/lists/listHeader.js
+++ b/client/components/lists/listHeader.js
@@ -1,3 +1,5 @@
+import { Cookies } from 'meteor/ostrio:cookies';
+const cookies = new Cookies();
let listsColors;
Meteor.startup(() => {
listsColors = Lists.simpleSchema()._schema.color.allowedValues;
@@ -7,9 +9,9 @@ BlazeComponent.extendComponent({
canSeeAddCard() {
const list = Template.currentData();
return (
- !list.getWipLimit('enabled')
- || list.getWipLimit('soft')
- || !this.reachedWipLimit()
+ !list.getWipLimit('enabled') ||
+ list.getWipLimit('soft') ||
+ !this.reachedWipLimit()
);
},
@@ -66,8 +68,8 @@ BlazeComponent.extendComponent({
reachedWipLimit() {
const list = Template.currentData();
return (
- list.getWipLimit('enabled')
- && list.getWipLimit('value') <= list.cards().count()
+ list.getWipLimit('enabled') &&
+ list.getWipLimit('value') <= list.cards().count()
);
},
@@ -108,8 +110,6 @@ Template.listHeader.helpers({
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
@@ -177,8 +177,8 @@ BlazeComponent.extendComponent({
const list = Template.currentData();
if (
- list.getWipLimit('soft')
- && list.getWipLimit('value') < list.cards().count()
+ list.getWipLimit('soft') &&
+ list.getWipLimit('value') < list.cards().count()
) {
list.setWipLimit(list.cards().count());
}
@@ -189,8 +189,8 @@ BlazeComponent.extendComponent({
const list = Template.currentData();
// Prevent user from using previously stored wipLimit.value if it is less than the current number of cards in the list
if (
- !list.getWipLimit('enabled')
- && list.getWipLimit('value') < list.cards().count()
+ !list.getWipLimit('enabled') &&
+ list.getWipLimit('value') < list.cards().count()
) {
list.setWipLimit(list.cards().count());
}
diff --git a/client/components/settings/peopleBody.jade b/client/components/settings/peopleBody.jade
index ff343e37..d8f672b0 100644
--- a/client/components/settings/peopleBody.jade
+++ b/client/components/settings/peopleBody.jade
@@ -39,26 +39,55 @@ template(name="peopleGeneral")
template(name="peopleRow")
tr
- td.username {{ userData.username }}
- td {{ userData.profile.fullname }}
- td
- if userData.isAdmin
- | {{_ 'yes'}}
- else
- | {{_ 'no'}}
- td {{ userData.emails.[0].address }}
- td
- if userData.emails.[0].verified
- | {{_ 'yes'}}
- else
- | {{_ 'no'}}
- td {{ moment userData.createdAt 'LLL' }}
+ if userData.loginDisabled
+ td.username <s>{{ userData.username }}</s>
+ else
+ td.username {{ userData.username }}
+ if userData.loginDisabled
+ td <s>{{ userData.profile.fullname }}</s>
+ else
+ td {{ userData.profile.fullname }}
+ if userData.loginDisabled
+ td
+ if userData.isAdmin
+ | <s>{{_ 'yes'}}</s>
+ else
+ | <s>{{_ 'no'}}</s>
+ else
+ td
+ if userData.isAdmin
+ | {{_ 'yes'}}
+ else
+ | {{_ 'no'}}
+ if userData.loginDisabled
+ td <s>{{ userData.emails.[0].address }}</s>
+ else
+ td {{ userData.emails.[0].address }}
+ if userData.loginDisabled
+ td
+ if userData.emails.[0].verified
+ | <s>{{_ 'yes'}}</s>
+ else
+ | <s>{{_ 'no'}}</s>
+ else
+ td
+ if userData.emails.[0].verified
+ | {{_ 'yes'}}
+ else
+ | {{_ 'no'}}
+ if userData.loginDisabled
+ td <s>{{ moment userData.createdAt 'LLL' }}</s>
+ else
+ td {{ moment userData.createdAt 'LLL' }}
td
if userData.loginDisabled
| {{_ 'no'}}
else
| {{_ 'yes'}}
- td {{_ userData.authenticationMethod }}
+ if userData.loginDisabled
+ td <s>{{_ userData.authenticationMethod }}</s>
+ else
+ td {{_ userData.authenticationMethod }}
td
a.edit-user
| {{_ 'edit'}}
diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js
index 6bb22f39..caf36020 100644
--- a/client/components/sidebar/sidebar.js
+++ b/client/components/sidebar/sidebar.js
@@ -1,3 +1,5 @@
+import { Cookies } from 'meteor/ostrio:cookies';
+const cookies = new Cookies();
Sidebar = null;
const defaultView = 'home';
@@ -111,8 +113,6 @@ BlazeComponent.extendComponent({
if (currentUser) {
Meteor.call('toggleMinicardLabelText');
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
cookies.remove('hiddenMinicardLabelText');
} else {
@@ -136,8 +136,6 @@ Template.homeSidebar.helpers({
if (currentUser) {
return (currentUser.profile || {}).hiddenMinicardLabelText;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
return true;
} else {
diff --git a/client/components/swimlanes/swimlaneHeader.js b/client/components/swimlanes/swimlaneHeader.js
index 69971b05..fbc45351 100644
--- a/client/components/swimlanes/swimlaneHeader.js
+++ b/client/components/swimlanes/swimlaneHeader.js
@@ -1,3 +1,5 @@
+import { Cookies } from 'meteor/ostrio:cookies';
+const cookies = new Cookies();
const { calculateIndexData } = Utils;
let swimlaneColors;
@@ -34,8 +36,6 @@ Template.swimlaneHeader.helpers({
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
diff --git a/client/components/swimlanes/swimlanes.jade b/client/components/swimlanes/swimlanes.jade
index b2e03afe..1dc23c59 100644
--- a/client/components/swimlanes/swimlanes.jade
+++ b/client/components/swimlanes/swimlanes.jade
@@ -20,28 +20,6 @@ template(name="swimlane")
if currentUser.isBoardMember
unless currentUser.isCommentOnly
+addListForm
- //if collapseSwimlane
- // // Minimize swimlanes next 2 lines below https://www.w3schools.com/howto/howto_js_accordion.asp
- // button(class="accordion")
- // div(class="panel")
- // .swimlane.js-lists.js-swimlane
- // if isMiniScreen
- // if currentListIsInThisSwimlane _id
- // +list(currentList)
- // unless currentList
- // each lists
- // +miniList(this)
- // if currentUser.isBoardMember
- // unless currentUser.isCommentOnly
- // +addListForm
- // else
- // each lists
- // +list(this)
- // if currentCardIsInThisList _id ../_id
- // +cardDetails(currentCard)
- // if currentUser.isBoardMember
- // unless currentUser.isCommentOnly
- // +addListForm
template(name="listsGroup")
.swimlane.list-group.js-lists
diff --git a/client/components/swimlanes/swimlanes.js b/client/components/swimlanes/swimlanes.js
index 9bc093be..d072a2a2 100644
--- a/client/components/swimlanes/swimlanes.js
+++ b/client/components/swimlanes/swimlanes.js
@@ -1,10 +1,12 @@
+import { Cookies } from 'meteor/ostrio:cookies';
+const cookies = new Cookies();
const { calculateIndex, enableClickOnTouch } = Utils;
function currentListIsInThisSwimlane(swimlaneId) {
const currentList = Lists.findOne(Session.get('currentList'));
return (
- currentList
- && (currentList.swimlaneId === swimlaneId || currentList.swimlaneId === '')
+ currentList &&
+ (currentList.swimlaneId === swimlaneId || currentList.swimlaneId === '')
);
}
@@ -12,14 +14,14 @@ function currentCardIsInThisList(listId, swimlaneId) {
const currentCard = Cards.findOne(Session.get('currentCard'));
const currentUser = Meteor.user();
if (
- currentUser
- && currentUser.profile
- && Utils.boardView() === 'board-view-swimlanes'
+ currentUser &&
+ currentUser.profile &&
+ Utils.boardView() === 'board-view-swimlanes'
)
return (
- currentCard
- && currentCard.listId === listId
- && currentCard.swimlaneId === swimlaneId
+ currentCard &&
+ currentCard.listId === listId &&
+ currentCard.swimlaneId === swimlaneId
);
// Default view: board-view-lists
else return currentCard && currentCard.listId === listId;
@@ -90,9 +92,9 @@ function initSortable(boardComponent, $listsDom) {
function userIsMember() {
return (
- Meteor.user()
- && Meteor.user().isBoardMember()
- && !Meteor.user().isCommentOnly()
+ Meteor.user() &&
+ Meteor.user().isBoardMember() &&
+ !Meteor.user().isCommentOnly()
);
}
@@ -103,8 +105,6 @@ function initSortable(boardComponent, $listsDom) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
@@ -146,26 +146,6 @@ BlazeComponent.extendComponent({
}
initSortable(boardComponent, $listsDom);
-
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
- if (cookies.has('collapseSwimlane')) {
- // Minimize swimlanes start https://www.w3schools.com/howto/howto_js_accordion.asp
- const acc = document.getElementsByClassName('accordion');
- let i;
- for (i = 0; i < acc.length; i++) {
- acc[i].addEventListener('click', function() {
- this.classList.toggle('active');
- const panel = this.nextElementSibling;
- if (panel.style.maxHeight) {
- panel.style.maxHeight = null;
- } else {
- panel.style.maxHeight = `${panel.scrollHeight}px`;
- }
- });
- }
- // Minimize swimlanes end https://www.w3schools.com/howto/howto_js_accordion.asp
- }
},
onCreated() {
this.draggingActive = new ReactiveVar(false);
@@ -203,8 +183,6 @@ BlazeComponent.extendComponent({
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
@@ -213,15 +191,15 @@ BlazeComponent.extendComponent({
}
const noDragInside = ['a', 'input', 'textarea', 'p'].concat(
- Utils.isMiniScreen()
- || (!Utils.isMiniScreen() && showDesktopDragHandles)
+ Utils.isMiniScreen() ||
+ (!Utils.isMiniScreen() && showDesktopDragHandles)
? ['.js-list-handle', '.js-swimlane-header-handle']
: ['.js-list-header'],
);
if (
- $(evt.target).closest(noDragInside.join(',')).length === 0
- && this.$('.swimlane').prop('clientHeight') > evt.offsetY
+ $(evt.target).closest(noDragInside.join(',')).length === 0 &&
+ this.$('.swimlane').prop('clientHeight') > evt.offsetY
) {
this._isDragging = true;
this._lastDragPositionX = evt.clientX;
@@ -255,8 +233,8 @@ BlazeComponent.extendComponent({
onCreated() {
this.currentBoard = Boards.findOne(Session.get('currentBoard'));
this.isListTemplatesSwimlane =
- this.currentBoard.isTemplatesBoard()
- && this.currentData().isListTemplatesSwimlane();
+ this.currentBoard.isTemplatesBoard() &&
+ this.currentData().isListTemplatesSwimlane();
this.currentSwimlane = this.currentData();
},
@@ -299,8 +277,6 @@ Template.swimlane.helpers({
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
@@ -310,9 +286,9 @@ Template.swimlane.helpers({
},
canSeeAddList() {
return (
- Meteor.user()
- && Meteor.user().isBoardMember()
- && !Meteor.user().isCommentOnly()
+ Meteor.user() &&
+ Meteor.user().isBoardMember() &&
+ !Meteor.user().isCommentOnly()
);
},
});
diff --git a/client/components/users/userHeader.js b/client/components/users/userHeader.js
index 1f0e3ef0..5f36ef54 100644
--- a/client/components/users/userHeader.js
+++ b/client/components/users/userHeader.js
@@ -1,3 +1,6 @@
+import { Cookies } from 'meteor/ostrio:cookies';
+const cookies = new Cookies();
+
Template.headerUserBar.events({
'click .js-open-header-member-menu': Popup.open('memberMenu'),
'click .js-change-avatar': Popup.open('changeAvatar'),
@@ -177,28 +180,20 @@ Template.changeSettingsPopup.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
+ } else if (cookies.has('showDesktopDragHandles')) {
+ return true;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
- if (cookies.has('showDesktopDragHandles')) {
- return true;
- } else {
- return false;
- }
+ return false;
}
},
hiddenSystemMessages() {
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hasHiddenSystemMessages;
+ } else if (cookies.has('hasHiddenSystemMessages')) {
+ return true;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
- if (cookies.has('hasHiddenSystemMessages')) {
- return true;
- } else {
- return false;
- }
+ return false;
}
},
showCardsCountAt() {
@@ -206,8 +201,6 @@ Template.changeSettingsPopup.helpers({
if (currentUser) {
return Meteor.user().getLimitToShowCardsCount();
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
return cookies.get('limitToShowCardsCount');
}
},
@@ -218,28 +211,20 @@ Template.changeSettingsPopup.events({
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleDesktopDragHandles');
+ } else if (cookies.has('showDesktopDragHandles')) {
+ cookies.remove('showDesktopDragHandles');
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
- if (cookies.has('showDesktopDragHandles')) {
- cookies.remove('showDesktopDragHandles');
- } else {
- cookies.set('showDesktopDragHandles', 'true');
- }
+ cookies.set('showDesktopDragHandles', 'true');
}
},
'click .js-toggle-system-messages'() {
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleSystemMessages');
+ } else if (cookies.has('hasHiddenSystemMessages')) {
+ cookies.remove('hasHiddenSystemMessages');
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
- if (cookies.has('hasHiddenSystemMessages')) {
- cookies.remove('hasHiddenSystemMessages');
- } else {
- cookies.set('hasHiddenSystemMessages', 'true');
- }
+ cookies.set('hasHiddenSystemMessages', 'true');
}
},
'click .js-apply-show-cards-at'(event, templateInstance) {
@@ -253,8 +238,6 @@ Template.changeSettingsPopup.events({
if (currentUser) {
Meteor.call('changeLimitToShowCardsCount', minLimit);
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
cookies.set('limitToShowCardsCount', minLimit);
}
Popup.back();
diff --git a/client/lib/utils.js b/client/lib/utils.js
index c90dd749..f4fc170a 100644
--- a/client/lib/utils.js
+++ b/client/lib/utils.js
@@ -1,7 +1,8 @@
+import { Cookies } from 'meteor/ostrio:cookies';
+const cookies = new Cookies();
+
Utils = {
setBoardView(view) {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
currentUser = Meteor.user();
if (currentUser) {
Meteor.user().setBoardView(view);
@@ -9,17 +10,12 @@ Utils = {
cookies.set('boardView', 'board-view-lists'); //true
} else if (view === 'board-view-swimlanes') {
cookies.set('boardView', 'board-view-swimlanes'); //true
- //} else if (view === 'board-view-collapse') {
- // cookies.set('boardView', 'board-view-swimlane'); //true
- // cookies.set('collapseSwimlane', 'true'); //true
} else if (view === 'board-view-cal') {
cookies.set('boardView', 'board-view-cal'); //true
}
},
unsetBoardView() {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
cookies.remove('boardView');
cookies.remove('collapseSwimlane');
},
@@ -29,17 +25,12 @@ Utils = {
if (currentUser) {
return (currentUser.profile || {}).boardView;
} else {
- import { Cookies } from 'meteor/ostrio:cookies';
- const cookies = new Cookies();
if (cookies.get('boardView') === 'board-view-lists') {
return 'board-view-lists';
} else if (
cookies.get('boardView') === 'board-view-swimlanes'
- //&& !cookies.has('collapseSwimlane')
) {
return 'board-view-swimlanes';
- //} else if (cookies.has('collapseSwimlane')) {
- // return 'board-view-swimlanes';
} else if (cookies.get('boardView') === 'board-view-cal') {
return 'board-view-cal';
} else {
diff --git a/docker-compose.yml b/docker-compose.yml
index a0e641c1..b33bda24 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -440,10 +440,10 @@ services:
# If the sync of the users should be done in the background
#- LDAP_BACKGROUND_SYNC=false
#
- # At which interval does the background task sync in milliseconds.
- # Leave this unset, so it uses default, and does not crash.
- # https://github.com/wekan/wekan/issues/2354#issuecomment-515305722
- - LDAP_BACKGROUND_SYNC_INTERVAL=''
+ # At which interval does the background task sync.
+ # The format must be as specified in:
+ # https://bunkat.github.io/later/parsers.html#text
+ #- LDAP_BACKGROUND_SYNC_INTERVAL='every 1 hour'
#
#- LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
#
@@ -559,7 +559,6 @@ services:
# example : LOGOUT_ON_MINUTES=55
#- LOGOUT_ON_MINUTES=
#-------------------------------------------------------------------
-
depends_on:
- wekandb
diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json
index dc777881..a9d44fac 100644
--- a/i18n/ar.i18n.json
+++ b/i18n/ar.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "يمكن التعليق على بطاقات فقط.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "حاسوب",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json
index acfc605f..879124d0 100644
--- a/i18n/bg.i18n.json
+++ b/i18n/bg.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Може да коментира само в карти.",
"no-comments": "Няма коментари",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Компютър",
"confirm-subtask-delete-dialog": "Сигурен ли сте, че искате да изтриете подзадачата?",
"confirm-checklist-delete-dialog": "Сигурни ли сте, че искате да изтриете този чеклист?",
diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json
index 1d38911e..05ce8197 100644
--- a/i18n/br.i18n.json
+++ b/i18n/br.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json
index d35ef090..e49f8a26 100644
--- a/i18n/ca.i18n.json
+++ b/i18n/ca.i18n.json
@@ -78,7 +78,7 @@
"add-attachment": "Afegeix adjunt",
"add-board": "Afegeix Tauler",
"add-card": "Afegeix Fitxa",
- "add-swimlane": "Afegix Carril de Natació",
+ "add-swimlane": "Afegeix carril de natació",
"add-subtask": "Afegir Subtasca",
"add-checklist": "Afegeix checklist",
"add-checklist-item": "Afegeix un ítem al checklist",
@@ -223,6 +223,8 @@
"comment-only-desc": "Només pots fer comentaris a les fitxes",
"no-comments": "Sense comentaris",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Ordinador",
"confirm-subtask-delete-dialog": "Esteu segur que voleu eliminar la subtasca?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json
index d09a5dbc..42aafea0 100644
--- a/i18n/cs.i18n.json
+++ b/i18n/cs.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Může přidávat komentáře pouze do karet.",
"no-comments": "Žádné komentáře",
"no-comments-desc": "Nemůže vidět komentáře a aktivity",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Počítač",
"confirm-subtask-delete-dialog": "Opravdu chcete smazat tento podúkol?",
"confirm-checklist-delete-dialog": "Opravdu chcete smazat tento checklist?",
diff --git a/i18n/da.i18n.json b/i18n/da.i18n.json
index 29c74d42..62f92635 100644
--- a/i18n/da.i18n.json
+++ b/i18n/da.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json
index 579df952..3704b5b9 100644
--- a/i18n/de.i18n.json
+++ b/i18n/de.i18n.json
@@ -137,7 +137,7 @@
"board-view": "Boardansicht",
"board-view-cal": "Kalender",
"board-view-swimlanes": "Swimlanes",
- "board-view-collapse": "Collapse",
+ "board-view-collapse": "Einklappen",
"board-view-lists": "Listen",
"bucket-example": "z.B. \"Löffelliste\"",
"cancel": "Abbrechen",
@@ -223,6 +223,8 @@
"comment-only-desc": "Kann Karten nur kommentieren.",
"no-comments": "Keine Kommentare",
"no-comments-desc": "Kann keine Kommentare und Aktivitäten sehen.",
+ "worker": "Arbeiter",
+ "worker-desc": "Kann nur Karten verschieben, sich selbst zuweisen und kommentieren.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Wollen Sie die Teilaufgabe wirklich löschen?",
"confirm-checklist-delete-dialog": "Wollen Sie die Checkliste wirklich löschen?",
diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json
index 2a3fc9ad..4ffe424a 100644
--- a/i18n/el.i18n.json
+++ b/i18n/el.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "Χωρίς σχόλια",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Υπολογιστής",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json
index cab60a9d..64f01ea0 100644
--- a/i18n/en-GB.i18n.json
+++ b/i18n/en-GB.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json
index fb8370e5..64fada1a 100644
--- a/i18n/en.i18n.json
+++ b/i18n/en.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json
index ed223199..e55286aa 100644
--- a/i18n/eo.i18n.json
+++ b/i18n/eo.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Komputilo",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json
index f63b5fc3..814d2d74 100644
--- a/i18n/es-AR.i18n.json
+++ b/i18n/es-AR.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Puede comentar en tarjetas solamente.",
"no-comments": "Sin comentarios",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computadora",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json
index 32cf26ea..f47e3c02 100644
--- a/i18n/es.i18n.json
+++ b/i18n/es.i18n.json
@@ -137,7 +137,7 @@
"board-view": "Vista del tablero",
"board-view-cal": "Calendario",
"board-view-swimlanes": "Carriles",
- "board-view-collapse": "Collapse",
+ "board-view-collapse": "Contraer",
"board-view-lists": "Listas",
"bucket-example": "Como “Cosas por hacer” por ejemplo",
"cancel": "Cancelar",
@@ -223,6 +223,8 @@
"comment-only-desc": "Solo puedes comentar en las tarjetas.",
"no-comments": "No hay comentarios",
"no-comments-desc": "No se pueden mostrar comentarios ni actividades.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "el ordenador",
"confirm-subtask-delete-dialog": "¿Seguro que quieres eliminar la subtarea?",
"confirm-checklist-delete-dialog": "¿Seguro que quieres eliminar la lista de verificación?",
@@ -750,6 +752,6 @@
"accounts-allowUserDelete": "Permitir a los usuarios eliminar su cuenta",
"hide-minicard-label-text": "Ocultar el texto de la etiqueta de la minitarjeta",
"show-desktop-drag-handles": "Mostrar los controles de arrastre del escritorio",
- "assignee": "Assignee",
- "cardAssigneesPopup-title": "Assignee"
+ "assignee": "Asignado",
+ "cardAssigneesPopup-title": "Asignado"
}
diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json
index aebee0f5..d4f81756 100644
--- a/i18n/eu.i18n.json
+++ b/i18n/eu.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Iruzkinak txarteletan soilik egin ditzake",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Ordenagailua",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json
index 3471a37e..9b5f686c 100644
--- a/i18n/fa.i18n.json
+++ b/i18n/fa.i18n.json
@@ -1,45 +1,45 @@
{
"accept": "پذیرش",
"act-activity-notify": "اعلان فعالیت",
- "act-addAttachment": "added attachment __attachment__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-deleteAttachment": "deleted attachment __attachment__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-addSubtask": "added subtask __subtask__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-addLabel": "Added label __label__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-addedLabel": "Added label __label__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-removeLabel": "Removed label __label__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-removedLabel": "Removed label __label__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-addChecklist": "added checklist __checklist__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-addChecklistItem": "added checklist item __checklistItem__ to checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-removeChecklist": "removed checklist __checklist__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-removeChecklistItem": "removed checklist item __checklistItem__ from checklist __checkList__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-checkedItem": "checked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-uncheckedItem": "unchecked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-completeChecklist": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-uncompleteChecklist": "uncompleted checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-addComment": "commented on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-editComment": "edited comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-deleteComment": "deleted comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-createBoard": "created board __board__",
- "act-createSwimlane": "created swimlane __swimlane__ to board __board__",
- "act-createCard": "created card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
- "act-createCustomField": "created custom field __customField__ at board __board__",
- "act-deleteCustomField": "deleted custom field __customField__ at board __board__",
- "act-setCustomField": "edited custom field __customField__: __customFieldValue__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-createList": "added list __list__ to board __board__",
- "act-addBoardMember": "added member __member__ to board __board__",
- "act-archivedBoard": "Board __board__ moved to Archive",
- "act-archivedCard": "Card __card__ at list __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
- "act-archivedList": "List __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
- "act-archivedSwimlane": "Swimlane __swimlane__ at board __board__ moved to Archive",
- "act-importBoard": "imported board __board__",
- "act-importCard": "imported card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
- "act-importList": "imported list __list__ to swimlane __swimlane__ at board __board__",
- "act-joinMember": "added member __member__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
- "act-moveCardToOtherBoard": "moved card __card__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to list __list__ at swimlane __swimlane__ at board __board__",
- "act-removeBoardMember": "removed member __member__ from board __board__",
- "act-restoredCard": "restored card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
- "act-unjoinMember": "removed member __member__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
+ "act-addAttachment": "ضمیمه __attachment__ را به کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ اضافه کرد",
+ "act-deleteAttachment": "ضمیمه __attachment__ را از کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ حذف کرد",
+ "act-addSubtask": "زیر وظیفه __subtask__ را به کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ اضافه کرد",
+ "act-addLabel": "برچسب __label__ را به کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ اضافه کرد",
+ "act-addedLabel": "برچسب __label__ را به کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ اضافه کرد",
+ "act-removeLabel": "برچسب __label__ را از کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ حذف کرد",
+ "act-removedLabel": "برچسب __label__ را از کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ حذف کرد",
+ "act-addChecklist": "سیاهه __checklist__ را به کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ اضافه کرد",
+ "act-addChecklistItem": "چک لیست __checklistItem__ را به سیاهه __checklist__ در کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ اضافه کرد",
+ "act-removeChecklist": "سیاهه __checklist__ را از کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ حذف کرد",
+ "act-removeChecklistItem": "چک لیست __checklistItem__ را از سیاهه __checkList__ در کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ حذف کرد",
+ "act-checkedItem": "چک لیست __checklistItem__ را از سیاهه __checklist__ در کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ تیک زد",
+ "act-uncheckedItem": "چک لیست __checklistItem__ را از سیاهه __checklist__ در کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ بدونِ تیک کرد",
+ "act-completeChecklist": "سیاهه __checklist__ را در کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ کامل کرد",
+ "act-uncompleteChecklist": "سیاهه __checklist__ را در کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ ناقص کرد",
+ "act-addComment": "روی کارت __card__ نظر داد: __comment__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__",
+ "act-editComment": "نظر روی کارت __card__ را ویرایش کرد: __comment__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__",
+ "act-deleteComment": "نظر روی کارت __card__ را حذف کرد: __comment__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__",
+ "act-createBoard": "برد __board__ را ایجاد کرد",
+ "act-createSwimlane": "مسیر شناور __swimlane__ را در برد __board__ ایجاد کرد",
+ "act-createCard": "کارت __card__ را در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ ایجاد کرد",
+ "act-createCustomField": "فیلد شخصی __customField__ را در برد __board__ ایجاد کرد",
+ "act-deleteCustomField": "فیلد شخصی __customField__ را در برد __board__ حذف کرد",
+ "act-setCustomField": "فیلد شخصی __customField__ را ویرایش کرد: __customFieldValue__ در کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__",
+ "act-createList": "لیست __list__ را به برد __board__ اضافه کرد",
+ "act-addBoardMember": "عضو __member__ را به برد __board__ اضافه کرد",
+ "act-archivedBoard": "برد __board__ را بایگانی کرد",
+ "act-archivedCard": "کارت __card__ را در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ بایگانی کرد",
+ "act-archivedList": "لیست __list__ را در مسیر شناور __swimlane__ در برد __board__ بایگانی کرد",
+ "act-archivedSwimlane": "مسیر شناور __swimlane__ را در برد __board__ بایگانی کرد",
+ "act-importBoard": "برد __board__ را وارد کرد",
+ "act-importCard": "کارت __card__ را به لیست __list__ در مسیر شناور __swimlane__ در برد __board__ وارد کرد",
+ "act-importList": "لیست __list__ را به مسیر شناور __swimlane__ در برد __board__ وارد کرد",
+ "act-joinMember": "عضو __member__ را به کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ اضافه کرد",
+ "act-moveCard": "کارت __card__ را در برد __board__ از لیست __oldList__ در مسیر شناور __oldSwimlane__ به لیست __list__ در مسیر شناور __swimlane__ منتقل کرد",
+ "act-moveCardToOtherBoard": "کارت __card__ را از لیست __oldList__ در مسیر شناور __oldSwimlane__ در برد __oldBoard__ به لیست __list__ در مسیر شناور __swimlane__ در برد __board__ منتقل کرد",
+ "act-removeBoardMember": "عضو __member__ را از برد __board__ حذف کرد",
+ "act-restoredCard": "کارت __card__ را به لیست __list__ در مسیر شناور __swimlane__ در برد __board__ بازگرداند",
+ "act-unjoinMember": "عضو __member__ را از کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ حذف کرد",
"act-withBoardTitle": "__board__",
"act-withCardTitle": "[__board__] __card__",
"actions": "اعمال",
@@ -64,21 +64,21 @@
"activity-unchecked-item": "چک نشده %s در چک لیست %s از %s",
"activity-checklist-added": "سیاهه به %s اضافه شد",
"activity-checklist-removed": "از چک لیست حذف گردید",
- "activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
+ "activity-checklist-completed": "سیاهه __checklist__ را در کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ کامل کرد",
"activity-checklist-uncompleted": "تمام نشده ها در چک لیست %s از %s",
"activity-checklist-item-added": "added checklist item to '%s' in %s",
"activity-checklist-item-removed": "حذف شده از چک لیست '%s' در %s",
"add": "افزودن",
"activity-checked-item-card": "چک شده %s در چک لیست %s",
"activity-unchecked-item-card": "چک نشده %s در چک لیست %s",
- "activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
+ "activity-checklist-completed-card": "سیاهه __checklist__ را در کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ کامل کرد",
"activity-checklist-uncompleted-card": "چک لیست تمام نشده %s",
- "activity-editComment": "edited comment %s",
- "activity-deleteComment": "deleted comment %s",
+ "activity-editComment": "نظر ویرایش شد %s",
+ "activity-deleteComment": "نظر حذف شد %s",
"add-attachment": "افزودن ضمیمه",
"add-board": "افزودن برد",
"add-card": "افزودن کارت",
- "add-swimlane": "Add Swimlane",
+ "add-swimlane": "اضافه کردن مسیر شناور",
"add-subtask": "افزودن زیر وظیفه",
"add-checklist": "افزودن چک لیست",
"add-checklist-item": "افزودن مورد به سیاهه",
@@ -89,11 +89,11 @@
"added": "اضافه گردید",
"addMemberPopup-title": "اعضا",
"admin": "مدیر",
- "admin-desc": "امکان دیدن و ویرایش کارتها،پاک کردن کاربران و تغییر تنظیمات برای تخته",
+ "admin-desc": "امکان دیدن و ویرایش کارت‌ها، پاک کردن کاربران و تغییر تنظیمات برای برد.",
"admin-announcement": "اعلان",
"admin-announcement-active": "اعلان سراسری فعال",
"admin-announcement-title": "اعلان از سوی مدیر",
- "all-boards": "تمام تخته‌ها",
+ "all-boards": "تمام بردها",
"and-n-other-card": "و __count__ کارت دیگر",
"and-n-other-card_plural": "و __count__ کارت دیگر",
"apply": "اعمال",
@@ -108,7 +108,7 @@
"archiveBoardPopup-title": "انتقال برد به آرشیو؟",
"archived-items": "بایگانی",
"archived-boards": "برد های داخل آرشیو",
- "restore-board": "بازیابی تخته",
+ "restore-board": "بازیابی برد",
"no-archived-boards": "هیچ بردی داخل آرشیو نیست",
"archives": "بایگانی",
"template": "Template",
@@ -119,22 +119,22 @@
"attachment-delete-pop": "حذف پیوست دایمی و بی بازگشت خواهد بود.",
"attachmentDeletePopup-title": "آیا می خواهید ضمیمه را حذف کنید؟",
"attachments": "ضمائم",
- "auto-watch": "اضافه شدن خودکار دیده بانی تخته زمانی که ایجاد می شوند",
+ "auto-watch": "اضافه شدن خودکار دیده‌بانی بردها زمانی که ایجاد می‌شوند",
"avatar-too-big": "تصویر کاربر بسیار بزرگ است ـ حداکثر۷۰ کیلوبایت ـ",
"back": "بازگشت",
"board-change-color": "تغییر رنگ",
"board-nb-stars": "%s ستاره",
- "board-not-found": "تخته مورد نظر پیدا نشد",
- "board-private-info": "این تخته <strong>خصوصی</strong> خواهد بود.",
- "board-public-info": "این تخته <strong>عمومی</strong> خواهد بود.",
- "boardChangeColorPopup-title": "تغییر پس زمینه تخته",
- "boardChangeTitlePopup-title": "تغییر نام تخته",
+ "board-not-found": "برد مورد نظر پیدا نشد",
+ "board-private-info": "این برد <strong>خصوصی</strong> خواهد بود.",
+ "board-public-info": "این برد <strong>عمومی</strong> خواهد بود.",
+ "boardChangeColorPopup-title": "تغییر پس زمینه برد",
+ "boardChangeTitlePopup-title": "تغییر نام برد",
"boardChangeVisibilityPopup-title": "تغییر وضعیت نمایش",
"boardChangeWatchPopup-title": "تغییر دیده بانی",
"boardMenuPopup-title": "Board Settings",
- "boardChangeViewPopup-title": "نمایش تخته",
- "boards": "تخته‌ها",
- "board-view": "نمایش تخته",
+ "boardChangeViewPopup-title": "نمایش برد",
+ "boards": "بردها",
+ "board-view": "نمایش برد",
"board-view-cal": "تقویم",
"board-view-swimlanes": "Swimlanes",
"board-view-collapse": "Collapse",
@@ -172,7 +172,7 @@
"casSignIn": "ورود با استفاده از CAS",
"cardType-card": "کارت",
"cardType-linkedCard": "کارت‌های مرتبط",
- "cardType-linkedBoard": "تخته‌های مرتبط",
+ "cardType-linkedBoard": "برد مرتبط",
"change": "تغییر",
"change-avatar": "تغییر تصویر",
"change-password": "تغییر کلمه عبور",
@@ -223,6 +223,8 @@
"comment-only-desc": "فقط می‌تواند روی کارت‌ها نظر دهد.",
"no-comments": "هیچ کامنتی موجود نیست",
"no-comments-desc": "نظرات و فعالیت ها را نمی توان دید.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "رایانه",
"confirm-subtask-delete-dialog": "از حذف این زیر وظیفه اطمینان دارید؟",
"confirm-checklist-delete-dialog": "مطمئنا چک لیست پاک شود؟",
@@ -234,8 +236,8 @@
"copyChecklistToManyCardsPopup-instructions": "عنوان و توضیحات کارت مقصد در این قالب JSON",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"create": "ایجاد",
- "createBoardPopup-title": "ایجاد تخته",
- "chooseBoardSourcePopup-title": "بارگذاری تخته",
+ "createBoardPopup-title": "ایجاد برد",
+ "chooseBoardSourcePopup-title": "بارگذاری برد",
"createLabelPopup-title": "ایجاد برچسب",
"createCustomField": "ایجاد فیلد",
"createCustomFieldPopup-title": "ایجاد فیلد",
@@ -283,16 +285,16 @@
"email-invalid": "رایانامه نادرست",
"email-invite": "دعوت از طریق رایانامه",
"email-invite-subject": "__inviter__ برای شما دعوت نامه ارسال کرده است",
- "email-invite-text": "__User__ عزیز\n __inviter__ شما را به عضویت تخته \"__board__\" برای همکاری دعوت کرده است.\nلطفا لینک زیر را دنبال کنید، باتشکر:\n__url__",
+ "email-invite-text": "__User__ عزیز\n __inviter__ شما را به عضویت برد \"__board__\" برای همکاری دعوت کرده است.\nلطفا لینک زیر را دنبال کنید، باتشکر:\n__url__",
"email-resetPassword-subject": "تنظیم مجدد کلمه عبور در __siteName__",
"email-resetPassword-text": "سلام __user__\nجهت تنظیم مجدد کلمه عبور آدرس زیر را دنبال نمایید، باتشکر:\n__url__",
"email-sent": "نامه الکترونیکی فرستاده شد",
"email-verifyEmail-subject": "تایید آدرس الکترونیکی شما در __siteName__",
"email-verifyEmail-text": "سلام __user__\nبه منظور تایید آدرس الکترونیکی حساب خود، آدرس زیر را دنبال نمایید، باتشکر:\n__url__.",
"enable-wip-limit": "Enable WIP Limit",
- "error-board-doesNotExist": "تخته مورد نظر وجود ندارد",
- "error-board-notAdmin": "شما جهت انجام آن باید مدیر تخته باشید",
- "error-board-notAMember": "شما انجام آن ،اید عضو این تخته باشید.",
+ "error-board-doesNotExist": "برد مورد نظر وجود ندارد",
+ "error-board-notAdmin": "شما جهت انجام آن باید مدیر برد باشید",
+ "error-board-notAMember": "شما برای انجام آن، باید عضو این برد باشید",
"error-json-malformed": "متن درغالب صحیح Json نمی باشد.",
"error-json-schema": "داده های Json شما، شامل اطلاعات صحیح در غالب درستی نمی باشد.",
"error-list-doesNotExist": "این لیست موجود نیست",
@@ -301,9 +303,9 @@
"error-user-notCreated": "این کاربر ایجاد نشده است",
"error-username-taken": "این نام کاربری استفاده شده است",
"error-email-taken": "رایانامه توسط گیرنده دریافت شده است",
- "export-board": "انتقال به بیرون تخته",
- "sort": "Sort",
- "sort-desc": "Click to Sort List",
+ "export-board": "انتقال به بیرون برد",
+ "sort": "مرتب سازی",
+ "sort-desc": "برای مرتب سازی لیست کلیک کنید",
"list-sort-by": "Sort the List By:",
"list-label-modifiedAt": "Last Access Time",
"list-label-title": "Name of the List",
@@ -311,30 +313,30 @@
"list-label-short-modifiedAt": "(L)",
"list-label-short-title": "(N)",
"list-label-short-sort": "(M)",
- "filter": "صافی ـFilterـ",
+ "filter": "صافی ـ فیلتر ـ",
"filter-cards": "Filter Cards or Lists",
"list-filter-label": "Filter List by Title",
- "filter-clear": "حذف صافی ـFilterـ",
+ "filter-clear": "حذف صافی ـ فیلتر ـ",
"filter-no-label": "بدون برچسب",
"filter-no-member": "بدون عضو",
"filter-no-custom-fields": "هیچ فیلدشخصی ای وجود ندارد",
"filter-show-archive": "Show archived lists",
"filter-hide-empty": "Hide empty lists",
- "filter-on": "صافی ـFilterـ فعال است",
- "filter-on-desc": "شما صافی ـFilterـ برای کارتهای تخته را روشن کرده اید. جهت ویرایش کلیک نمایید.",
- "filter-to-selection": "صافی ـFilterـ برای موارد انتخابی",
- "advanced-filter-label": "صافی پیشرفته",
+ "filter-on": "صافی ـ فیلتر ـ فعال است",
+ "filter-on-desc": "شما درحال صافی ـ فیلتر ـ کارت‌های این برد هستید. برای ویرایش فیلتر کلیک نمایید.",
+ "filter-to-selection": "صافی ـ فیلتر ـ برای موارد انتخابی",
+ "advanced-filter-label": "صافی ـ فیلتر ـ پیشرفته",
"advanced-filter-description": "فیلتر پیشرفته اجازه می دهد تا برای نوشتن رشته حاوی اپراتورهای زیر: ==! = <=> = && || () یک فضای به عنوان یک جداساز بین اپراتورها استفاده می شود. با تایپ کردن نام ها و مقادیر آنها می توانید برای تمام زمینه های سفارشی فیلتر کنید. به عنوان مثال: Field1 == Value1. نکته: اگر فیلدها یا مقادیر حاوی فضاها باشند، شما باید آنها را به یک نقل قول کپسول کنید. برای مثال: 'فیلد 1' == 'مقدار 1'. برای تک تک کاراکترهای کنترل (\\\\) که می توانید از آنها استفاده کنید، می توانید از \\ استفاده کنید. به عنوان مثال: Field1 == I \\ 'm. همچنین شما می توانید شرایط مختلف را ترکیب کنید. برای مثال: F1 == V1 || F1 == V2. به طور معمول همه اپراتورها از چپ به راست تفسیر می شوند. شما می توانید سفارش را با قرار دادن براکت تغییر دهید. برای مثال: F1 == V1 && (F2 == V2 || F2 == V3). همچنین می توانید فیلدهای متنی را با استفاده از regex جستجو کنید: F1 == /Tes.*/i",
"fullname": "نام و نام خانوادگی",
- "header-logo-title": "بازگشت به صفحه تخته.",
+ "header-logo-title": "بازگشت به صفحه بردها.",
"hide-system-messages": "عدم نمایش پیامهای سیستمی",
- "headerBarCreateBoardPopup-title": "ایجاد تخته",
+ "headerBarCreateBoardPopup-title": "ایجاد برد",
"home": "خانه",
"import": "وارد کردن",
"link": "ارتباط",
- "import-board": "وارد کردن تخته",
- "import-board-c": "وارد کردن تخته",
- "import-board-title-trello": "وارد کردن تخته از Trello",
+ "import-board": "وارد کردن برد",
+ "import-board-c": "وارد کردن برد",
+ "import-board-title-trello": "وارد کردن برد از Trello",
"import-board-title-wekan": "بارگذاری برد ها از آخرین خروجی",
"import-sandstorm-backup-warning": "قبل از بررسی این داده ها را از صفحه اصلی صادر شده یا Trello وارد نمیکنید این دانه دوباره باز می شود و یا دوباره باز می شود، یا برد را پیدا نمی کنید، این بدان معنی است که از دست دادن اطلاعات.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
@@ -355,7 +357,7 @@
"invalid-time": "زمان نامعتبر",
"invalid-user": "کاربر نامعتیر",
"joined": "متصل",
- "just-invited": "هم اکنون، شما به این تخته دعوت شده اید.",
+ "just-invited": "هم اکنون، شما به این برد دعوت شده‌اید.",
"keyboard-shortcuts": "میانبر کلیدها",
"label-create": "ایجاد برچسب",
"label-default": "%s برچسب(پیش فرض)",
@@ -363,7 +365,7 @@
"labels": "برچسب ها",
"language": "زبان",
"last-admin-desc": "شما نمی توانید نقش ـroleـ را تغییر دهید چراکه باید حداقل یک مدیری وجود داشته باشد.",
- "leave-board": "خروج از تخته",
+ "leave-board": "خروج از برد",
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
"leaveBoardPopup-title": "Leave Board ?",
"link-card": "ارجاع به این کارت",
@@ -396,8 +398,8 @@
"multi-selection": "امکان چند انتخابی",
"multi-selection-on": "حالت چند انتخابی روشن است",
"muted": "بی صدا",
- "muted-info": "شما هیچگاه از تغییرات این تخته مطلع نخواهید شد",
- "my-boards": "تخته‌های من",
+ "muted-info": "شما هیچگاه از تغییرات این برد مطلع نخواهید شد",
+ "my-boards": "بردهای من",
"name": "نام",
"no-archived-cards": "هیچ کارتی در آرشیو موجود نمی باشد",
"no-archived-lists": "هیچ لیستی در آرشیو موجود نمی باشد",
@@ -407,7 +409,7 @@
"normal-desc": "امکان نمایش و تنظیم کارت بدون امکان تغییر تنظیمات",
"not-accepted-yet": "دعوت نامه هنوز پذیرفته نشده است",
"notify-participate": "اطلاع رسانی از هرگونه تغییر در کارتهایی که ایجاد کرده اید ویا عضو آن هستید",
- "notify-watch": "اطلاع رسانی از هرگونه تغییر در تخته، لیست یا کارتهایی که از آنها دیده بانی میکنید",
+ "notify-watch": "اطلاع رسانی از هرگونه تغییر در بردها، لیست‌ها یا کارت‌هایی که از آنها دیده‌بانی می‌کنید",
"optional": "انتخابی",
"or": "یا",
"page-maybe-private": "این صفحه ممکن است خصوصی باشد. شما با<a href='%s'>ورود</a> می‌توانید آن را ببینید.",
@@ -419,21 +421,21 @@
"previewAttachedImagePopup-title": "پیش‌نمایش",
"previewClipboardImagePopup-title": "پیش‌نمایش",
"private": "خصوصی",
- "private-desc": "این تخته خصوصی است. فقط تنها افراد اضافه شده به آن می توانند مشاهده و ویرایش کنند.",
+ "private-desc": "این برد خصوصی است. فقط افراد اضافه شده به برد می‌توانند مشاهده و ویرایش کنند.",
"profile": "حساب کاربری",
"public": "عمومی",
- "public-desc": "این تخته عمومی است. برای هر کسی با آدرس ویا جستجو درموتورها مانند گوگل قابل مشاهده است . فقط افرادی که به آن اضافه شده اند امکان ویرایش دارند.",
- "quick-access-description": "جهت افزودن یک تخته به اینجا،آنرا ستاره دار نمایید.",
+ "public-desc": "این برد عمومی است. برای هر کسی با آدرس و یا جستجو در موتورها مانند گوگل قابل مشاهده است. فقط افرادی که به برد اضافه شده‌اند امکان ویرایش دارند.",
+ "quick-access-description": "جهت افزودن یک برد به اینجا، آن را ستاره دار نمایید.",
"remove-cover": "حذف کاور",
- "remove-from-board": "حذف از تخته",
+ "remove-from-board": "حذف از برد",
"remove-label": "حذف برچسب",
"listDeletePopup-title": "حذف فهرست؟",
"remove-member": "حذف عضو",
"remove-member-from-card": "حذف از کارت",
- "remove-member-pop": "آیا __name__ (__username__) را از __boardTitle__ حذف می کنید? کاربر از تمام کارت ها در این تخته حذف خواهد شد و آنها ازین اقدام مطلع خواهند شد.",
+ "remove-member-pop": "آیا __name__ (__username__) را از __boardTitle__ حذف می‌کنید؟ کاربر از تمام کارت‌ها در این برد حذف خواهد شد. آنها از این اقدام مطلع خواهند شد.",
"removeMemberPopup-title": "آیا می خواهید کاربر را حذف کنید؟",
"rename": "تغیر نام",
- "rename-board": "تغییر نام تخته",
+ "rename-board": "تغییر نام برد",
"restore": "بازیابی",
"save": "ذخیره",
"search": "جستجو",
@@ -446,22 +448,22 @@
"shortcut-assign-self": "اختصاص خود به کارت فعلی",
"shortcut-autocomplete-emoji": "تکمیل خودکار شکلکها",
"shortcut-autocomplete-members": "تکمیل خودکار کاربرها",
- "shortcut-clear-filters": "حذف تمامی صافی ـfilterـ",
+ "shortcut-clear-filters": "حذف تمامی صافی‌ها ـ فیلترها ـ",
"shortcut-close-dialog": "بستن محاوره",
"shortcut-filter-my-cards": "کارت های من",
"shortcut-show-shortcuts": "بالا آوردن میانبر این لیست",
- "shortcut-toggle-filterbar": "ضامن نوار جداکننده صافی ـfilterـ",
- "shortcut-toggle-sidebar": "ضامن نوار جداکننده تخته",
+ "shortcut-toggle-filterbar": "ضامن نوار جداکننده صافی ـ فیلتر ـ",
+ "shortcut-toggle-sidebar": "ضامن نوار جداکننده برد",
"show-cards-minimum-count": "نمایش تعداد کارتها اگر لیست شامل بیشتراز",
"sidebar-open": "بازکردن جداکننده",
"sidebar-close": "بستن جداکننده",
"signupPopup-title": "ایجاد یک کاربر",
- "star-board-title": "برای ستاره دادن، کلیک کنید.این در بالای لیست تخته های شما نمایش داده خواهد شد.",
- "starred-boards": "تخته های ستاره دار",
- "starred-boards-description": "تخته های ستاره دار در بالای لیست تخته ها نمایش داده می شود.",
+ "star-board-title": "برای ستاره دار کردن این برد کلیک کنید. این در بالای لیست بردهای شما نمایش داده خواهد شد.",
+ "starred-boards": "بردهای ستاره دار",
+ "starred-boards-description": "بردهای ستاره دار در بالای لیست بردها نمایش داده می‌شود.",
"subscribe": "عضوشدن",
"team": "تیم",
- "this-board": "این تخته",
+ "this-board": "این برد",
"this-card": "این کارت",
"spent-time-hours": "زمان صرف شده (ساعت)",
"overtime-hours": "Overtime (hours)",
@@ -484,8 +486,8 @@
"warn-list-archived": "اخطار:این کارت در یک لیست در آرشیو موجود می باشد",
"watch": "دیده بانی",
"watching": "درحال دیده بانی",
- "watching-info": "شما از هر تغییری دراین تخته آگاه خواهید شد",
- "welcome-board": "به این تخته خوش آمدید",
+ "watching-info": "شما از هر تغییری در این برد آگاه خواهید شد",
+ "welcome-board": "به این برد خوش آمدید",
"welcome-swimlane": "Milestone 1",
"welcome-list1": "پایه ای ها",
"welcome-list2": "پیشرفته",
@@ -503,7 +505,7 @@
"disable-self-registration": "‌غیرفعال‌سازی خودثبت‌نامی",
"invite": "دعوت",
"invite-people": "دعوت از افراد",
- "to-boards": "به تخته(ها)",
+ "to-boards": "به برد(ها)",
"email-addresses": "نشانی رایانامه",
"smtp-host-description": "آدرس سرور SMTP ای که پست الکترونیکی شما برروی آن است",
"smtp-port-description": "شماره درگاه ـPortـ ای که سرور SMTP شما جهت ارسال از آن استفاده می کند",
@@ -575,8 +577,8 @@
"requested-by": "تقاضا شده توسط",
"board-delete-notice": "حذف دائمی است شما تمام لیست ها، کارت ها و اقدامات مرتبط با این برد را از دست خواهید داد.",
"delete-board-confirm-popup": "تمام لیست ها، کارت ها، برچسب ها و فعالیت ها حذف خواهند شد و شما نمی توانید محتوای برد را بازیابی کنید. هیچ واکنشی وجود ندارد",
- "boardDeletePopup-title": "حذف تخته؟",
- "delete-board": "حذف تخته",
+ "boardDeletePopup-title": "حذف برد؟",
+ "delete-board": "حذف برد",
"default-subtasks-board": "ریزکار برای __board__ برد",
"default": "پیش‌فرض",
"queue": "صف",
@@ -697,7 +699,7 @@
"r-swimlane-name": "نام مسیر شناور",
"r-board-note": "نکته: برای نمایش موارد ممکن کادر را خالی بگذارید.",
"r-checklist-note": "نکته: چک‌لیست‌ها باید توسط کاما از یک‌دیگر جدا شوند.",
- "r-when-a-card-is-moved": "دمانی که یک کارت به لیست دیگری منتقل شد",
+ "r-when-a-card-is-moved": "زمانی که یک کارت به لیست دیگری منتقل شد",
"r-set": "Set",
"r-update": "Update",
"r-datefield": "date field",
diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json
index 7249def3..625ee3d7 100644
--- a/i18n/fi.i18n.json
+++ b/i18n/fi.i18n.json
@@ -4,10 +4,10 @@
"act-addAttachment": "lisätty liite __attachment__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-deleteAttachment": "poistettu liite __attachment__ kortilla __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-addSubtask": "lisätty alitehtävä __subtask__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
- "act-addLabel": "Lisätty tunniste __label__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
- "act-addedLabel": "Lisätty tunniste __label__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
- "act-removeLabel": "Poistettu tunniste __label__ kortilta __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
- "act-removedLabel": "Poistettu tunniste __label__ kortilta __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
+ "act-addLabel": "Lisätty nimilappu __label__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
+ "act-addedLabel": "Lisätty nimilappu __label__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
+ "act-removeLabel": "Poistettu nimilappu __label__ kortilta __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
+ "act-removedLabel": "Poistettu nimilappu __label__ kortilta __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-addChecklist": "lisätty tarkistuslista __checklist__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-addChecklistItem": "lisätty tarkistuslistan kohta __checklistItem__ tarkistuslistalle __checklist__ kortilla __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-removeChecklist": "poistettu tarkistuslista __checklist__ kortilta __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
@@ -83,7 +83,7 @@
"add-checklist": "Lisää tarkistuslista",
"add-checklist-item": "Lisää kohta tarkistuslistaan",
"add-cover": "Lisää kansi",
- "add-label": "Lisää tunniste",
+ "add-label": "Lisää nimilappu",
"add-list": "Lisää lista",
"add-members": "Lisää jäseniä",
"added": "Lisätty",
@@ -152,9 +152,9 @@
"card-spent": "Käytetty aika",
"card-edit-attachments": "Muokkaa liitetiedostoja",
"card-edit-custom-fields": "Muokkaa mukautettuja kenttiä",
- "card-edit-labels": "Muokkaa tunnisteita",
+ "card-edit-labels": "Muokkaa nimilappuja",
"card-edit-members": "Muokkaa jäseniä",
- "card-labels-title": "Muokkaa kortin tunnisteita.",
+ "card-labels-title": "Muokkaa kortin nimilappuja.",
"card-members-title": "Lisää tai poista taulun jäseniä tältä kortilta.",
"card-start": "Alkaa",
"card-start-on": "Alkaa",
@@ -163,7 +163,7 @@
"cardCustomFieldsPopup-title": "Muokkaa mukautettuja kenttiä",
"cardDeletePopup-title": "Poista kortti?",
"cardDetailsActionsPopup-title": "Korttitoimet",
- "cardLabelsPopup-title": "Tunnisteet",
+ "cardLabelsPopup-title": "Nimilaput",
"cardMembersPopup-title": "Jäsenet",
"cardMorePopup-title": "Lisää",
"cardTemplatePopup-title": "Luo malli",
@@ -223,6 +223,8 @@
"comment-only-desc": "Voi vain kommentoida kortteja",
"no-comments": "Ei kommentteja",
"no-comments-desc": "Ei voi nähdä kommentteja ja toimintaa.",
+ "worker": "Työntekijä",
+ "worker-desc": "Voi vain siirtää kortteja, ilmoittautua kortin käsittelijäksi ja kommentoida.",
"computer": "Tietokone",
"confirm-subtask-delete-dialog": "Haluatko varmasti poistaa alitehtävän?",
"confirm-checklist-delete-dialog": "Haluatko varmasti poistaa tarkistuslistan?",
@@ -236,7 +238,7 @@
"create": "Luo",
"createBoardPopup-title": "Luo taulu",
"chooseBoardSourcePopup-title": "Tuo taulu",
- "createLabelPopup-title": "Luo tunniste",
+ "createLabelPopup-title": "Luo nimilappu",
"createCustomField": "Luo kenttä",
"createCustomFieldPopup-title": "Luo kenttä",
"current": "nykyinen",
@@ -256,9 +258,9 @@
"default-avatar": "Oletusprofiilikuva",
"delete": "Poista",
"deleteCustomFieldPopup-title": "Poista mukautettu kenttä?",
- "deleteLabelPopup-title": "Poista tunniste?",
+ "deleteLabelPopup-title": "Poista nimilappu?",
"description": "Kuvaus",
- "disambiguateMultiLabelPopup-title": "Yksikäsitteistä tunnistetoiminta",
+ "disambiguateMultiLabelPopup-title": "Yksikäsitteistä nimilapputoiminta",
"disambiguateMultiMemberPopup-title": "Yksikäsitteistä jäsentoiminta",
"discard": "Hylkää",
"done": "Valmis",
@@ -272,7 +274,7 @@
"editCardDueDatePopup-title": "Muokkaa eräpäivää",
"editCustomFieldPopup-title": "Muokkaa kenttää",
"editCardSpentTimePopup-title": "Muuta käytettyä aikaa",
- "editLabelPopup-title": "Muokkaa tunnistetta",
+ "editLabelPopup-title": "Muokkaa nimilappua",
"editNotificationPopup-title": "Muokkaa ilmoituksia",
"editProfilePopup-title": "Muokkaa profiilia",
"email": "Sähköposti",
@@ -315,7 +317,7 @@
"filter-cards": "Suodata kortit tai listat",
"list-filter-label": "Suodata listat otsikon mukaan",
"filter-clear": "Poista suodatin",
- "filter-no-label": "Ei tunnistetta",
+ "filter-no-label": "Ei nimilappua",
"filter-no-member": "Ei jäseniä",
"filter-no-custom-fields": "Ei mukautettuja kenttiä",
"filter-show-archive": "Näytä arkistoidut listat",
@@ -357,10 +359,10 @@
"joined": "liittyi",
"just-invited": "Sinut on juuri kutsuttu tälle taululle",
"keyboard-shortcuts": "Pikanäppäimet",
- "label-create": "Luo tunniste",
- "label-default": "%s tunniste (oletus)",
- "label-delete-pop": "Tätä ei voi peruuttaa. Tämä poistaa tämän tunnisteen kaikista korteista ja tuhoaa sen historian.",
- "labels": "Tunnisteet",
+ "label-create": "Luo nimilappu",
+ "label-default": "%s nimilappu (oletus)",
+ "label-delete-pop": "Tätä ei voi peruuttaa. Tämä poistaa tämän nimilapun kaikista korteista ja tuhoaa sen historian.",
+ "labels": "Nimilaput",
"language": "Kieli",
"last-admin-desc": "Et voi vaihtaa rooleja koska täytyy olla olemassa ainakin yksi ylläpitäjä.",
"leave-board": "Jää pois taululta",
@@ -426,7 +428,7 @@
"quick-access-description": "Merkkaa taulu tähdellä lisätäksesi pikavalinta tähän palkkiin.",
"remove-cover": "Poista kansi",
"remove-from-board": "Poista taululta",
- "remove-label": "Poista tunniste",
+ "remove-label": "Poista nimilappu",
"listDeletePopup-title": "Poista lista?",
"remove-member": "Poista jäsen",
"remove-member-from-card": "Poista kortilta",
@@ -552,7 +554,7 @@
"seconds": "sekuntia",
"show-field-on-card": "Näytä tämä kenttä kortilla",
"automatically-field-on-card": "Luo kenttä automaattisesti kaikille korteille",
- "showLabel-field-on-card": "Näytä kentän tunniste minikortilla",
+ "showLabel-field-on-card": "Näytä kentän nimilappu minikortilla",
"yes": "Kyllä",
"no": "Ei",
"accounts": "Tilit",
@@ -574,7 +576,7 @@
"assigned-by": "Tehtävänantaja",
"requested-by": "Pyytäjä",
"board-delete-notice": "Poistaminen on lopullista. Menetät kaikki listat, kortit ja toimet tällä taululla.",
- "delete-board-confirm-popup": "Kaikki listat, kortit, tunnisteet ja toimet poistetaan ja et pysty palauttamaan taulun sisältöä. Tätä ei voi peruuttaa.",
+ "delete-board-confirm-popup": "Kaikki listat, kortit, nimilaput ja toimet poistetaan ja et pysty palauttamaan taulun sisältöä. Tätä ei voi peruuttaa.",
"boardDeletePopup-title": "Poista taulu?",
"delete-board": "Poista taulu",
"default-subtasks-board": "Alitehtävät taululle __board__",
@@ -594,11 +596,11 @@
"parent-card": "Ylätehtäväkortti",
"source-board": "Lähdetaulu",
"no-parent": "Älä näytä ylätehtävää",
- "activity-added-label": "lisätty tunniste '%s' kohteeseen %s",
- "activity-removed-label": "poistettu tunniste '%s' kohteesta %s",
+ "activity-added-label": "lisätty nimilappu '%s' kohteeseen %s",
+ "activity-removed-label": "poistettu nimilappu '%s' kohteesta %s",
"activity-delete-attach": "poistettu liitetiedosto kohteesta %s",
- "activity-added-label-card": "lisätty tunniste '%s'",
- "activity-removed-label-card": "poistettu tunniste '%s'",
+ "activity-added-label-card": "lisätty nimilappu '%s'",
+ "activity-removed-label-card": "poistettu nimilappu '%s'",
"activity-delete-attach-card": "poistettu liitetiedosto",
"activity-set-customfield": "asetettu mukautettu kentän '%s' sisällöksi '%s' kortilla %s",
"activity-unset-customfield": "poistettu mukautettu kenttä '%s' kortilla %s",
@@ -624,8 +626,8 @@
"r-archived": "Siirretty Arkistoon",
"r-unarchived": "Palautettu Arkistosta",
"r-a-card": "kortti",
- "r-when-a-label-is": "Kun tunniste on",
- "r-when-the-label": "Kun tunniste on",
+ "r-when-a-label-is": "Kun nimilappu on",
+ "r-when-the-label": "Kun nimilappu on",
"r-list-name": "listan nimi",
"r-when-a-member": "Kun jäsen on",
"r-when-the-member": "Kun käyttäjä",
@@ -648,7 +650,7 @@
"r-card": "kortti",
"r-add": "Lisää",
"r-remove": "Poista",
- "r-label": "tunniste",
+ "r-label": "nimilappu",
"r-member": "jäsen",
"r-remove-all": "Poista kaikki jäsenet kortilta",
"r-set-color": "Aseta väriksi",
@@ -674,8 +676,8 @@
"r-d-send-email-message": "viesti",
"r-d-archive": "Siirrä kortti Arkistoon",
"r-d-unarchive": "Palauta kortti Arkistosta",
- "r-d-add-label": "Lisää tunniste",
- "r-d-remove-label": "Poista tunniste",
+ "r-d-add-label": "Lisää nimilappu",
+ "r-d-remove-label": "Poista nimilappu",
"r-create-card": "Luo uusi kortti",
"r-in-list": "listassa",
"r-in-swimlane": "swimlanessa",
@@ -748,8 +750,8 @@
"act-atUserComment": "Sinut mainittiin [__board__] __list__/__card__",
"delete-user-confirm-popup": "Haluatko varmasti poistaa tämän käyttäjätilin? Tätä ei voi peruuttaa.",
"accounts-allowUserDelete": "Salli käyttäjien poistaa tilinsä itse",
- "hide-minicard-label-text": "Piilota minikortin tunniste teksti",
+ "hide-minicard-label-text": "Piilota minikortin nimilappu teksti",
"show-desktop-drag-handles": "Näytä työpöydän vedon kahvat",
- "assignee": "Valtuutettu",
- "cardAssigneesPopup-title": "Valtuutettu"
+ "assignee": "Käsittelijä",
+ "cardAssigneesPopup-title": "Käsittelijä"
}
diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json
index fa0b348c..47bf43cc 100644
--- a/i18n/fr.i18n.json
+++ b/i18n/fr.i18n.json
@@ -137,7 +137,7 @@
"board-view": "Vue du tableau",
"board-view-cal": "Calendrier",
"board-view-swimlanes": "Couloirs",
- "board-view-collapse": "Collapse",
+ "board-view-collapse": "Diminuer",
"board-view-lists": "Listes",
"bucket-example": "Comme « todo list » par exemple",
"cancel": "Annuler",
@@ -223,6 +223,8 @@
"comment-only-desc": "Ne peut que commenter des cartes.",
"no-comments": "Aucun commentaire",
"no-comments-desc": "Ne peut pas voir les commentaires et les activités.",
+ "worker": "Travailleur",
+ "worker-desc": "Peut seulement déplacer des cartes, s'assigner à une carte et la commenter.",
"computer": "Ordinateur",
"confirm-subtask-delete-dialog": "Êtes-vous sûr de vouloir supprimer la sous-tâche ?",
"confirm-checklist-delete-dialog": "Êtes-vous sûr de vouloir supprimer la checklist ?",
diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json
index 91ec6f06..904d882a 100644
--- a/i18n/gl.i18n.json
+++ b/i18n/gl.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computador",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json
index a7e8f6b2..e364d884 100644
--- a/i18n/he.i18n.json
+++ b/i18n/he.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "ניתן להגיב על כרטיסים בלבד.",
"no-comments": "אין הערות",
"no-comments-desc": "לא ניתן לצפות בתגובות ובפעילויות.",
+ "worker": "עובד/ת",
+ "worker-desc": "אפשר רק להעביר כרטיסים, להקצות כרטיסים לעצמו/ה ולהגיב.",
"computer": "מחשב",
"confirm-subtask-delete-dialog": "למחוק את תת המשימה?",
"confirm-checklist-delete-dialog": "למחוק את רשימת המשימות?",
diff --git a/i18n/hi.i18n.json b/i18n/hi.i18n.json
index d44f6224..f99da128 100644
--- a/i18n/hi.i18n.json
+++ b/i18n/hi.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "केवल कार्ड पर टिप्पणी कर सकते हैं।",
"no-comments": "कोई टिप्पणी नहीं",
"no-comments-desc": "टिप्पणियां और गतिविधियां नहीं देख पा रहे हैं।",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "संगणक",
"confirm-subtask-delete-dialog": "क्या आप वाकई उपकार्य हटाना चाहते हैं?",
"confirm-checklist-delete-dialog": "क्या आप वाकई जांचसूची हटाना चाहते हैं?",
diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json
index 03c1257d..edf051f5 100644
--- a/i18n/hu.i18n.json
+++ b/i18n/hu.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Csak megjegyzést írhat a kártyákhoz.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Számítógép",
"confirm-subtask-delete-dialog": "Biztosan törölni szeretnél az alfeladatot?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json
index 7e908938..71c63a1a 100644
--- a/i18n/hy.i18n.json
+++ b/i18n/hy.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json
index 7dc95256..cece83f9 100644
--- a/i18n/id.i18n.json
+++ b/i18n/id.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Bisa komen hanya di kartu",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Komputer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json
index 31f3b098..5d39fbd2 100644
--- a/i18n/ig.i18n.json
+++ b/i18n/ig.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json
index b4b662d4..f9b64bac 100644
--- a/i18n/it.i18n.json
+++ b/i18n/it.i18n.json
@@ -17,13 +17,13 @@
"act-completeChecklist": "completata lista di controllo __checklist__ nella scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
"act-uncompleteChecklist": "lista di controllo __checklist__ incompleta nella scheda __card__ della lista __list__ in corsia __swimlane__ della bacheca __board__",
"act-addComment": "commento sulla scheda __card__: __comment__ nella lista __list__ della corsia __swimlane__ della bacheca __board__",
- "act-editComment": "edited comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
- "act-deleteComment": "deleted comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
+ "act-editComment": "commento modificato sulla scheda __card__: __commento__ nella lista __list__ nella swim lane __swimlane__ nella bacheca __board__",
+ "act-deleteComment": "commento eliminato sulla scheda __card__: __commento__ nella lista __list__ nella swim lane__ swimlane__ nella bacheca __board__",
"act-createBoard": "bacheca __board__ creata",
"act-createSwimlane": "creata corsia __swimlane__ alla bacheca __board__",
"act-createCard": "scheda __card__ creata nella lista __list__ della corsia __swimlane__ della bacheca __board__",
- "act-createCustomField": "created custom field __customField__ at board __board__",
- "act-deleteCustomField": "deleted custom field __customField__ at board __board__",
+ "act-createCustomField": "creato campo personalizzato __customField__ nella bacheca __board",
+ "act-deleteCustomField": "campo personalizzato eliminato __customField__ nella bacheca __board",
"act-setCustomField": "edited custom field __customField__: __customFieldValue__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-createList": "aggiunta lista __list__ alla bacheca __board__",
"act-addBoardMember": "aggiunto membro __member__ alla bacheca __board__",
@@ -73,8 +73,8 @@
"activity-unchecked-item-card": "%s è stato deselezionato nella checklist %s",
"activity-checklist-completed-card": "checklist __label__ completata nella scheda __card__ della lista __list__ della corsia __swimlane__  nella bacheca __board__",
"activity-checklist-uncompleted-card": "La checklist %s non è completa",
- "activity-editComment": "edited comment %s",
- "activity-deleteComment": "deleted comment %s",
+ "activity-editComment": "commento modificato %s",
+ "activity-deleteComment": "commento eliminato %s",
"add-attachment": "Aggiungi Allegato",
"add-board": "Aggiungi Bacheca",
"add-card": "Aggiungi Scheda",
@@ -223,6 +223,8 @@
"comment-only-desc": "Puoi commentare solo le schede.",
"no-comments": "Non ci sono commenti.",
"no-comments-desc": "Impossibile visualizzare commenti o attività.",
+ "worker": "Worker",
+ "worker-desc": "Può solo spostare schede, assegnarsi una scheda e commentare.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Sei sicuro di voler eliminare il sotto-compito?",
"confirm-checklist-delete-dialog": "Sei sicuro di voler eliminare la checklist?",
@@ -302,18 +304,18 @@
"error-username-taken": "Questo username è già utilizzato",
"error-email-taken": "L'email è già stata presa",
"export-board": "Esporta bacheca",
- "sort": "Sort",
- "sort-desc": "Click to Sort List",
- "list-sort-by": "Sort the List By:",
- "list-label-modifiedAt": "Last Access Time",
- "list-label-title": "Name of the List",
+ "sort": "Ordina",
+ "sort-desc": "Clicca per ordinare la lista",
+ "list-sort-by": "Ordina la lista per:",
+ "list-label-modifiedAt": "Orario ultimo accesso",
+ "list-label-title": "Nome della lista",
"list-label-sort": "Your Manual Order",
"list-label-short-modifiedAt": "(L)",
"list-label-short-title": "(N)",
"list-label-short-sort": "(M)",
"filter": "Filtra",
- "filter-cards": "Filter Cards or Lists",
- "list-filter-label": "Filter List by Title",
+ "filter-cards": "Filtra schede o liste",
+ "list-filter-label": "Filtra lista per titolo",
"filter-clear": "Pulisci filtri",
"filter-no-label": "Nessuna etichetta",
"filter-no-member": "Nessun membro",
@@ -438,7 +440,7 @@
"save": "Salva",
"search": "Cerca",
"rules": "Regole",
- "search-cards": "Search from card/list titles and descriptions on this board",
+ "search-cards": "Ricerca per titolo e descrizione scheda/lista su questa bacheca",
"search-example": "Testo da ricercare?",
"select-color": "Seleziona Colore",
"set-wip-limit-value": "Seleziona un limite per il massimo numero di attività in questa lista",
@@ -522,13 +524,13 @@
"email-smtp-test-text": "Hai inviato un'email con successo",
"error-invitation-code-not-exist": "Il codice d'invito non esiste",
"error-notAuthorized": "Non sei autorizzato ad accedere a questa pagina.",
- "webhook-title": "Webhook Name",
- "webhook-token": "Token (Optional for Authentication)",
+ "webhook-title": "Nome Webhook",
+ "webhook-token": "Token (facoltativo per l'autenticazione)",
"outgoing-webhooks": "Server esterni",
"bidirectional-webhooks": "Two-Way Webhooks",
"outgoingWebhooksPopup-title": "Server esterni",
"boardCardTitlePopup-title": "Filtro per Titolo Scheda",
- "disable-webhook": "Disable This Webhook",
+ "disable-webhook": "Disattiva questo Webhook",
"global-webhook": "Global Webhooks",
"new-outgoing-webhook": "Nuovo webhook in uscita",
"no-name": "(Sconosciuto)",
@@ -706,7 +708,7 @@
"r-df-end-at": "fine",
"r-df-received-at": "ricevuta",
"r-to-current-datetime": "to current date/time",
- "r-remove-value-from": "Remove value from",
+ "r-remove-value-from": "Rimuovi valore da",
"ldap": "LDAP",
"oauth2": "Oauth2",
"cas": "CAS",
diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json
index 5b2f6cad..2721ab47 100644
--- a/i18n/ja.i18n.json
+++ b/i18n/ja.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "カードにのみコメント可能",
"no-comments": "コメントなし",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "コンピューター",
"confirm-subtask-delete-dialog": "本当にサブタスクを削除してもよろしいでしょうか?",
"confirm-checklist-delete-dialog": "本当にチェックリストを削除してもよろしいでしょうか?",
diff --git a/i18n/ka.i18n.json b/i18n/ka.i18n.json
index 274953c1..42a62714 100644
--- a/i18n/ka.i18n.json
+++ b/i18n/ka.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "თქვენ შეგიძლიათ კომენტარის გაკეთება მხოლოდ ბარათებზე.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "კომპიუტერი",
"confirm-subtask-delete-dialog": "დარწმუნებული ხართ, რომ გსურთ ქვესაქმიანობის წაშლა? ",
"confirm-checklist-delete-dialog": "დარწმუნებული ხართ, რომ გსურთ კატალოგის წაშლა ? ",
diff --git a/i18n/km.i18n.json b/i18n/km.i18n.json
index 36787d4c..83dea56c 100644
--- a/i18n/km.i18n.json
+++ b/i18n/km.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json
index f9b60cf6..64883bbe 100644
--- a/i18n/ko.i18n.json
+++ b/i18n/ko.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "카드에 댓글만 달수 있습니다.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "내 컴퓨터",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json
index 02bdcc5f..44210198 100644
--- a/i18n/lv.i18n.json
+++ b/i18n/lv.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/mk.i18n.json b/i18n/mk.i18n.json
index 89b2f97b..21ef2820 100644
--- a/i18n/mk.i18n.json
+++ b/i18n/mk.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Може да коментира само в карти.",
"no-comments": "Нема коментари",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Компјутер",
"confirm-subtask-delete-dialog": "Сигурен ли сте, дека сакате да изтриете подзадачата?",
"confirm-checklist-delete-dialog": "Сигурни ли сте, дека сакате да изтриете този чеклист?",
diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json
index c57c7aa4..a7a71329 100644
--- a/i18n/mn.i18n.json
+++ b/i18n/mn.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json
index e7f6f633..07affd79 100644
--- a/i18n/nb.i18n.json
+++ b/i18n/nb.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json
index b6e0c302..179d3291 100644
--- a/i18n/nl.i18n.json
+++ b/i18n/nl.i18n.json
@@ -1,45 +1,45 @@
{
"accept": "Accepteren",
"act-activity-notify": "Activiteiten Notificatie",
- "act-addAttachment": "bijlage __attachment__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
- "act-deleteAttachment": "bijlage __attachment__ verwijderd op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
- "act-addSubtask": "subtaak __subtask__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
- "act-addLabel": "Label __label__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
- "act-addedLabel": "Label __label__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
- "act-removeLabel": "Label __label__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
- "act-removedLabel": "Label __label__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
- "act-addChecklist": "checklist __checklist__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
- "act-addChecklistItem": "checklist item __checklistItem__ toegevoegd aan checklist __checklist__ op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
- "act-removeChecklist": "checklist __checklist__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
- "act-removeChecklistItem": "checklist item __checklistItem__ verwijderd van checklist __checkList__ op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
- "act-checkedItem": "__checklistItem__ aangevinkt van checklist __checklist__ op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
- "act-uncheckedItem": "__checklistItem__ uitgevinkt van checklist __checklist__ op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
- "act-completeChecklist": "checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
- "act-uncompleteChecklist": "checklist __checklist__ onafgewerkt op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+ "act-addAttachment": "heeft bijlage __attachment__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-deleteAttachment": "heeft bijlage __attachment__ verwijderd op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+ "act-addSubtask": "heeft subtaak __subtask__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-addLabel": "heeft label __label__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-addedLabel": "heeft label __label__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-removeLabel": "heeft label __label__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+ "act-removedLabel": "heeft label __label__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+ "act-addChecklist": "heeft checklist __checklist__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-addChecklistItem": "heeft checklist item __checklistItem__ toegevoegd aan checklist __checklist__ op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-removeChecklist": "heeft checklist __checklist__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+ "act-removeChecklistItem": "heeft checklist item __checklistItem__ verwijderd van checklist __checkList__ op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+ "act-checkedItem": "heeft __checklistItem__ aangevinkt van checklist __checklist__ op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-uncheckedItem": "heeft __checklistItem__ uitgevinkt van checklist __checklist__ op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+ "act-completeChecklist": "heeft checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-uncompleteChecklist": "heeft checklist __checklist__ onafgewerkt op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-addComment": "heeft aantekening toegevoegd aan kaart __card__: __comment__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-editComment": "heeft aantekening gewijzigd op kaart __card__: __comment__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-deleteComment": "heeft aantekening verwijderd van kaart __card__: __comment__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-createBoard": "bord __board__ aangemaakt",
"act-createSwimlane": "swimlane __swimlane__ aangemaakt op bord __board__",
- "act-createCard": "kaart __card__ aangemaakt in lijst __list__ in swimlane __swimlane__ op bord __board__",
- "act-createCustomField": "maatwerkveld __customField__ aangemaakt op bord __board__",
- "act-deleteCustomField": "maatwerkveld __customField__ verwijderd van bord __board__",
- "act-setCustomField": "maatwerkveld gewijzigd __customField__: __customFieldValue__ op kaart __card__ in lijst __list__ uit swimlane __swimlane__ op bord __board__",
+ "act-createCard": "heeft kaart __card__ aangemaakt in lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-createCustomField": "heeft maatwerkveld __customField__ aangemaakt op bord __board__",
+ "act-deleteCustomField": "heeft maatwerkveld __customField__ verwijderd van bord __board__",
+ "act-setCustomField": "heeft maatwerkveld gewijzigd __customField__: __customFieldValue__ op kaart __card__ in lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-createList": "lijst __list__ toegevoegd aan bord __board__",
- "act-addBoardMember": "lid __member__ toegevoegd aan bord __board__",
+ "act-addBoardMember": "heeft lid __member__ toegevoegd aan bord __board__",
"act-archivedBoard": "Bord __board__ verplaatst naar Archief",
- "act-archivedCard": "Kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__ verplaatst naar Archief",
+ "act-archivedCard": "heeft kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__ verplaatst naar Archief",
"act-archivedList": "Lijst __list__ uit swimlane __swimlane__ op bord __board__ verplaatst naar Archief",
"act-archivedSwimlane": "Swimlane __swimlane__ op bord __board__ verplaatst naar Archief",
"act-importBoard": "bord __board__ geïmporteerd",
- "act-importCard": "kaart __card__ geïmporteerd in lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-importCard": "heeft kaart __card__ geïmporteerd in lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-importList": "lijst __list__ geïmporteerd in swimlane __swimlane__ op bord __board__",
- "act-joinMember": "lid __member__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-joinMember": "heeft lid __member__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-moveCard": "heeft kaart __card__ verplaatst op bord __board__ van lijst __oldList__ uit swimlane __oldSwimlane__ naar lijst __list__ in swimlane __swimlane__",
- "act-moveCardToOtherBoard": "kaart __card__ verplaatst van lijst __oldList__ uit swimlane __oldSwimlane__ op bord __oldBoard__ naar lijst __list__ in swimlane __swimlane__ op bord __board__",
- "act-removeBoardMember": "lid __member__ verwijderd van bord __board__",
- "act-restoredCard": "kaart __card__ teruggehaald naar lijst __list__ in swimlane __swimlane__ op bord __board__",
- "act-unjoinMember": "lid __member__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
+ "act-moveCardToOtherBoard": "heeft kaart __card__ verplaatst van lijst __oldList__ uit swimlane __oldSwimlane__ op bord __oldBoard__ naar lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-removeBoardMember": "heeft lid __member__ verwijderd van bord __board__",
+ "act-restoredCard": "heeft kaart __card__ teruggehaald naar lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "act-unjoinMember": "heeft lid __member__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-withBoardTitle": "__board__",
"act-withCardTitle": "[__board__] __card__",
"actions": "Acties",
@@ -64,14 +64,14 @@
"activity-unchecked-item": "%s uitgevinkt in checklist %s van %s",
"activity-checklist-added": "checklist toegevoegd aan %s",
"activity-checklist-removed": "checklist verwijderd van %s",
- "activity-checklist-completed": "checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "activity-checklist-completed": "heeft checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"activity-checklist-uncompleted": "checklist %s onafgewerkt van %s",
"activity-checklist-item-added": "checklist item toegevoegd aan '%s' in '%s'",
"activity-checklist-item-removed": "checklist item verwijderd van '%s' in %s",
"add": "Toevoegen",
"activity-checked-item-card": "%s aangevinkt in checklist %s",
"activity-unchecked-item-card": "%s uitgevinkt in checklist %s",
- "activity-checklist-completed-card": "checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
+ "activity-checklist-completed-card": "heeft checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"activity-checklist-uncompleted-card": "checklist %s onafgewerkt",
"activity-editComment": "aantekening gewijzigd %s",
"activity-deleteComment": "aantekening verwijderd %s",
@@ -137,7 +137,7 @@
"board-view": "Bord overzicht",
"board-view-cal": "Kalender",
"board-view-swimlanes": "Swimlanes",
- "board-view-collapse": "Collapse",
+ "board-view-collapse": "Klap in",
"board-view-lists": "Lijsten",
"bucket-example": "Zoals bijvoorbeeld een \"Bucket List\"",
"cancel": "Annuleren",
@@ -154,7 +154,7 @@
"card-edit-custom-fields": "Wijzig maatwerkvelden",
"card-edit-labels": "Wijzig labels",
"card-edit-members": "Wijzig leden",
- "card-labels-title": "Wijzig de labels vam de kaart.",
+ "card-labels-title": "Wijzig de labels van de kaart.",
"card-members-title": "Voeg of verwijder leden van het bord toe aan de kaart.",
"card-start": "Begin",
"card-start-on": "Begint op",
@@ -223,6 +223,8 @@
"comment-only-desc": "Kan alleen op kaarten aantekenen.",
"no-comments": "Geen aantekeningen",
"no-comments-desc": "Zie geen aantekeningen of activiteiten.",
+ "worker": "Medewerker",
+ "worker-desc": "Kan alleen kaarten verplaatsen, zichzelf aan kaarten koppelen en aantekeningen maken.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Weet je zeker dat je de subtaak wilt verwijderen?",
"confirm-checklist-delete-dialog": "Weet je zeker dat je de checklist wilt verwijderen?",
@@ -730,9 +732,9 @@
"loading": "Laden, even geduld.",
"previous_as": "laatste keer was",
"act-a-dueAt": "heeft vervaldatum gewijzigd naar \nOp: __timeValue__\nKaart: __card__\noude vervaldatum was __timeOldValue__",
- "act-a-endAt": "einddatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
- "act-a-startAt": "begindatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
- "act-a-receivedAt": "ontvangstdatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
+ "act-a-endAt": "heeft einddatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
+ "act-a-startAt": "heeft begindatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
+ "act-a-receivedAt": "heeft ontvangstdatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
"a-dueAt": "vervaldatum gewijzigd naar",
"a-endAt": "einddatum gewijzigd naar",
"a-startAt": "begindatum gewijzigd naar",
diff --git a/i18n/oc.i18n.json b/i18n/oc.i18n.json
index 683323e9..d7325bbb 100644
--- a/i18n/oc.i18n.json
+++ b/i18n/oc.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Comentari sus las cartas solament.",
"no-comments": "Pas cap de comentari",
"no-comments-desc": "Podèts pas veire ni los comentaris ni las activitats",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Ordenator",
"confirm-subtask-delete-dialog": "Sètz segur de voler quitar aquesta jos-tasca?",
"confirm-checklist-delete-dialog": "Sètz segur de voler quitar aquesta checklist?",
diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json
index 6259510f..aa41e98b 100644
--- a/i18n/pl.i18n.json
+++ b/i18n/pl.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Może tylko komentować w kartach.",
"no-comments": "Bez komentarzy",
"no-comments-desc": "Nie widzi komentarzy i aktywności.",
+ "worker": "Pracownik",
+ "worker-desc": "Możesz tylko przenieść karty, przypisać je do siebie i na nich komentować.",
"computer": "Komputera",
"confirm-subtask-delete-dialog": "Czy jesteś pewien, że chcesz usunąć to podzadanie?",
"confirm-checklist-delete-dialog": "Czy jesteś pewien, że chcesz usunąć listę zadań?",
@@ -470,7 +472,7 @@
"has-spenttime-cards": "Ma karty z wykorzystanym czasem",
"time": "Czas",
"title": "Tytuł",
- "tracking": "Śledzenie",
+ "tracking": "Śledź",
"tracking-info": "Dostaniesz powiadomienie o zmianach kart, w których bierzesz udział jako twórca lub członek.",
"type": "Typ",
"unassign-member": "Nieprzypisany członek",
@@ -483,7 +485,7 @@
"view-it": "Zobacz",
"warn-list-archived": "Ostrzeżenie: ta karta jest na liście będącej w Archiwum",
"watch": "Obserwuj",
- "watching": "Obserwujesz",
+ "watching": "Obserwuj",
"watching-info": "Dostaniesz powiadomienie o każdej zmianie na tej tablicy.",
"welcome-board": "Tablica powitalna",
"welcome-swimlane": "Kamień milowy 1",
diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json
index 61059565..9042d1dc 100644
--- a/i18n/pt-BR.i18n.json
+++ b/i18n/pt-BR.i18n.json
@@ -98,19 +98,19 @@
"and-n-other-card_plural": "E __count__ outros cartões",
"apply": "Aplicar",
"app-is-offline": "Carregando, por favor espere. Atualizar a página causará perda de dados. Se a carga não funcionar, por favor verifique se o servidor não caiu.",
- "archive": "Mover para o Arquivo-morto",
- "archive-all": "Mover Tudo para o Arquivo-morto",
- "archive-board": "Mover Quadro para o Arquivo-morto",
- "archive-card": "Mover Cartão para o Arquivo-morto",
- "archive-list": "Mover Lista para o Arquivo-morto",
- "archive-swimlane": "Mover Raia para Arquivo-morto",
- "archive-selection": "Mover seleção para o Arquivo-morto",
- "archiveBoardPopup-title": "Mover Quadro para o Arquivo-morto?",
- "archived-items": "Arquivo-morto",
- "archived-boards": "Quadros no Arquivo-morto",
+ "archive": "Mover para o Arquivo morto",
+ "archive-all": "Mover Tudo para o Arquivo morto",
+ "archive-board": "Mover Quadro para o Arquivo morto",
+ "archive-card": "Mover Cartão para o Arquivo morto",
+ "archive-list": "Mover Lista para o Arquivo morto",
+ "archive-swimlane": "Mover Raia para Arquivo morto",
+ "archive-selection": "Mover seleção para o Arquivo morto",
+ "archiveBoardPopup-title": "Mover Quadro para o Arquivo morto?",
+ "archived-items": "Arquivo morto",
+ "archived-boards": "Quadros no Arquivo morto",
"restore-board": "Restaurar Quadro",
- "no-archived-boards": "Sem Quadros no Arquivo-morto.",
- "archives": "Arquivos-morto",
+ "no-archived-boards": "Sem Quadros no Arquivo morto.",
+ "archives": "Arquivos morto",
"template": "Modelo",
"templates": "Modelos",
"assign-member": "Atribuir Membro",
@@ -137,7 +137,7 @@
"board-view": "Visão de quadro",
"board-view-cal": "Calendário",
"board-view-swimlanes": "Raias",
- "board-view-collapse": "Collapse",
+ "board-view-collapse": "Expandir",
"board-view-lists": "Listas",
"bucket-example": "\"Bucket List\", por exemplo",
"cancel": "Cancelar",
@@ -146,7 +146,7 @@
"card-comments-title": "Este cartão possui %s comentários.",
"card-delete-notice": "A exclusão será permanente. Você perderá todas as ações associadas a este cartão.",
"card-delete-pop": "Todas as ações serão excluidas da lista de Atividades e vocês não poderá re-abrir o cartão. Não há como desfazer.",
- "card-delete-suggest-archive": "Você pode mover um cartão para o Arquivo-morto para removê-lo do quadro e preservar a atividade.",
+ "card-delete-suggest-archive": "Você pode mover um cartão para o Arquivo morto para removê-lo do quadro e preservar a atividade.",
"card-due": "Prazo final",
"card-due-on": "Prazo final em",
"card-spent": "Tempo Gasto",
@@ -190,7 +190,7 @@
"clipboard": "Área de Transferência ou arraste e solte",
"close": "Fechar",
"close-board": "Fechar Quadro",
- "close-board-pop": "Você será capaz de restaurar o quadro clicando no botão “Arquivo-morto” a partir do cabeçalho do Início.",
+ "close-board-pop": "Você será capaz de restaurar o quadro clicando no botão “Arquivo morto” a partir do cabeçalho do Início.",
"color-black": "preto",
"color-blue": "azul",
"color-crimson": "carmesim",
@@ -223,6 +223,8 @@
"comment-only-desc": "Pode comentar apenas em cartões.",
"no-comments": "Sem comentários",
"no-comments-desc": "Sem visualização de comentários e atividades.",
+ "worker": "Colaborador",
+ "worker-desc": "Pode apenas mover cartões, atribuir-se ao cartão e comentar.",
"computer": "Computador",
"confirm-subtask-delete-dialog": "Tem certeza que deseja excluir a subtarefa?",
"confirm-checklist-delete-dialog": "Tem certeza que quer excluir a lista de verificação?",
@@ -367,8 +369,8 @@
"leave-board-pop": "Tem a certeza de que pretende sair de __boardTitle__? Você será removido de todos os cartões neste quadro.",
"leaveBoardPopup-title": "Sair do Quadro?",
"link-card": "Vincular a este cartão",
- "list-archive-cards": "Move todos os cartões nesta lista para o Arquivo-morto",
- "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-archive-cards": "Move todos os cartões nesta lista para o Arquivo morto",
+ "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": "Definir Cor",
@@ -379,7 +381,7 @@
"listMorePopup-title": "Mais",
"link-list": "Vincular a esta lista",
"list-delete-pop": "Todas as ações serão excluidas da lista de atividades e você não poderá recuperar a lista. Não há como desfazer.",
- "list-delete-suggest-archive": "Você pode mover uma lista para o Arquivo-morto para removê-la do quadro e preservar a atividade.",
+ "list-delete-suggest-archive": "Você pode mover uma lista para o Arquivo morto para removê-la do quadro e preservar a atividade.",
"lists": "Listas",
"swimlanes": "Raias",
"log-out": "Sair",
@@ -399,9 +401,9 @@
"muted-info": "Você nunca receberá qualquer notificação desse board",
"my-boards": "Meus Quadros",
"name": "Nome",
- "no-archived-cards": "Sem cartões no Arquivo-morto.",
- "no-archived-lists": "Sem listas no Arquivo-morto.",
- "no-archived-swimlanes": "Sem raias no Arquivo-morto.",
+ "no-archived-cards": "Sem cartões no Arquivo morto.",
+ "no-archived-lists": "Sem listas no Arquivo morto.",
+ "no-archived-swimlanes": "Sem raias no Arquivo morto.",
"no-results": "Nenhum resultado.",
"normal": "Normal",
"normal-desc": "Pode ver e editar cartões. Não pode alterar configurações.",
@@ -413,11 +415,11 @@
"page-maybe-private": "Esta página pode ser privada. Você poderá vê-la se estiver <a href='%s'>logado</a>.",
"page-not-found": "Página não encontrada.",
"password": "Senha",
- "paste-or-dragdrop": "para colar, ou arraste e solte o arquivo da imagem para cá (somente imagens)",
+ "paste-or-dragdrop": "para colar ou arraste e solte o arquivo da imagem para cá (somente imagens)",
"participating": "Participando",
- "preview": "Previsualizar",
- "previewAttachedImagePopup-title": "Previsualizar",
- "previewClipboardImagePopup-title": "Previsualizar",
+ "preview": "Pré-visualizar",
+ "previewAttachedImagePopup-title": "Pré-visualizar",
+ "previewClipboardImagePopup-title": "Pré-visualizar",
"private": "Privado",
"private-desc": "Este quadro é privado. Apenas seus membros podem acessar e editá-lo.",
"profile": "Perfil",
@@ -481,7 +483,7 @@
"uploaded-avatar": "Avatar carregado",
"username": "Nome de usuário",
"view-it": "Visualizar",
- "warn-list-archived": "aviso: este cartão está em uma lista no Arquiv-morto",
+ "warn-list-archived": "aviso: este cartão está em uma lista no Arquivo-texto",
"watch": "Observar",
"watching": "Observando",
"watching-info": "Você será notificado de qualquer alteração neste quadro",
@@ -621,8 +623,8 @@
"set-filter": "Inserir Filtro",
"r-moved-to": "Movido para",
"r-moved-from": "Movido de",
- "r-archived": "Movido para o Arquivo-morto",
- "r-unarchived": "Restaurado do Arquivo-morto",
+ "r-archived": "Movido para o Arquivo morto",
+ "r-unarchived": "Restaurado do Arquivo morto",
"r-a-card": "um cartão",
"r-when-a-label-is": "Quando uma etiqueta é",
"r-when-the-label": "Quando a etiqueta é",
@@ -643,8 +645,8 @@
"r-top-of": "Topo de",
"r-bottom-of": "Final de",
"r-its-list": "é lista",
- "r-archive": "Mover para Arquivo-morto",
- "r-unarchive": "Restaurar do Arquivo-morto",
+ "r-archive": "Mover para Arquivo morto",
+ "r-unarchive": "Restaurar do Arquivo morto",
"r-card": "cartão",
"r-add": "Novo",
"r-remove": "Remover",
@@ -672,8 +674,8 @@
"r-d-send-email-to": "para",
"r-d-send-email-subject": "assunto",
"r-d-send-email-message": "mensagem",
- "r-d-archive": "Mover cartão para Arquivo-morto",
- "r-d-unarchive": "Restaurar cartão do Arquivo-morto",
+ "r-d-archive": "Mover cartão para Arquivo morto",
+ "r-d-unarchive": "Restaurar cartão do Arquivo morto",
"r-d-add-label": "Adicionar etiqueta",
"r-d-remove-label": "Remover etiqueta",
"r-create-card": "Criar novo cartão",
diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json
index 0c919241..6ea16253 100644
--- a/i18n/pt.i18n.json
+++ b/i18n/pt.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Pode comentar apenas em cartões.",
"no-comments": "Sem comentários",
"no-comments-desc": "Não pode ver comentários nem actividades.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computador",
"confirm-subtask-delete-dialog": "Tem certeza que deseja apagar a sub-tarefa?",
"confirm-checklist-delete-dialog": "Tem certeza que quer apagar a lista de verificação?",
diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json
index deeeb9de..82058754 100644
--- a/i18n/ro.i18n.json
+++ b/i18n/ro.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json
index 1a705057..94f4852e 100644
--- a/i18n/ru.i18n.json
+++ b/i18n/ru.i18n.json
@@ -137,7 +137,7 @@
"board-view": "Вид доски",
"board-view-cal": "Календарь",
"board-view-swimlanes": "Дорожки",
- "board-view-collapse": "Collapse",
+ "board-view-collapse": "Свернуть",
"board-view-lists": "Списки",
"bucket-example": "Например “Список дел”",
"cancel": "Отмена",
@@ -223,6 +223,8 @@
"comment-only-desc": "Может комментировать только карточки.",
"no-comments": "Без комментариев",
"no-comments-desc": "Не видит комментарии и историю действий.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Загрузить с компьютера",
"confirm-subtask-delete-dialog": "Вы уверены, что хотите удалить подзадачу?",
"confirm-checklist-delete-dialog": "Вы уверены, что хотите удалить контрольный список?",
@@ -302,18 +304,18 @@
"error-username-taken": "Это имя пользователя уже занято",
"error-email-taken": "Этот адрес уже занят",
"export-board": "Экспортировать доску",
- "sort": "Sort",
- "sort-desc": "Click to Sort List",
- "list-sort-by": "Sort the List By:",
- "list-label-modifiedAt": "Last Access Time",
- "list-label-title": "Name of the List",
+ "sort": "Сортировать",
+ "sort-desc": "Нажмите, чтобы отсортировать список",
+ "list-sort-by": "Сортировать список по:",
+ "list-label-modifiedAt": "Время последнего доступа",
+ "list-label-title": "Название списка",
"list-label-sort": "Your Manual Order",
"list-label-short-modifiedAt": "(L)",
"list-label-short-title": "(N)",
"list-label-short-sort": "(M)",
"filter": "Фильтр",
- "filter-cards": "Filter Cards or Lists",
- "list-filter-label": "Filter List by Title",
+ "filter-cards": "Фильтр Карточек или Списков",
+ "list-filter-label": "Фильтровать Список по Названию",
"filter-clear": "Очистить фильтр",
"filter-no-label": "Нет метки",
"filter-no-member": "Нет участников",
@@ -438,7 +440,7 @@
"save": "Сохранить",
"search": "Поиск",
"rules": "Правила",
- "search-cards": "Search from card/list titles and descriptions on this board",
+ "search-cards": "Искать в названиях карточек, списков и описаниях карточек на этой доске",
"search-example": "Искать текст?",
"select-color": "Выбрать цвет",
"set-wip-limit-value": "Устанавливает ограничение на максимальное количество задач в этом списке",
@@ -491,7 +493,7 @@
"welcome-list2": "Расширенно",
"card-templates-swimlane": "Шаблоны карточек",
"list-templates-swimlane": "Шаблоны списков",
- "board-templates-swimlane": "Шаблоны досок",
+ "board-templates-swimlane": "Шаблоны доски",
"what-to-do": "Что вы хотите сделать?",
"wipLimitErrorPopup-title": "Некорректный лимит на кол-во задач",
"wipLimitErrorPopup-dialog-pt1": "Количество задач в этом списке превышает установленный вами лимит",
@@ -741,7 +743,7 @@
"pastdue": "текущий срок выполнения %s прошел",
"duenow": "текущий срок выполнения %s сегодня",
"act-newDue": "__list__/__card__ has 1st due reminder [__board__]",
- "act-withDue": "__list__/__card__ due reminders [__board__]",
+ "act-withDue": "__list__/__card__ напоминания о сроке выполнения [__board__]",
"act-almostdue": "напомнил, что скоро завершается срок выполнения (__timeValue__) карточки __card__",
"act-pastdue": "напомнил, что срок выполнения (__timeValue__) карточки __card__ прошел",
"act-duenow": "напомнил, что срок выполнения (__timeValue__) карточки __card__ — это уже сейчас",
@@ -750,6 +752,6 @@
"accounts-allowUserDelete": "Разрешить пользователям удалять собственные аккаунты",
"hide-minicard-label-text": "Скрыть текст меток на карточках",
"show-desktop-drag-handles": "Show desktop drag handles",
- "assignee": "Assignee",
- "cardAssigneesPopup-title": "Assignee"
+ "assignee": "Исполнитель",
+ "cardAssigneesPopup-title": "Исполнитель"
}
diff --git a/i18n/sl.i18n.json b/i18n/sl.i18n.json
index a8ce0b99..f3e30e82 100644
--- a/i18n/sl.i18n.json
+++ b/i18n/sl.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Lahko komentirate samo na karticah.",
"no-comments": "Ni komentarjev",
"no-comments-desc": "Ne morete videti komentarjev in dejavnosti.",
+ "worker": "Delavec",
+ "worker-desc": "Lahko samo premikam kartice, se dodelim na kartico in komentiram.",
"computer": "Računalnik",
"confirm-subtask-delete-dialog": "Ste prepričani, da želite izbrisati podopravilo?",
"confirm-checklist-delete-dialog": "Ste prepričani, da želite izbrisati kontrolni seznam?",
diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json
index 1476a90e..c886ea54 100644
--- a/i18n/sr.i18n.json
+++ b/i18n/sr.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json
index 1b98c013..c6472cb7 100644
--- a/i18n/sv.i18n.json
+++ b/i18n/sv.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Kan endast kommentera kort.",
"no-comments": "Inga kommentarer",
"no-comments-desc": "Kan inte se kommentarer och aktiviteter.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Dator",
"confirm-subtask-delete-dialog": "Är du säker på att du vill radera deluppgift?",
"confirm-checklist-delete-dialog": "Är du säker på att du vill radera checklista?",
diff --git a/i18n/sw.i18n.json b/i18n/sw.i18n.json
index b4c2739d..047f5c1b 100644
--- a/i18n/sw.i18n.json
+++ b/i18n/sw.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Tarakilishi",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json
index 9313926c..4fdf7b20 100644
--- a/i18n/ta.i18n.json
+++ b/i18n/ta.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "கருத்து இல்லை ",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "கணினி ",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json
index acf37d7b..4f2ddce0 100644
--- a/i18n/th.i18n.json
+++ b/i18n/th.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "คอมพิวเตอร์",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json
index 7bfbb95a..2c1feded 100644
--- a/i18n/tr.i18n.json
+++ b/i18n/tr.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Sadece kartlara yorum yazabilir.",
"no-comments": "Yorum Yok",
"no-comments-desc": "Yorumlar ve aktiviteleri göremiyorum.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Bilgisayar",
"confirm-subtask-delete-dialog": "Alt görevi silmek istediğinizden emin misiniz?",
"confirm-checklist-delete-dialog": "Kontrol listesini silmek istediğinden emin misin?",
@@ -305,8 +307,8 @@
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
- "list-label-modifiedAt": "Last Access Time",
- "list-label-title": "Name of the List",
+ "list-label-modifiedAt": "Son Erişim Zamanı...",
+ "list-label-title": "Listenin Adı...",
"list-label-sort": "Your Manual Order",
"list-label-short-modifiedAt": "(L)",
"list-label-short-title": "(N)",
diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json
index a5b347f5..6bf8d5f5 100644
--- a/i18n/uk.i18n.json
+++ b/i18n/uk.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "Немає коментарів",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json
index 7db36ef3..fa388261 100644
--- a/i18n/vi.i18n.json
+++ b/i18n/vi.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json
index c9f4653c..d5a5b3c5 100644
--- a/i18n/zh-CN.i18n.json
+++ b/i18n/zh-CN.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "只能在卡片上评论。",
"no-comments": "暂无评论",
"no-comments-desc": "无法查看评论和活动。",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "从本机上传",
"confirm-subtask-delete-dialog": "确定要删除子任务吗?",
"confirm-checklist-delete-dialog": "确定要删除清单吗?",
diff --git a/i18n/zh-HK.i18n.json b/i18n/zh-HK.i18n.json
index 3a1009b0..08b430ee 100644
--- a/i18n/zh-HK.i18n.json
+++ b/i18n/zh-HK.i18n.json
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
+ "worker": "Worker",
+ "worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json
index cb5bbf32..22e6e8b6 100644
--- a/i18n/zh-TW.i18n.json
+++ b/i18n/zh-TW.i18n.json
@@ -137,7 +137,7 @@
"board-view": "看板視圖",
"board-view-cal": "日歷",
"board-view-swimlanes": "泳道圖",
- "board-view-collapse": "Collapse",
+ "board-view-collapse": "損毀",
"board-view-lists": "清單",
"bucket-example": "例如 “目標清單”",
"cancel": "取消",
@@ -223,6 +223,8 @@
"comment-only-desc": "只能在卡片上發表評論。",
"no-comments": "暫無評論",
"no-comments-desc": "無法檢視評論和活動。",
+ "worker": "工作者",
+ "worker-desc": "只能移動卡片,分配給自己及發表評論。",
"computer": "從本機上傳",
"confirm-subtask-delete-dialog": "確定要刪除子任務嗎?",
"confirm-checklist-delete-dialog": "確定要刪除清單嗎?",
@@ -438,7 +440,7 @@
"save": "儲存",
"search": "搜尋",
"rules": "規則",
- "search-cards": "Search from card/list titles and descriptions on this board",
+ "search-cards": "搜尋看板內的卡片標題及描述",
"search-example": "搜尋",
"select-color": "選擇顏色",
"set-wip-limit-value": "設定此清單中的最大任務數",
@@ -750,6 +752,6 @@
"accounts-allowUserDelete": "允許用戶自行刪除其帳戶",
"hide-minicard-label-text": "隱藏迷你卡片標籤內文",
"show-desktop-drag-handles": "顯示桌面拖曳工具",
- "assignee": "Assignee",
- "cardAssigneesPopup-title": "Assignee"
+ "assignee": "代理人",
+ "cardAssigneesPopup-title": "代理人"
}
diff --git a/models/cards.js b/models/cards.js
index 816132fe..496c69b3 100644
--- a/models/cards.js
+++ b/models/cards.js
@@ -2003,8 +2003,15 @@ if (Meteor.isServer) {
req,
res,
) {
- Authentication.checkUserId(req.userId);
+ // Check user is logged in
+ Authentication.checkLoggedIn(req.userId);
const paramBoardId = req.params.boardId;
+ // Check user has permission to add card to the board
+ const board = Boards.findOne({
+ _id: paramBoardId
+ });
+ const addPermission = allowIsBoardMemberCommentOnly(req.userId, board);
+ Authentication.checkAdminOrCondition(req.userId, addPermission);
const paramListId = req.params.listId;
const paramParentId = req.params.parentId;
const currentCards = Cards.find(
diff --git a/models/checklists.js b/models/checklists.js
index 3b50cda6..11aba71b 100644
--- a/models/checklists.js
+++ b/models/checklists.js
@@ -283,8 +283,15 @@ if (Meteor.isServer) {
'POST',
'/api/boards/:boardId/cards/:cardId/checklists',
function(req, res) {
- Authentication.checkUserId(req.userId);
-
+ // Check user is logged in
+ Authentication.checkLoggedIn(req.userId);
+ const paramBoardId = req.params.boardId;
+ // Check user has permission to add checklist to the card
+ const board = Boards.findOne({
+ _id: paramBoardId
+ });
+ const addPermission = allowIsBoardMemberCommentOnly(req.userId, board);
+ Authentication.checkAdminOrCondition(req.userId, addPermission);
const paramCardId = req.params.cardId;
const id = Checklists.insert({
title: req.body.title,
diff --git a/package-lock.json b/package-lock.json
index 2125bdc2..303d2eea 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "wekan",
- "version": "v3.55.0",
+ "version": "v3.57.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/package.json b/package.json
index a9dfb5bd..2f551764 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "wekan",
- "version": "v3.55.0",
+ "version": "v3.57.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
diff --git a/public/api/wekan.html b/public/api/wekan.html
index a746228f..0f509e50 100644
--- a/public/api/wekan.html
+++ b/public/api/wekan.html
@@ -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 v3.55">Wekan REST API v3.55</a>
+ <a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v3.57">Wekan REST API v3.57</a>
</li>
@@ -2017,7 +2017,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 v3.55</h1>
+ <h1 id="wekan-rest-api">Wekan REST API v3.57</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>
diff --git a/public/api/wekan.yml b/public/api/wekan.yml
index 08463950..7c87455d 100644
--- a/public/api/wekan.yml
+++ b/public/api/wekan.yml
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
- version: v3.55
+ version: v3.57
description: |
The REST API allows you to control and extend Wekan with ease.
diff --git a/rebuild-wekan.bat b/rebuild-wekan.bat
index 346a4aec..486289c1 100644
--- a/rebuild-wekan.bat
+++ b/rebuild-wekan.bat
@@ -13,8 +13,8 @@ REM Install chocolatey
choco install -y git curl python2 dotnet4.5.2 nano mongodb-3 mongoclient meteor
-curl -O https://nodejs.org/dist/v8.16.2/node-v8.16.2-x64.msi
-call node-v8.16.2-x64.msi
+curl -O https://nodejs.org/dist/v8.17.0/node-v8.17.0-x64.msi
+call node-v8.17.0-x64.msi
call npm config -g set msvs_version 2015
call meteor npm config -g set msvs_version 2015
diff --git a/rebuild-wekan.sh b/rebuild-wekan.sh
index 8381e170..03279ce7 100755
--- a/rebuild-wekan.sh
+++ b/rebuild-wekan.sh
@@ -79,7 +79,7 @@ do
curl -0 -L https://npmjs.org/install.sh | sudo sh
sudo chown -R $(id -u):$(id -g) $HOME/.npm
sudo npm -g install n
- sudo n 8.16.2
+ sudo n 8.17.0
#curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
#sudo apt-get install -y nodejs
elif [[ "$OSTYPE" == "darwin"* ]]; then
diff --git a/releases/not-working-meteor-1.8-snapcraft.yaml b/releases/not-working-meteor-1.8-snapcraft.yaml
deleted file mode 100644
index bf5d5ee8..00000000
--- a/releases/not-working-meteor-1.8-snapcraft.yaml
+++ /dev/null
@@ -1,262 +0,0 @@
-name: wekan
-version: '0'
-version-script: git describe --dirty --tags | cut -c 2-
-summary: The open-source kanban
-description: |
- Wekan is an open-source and collaborative kanban board application.
-
- Whether you’re maintaining a personal todo list, planning your holidays with some friends, or working in a team on your next revolutionary idea, Kanban boards are an unbeatable tool to keep your things organized. They give you a visual overview of the current state of your project, and make you productive by allowing you to focus on the few items that matter the most.
- Depending on target environment, some configuration settings might need to be adjusted.
- For full list of configuration options call:
- $ wekan.help
-
-confinement: strict
-grade: stable
-
-architectures:
- - amd64
-
-plugs:
- mongodb-plug:
- interface: content
- target: $SNAP_DATA/shared
-
-hooks:
- configure:
- plugs:
- - network
- - network-bind
-
-slots:
- mongodb-slot:
- interface: content
- write:
- - $SNAP_DATA/share
-
-apps:
- wekan:
- command: wekan-control
- daemon: simple
- plugs: [network, network-bind]
-
- mongodb:
- command: mongodb-control
- daemon: simple
- plugs: [network, network-bind]
-
- caddy:
- command: caddy-control
- daemon: simple
- plugs: [network, network-bind]
-
- help:
- command: wekan-help
-
- database-backup:
- command: mongodb-backup
- plugs: [network, network-bind]
-
- database-list-backups:
- command: ls -al $SNAP_COMMON/db-backups/
-
- database-restore:
- command: mongodb-restore
- plugs: [network, network-bind]
-
-parts:
- mongodb:
- source: https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-server_4.0.11_amd64.deb
- plugin: dump
- stage-packages: [libssl-dev]
- filesets:
- mongo:
- - usr
- - bin
- - lib
-# stage:
-# - $mongo
-# prime:
-# - $mongo
- wekan:
- source: .
- plugin: nodejs
- node-engine: 8.16.0
-# node-packages:
-# - node-gyp
-# - node-pre-gyp
-# - fibers@4.0.1
- build-packages:
- - ca-certificates
- - apt-utils
- - bsdtar
- - gnupg
- - bzip2
- ## - python3
- - g++
- - build-essential
- - git
- # - capnproto
- - curl
- - libcurl3
- - php-curl
- # - execstack
- # - nodejs
- # - npm
- ## - python3-pip
- ## - python3-venv
- stage-packages:
- - libfontconfig1
- override-build: |
- set -o xtrace
- echo "Cleaning environment first"
- rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
- # Meteor installer doesn't work with the default tar binary, so using bsdtar while installing.
- # https://github.com/coreos/bugs/issues/1095#issuecomment-350574389
- cp $(which tar) $(which tar)~
- ln -sf $(which bsdtar) $(which tar)
- # Create the OpenAPI specification
- rm -rf .build
- mkdir .build
- ##mkdir -p .build/python
- ##cd .build/python
- ##python3 -m venv env
- ##. ./env/bin/activate
- ##pip3 install -U setuptools wheel
- ##git clone --depth 1 -b master https://github.com/Kronuz/esprima-python
- ##cd esprima-python
- ##python3 setup.py install
- ##cd ../../..
- ##mkdir -p ./public/api
- ##python3 ./openapi/generate_openapi.py --release $(git describe --tags --abbrev=0) > ./public/api/wekan.yml
- # we temporary need api2html and mkdirp
- ##npm install -g --unsafe-perm api2html@0.3.0
- ##npm install -g --unsafe-perm mkdirp
- ##api2html -c ./public/logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml
- ##npm uninstall -g --unsafe-perm mkdirp
- ##npm uninstall -g --unsafe-perm api2html
- # Node Fibers 100% CPU usage issue:
- # https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161
- # https://github.com/meteor/meteor/issues/9796#issuecomment-381676326
- # https://github.com/sandstorm-io/sandstorm/blob/0f1fec013fe7208ed0fd97eb88b31b77e3c61f42/shell/server/00-startup.js#L99-L129
- # Also see beginning of wekan/server/authentication.js
- # import Fiber from "fibers";
- # Fiber.poolSize = 1e9;
- # OLD: Download node version 8.12.0 prerelease build => Official node 8.12.0 has been released
- # Description at https://releases.wekan.team/node.txt
- ##echo "375bd8db50b9c692c0bbba6e96d4114cd29bee3770f901c1ff2249d1038f1348 node" >> node-SHASUMS256.txt.asc
- ##curl https://releases.wekan.team/node -o node
- # Verify Fibers patched node authenticity
- ##echo "Fibers 100% CPU issue patched node authenticity:"
- ##grep node node-SHASUMS256.txt.asc | shasum -a 256 -c -
- ##rm -f node-SHASUMS256.txt.asc
- ##chmod +x node
- ##mv node `which node`
- # DOES NOT WORK: paxctl fix.
- # Removed from build-packages: - paxctl
- #echo "Applying paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303"
- #paxctl -mC `which node`
- #echo "Installing npm"
- #curl -L https://www.npmjs.com/install.sh | sh
- echo "Installing meteor"
- curl https://install.meteor.com/ -o install_meteor.sh
- #sed -i "s|RELEASE=.*|RELEASE=\"1.8.1-beta.0\"|g" install_meteor.sh
- chmod +x install_meteor.sh
- sh install_meteor.sh
- rm install_meteor.sh
- # REPOS BELOW ARE INCLUDED TO WEKAN REPO
- #if [ ! -d "packages" ]; then
- # mkdir packages
- #fi
- #if [ ! -d "packages/kadira-flow-router" ]; then
- # cd packages
- # git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
- # cd ..
- #fi
- #if [ ! -d "packages/meteor-useraccounts-core" ]; then
- # cd packages
- # git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
- # sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' meteor-useraccounts-core/package.js
- # cd ..
- #fi
- #if [ ! -d "packages/meteor-accounts-cas" ]; then
- # cd packages
- # git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas
- # cd ..
- #fi
- #if [ ! -d "packages/wekan-ldap" ]; then
- # cd packages
- # git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
- # cd ..
- #fi
- #if [ ! -d "packages/wekan-scrollbar" ]; then
- # cd packages
- # git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
- # cd ..
- #fi
- #if [ ! -d "packages/wekan_accounts-oidc" ]; then
- # cd packages
- # git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git
- # mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan-accounts-oidc
- # mv meteor-accounts-oidc/packages/switch_oidc wekan-oidc
- # rm -rf meteor-accounts-oidc
- # cd ..
- #fi
- #if [ ! -d "packages/markdown" ]; then
- # cd packages
- # git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
- # cd ..
- #fi
- rm -rf package-lock.json .build
- #meteor add standard-minifier-js --allow-superuser
- meteor npm install --allow-superuser --unsafe-perm
- meteor build .build --directory --allow-superuser
- cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
- # Disable code coverage on Snap, because it crashes Wekan starting.
- # https://github.com/wekan/wekan/issues/2533#issuecomment-513506939
- #sed -i 's|Profile(fileInfo.path, func).apply(global, args);|//Profile(fileInfo.path, func).apply(global, args);|g' .build/bundle/programs/server/boot.js
- # although it did not help, it said unable to find main function.
- # Other option to fix would be to drop indexes at start of snap:
- # https://stackoverflow.com/questions/24241742/drop-all-indexes-from-all-collections-in-a-mongodb-database-using-the-command-li
- #Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
- #https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
- #https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
- #cd .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
- #rm -rf node_modules/bcrypt
- #meteor npm install --save bcrypt
- # Change from npm-bcrypt directory back to .build/bundle/programs/server directory.
- #cd ../../../../
- # Change to directory .build/bundle/programs/server
- cd .build/bundle/programs/server
- npm install --unsafe-perm
- #meteor npm install --save bcrypt
- # Change back to Wekan source directory
- cd ../../../..
- cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
- cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
- # rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
- #rm $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
- # rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
- # rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
- # Put back the original tar
- mv $(which tar)~ $(which tar)
- organize:
- README: README.wekan
- prime:
- - -lib/node_modules/node-pre-gyp/node_modules/tar/lib/.unpack.js.swp
-
- helpers:
- source: snap-src
- plugin: dump
-
- caddy:
- plugin: dump
- source: https://caddyserver.com/download/linux/amd64?license=personal&telemetry=off
- source-type: tar
- organize:
- caddy: bin/caddy
- CHANGES.txt: CADDY_CHANGES.txt
- EULA.txt: CADDY_EULA.txt
- LICENSES.txt: CADDY_LICENSES.txt
- README.txt: CADDY_README.txt
- stage:
- - -init
diff --git a/releases/old-rebuild-release.sh b/releases/old-rebuild-release.sh
deleted file mode 100755
index 30814c73..00000000
--- a/releases/old-rebuild-release.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/bash
-
-echo "Building Wekan."
-cd ~/repos/wekan
-#rm -rf packages
-#mkdir -p ~/repos/wekan/packages
-#cd ~/repos/wekan/packages
-#git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
-#git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
-#git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git
-#git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
-#git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
-#git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git
-#git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
-#mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan_accounts-oidc
-#mv meteor-accounts-oidc/packages/switch_oidc wekan_oidc
-#
-#if [[ "$OSTYPE" == "darwin"* ]]; then
-# echo "sed at macOS";
-# sed -i '' 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
-#else
-# echo "sed at ${OSTYPE}"
-# sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
-#fi
-#
-cd ~/repos/wekan
-rm -rf node_modules
-meteor npm install
-rm -rf .build
-meteor build .build --directory
-cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
-#Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
-#https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
-#https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
-#cd ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
-#rm -rf node_modules/bcrypt
-#meteor npm install bcrypt
-cd ~/repos/wekan/.build/bundle/programs/server
-rm -rf node_modules
-meteor npm install
-#meteor npm install bcrypt
-cd ~/repos
-echo Building Wekan Done.
diff --git a/releases/rebuild-wekan.sh b/releases/rebuild-wekan.sh
deleted file mode 100755
index e70ff656..00000000
--- a/releases/rebuild-wekan.sh
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/bin/bash
-
-echo "Note: If you use other locale than en_US.UTF-8 , you need to additionally install en_US.UTF-8"
-echo " with 'sudo dpkg-reconfigure locales' , so that MongoDB works correctly."
-echo " You can still use any other locale as your main locale."
-
-X64NODE="https://releases.wekan.team/node-v8.11.3-linux-x64.tar.gz"
-
-function pause(){
- read -p "$*"
-}
-
-echo
-PS3='Please enter your choice: '
-options=("Install Wekan dependencies" "Build Wekan" "Quit")
-select opt in "${options[@]}"
-do
- case $opt in
- "Install Wekan dependencies")
-
- if [[ "$OSTYPE" == "linux-gnu" ]]; then
- echo "Linux";
-
- if [ "$(grep -Ei 'buntu|mint' /etc/*release)" ]; then
- sudo apt install -y build-essential git curl wget
-# sudo apt -y install nodejs npm
-# sudo npm -g install n
-# sudo n 8.16.2
- fi
-
-# if [ "$(grep -Ei 'debian' /etc/*release)" ]; then
-# sudo apt install -y build-essential git curl wget
-# echo "Debian, or Debian on Windows Subsystem for Linux"
-# curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
-# sudo apt install -y nodejs
-# fi
-
- # TODO: Add Sandstorm for version of Node.js install
- #MACHINE_TYPE=`uname -m`
- #if [ ${MACHINE_TYPE} == 'x86_64' ]; then
- # # 64-bit stuff here
- # wget ${X64NODE}
- # sudo tar -C /usr/local --strip-components 1 -xzf ${X64NODE}
- #elif [ ${MACHINE_TYPE} == '32bit' ]; then
- # echo "TODO: 32-bit Linux install here"
- # exit
- #fi
- elif [[ "$OSTYPE" == "darwin"* ]]; then
- echo "macOS";
- pause '1) Install XCode 2) Install Node 8.x from https://nodejs.org/en/ 3) Press [Enter] key to continue.'
- elif [[ "$OSTYPE" == "cygwin" ]]; then
- # POSIX compatibility layer and Linux environment emulation for Windows
- echo "TODO: Add Cygwin";
- exit;
- elif [[ "$OSTYPE" == "msys" ]]; then
- # Lightweight shell and GNU utilities compiled for Windows (part of MinGW)
- echo "TODO: Add msys on Windows";
- exit;
- elif [[ "$OSTYPE" == "win32" ]]; then
- # I'm not sure this can happen.
- echo "TODO: Add Windows";
- exit;
- elif [[ "$OSTYPE" == "freebsd"* ]]; then
- echo "TODO: Add FreeBSD";
- exit;
- else
- echo "Unknown"
- echo ${OSTYPE}
- exit;
- fi
-
- ## Latest npm with Meteor 1.6
- sudo npm -g install npm
- sudo npm -g install node-gyp
- # Latest fibers for Meteor 1.6
- sudo npm -g install fibers@2.0.0
- # Install Meteor, if it's not yet installed
- curl https://install.meteor.com | bash
-# mkdir ~/repos
-# cd ~/repos
-# git clone https://github.com/wekan/wekan.git
-# cd wekan
-# git checkout devel
- break
- ;;
- "Build Wekan")
- echo "Building Wekan."
- cd ~/repos/wekan
- rm -rf packages
- mkdir -p ~/repos/wekan/packages
- cd ~/repos/wekan/packages
- git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router
- git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
- git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git
- git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
- git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git
- git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git
- git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git
- mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan_accounts-oidc
- mv meteor-accounts-oidc/packages/switch_oidc wekan_oidc
- rm -rf meteor-accounts-oidc
-
- if [[ "$OSTYPE" == "darwin"* ]]; then
- echo "sed at macOS";
- sed -i '' 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
- else
- echo "sed at ${OSTYPE}"
- sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
- fi
-
- cd ~/repos/wekan
- rm -rf node_modules
- meteor npm install
- rm -rf .build
- meteor build .build --directory
- cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
- #Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
- #https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
- #https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
- #cd ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
- #rm -rf node_modules/bcrypt
- #meteor npm install bcrypt
- cd ~/repos/wekan/.build/bundle/programs/server
- rm -rf node_modules
- meteor npm install
- #meteor npm install bcrypt
- cd ~/repos
- echo Done.
- break
- ;;
- "Quit")
- break
- ;;
- *) echo invalid option;;
- esac
-done
diff --git a/releases/sandstorm-make-spk.sh b/releases/sandstorm-make-spk.sh
index 8db2a4c3..ade97666 100755
--- a/releases/sandstorm-make-spk.sh
+++ b/releases/sandstorm-make-spk.sh
@@ -1 +1 @@
-meteor-spk pack wekan-1.11.spk
+meteor-spk pack wekan-$1.spk
diff --git a/releases/snap-install.sh b/releases/snap-install.sh
index bdb0b7a2..75567e16 100755
--- a/releases/snap-install.sh
+++ b/releases/snap-install.sh
@@ -1 +1 @@
-sudo snap install --dangerous wekan_1.23-17-g9c94ea5_amd64.snap
+sudo snap install --dangerous wekan_*.snap
diff --git a/releases/virtualbox/old-rebuild-wekan.sh b/releases/virtualbox/old-rebuild-wekan.sh
deleted file mode 100755
index a3941d55..00000000
--- a/releases/virtualbox/old-rebuild-wekan.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-## Most of these are uncommented, because they are already installed.
-#sudo rm -rf /usr/local/lib/node_modules
-#sudo rm -rf ~/.npm
-#sudo apt install build-essential c++ capnproto npm git curl
-#sudo npm -g install n
-#sudo n 4.8.6
-#sudo npm -g install npm@4.6.1
-#sudo npm -g install node-gyp
-#sudo npm -g install node-pre-gyp
-#sudo npm -g install fibers@1.0.15
-sudo rm -rf wekan
-git clone https://github.com/wekan/wekan
-cd ~/repos
-#curl https://install.meteor.com -o ./install_meteor.sh
-#sed -i "s|RELEASE=.*|RELEASE=${METEOR_RELEASE}\"\"|g" ./install_meteor.sh
-#echo "Starting meteor ${METEOR_RELEASE} installation... \n"
-#chown wekan:wekan ./install_meteor.sh
-#sh ./install_meteor.sh
-mkdir -p ~/repos/wekan/packages
-cd ~/repos/wekan/packages
-rm -rf kadira-flow-router
-rm -rf meteor-useraccounts-core
-git clone https://github.com/wekan/flow-router.git kadira-flow-router
-git clone https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core
-sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' ~/repos/wekan/packages/meteor-useraccounts-core/package.js
-cd ~/repos/wekan
-
-rm -rf node_modules
-npm install
-rm -rf .build
-meteor build .build --directory
-cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
-sed -i "s|build\/Release\/bson|browser_build\/bson|g" ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/cfs_gridfs/node_modules/mongodb/node_modules/bson/ext/index.js
-cd ~/repos/wekan/.build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
-rm -rf node_modules/bcrypt
-meteor npm install --save bcrypt
-cd ~/repos/wekan/.build/bundle/programs/server
-rm -rf node_modules
-npm install
-meteor npm install --save bcrypt
-cd ~/repos
-echo Done.
diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp
index f4bc9612..6bd5f64a 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 = 357,
+ appVersion = 359,
# Increment this for every release.
- appMarketingVersion = (defaultText = "3.55.0~2019-11-19"),
+ appMarketingVersion = (defaultText = "3.57.0~2019-12-22"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
diff --git a/server/authentication.js b/server/authentication.js
index 9e519fe1..20327280 100644
--- a/server/authentication.js
+++ b/server/authentication.js
@@ -58,7 +58,7 @@ Meteor.startup(() => {
const board = Boards.findOne({ _id: boardId });
const normalAccess =
board.permission === 'public' ||
- board.members.some(e => e.userId === userId).isActive;
+ board.members.some(e => e.userId === userId && e.isActive);
Authentication.checkAdminOrCondition(userId, normalAccess);
};
diff --git a/snap-src/bin/config b/snap-src/bin/config
index 21e2608d..8f1bfabd 100755
--- a/snap-src/bin/config
+++ b/snap-src/bin/config
@@ -278,7 +278,7 @@ DESCRIPTION_LDAP_BACKGROUND_SYNC="If the sync of the users should be done in the
DEFAULT_LDAP_BACKGROUND_SYNC="false"
KEY_LDAP_BACKGROUND_SYNC="ldap-background-sync"
-DESCRIPTION_LDAP_BACKGROUND_SYNC_INTERVAL="At which interval does the background task sync in milliseconds"
+DESCRIPTION_LDAP_BACKGROUND_SYNC_INTERVAL="At which interval does the background task sync"
DEFAULT_LDAP_BACKGROUND_SYNC_INTERVAL=""
KEY_LDAP_BACKGROUND_SYNC_INTERVAL="ldap-background-sync-interval"
diff --git a/snap-src/bin/mongodb-control b/snap-src/bin/mongodb-control
index db01cffd..a79785b0 100755
--- a/snap-src/bin/mongodb-control
+++ b/snap-src/bin/mongodb-control
@@ -52,14 +52,14 @@ if [ -z "$MONGO_URL" ]; then
## OLD: Logging to file.
#mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $BIND_OPTIONS --smallfiles
## NEW: Logging to syslog, that usually has already log rotation.
- mongod --dbpath $SNAP_COMMON --syslog --journal $BIND_OPTIONS --smallfiles
+ mongod --dbpath $SNAP_COMMON --syslog --journal $BIND_OPTIONS --smallfiles --quiet
else
## OLD: Logging to file.
#mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/mongodb.log --logappend --journal $MONGO_URL --smallfiles
## NEW: Logging to syslog, that usually has already log rotation.
- mongod --dbpath $SNAP_COMMON --syslog --journal $MONGO_URL --smallfiles
+ mongod --dbpath $SNAP_COMMON --syslog --journal $MONGO_URL --smallfiles --quiet
fi
diff --git a/snap-src/bin/wekan-help b/snap-src/bin/wekan-help
index 6df3a1b4..1dc952b2 100755
--- a/snap-src/bin/wekan-help
+++ b/snap-src/bin/wekan-help
@@ -295,10 +295,10 @@ echo -e "If the sync of the users should be done in the background:"
echo -e "\t$ snap set $SNAP_NAME ldap-background-sync='true'"
echo -e "\n"
echo -e "Ldap Background Sync Interval."
-echo -e "At which interval does the background task sync in milliseconds."
-echo -e "Leave this unset, so it uses default, and does not crash."
-echo -e "https://github.com/wekan/wekan/issues/2354#issuecomment-515305722"
-echo -e "\t$ snap set $SNAP_NAME ldap-background-sync-interval=''"
+echo -e "At which interval does the background task sync."
+echo -e "The format must be as specified in: https://bunkat.github.io/later/parsers.html#text"
+echo -e "Default is empty '' that is same as 'every 1 hour'"
+echo -e "\t$ snap set $SNAP_NAME ldap-background-sync-interval='every 1 hour'"
echo -e "\n"
echo -e "Ldap Background Sync Keep Existant Users Updated."
echo -e "\t$ snap set $SNAP_NAME ldap-background-sync-keep-existant-users-updated='true'"
diff --git a/snapcraft.yaml b/snapcraft.yaml
index 41f1585c..2f965fe1 100644
--- a/snapcraft.yaml
+++ b/snapcraft.yaml
@@ -81,7 +81,7 @@ parts:
wekan:
source: .
plugin: nodejs
- node-engine: 8.16.2
+ node-engine: 8.17.0
node-packages:
- node-gyp
- node-pre-gyp
diff --git a/stacksmith/user-scripts/build.sh b/stacksmith/user-scripts/build.sh
index 23dc7f84..8a7ba3e3 100755
--- a/stacksmith/user-scripts/build.sh
+++ b/stacksmith/user-scripts/build.sh
@@ -2,14 +2,13 @@
set -euxo pipefail
BUILD_DEPS="bsdtar gnupg wget curl bzip2 python git ca-certificates perl-Digest-SHA"
-NODE_VERSION=v8.16.2
+NODE_VERSION=v8.17.0
#METEOR_RELEASE=1.6.0.1 - for Stacksmith, meteor-1.8 branch that could have METEOR@1.8.1-beta.8 or newer
USE_EDGE=false
METEOR_EDGE=1.5-beta.17
NPM_VERSION=latest
FIBERS_VERSION=4.0.1
ARCHITECTURE=linux-x64
-#NODE_VERSION=v10.14.1
sudo yum groupinstall -y 'Development Tools'
sudo yum install -y http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
diff --git a/start-wekan.bat b/start-wekan.bat
index 63eeebe3..55dace87 100755
--- a/start-wekan.bat
+++ b/start-wekan.bat
@@ -64,7 +64,7 @@ REM # https://github.com/wekan/wekan/pull/2536
REM # System timelines will be showing any user modification for
REM # dueat startat endat receivedat, also notification to
REM # the watchers and if any card is due, about due or past due.
-REM # Notify due days, default is None.
+REM # Notify due days, default is None.
REM # SET NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=2,0
REM # Notify due at hour of day. Default every morning at 8am. Can be 0-23.
REM # If env variable has parsing error, use default. Notification sent to watchers.
diff --git a/start-wekan.sh b/start-wekan.sh
index 35f663db..ad17f2fb 100755
--- a/start-wekan.sh
+++ b/start-wekan.sh
@@ -71,7 +71,7 @@
# dueat startat endat receivedat, also notification to
# the watchers and if any card is due, about due or past due.
#
- # Notify due days, default is None.
+ # Notify due days, default is None.
#export NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=2,0
# it will notify user 2 days before due day and on the due day
#
diff --git a/torodb-postgresql/docker-compose.yml b/torodb-postgresql/docker-compose.yml
index 550752a5..7a7ad9c8 100644
--- a/torodb-postgresql/docker-compose.yml
+++ b/torodb-postgresql/docker-compose.yml
@@ -396,10 +396,10 @@ services:
# example : LDAP_BACKGROUND_SYNC=true
#- LDAP_BACKGROUND_SYNC=false
#
- # LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds
- # Leave this unset, so it uses default, and does not crash.
- # https://github.com/wekan/wekan/issues/2354#issuecomment-515305722
- - LDAP_BACKGROUND_SYNC_INTERVAL=''
+ # At which interval does the background task sync.
+ # The format must be as specified in:
+ # https://bunkat.github.io/later/parsers.html#text
+ #- LDAP_BACKGROUND_SYNC_INTERVAL='every 1 hour'
#
# LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED :
# example : LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=true