mirror of
https://github.com/wekan/wekan.git
synced 2026-11-05 15:45:01 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c0b7fb0b84 | ||
|
|
9b4e556837 | ||
|
|
1aec0b5f0d | ||
|
|
c5d4e06ea3 | ||
|
|
97bf907448 | ||
|
|
7ef2a2a9f4 | ||
|
|
547d82fe57 | ||
|
|
977821d293 | ||
|
|
f4e5306181 | ||
|
|
f01b440fb7 | ||
|
|
2fd741bf54 | ||
|
|
e8522c323f | ||
|
|
def2ec46e0 | ||
|
|
4e17d5a10f | ||
|
|
dcba6909e2 | ||
|
|
fc74324d1a | ||
|
|
8bb33c53f0 | ||
|
|
236b6c3552 | ||
|
|
28e9a6ac33 | ||
|
|
f91cc25b11 | ||
|
|
6fd45ce74b | ||
|
|
b57eae14d4 | ||
|
|
12db3714f9 | ||
|
|
7a1f42fa4e | ||
|
|
74064324cf | ||
|
|
f3baa32d6c | ||
|
|
33eed50290 | ||
|
|
11d9d1c889 | ||
|
|
5a7860ac8e | ||
|
|
b13f691389 | ||
|
|
d70e876388 | ||
|
|
36c2cb9573 | ||
|
|
88a47780a8 | ||
|
|
d30ce3c5cf | ||
|
|
0fa8fc8b50 | ||
|
|
6d73618a48 | ||
|
|
db493f1571 | ||
|
|
2b51afaedf | ||
|
|
18b6381d79 | ||
|
|
c65d8ed6a9 | ||
|
|
b3ba156d20 | ||
|
|
e1de787f19 | ||
|
|
e1f08b157b | ||
|
|
508915462d | ||
|
|
7c2ef6fbd5 | ||
|
|
ae73029dda | ||
|
|
542972fc5c | ||
|
|
d7cb143b0a | ||
|
|
d594555227 | ||
|
|
fe25ed5202 | ||
|
|
f6c36d6edd | ||
|
|
fe40f35d6d | ||
|
|
789d1d1d1c | ||
|
|
70265deb47 | ||
|
|
c0d1ed714e | ||
|
|
0555b7e34c | ||
|
|
c1c2eb22ba | ||
|
|
697d7613f2 | ||
|
|
33836af1f9 | ||
|
|
4f0c2dafca | ||
|
|
84801010d5 | ||
|
|
cb418f5e23 | ||
|
|
f7d6ac9401 | ||
|
|
d939ab0d76 | ||
|
|
d538a01d19 | ||
|
|
8770326ed3 | ||
|
|
b2e96746db | ||
|
|
6ce0be635b | ||
|
|
1001e95a87 | ||
|
|
609adcdf10 | ||
|
|
9de2580e30 | ||
|
|
9eb9081c6d | ||
|
|
f551b03dc7 | ||
|
|
1d5dd5e60f | ||
|
|
35a7036d4a | ||
|
|
7024929881 | ||
|
|
90058f25bf | ||
|
|
24ec9018fb | ||
|
|
ec01e5182d | ||
|
|
06d2880a7e | ||
|
|
2a611a8935 | ||
|
|
b236d95636 | ||
|
|
b1abfc768a | ||
|
|
9b97810109 | ||
|
|
4feffd90e3 | ||
|
|
dd8d2ea276 | ||
|
|
4c29b72242 | ||
|
|
ebe39771a6 | ||
|
|
63605ee42e | ||
|
|
b7f047db88 | ||
|
|
96289210d7 | ||
|
|
3b4a44abb1 | ||
|
|
e0797c83f8 | ||
|
|
30ffcc9246 | ||
|
|
a0945d2a2e | ||
|
|
c4cea9e71b | ||
|
|
35ec61726d | ||
|
|
f18a57b059 | ||
|
|
4ba180fbc4 | ||
|
|
0f34d407a4 | ||
|
|
4b29e9fbcb | ||
|
|
7f648720af | ||
|
|
58081c13cf | ||
|
|
78555f57a7 | ||
|
|
1ad40134dd | ||
|
|
9e16a405d8 | ||
|
|
9122a339cb | ||
|
|
56197274b6 | ||
|
|
6cf65ba82a | ||
|
|
aa59007409 | ||
|
|
66729e4c05 | ||
|
|
6387d32c2f | ||
|
|
48dbeb1e14 | ||
|
|
20452d7296 | ||
|
|
7daa67c792 | ||
|
|
4d9ba8d73b | ||
|
|
3650ef4805 | ||
|
|
be9154a015 | ||
|
|
0e00ca2350 | ||
|
|
2c0549a67a | ||
|
|
59e23e4296 | ||
|
|
3aa7a6e244 | ||
|
|
838c74a83b | ||
|
|
7f17bc9fb0 | ||
|
|
2dca6e8e7c | ||
|
|
a1bb3f9031 | ||
|
|
d1d4453120 | ||
|
|
48dcb02328 | ||
|
|
0a0cec6ef0 | ||
|
|
c3dd9f47fb | ||
|
|
5417f9b190 | ||
|
|
f03c873815 | ||
|
|
80adca5134 | ||
|
|
6efcac2a0e | ||
|
|
5162317298 | ||
|
|
90139b978c | ||
|
|
080fcb9c62 | ||
|
|
250f95deb6 | ||
|
|
bc98d82acf | ||
|
|
ecd780962f | ||
|
|
ab06597b7c | ||
|
|
220c52373a | ||
|
|
688ef08cd5 | ||
|
|
8607a18a26 | ||
|
|
fe7962e10a |
No files matched your search
@@ -1,5 +1,12 @@
|
||||
{
|
||||
"presets": [
|
||||
"@babel/preset-stage-3"
|
||||
]
|
||||
],
|
||||
"env": {
|
||||
"COVERAGE": {
|
||||
"plugins": [
|
||||
"istanbul"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ENV \
|
||||
DEBUG=false \
|
||||
NODE_VERSION=v12.22.1 \
|
||||
NODE_VERSION=v12.22.4 \
|
||||
METEOR_RELEASE=1.10.2 \
|
||||
USE_EDGE=false \
|
||||
METEOR_EDGE=1.5-beta.17 \
|
||||
|
||||
@@ -81,7 +81,7 @@ parts:
|
||||
wekan:
|
||||
source: .
|
||||
plugin: nodejs
|
||||
node-engine: 12.22.1
|
||||
node-engine: 12.22.4
|
||||
node-packages:
|
||||
- node-gyp
|
||||
- node-pre-gyp
|
||||
|
||||
@@ -83,7 +83,7 @@ parts:
|
||||
wekan:
|
||||
source: .
|
||||
plugin: nodejs
|
||||
node-engine: 12.22.1
|
||||
node-engine: 12.22.4
|
||||
node-packages:
|
||||
- node-gyp
|
||||
- node-pre-gyp
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
## Issue
|
||||
|
||||
Note: With Docker, please don't use latest tag. Only use release tags.
|
||||
See https://github.com/wekan/wekan/issues/3874
|
||||
|
||||
If you can not login for any reason:
|
||||
- https://github.com/wekan/wekan/wiki/Forgot-Password
|
||||
|
||||
|
||||
@@ -0,0 +1,160 @@
|
||||
name: Test suite
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
# the following are optional jobs and need to be configured according
|
||||
# to this project's settings:
|
||||
#
|
||||
# lintcode:
|
||||
# name: Javascript lint
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - name: checkout
|
||||
# uses: actions/checkout@v2
|
||||
#
|
||||
# - name: setup node
|
||||
# uses: actions/setup-node@v1
|
||||
# with:
|
||||
# node-version: '12.x'
|
||||
#
|
||||
# - name: cache dependencies
|
||||
# uses: actions/cache@v1
|
||||
# with:
|
||||
# path: ~/.npm
|
||||
# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||
# restore-keys: |
|
||||
# ${{ runner.os }}-node-
|
||||
#
|
||||
# - run: npm install
|
||||
# - run: npm run lint:code
|
||||
#
|
||||
# lintstyle:
|
||||
# name: SCSS lint
|
||||
# runs-on: ubuntu-latest
|
||||
# needs: [lintcode]
|
||||
# steps:
|
||||
# - name: checkout
|
||||
# uses: actions/checkout@v2
|
||||
#
|
||||
# - name: setup node
|
||||
# uses: actions/setup-node@v1
|
||||
# with:
|
||||
# node-version: '12.x'
|
||||
#
|
||||
# - name: cache dependencies
|
||||
# uses: actions/cache@v1
|
||||
# with:
|
||||
# path: ~/.npm
|
||||
# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||
# restore-keys: |
|
||||
# ${{ runner.os }}-node-
|
||||
# - run: npm install
|
||||
# - run: npm run lint:style
|
||||
#
|
||||
# lintdocs:
|
||||
# name: documentation lint
|
||||
# runs-on: ubuntu-latest
|
||||
# needs: [lintcode,lintstyle]
|
||||
# steps:
|
||||
# - name: checkout
|
||||
# uses: actions/checkout@v2
|
||||
#
|
||||
# - name: setup node
|
||||
# uses: actions/setup-node@v1
|
||||
# with:
|
||||
# node-version: '12.x'
|
||||
#
|
||||
# - name: cache dependencies
|
||||
# uses: actions/cache@v1
|
||||
# with:
|
||||
# path: ~/.npm
|
||||
# key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||
# restore-keys: |
|
||||
# ${{ runner.os }}-node-
|
||||
#
|
||||
# - run: npm install
|
||||
# - run: npm run lint:markdown
|
||||
|
||||
tests:
|
||||
name: Meteor ${{ matrix.meteor }} tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
# CHECKOUTS
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# CACHING
|
||||
- name: Install Meteor
|
||||
id: cache-meteor-install
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.meteor
|
||||
key: v1-meteor-${{ hashFiles('.meteor/versions') }}
|
||||
restore-keys: |
|
||||
v1-meteor-
|
||||
|
||||
- name: Cache NPM dependencies
|
||||
id: cache-meteor-npm
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: v1-npm-${{ hashFiles('package-lock.json') }}
|
||||
restore-keys: |
|
||||
v1-npm-
|
||||
|
||||
- name: Cache Meteor build
|
||||
id: cache-meteor-build
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
.meteor/local/resolver-result-cache.json
|
||||
.meteor/local/plugin-cache
|
||||
.meteor/local/isopacks
|
||||
.meteor/local/bundler-cache/scanner
|
||||
key: v1-meteor_build_cache-${{ github.ref }}-${{ github.sha }}
|
||||
restore-key: |
|
||||
v1-meteor_build_cache-
|
||||
|
||||
- name: Setup meteor
|
||||
uses: meteorengineer/setup-meteor@v1
|
||||
with:
|
||||
meteor-release: '2.2'
|
||||
|
||||
- name: Install NPM Dependencies
|
||||
run: meteor npm ci
|
||||
|
||||
- name: Run Tests
|
||||
run: sh ./test-wekan.sh -cv
|
||||
|
||||
- name: Upload coverage
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: coverage-folder
|
||||
path: .coverage/
|
||||
|
||||
coverage:
|
||||
name: Coverage report
|
||||
runs-on: ubuntu-latest
|
||||
needs: [tests]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Download coverage
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: coverage-folder
|
||||
path: .coverage/
|
||||
|
||||
|
||||
- name: Coverage Report
|
||||
uses: VeryGoodOpenSource/very_good_coverage@v1.1.1
|
||||
with:
|
||||
path: ".coverage/lcov.info"
|
||||
min_coverage: 1 # TODO add tests and increase to 95!
|
||||
@@ -33,3 +33,8 @@ ehthumbs.db
|
||||
.meteor/local
|
||||
.devcontainer/docker-compose.extend.yml
|
||||
.devcontainer/volumes*/
|
||||
.coverage
|
||||
|
||||
# Helm chart
|
||||
# Chart dependencies
|
||||
/helm/wekan/**/*.tgz
|
||||
@@ -145,3 +145,5 @@ spacebars
|
||||
easylogic:summernote
|
||||
pascoual:pdfkit
|
||||
wekan-accounts-lockout
|
||||
lmieulet:meteor-coverage
|
||||
meteortesting:mocha
|
||||
@@ -69,6 +69,7 @@ lamhieu:meteorx@2.1.1
|
||||
lamhieu:unblock@1.0.0
|
||||
launch-screen@1.2.1
|
||||
livedata@1.0.18
|
||||
lmieulet:meteor-coverage@3.2.0
|
||||
localstorage@1.2.0
|
||||
logging@1.2.0
|
||||
matb33:collection-hooks@0.9.1
|
||||
@@ -82,6 +83,9 @@ meteorhacks:collection-utils@1.2.0
|
||||
meteorhacks:picker@1.0.3
|
||||
meteorhacks:subs-manager@1.6.4
|
||||
meteorspark:util@0.2.0
|
||||
meteortesting:browser-tests@1.3.4
|
||||
meteortesting:mocha@2.0.1
|
||||
meteortesting:mocha-core@8.0.1
|
||||
minifier-css@1.5.4
|
||||
minifier-js@2.6.0
|
||||
minifiers@1.1.8-faster-rebuild.0
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ sudo: required
|
||||
|
||||
env:
|
||||
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
|
||||
TRAVIS_NODE_VERSION: 12.22.1
|
||||
TRAVIS_NODE_VERSION: 12.22.4
|
||||
TRAVIS_NPM_VERSION: latest
|
||||
|
||||
before_install:
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ host = https://www.transifex.com
|
||||
# tap:i18n requires us to use `-` separator in the language identifiers whereas
|
||||
# Transifex uses a `_` separator, without an option to customize it on one side
|
||||
# or the other, so we need to do a Manual mapping.
|
||||
lang_map = ar_EG:ar-EG, bg_BG:bg, de_CH:de-CH, en_GB:en-GB, es_AR:es-AR, es_CL:es-CL, es_419:es-LA, es_PE:es-PE, es_MX:es-MX, es_TX:es-TX, es_PY:es-PY, el_GR:el, fa_IR:fa-IR, fi_FI:fi, hu_HU:hu, id_ID:id, mn_MN:mn, lv_LV:lv, pt_BR:pt-BR, ro_RO:ro, sl_SI:sl, zh_CN:zh-CN, zh_TW:zh-TW, zh_HK:zh-HK
|
||||
lang_map = ar_EG:ar-EG, bg_BG:bg, de_CH:de-CH, en_IT:en-IT, en_GB:en-GB, es_AR:es-AR, es_CL:es-CL, es_419:es-LA, es_PE:es-PE, es_MX:es-MX, es_TX:es-TX, es_PY:es-PY, el_GR:el, fa_IR:fa-IR, fi_FI:fi, hu_HU:hu, id_ID:id, mn_MN:mn, lv_LV:lv, pt_BR:pt-BR, ro_RO:ro, sl_SI:sl, zh_CN:zh-CN, zh_TW:zh-TW, zh_HK:zh-HK
|
||||
|
||||
[wekan.application]
|
||||
file_filter = i18n/<lang>.i18n.json
|
||||
|
||||
+196
@@ -1,5 +1,201 @@
|
||||
[Mac ChangeLog](https://github.com/wekan/wekan/wiki/Mac)
|
||||
|
||||
Note: With Docker, please don't use latest tag. Only use release tags.
|
||||
See https://github.com/wekan/wekan/issues/3874
|
||||
|
||||
# v5.45 2021-08-05 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Special handles to notify board or card members in a comment](https://github.com/wekan/wekan/pull/3937).
|
||||
Thanks to syndimann.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix: Show missing user mentions popover when posting comments in maximized card layout](https://github.com/wekan/wekan/pull/3939).
|
||||
Thanks to syndimann.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.44 2021-08-03 Wekan release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Wekan v5.43](https://github.com/wekan/wekan/commit/4e17d5a10f95fcea420c794ed8b30ea18dc2a725) and v5.44 for helm.
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix: Consecutive Card numbering when a card is moved to another board or copied](https://github.com/wekan/wekan/pull/3936).
|
||||
Thanks to syndimann.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.43 2021-08-03 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Consecutive boardwise card numbering](https://github.com/wekan/wekan/pull/3935).
|
||||
Thanks to syndimann.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Update Helm Chart apiVersion, pin image version](https://github.com/wekan/wekan/pulls/3933).
|
||||
This makes this Chart compatible with [flux](https://fluxcd.io)
|
||||
[helm-controller](https://fluxcd.io/docs/components/helm), which requires v2 charts.
|
||||
Thanks to varac.
|
||||
- [Wekan v5.42 for helm](https://github.com/wekan/wekan/commit/7a1f42fa4e153ff4a0fb481ca5a363ac62033b7f).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.42 2021-08-01 Wekan release
|
||||
|
||||
This release adds the following CRITICAL SECURITY UPDATES:
|
||||
|
||||
- [Updated to Node.js v12.22.4](https://github.com/wekan/wekan/commit/b13f6913896f787e1cae485381d98345d9f8b830).
|
||||
Thanks to Node.js developers.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.41 2021-07-26 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fixed Wekan JSON import fails](https://github.com/wekan/wekan/commit/0fa8fc8b506831a60649d100ce93c96f8f7b76f5).
|
||||
Thanks to BartoszBroda and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.40 2021-07-25 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fixed Delete of Planning Poker doesn't work](https://github.com/wekan/wekan/commit/18b6381d790848062752b211d48c84a2de268bd0).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.39 2021-07-24 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [LDAP AD Simple Auth](https://github.com/wekan/wekan/pull/3909).
|
||||
Thanks to indika-dev.
|
||||
- [LDAP AD Simple Auth: Added settings for all remaining Wekan Standalone (non-Sandstorm)
|
||||
platforms](https://github.com/wekan/wekan/commit/fe40f35d6d9b6293f3bdbf5bc0f3e8e708c59518)
|
||||
and Docs to https://github.com/wekan/wekan/wiki/LDAP-AD-Simple-Auth .
|
||||
Thanks to xet7.
|
||||
- [Convert Checklist Item to Card](https://github.com/wekan/wekan/pull/3910).
|
||||
Thanks to helioguardabaxo.
|
||||
- [Organizations and Teams are taken into account when displaying board at
|
||||
`All Boards` page](https://github.com/wekan/wekan/pull/3912).
|
||||
Thanks to Emile840.
|
||||
|
||||
and adds the following new translations:
|
||||
|
||||
- [English (Italy)](https://github.com/wekan/wekan/commit/ae73029dda63db361925e378202e6f8c137cf5bd).
|
||||
Thanks to translators.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.38 2021-07-18 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Added Code View `</>` button when `RICHER_CARD_COMMENT_EDITOR=true` and in desktop view
|
||||
where is enough screen space for buttons (not added to mobile
|
||||
view)](https://github.com/wekan/wekan/commit/ec01e5182d6b8c848d752540887a8113472b0226).
|
||||
Thanks to xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- Updated dependencies
|
||||
[Part 1](https://github.com/wekan/wekan/commit/7024929881c05cad472de74c86517cf80c8e240c),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/609adcdf100db226c5f310577195afa4b1a4aead).
|
||||
Thanks to developers of dependencies.
|
||||
- [Updated to Node.js v12.22.3](https://github.com/wekan/wekan/commit/d538a01d1962464cf4cb001462669150eeafaa99).
|
||||
Thanks to Node.js developers.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fixed Line break which is wrongly added in Cards description and Cards
|
||||
comments](https://github.com/wekan/wekan/commit/ec01e5182d6b8c848d752540887a8113472b0226).
|
||||
Thanks to Emile840 and xet7.
|
||||
- [Fixed rebuild-wekan.sh](https://github.com/wekan/wekan/commit/1d5dd5e60fec151de6c7dce7ef4e758b562923b9).
|
||||
Thanks to xet7.
|
||||
- [Small fixes for ModernDark theme](https://github.com/wekan/wekan/pull/3902).
|
||||
Thanks to jghaanstra.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.37 2021-07-04 Wekan release
|
||||
|
||||
This release adds the following CRITICAL SECURITY UPDATES:
|
||||
|
||||
- [Updated to Node.js v12.22.2](https://github.com/wekan/wekan/commit/4feffd90e3f466609e09524e0ddccdafa2faef32).
|
||||
Thanks to Node.js developers.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Building OpenAPI docs is broken in Wekan v3.56](https://github.com/wekan/wekan/pull/3889).
|
||||
Thanks to bentiss.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.36 2021-06-29 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Added some controls and warning messages when user try to delete an organization or team that has
|
||||
at least one user belongs to it](https://github.com/wekan/wekan/pull/3865).
|
||||
Thanks to Emile840.
|
||||
- Shared Templates. In Progress.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/0a0cec6ef0eb55391608aade897004db430ba10a).
|
||||
Template Containers visible at All Boards page, with white border around board icon.
|
||||
[Part 2](https://github.com/wekan/wekan/commit/d1d4453120005de61eaf2cbadc6a7b9d80e75fc1).
|
||||
Ablity to Add Template Container, checkbox in Create Board popup.
|
||||
Do not create Template Container by default, when creating user.
|
||||
[Part 3](https://github.com/wekan/wekan/commit/7f17bc9fb03d6f4b43a2cd71ecc372e0f1b0f491).
|
||||
Template container titles "Card/List/Board Templates" automatically translated.
|
||||
Thanks to xet7.
|
||||
[Part 4](https://github.com/wekan/wekan/commit/3b4a44abb1c1c4339c3d1b00dfac1c69ec3684cd).
|
||||
Hide this Shared Templates feature while it's not finished yet.
|
||||
Added back creating Template Container by default, when creating user.
|
||||
Thanks to xet7.
|
||||
- [Added testsuite](https://github.com/wekan/wekan/pull/3872).
|
||||
Thanks to jankapunkt.
|
||||
- [Delete user at REST API and `Admin Panel/People/People`](https://github.com/wekan/wekan/commit/9e16a405d8ca32a4e1be9cf89f8f978a2985593c).
|
||||
There is still bug of leaving empty user avatars to boards: boards members, card members and assignees have
|
||||
empty users. So it would be better to delete user from all boards before deleting user.
|
||||
Thanks to darren-teo and xet7.
|
||||
|
||||
and adds the following improvements:
|
||||
|
||||
- [Removed unused exceljs from client bundle](https://github.com/wekan/wekan/pull/3871).
|
||||
This decreased Wekan browserside frontend amount of Javascript from 5.4 MB to 4.3 MB.
|
||||
Thanks to jankapunkt.
|
||||
- Added note: With Docker, please don't use latest tag. Only use release tags.
|
||||
See https://github.com/wekan/wekan/issues/3874 .
|
||||
[Part 1](https://github.com/wekan/wekan/commit/f18a57b059994b8a6a3588a69cf095fe599b3a90),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/c4cea9e71b467731fd8290538dd039b7691097af).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fixed tests, that need to be in tests directory to not get build
|
||||
errors](https://github.com/wekan/wekan/commit/56197274b6c4782fa20c7d9b5b9d58255d1f830a).
|
||||
Thanks to xet7.
|
||||
- Try to fix tests.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/78555f57a7c2ba0fb3e3986608bcf11509af9a21),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/7f648720afa42a2b53bfdee7e709fd891eb33373),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/0f34d407a43c8a63d882e69ea64ea17fc4b22c7b).
|
||||
Thanks to xet7.
|
||||
- [Fixed "Search All Boards" instructions are gone](https://github.com/wekan/wekan/commit/30ffcc924663f39406b250d93b14384a2f38ab6a).
|
||||
Thanks to ClaudiaK21 and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v5.35 2021-06-14 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
+4
-3
@@ -12,7 +12,7 @@ ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
|
||||
DEBUG=false \
|
||||
NODE_VERSION=v12.22.1 \
|
||||
NODE_VERSION=v12.22.4 \
|
||||
METEOR_RELEASE=1.10.2 \
|
||||
USE_EDGE=false \
|
||||
METEOR_EDGE=1.5-beta.17 \
|
||||
@@ -64,6 +64,9 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
|
||||
LDAP_ENABLE=false \
|
||||
LDAP_PORT=389 \
|
||||
LDAP_HOST="" \
|
||||
LDAP_AD_SIMPLE_AUTH="" \
|
||||
LDAP_USER_AUTHENTICATION=false \
|
||||
LDAP_USER_AUTHENTICATION_FIELD=uid \
|
||||
LDAP_BASEDN="" \
|
||||
LDAP_LOGIN_FALLBACK=false \
|
||||
LDAP_RECONNECT=true \
|
||||
@@ -81,8 +84,6 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
|
||||
LDAP_ENCRYPTION=false \
|
||||
LDAP_CA_CERT="" \
|
||||
LDAP_REJECT_UNAUTHORIZED=false \
|
||||
LDAP_USER_AUTHENTICATION=false \
|
||||
LDAP_USER_AUTHENTICATION_FIELD=uid \
|
||||
LDAP_USER_SEARCH_FILTER="" \
|
||||
LDAP_USER_SEARCH_SCOPE="" \
|
||||
LDAP_USER_SEARCH_FIELD="" \
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ FROM amd64/alpine:3.7 AS builder
|
||||
ENV QEMU_VERSION=v4.2.0-6 \
|
||||
QEMU_ARCHITECTURE=aarch64 \
|
||||
NODE_ARCHITECTURE=linux-arm64 \
|
||||
NODE_VERSION=v12.22.1 \
|
||||
NODE_VERSION=v12.22.4 \
|
||||
WEKAN_VERSION=latest \
|
||||
WEKAN_ARCHITECTURE=arm64
|
||||
|
||||
@@ -40,7 +40,7 @@ LABEL maintainer="wekan"
|
||||
# Set the environment variables (defaults where required)
|
||||
ENV QEMU_ARCHITECTURE=aarch64 \
|
||||
NODE_ARCHITECTURE=linux-arm64 \
|
||||
NODE_VERSION=v12.22.1 \
|
||||
NODE_VERSION=v12.22.4 \
|
||||
NODE_ENV=production \
|
||||
NPM_VERSION=latest \
|
||||
WITH_API=true \
|
||||
|
||||
@@ -30,6 +30,11 @@ It's better than at chat where details get lost when chat scrolls up.
|
||||
|
||||
[Wekan IRC FAQ](https://github.com/wekan/wekan/wiki/IRC-FAQ)
|
||||
|
||||
## Docker: Please only use Docker release tags
|
||||
|
||||
Note: With Docker, please don't use latest tag. Only use release tags.
|
||||
See https://github.com/wekan/wekan/issues/3874
|
||||
|
||||
## FAQ
|
||||
|
||||
**NOTE**:
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v5.35.0"
|
||||
appVersion: "v5.45.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -766,7 +766,15 @@ setBoardClear(color1,color2)
|
||||
.toggle-label:after, .board-color-modern .toggle-switch:checked~.toggle-label:after
|
||||
background-color: #819C5D !important
|
||||
|
||||
button, input:not([type=file]), select, textarea
|
||||
border-radius: 2px
|
||||
|
||||
/* Headers */
|
||||
&#header
|
||||
background-color: #262626
|
||||
border-bottom: 1px solid #555555;
|
||||
border-top: 1px solid #555555;
|
||||
|
||||
&#header-quick-access, .background-box, #header
|
||||
background-color: #333333
|
||||
|
||||
@@ -774,14 +782,16 @@ setBoardClear(color1,color2)
|
||||
padding: 4px
|
||||
font-size: 14px
|
||||
|
||||
&#header-quick-access .allBoards
|
||||
padding: 5px 10px 0 10px;
|
||||
|
||||
&#header-quick-access ul.header-quick-access-list
|
||||
margin: -5px 0 -5px 0
|
||||
|
||||
&#header #header-main-bar
|
||||
height: 30px
|
||||
padding-top: 3px
|
||||
padding-bottom: 3px
|
||||
|
||||
&#header
|
||||
box-shadow: 0 6px 6px -6px rgba(0,0,0,0.8)
|
||||
|
||||
&#header-quick-access ul
|
||||
overflow: visible
|
||||
|
||||
@@ -812,18 +822,23 @@ setBoardClear(color1,color2)
|
||||
/* Content */
|
||||
.board-canvas
|
||||
background: #2a2a2a
|
||||
padding: 10px 10px 0
|
||||
|
||||
/* Swimlanes */
|
||||
.swimlane .swimlane-header-wrap
|
||||
background-color: #666666
|
||||
background-color: #494949
|
||||
color: #cccccc
|
||||
padding: 4px 0
|
||||
margin-bottom: 10px
|
||||
|
||||
.swimlane .swimlane-header-wrap .swimlane-header
|
||||
font-family: Poppins
|
||||
|
||||
.swimlane .swimlane-header-wrap .swimlane-header-menu
|
||||
padding: 6px
|
||||
font-size: 16px
|
||||
|
||||
.swimlane .swimlane-header-wrap .swimlane-header-plus-icon
|
||||
font-size: 16px
|
||||
|
||||
.swimlane
|
||||
background: #2a2a2a
|
||||
line-height: 15px
|
||||
@@ -836,13 +851,19 @@ setBoardClear(color1,color2)
|
||||
border: 0px solid #666666
|
||||
flex: 0 0 265px;
|
||||
|
||||
.swimlane .list:first-child
|
||||
margin-left: 0
|
||||
|
||||
.swimlane .list:nth-child(even)
|
||||
background: #5f5f5f
|
||||
|
||||
.swimlane .list:nth-child(odd) .list-header
|
||||
background: #3b3b3b
|
||||
|
||||
.list-header
|
||||
background: #333333
|
||||
padding-top: 10px
|
||||
border-bottom: 6px solid #333333
|
||||
padding: 10px
|
||||
border-bottom: 0
|
||||
|
||||
.list-header .viewer
|
||||
padding-left: 10px
|
||||
@@ -852,7 +873,11 @@ setBoardClear(color1,color2)
|
||||
color: #eeeeee
|
||||
|
||||
.list-header .list-header-menu
|
||||
padding-top: 17px
|
||||
padding: 10px
|
||||
top: 0
|
||||
|
||||
.list-header .list-header-plus-icon
|
||||
color: #a6a6a6
|
||||
|
||||
.list-body
|
||||
scrollbar-width: thin
|
||||
@@ -883,35 +908,43 @@ setBoardClear(color1,color2)
|
||||
color: #ffffff
|
||||
|
||||
/* Mini Card */
|
||||
.minicard-wrapper
|
||||
margin-bottom: 12px
|
||||
|
||||
.minicard
|
||||
background-color: #444444
|
||||
color: #cccccc
|
||||
border-radius: 2px
|
||||
font-size: 0.9em
|
||||
font-size: 0.95em
|
||||
padding: 10px
|
||||
box-shadow: 0 4px 3px -3px rgba(0,0,0,0.8)
|
||||
border-bottom: 1px solid #666666
|
||||
|
||||
.minicard:hover
|
||||
background-color: #555555 !important
|
||||
background-color: #494949 !important
|
||||
|
||||
.minicard .minicard-labels
|
||||
margin-bottom: 4px
|
||||
|
||||
.minicard .card-label
|
||||
font-size: 11px
|
||||
font-weight: 400
|
||||
padding: 2px 6px 0
|
||||
padding: 1px 6px 0
|
||||
border-radius: 2px
|
||||
|
||||
.minicard .badges
|
||||
color: #bbbbbb
|
||||
|
||||
.minicard .date
|
||||
margin-top: 7px
|
||||
margin-top: 10px
|
||||
font-size: 11px
|
||||
|
||||
.card-date
|
||||
color: #555555
|
||||
color: #444444
|
||||
border-radius: 2px
|
||||
|
||||
.card-date.almost-due
|
||||
color: #666666
|
||||
color: #444444
|
||||
|
||||
.minicard.minicard-composer textarea.minicard-composer-textarea:focus
|
||||
background-color: #eeeeee
|
||||
@@ -970,11 +1003,17 @@ setBoardClear(color1,color2)
|
||||
|
||||
.card-details .checklist-item
|
||||
background-color: rgba(255,255,255,0.1)
|
||||
padding: 2px 8px
|
||||
border-radius: 3px
|
||||
padding: 4px 8px
|
||||
border-radius: 2px
|
||||
font-size: 13px
|
||||
margin-top: 5px
|
||||
|
||||
.card-details .checklist-item:hover
|
||||
background-color: rgba(255,255,255,0.2)
|
||||
|
||||
.card-details .checklist-item .item-title .viewer p
|
||||
max-width: auto
|
||||
|
||||
.card-details .check-box.materialCheckBox
|
||||
border-color: #ffffff
|
||||
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
template(name="boardHeaderBar")
|
||||
h1.header-board-menu
|
||||
with currentBoard
|
||||
+viewer
|
||||
= title
|
||||
if $eq title 'Templates'
|
||||
| {{_ 'templates'}}
|
||||
else
|
||||
+viewer
|
||||
= title
|
||||
|
||||
.board-header-btns.left
|
||||
unless isMiniScreen
|
||||
@@ -225,6 +228,9 @@ template(name="createBoard")
|
||||
= " "
|
||||
| {{{_ 'board-private-info'}}}
|
||||
a.js-change-visibility {{_ 'change'}}.
|
||||
//a.flex.js-toggle-add-template-container
|
||||
// .materialCheckBox#add-template-container
|
||||
// span {{_ 'add-template-container'}}
|
||||
input.primary.wide(type="submit" value="{{_ 'create'}}")
|
||||
span.quiet
|
||||
| {{_ 'or'}}
|
||||
|
||||
@@ -209,24 +209,79 @@ const CreateBoard = BlazeComponent.extendComponent({
|
||||
this.visibilityMenuIsOpen.set(!this.visibilityMenuIsOpen.get());
|
||||
},
|
||||
|
||||
toggleAddTemplateContainer() {
|
||||
$('#add-template-container').toggleClass('is-checked');
|
||||
},
|
||||
|
||||
onSubmit(event) {
|
||||
event.preventDefault();
|
||||
const title = this.find('.js-new-board-title').value;
|
||||
const visibility = this.visibility.get();
|
||||
|
||||
this.boardId.set(
|
||||
Boards.insert({
|
||||
title,
|
||||
permission: visibility,
|
||||
}),
|
||||
);
|
||||
const addTemplateContainer = $('#add-template-container.is-checked').length > 0;
|
||||
if (addTemplateContainer) {
|
||||
//const templateContainerId = Meteor.call('setCreateTemplateContainer');
|
||||
//Utils.goBoardId(templateContainerId);
|
||||
//alert('niinku template ' + Meteor.call('setCreateTemplateContainer'));
|
||||
|
||||
Swimlanes.insert({
|
||||
title: 'Default',
|
||||
boardId: this.boardId.get(),
|
||||
});
|
||||
this.boardId.set(
|
||||
Boards.insert({
|
||||
// title: TAPi18n.__('templates'),
|
||||
title: title,
|
||||
permission: 'private',
|
||||
type: 'template-container',
|
||||
}),
|
||||
);
|
||||
|
||||
Utils.goBoardId(this.boardId.get());
|
||||
// Insert the card templates swimlane
|
||||
Swimlanes.insert({
|
||||
// title: TAPi18n.__('card-templates-swimlane'),
|
||||
title: 'Card Templates',
|
||||
boardId: this.boardId.get(),
|
||||
sort: 1,
|
||||
type: 'template-container',
|
||||
}),
|
||||
|
||||
// Insert the list templates swimlane
|
||||
Swimlanes.insert(
|
||||
{
|
||||
// title: TAPi18n.__('list-templates-swimlane'),
|
||||
title: 'List Templates',
|
||||
boardId: this.boardId.get(),
|
||||
sort: 2,
|
||||
type: 'template-container',
|
||||
},
|
||||
);
|
||||
|
||||
// Insert the board templates swimlane
|
||||
Swimlanes.insert(
|
||||
{
|
||||
//title: TAPi18n.__('board-templates-swimlane'),
|
||||
title: 'Board Templates',
|
||||
boardId: this.boardId.get(),
|
||||
sort: 3,
|
||||
type: 'template-container',
|
||||
},
|
||||
);
|
||||
|
||||
Utils.goBoardId(this.boardId.get());
|
||||
|
||||
} else {
|
||||
const visibility = this.visibility.get();
|
||||
|
||||
this.boardId.set(
|
||||
Boards.insert({
|
||||
title,
|
||||
permission: visibility,
|
||||
}),
|
||||
);
|
||||
|
||||
Swimlanes.insert({
|
||||
title: 'Default',
|
||||
boardId: this.boardId.get(),
|
||||
});
|
||||
|
||||
Utils.goBoardId(this.boardId.get());
|
||||
}
|
||||
},
|
||||
|
||||
events() {
|
||||
@@ -240,6 +295,7 @@ const CreateBoard = BlazeComponent.extendComponent({
|
||||
submit: this.onSubmit,
|
||||
'click .js-import-board': Popup.open('chooseBoardSource'),
|
||||
'click .js-board-template': Popup.open('searchElement'),
|
||||
'click .js-toggle-add-template-container': this.toggleAddTemplateContainer,
|
||||
},
|
||||
];
|
||||
},
|
||||
|
||||
@@ -17,47 +17,90 @@ template(name="boardList")
|
||||
button.js-accept-invite.primary {{_ 'accept'}}
|
||||
button.js-decline-invite {{_ 'decline'}}
|
||||
else
|
||||
a.js-open-board.board-list-item(href="{{pathFor 'board' id=_id slug=slug}}")
|
||||
span.details
|
||||
span.board-list-item-name(title="{{_ 'board-drag-drop-reorder-or-click-open'}}")
|
||||
+viewer
|
||||
= title
|
||||
i.fa.js-star-board(
|
||||
class="fa-star{{#if isStarred}} is-star-active{{else}}-o{{/if}}"
|
||||
title="{{_ 'star-board-title'}}")
|
||||
p.board-list-item-desc
|
||||
+viewer
|
||||
= description
|
||||
if hasSpentTimeCards
|
||||
i.fa.js-has-spenttime-cards(
|
||||
class="fa-circle{{#if hasOvertimeCards}} has-overtime-card-active{{else}} no-overtime-card-active{{/if}}"
|
||||
title="{{#if hasOvertimeCards}}{{_ 'has-overtime-cards'}}{{else}}{{_ 'has-spenttime-cards'}}{{/if}}")
|
||||
if isMiniScreen
|
||||
i.fa.board-handle(
|
||||
class="fa-arrows"
|
||||
title="{{_ 'Drag board'}}")
|
||||
unless isMiniScreen
|
||||
if isSandstorm
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
i.fa.js-archive-board(
|
||||
class="fa-archive"
|
||||
title="{{_ 'archive-board'}}")
|
||||
else if isAdministrable
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
i.fa.js-archive-board(
|
||||
class="fa-archive"
|
||||
title="{{_ 'archive-board'}}")
|
||||
else if currentUser.isAdmin
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
i.fa.js-archive-board(
|
||||
class="fa-archive"
|
||||
title="{{_ 'archive-board'}}")
|
||||
if $eq type "template-container"
|
||||
a.js-open-board.template-container.board-list-item(href="{{pathFor 'board' id=_id slug=slug}}")
|
||||
span.details
|
||||
span.board-list-item-name(title="{{_ 'template-container'}}")
|
||||
+viewer
|
||||
= title
|
||||
i.fa.js-star-board(
|
||||
class="fa-star{{#if isStarred}} is-star-active{{else}}-o{{/if}}"
|
||||
title="{{_ 'star-board-title'}}")
|
||||
p.board-list-item-desc
|
||||
+viewer
|
||||
= description
|
||||
if hasSpentTimeCards
|
||||
i.fa.js-has-spenttime-cards(
|
||||
class="fa-circle{{#if hasOvertimeCards}} has-overtime-card-active{{else}} no-overtime-card-active{{/if}}"
|
||||
title="{{#if hasOvertimeCards}}{{_ 'has-overtime-cards'}}{{else}}{{_ 'has-spenttime-cards'}}{{/if}}")
|
||||
if isMiniScreen
|
||||
i.fa.board-handle(
|
||||
class="fa-arrows"
|
||||
title="{{_ 'Drag board'}}")
|
||||
unless isMiniScreen
|
||||
if isSandstorm
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
i.fa.js-archive-board(
|
||||
class="fa-archive"
|
||||
title="{{_ 'archive-board'}}")
|
||||
else if isAdministrable
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
i.fa.js-archive-board(
|
||||
class="fa-archive"
|
||||
title="{{_ 'archive-board'}}")
|
||||
else if currentUser.isAdmin
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
i.fa.js-archive-board(
|
||||
class="fa-archive"
|
||||
title="{{_ 'archive-board'}}")
|
||||
else
|
||||
a.js-open-board.board-list-item(href="{{pathFor 'board' id=_id slug=slug}}")
|
||||
span.details
|
||||
span.board-list-item-name(title="{{_ 'board-drag-drop-reorder-or-click-open'}}")
|
||||
+viewer
|
||||
= title
|
||||
i.fa.js-star-board(
|
||||
class="fa-star{{#if isStarred}} is-star-active{{else}}-o{{/if}}"
|
||||
title="{{_ 'star-board-title'}}")
|
||||
p.board-list-item-desc
|
||||
+viewer
|
||||
= description
|
||||
if hasSpentTimeCards
|
||||
i.fa.js-has-spenttime-cards(
|
||||
class="fa-circle{{#if hasOvertimeCards}} has-overtime-card-active{{else}} no-overtime-card-active{{/if}}"
|
||||
title="{{#if hasOvertimeCards}}{{_ 'has-overtime-cards'}}{{else}}{{_ 'has-spenttime-cards'}}{{/if}}")
|
||||
if isMiniScreen
|
||||
i.fa.board-handle(
|
||||
class="fa-arrows"
|
||||
title="{{_ 'Drag board'}}")
|
||||
unless isMiniScreen
|
||||
if isSandstorm
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
i.fa.js-archive-board(
|
||||
class="fa-archive"
|
||||
title="{{_ 'archive-board'}}")
|
||||
else if isAdministrable
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
i.fa.js-archive-board(
|
||||
class="fa-archive"
|
||||
title="{{_ 'archive-board'}}")
|
||||
else if currentUser.isAdmin
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
i.fa.js-archive-board(
|
||||
class="fa-archive"
|
||||
title="{{_ 'archive-board'}}")
|
||||
|
||||
template(name="boardListHeaderBar")
|
||||
h1 {{_ title }}
|
||||
|
||||
@@ -87,15 +87,52 @@ BlazeComponent.extendComponent({
|
||||
|
||||
boards() {
|
||||
const query = {
|
||||
archived: false,
|
||||
type: 'board',
|
||||
//archived: false,
|
||||
////type: { $in: ['board','template-container'] },
|
||||
//type: 'board',
|
||||
$and: [
|
||||
{ archived: false },
|
||||
{ type: 'board' },
|
||||
{ $or:[] }
|
||||
]
|
||||
};
|
||||
if (FlowRouter.getRouteName() === 'home')
|
||||
query['members.userId'] = Meteor.userId();
|
||||
if (FlowRouter.getRouteName() === 'home'){
|
||||
query.$and[2].$or.push({'members.userId': Meteor.userId()});
|
||||
|
||||
const currUser = Users.findOne(Meteor.userId());
|
||||
|
||||
// const currUser = Users.findOne(Meteor.userId(), {
|
||||
// fields: {
|
||||
// orgs: 1,
|
||||
// teams: 1,
|
||||
// },
|
||||
// });
|
||||
|
||||
let orgIdsUserBelongs = currUser.teams !== 'undefined' ? currUser.orgIdsUserBelongs() : '';
|
||||
if(orgIdsUserBelongs && orgIdsUserBelongs != ''){
|
||||
let orgsIds = orgIdsUserBelongs.split(',');
|
||||
// for(let i = 0; i < orgsIds.length; i++){
|
||||
// query.$and[2].$or.push({'orgs.orgId': orgsIds[i]});
|
||||
// }
|
||||
|
||||
//query.$and[2].$or.push({'orgs': {$elemMatch : {orgId: orgsIds[0]}}});
|
||||
query.$and[2].$or.push({'orgs.orgId': {$in : orgsIds}});
|
||||
}
|
||||
|
||||
let teamIdsUserBelongs = currUser.teams !== 'undefined' ? currUser.teamIdsUserBelongs() : '';
|
||||
if(teamIdsUserBelongs && teamIdsUserBelongs != ''){
|
||||
let teamsIds = teamIdsUserBelongs.split(',');
|
||||
// for(let i = 0; i < teamsIds.length; i++){
|
||||
// query.$or[2].$or.push({'teams.teamId': teamsIds[i]});
|
||||
// }
|
||||
//query.$and[2].$or.push({'teams': { $elemMatch : {teamId: teamsIds[0]}}});
|
||||
query.$and[2].$or.push({'teams.teamId': {$in : teamsIds}});
|
||||
}
|
||||
}
|
||||
else query.permission = 'public';
|
||||
|
||||
return Boards.find(query, {
|
||||
sort: { sort: 1 /* boards default sorting */ },
|
||||
//sort: { sort: 1 /* boards default sorting */ },
|
||||
});
|
||||
},
|
||||
isStarred() {
|
||||
|
||||
@@ -45,6 +45,9 @@ $spaceBetweenTiles = 16px
|
||||
text-decoration: none
|
||||
word-wrap: break-word
|
||||
|
||||
&.template-container
|
||||
border: 4px solid #fff
|
||||
|
||||
&.tile
|
||||
background-size: auto
|
||||
background-repeat: repeat
|
||||
|
||||
@@ -25,6 +25,9 @@ template(name="cardDetails")
|
||||
h2.card-details-title.js-card-title(
|
||||
class="{{#if canModifyCard}}js-open-inlined-form is-editable{{/if}}")
|
||||
+viewer
|
||||
if currentBoard.allowsCardNumber
|
||||
span.card-number
|
||||
| ##{getCardNumber}
|
||||
= getTitle
|
||||
if isWatching
|
||||
i.card-details-watch.fa.fa-eye
|
||||
|
||||
@@ -627,6 +627,7 @@ Template.cardDetailsActionsPopup.events({
|
||||
'click .js-spent-time': Popup.open('editCardSpentTime'),
|
||||
'click .js-move-card': Popup.open('moveCard'),
|
||||
'click .js-copy-card': Popup.open('copyCard'),
|
||||
'click .js-convert-checklist-item-to-card': Popup.open('convertChecklistItemToCard'),
|
||||
'click .js-copy-checklist-cards': Popup.open('copyChecklistToManyCards'),
|
||||
'click .js-set-card-color': Popup.open('setCardColor'),
|
||||
'click .js-move-card-to-top'(event) {
|
||||
@@ -791,6 +792,34 @@ Template.copyCardPopup.events({
|
||||
},
|
||||
});
|
||||
|
||||
Template.convertChecklistItemToCardPopup.events({
|
||||
'click .js-done'() {
|
||||
const card = Cards.findOne(Session.get('currentCard'));
|
||||
const lSelect = $('.js-select-lists')[0];
|
||||
const listId = lSelect.options[lSelect.selectedIndex].value;
|
||||
const slSelect = $('.js-select-swimlanes')[0];
|
||||
const swimlaneId = slSelect.options[slSelect.selectedIndex].value;
|
||||
const bSelect = $('.js-select-boards')[0];
|
||||
const boardId = bSelect.options[bSelect.selectedIndex].value;
|
||||
const textarea = $('#copy-card-title');
|
||||
const title = textarea.val().trim();
|
||||
|
||||
if (title) {
|
||||
const _id = Cards.insert({
|
||||
title: title,
|
||||
listId: listId,
|
||||
boardId: boardId,
|
||||
swimlaneId: swimlaneId,
|
||||
sort: 0,
|
||||
});
|
||||
Filter.addException(_id);
|
||||
|
||||
Popup.close();
|
||||
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
Template.copyChecklistToManyCardsPopup.events({
|
||||
'click .js-done'() {
|
||||
const card = Cards.findOne(Session.get('currentCard'));
|
||||
@@ -1297,7 +1326,6 @@ BlazeComponent.extendComponent({
|
||||
Popup.close();
|
||||
},
|
||||
'click .js-remove-poker': Popup.afterConfirm('deletePoker', (event) => {
|
||||
event.preventDefault();
|
||||
this.currentCard.unsetPoker();
|
||||
Popup.close();
|
||||
}),
|
||||
|
||||
@@ -114,6 +114,12 @@ avatar-radius = 50%
|
||||
background: darken(white, 7%)
|
||||
border-bottom: 1px solid darken(white, 14%)
|
||||
|
||||
.card-number {
|
||||
color: darken(white, 30%);
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.close-card-details,
|
||||
.maximize-card-details,
|
||||
.minimize-card-details,
|
||||
|
||||
@@ -80,6 +80,9 @@ template(name="editChecklistItemForm")
|
||||
span(title=createdAt) {{ moment createdAt }}
|
||||
if canModifyCard
|
||||
a.js-delete-checklist-item {{_ "delete"}}...
|
||||
a.js-convert-checklist-item-to-card
|
||||
i.fa.fa-copy
|
||||
| {{_ 'convertChecklistItemToCardPopup-title'}}
|
||||
|
||||
template(name="checklistItems")
|
||||
.checklist-items.js-checklist-items
|
||||
@@ -110,3 +113,32 @@ template(name='checklistItemDetail')
|
||||
.item-title(class="{{#if item.isFinished }}is-checked{{/if}}")
|
||||
+viewer
|
||||
= item.title
|
||||
|
||||
template(name="convertChecklistItemToCardPopup")
|
||||
label(for='convert-checklist-item-to-card-title') {{_ 'title'}}:
|
||||
textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus)
|
||||
= item.title
|
||||
+boardsSwimlanesAndLists
|
||||
|
||||
template(name="boardsSwimlanesAndLists")
|
||||
unless currentUser.isWorker
|
||||
label {{_ 'boards'}}:
|
||||
select.js-select-boards(autofocus)
|
||||
each boards
|
||||
if $eq _id currentBoard._id
|
||||
option(value="{{_id}}" selected) {{_ 'current'}}
|
||||
else
|
||||
option(value="{{_id}}") {{title}}
|
||||
|
||||
label {{_ 'swimlanes'}}:
|
||||
select.js-select-swimlanes
|
||||
each swimlanes
|
||||
option(value="{{_id}}") {{title}}
|
||||
|
||||
label {{_ 'lists'}}:
|
||||
select.js-select-lists
|
||||
each aBoardLists
|
||||
option(value="{{_id}}") {{title}}
|
||||
|
||||
.edit-controls.clearfix
|
||||
button.primary.confirm.js-done {{_ 'done'}}
|
||||
@@ -1,3 +1,7 @@
|
||||
import Cards from '/models/cards';
|
||||
import Boards from '/models/boards';
|
||||
|
||||
const subManager = new SubsManager();
|
||||
const { calculateIndexData, capitalize } = Utils;
|
||||
|
||||
function initSorting(items) {
|
||||
@@ -206,6 +210,7 @@ BlazeComponent.extendComponent({
|
||||
'submit .js-edit-checklist-title': this.editChecklist,
|
||||
'submit .js-add-checklist-item': this.addChecklistItem,
|
||||
'submit .js-edit-checklist-item': this.editChecklistItem,
|
||||
'click .js-convert-checklist-item-to-card': Popup.open('convertChecklistItemToCard'),
|
||||
'click .js-delete-checklist-item': this.deleteItem,
|
||||
'click .confirm-checklist-delete': this.deleteChecklist,
|
||||
'focus .js-add-checklist-item': this.focusChecklistItem,
|
||||
@@ -215,6 +220,47 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
}).register('checklists');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
subManager.subscribe('board', Session.get('currentBoard'), false);
|
||||
this.selectedBoardId = new ReactiveVar(Session.get('currentBoard'));
|
||||
},
|
||||
|
||||
boards() {
|
||||
return Boards.find(
|
||||
{
|
||||
archived: false,
|
||||
'members.userId': Meteor.userId(),
|
||||
_id: { $ne: Meteor.user().getTemplatesBoardId() },
|
||||
},
|
||||
{
|
||||
sort: { sort: 1 /* boards default sorting */ },
|
||||
},
|
||||
);
|
||||
},
|
||||
|
||||
swimlanes() {
|
||||
const board = Boards.findOne(this.selectedBoardId.get());
|
||||
return board.swimlanes();
|
||||
},
|
||||
|
||||
aBoardLists() {
|
||||
const board = Boards.findOne(this.selectedBoardId.get());
|
||||
return board.lists();
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
'change .js-select-boards'(event) {
|
||||
this.selectedBoardId.set($(event.currentTarget).val());
|
||||
subManager.subscribe('board', this.selectedBoardId.get(), false);
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
}).register('boardsSwimlanesAndLists');
|
||||
|
||||
Template.checklists.helpers({
|
||||
hideCheckedItems() {
|
||||
const currentUser = Meteor.user();
|
||||
|
||||
@@ -159,7 +159,8 @@ textarea.js-add-checklist-item, textarea.js-edit-checklist-item
|
||||
padding-top: 2px
|
||||
padding-right: 10px;
|
||||
|
||||
.js-delete-checklist-item
|
||||
.js-delete-checklist-item,
|
||||
.js-convert-checklist-item-to-card
|
||||
margin: 0 0 0.5em 1.33em
|
||||
@extends .delete-text
|
||||
padding: 12px 0 0 0
|
||||
|
||||
@@ -37,6 +37,9 @@ template(name="minicard")
|
||||
if getArchived
|
||||
span.linked-icon.linked-archived.fa.fa-archive
|
||||
+viewer
|
||||
if currentBoard.allowsCardNumber
|
||||
span.card-number
|
||||
| ##{getCardNumber}
|
||||
= getTitle
|
||||
if $eq 'subtext-with-full-path' currentBoard.presentParentTask
|
||||
.parent-subtext
|
||||
|
||||
@@ -114,6 +114,10 @@
|
||||
font-size:20px;
|
||||
color: #ccc;
|
||||
.minicard-title
|
||||
.card-number
|
||||
color: darken(white, 30%);
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
p:last-child
|
||||
margin-bottom: 0
|
||||
.viewer
|
||||
|
||||
@@ -81,7 +81,9 @@ BlazeComponent.extendComponent({
|
||||
Utils.boardView() === 'board-view-cal' ||
|
||||
!Utils.boardView()
|
||||
)
|
||||
swimlaneId = board.getDefaultSwimline()._id;
|
||||
swimlaneId = board.getDefaultSwimline()._id;
|
||||
|
||||
const nextCardNumber = board.getNextCardNumber();
|
||||
|
||||
const _id = Cards.insert({
|
||||
title,
|
||||
@@ -93,6 +95,7 @@ BlazeComponent.extendComponent({
|
||||
sort: sortIndex,
|
||||
swimlaneId,
|
||||
type: cardType,
|
||||
cardNumber: nextCardNumber,
|
||||
linkedId,
|
||||
});
|
||||
|
||||
@@ -241,7 +244,7 @@ BlazeComponent.extendComponent({
|
||||
Boards.findOne(currentBoardId)
|
||||
.customFields()
|
||||
.fetch(),
|
||||
function(field) {
|
||||
function (field) {
|
||||
if (field.automaticallyOnCard || field.alwaysOnCard)
|
||||
arr.push({ _id: field._id, value: null });
|
||||
},
|
||||
@@ -552,7 +555,7 @@ BlazeComponent.extendComponent({
|
||||
board = Boards.findOne((Meteor.user().profile || {}).templatesBoardId);
|
||||
} else {
|
||||
// Prefetch first non-current board id
|
||||
board = Boards.findOne({
|
||||
board = Boards.find({
|
||||
archived: false,
|
||||
'members.userId': Meteor.userId(),
|
||||
_id: {
|
||||
@@ -750,17 +753,17 @@ BlazeComponent.extendComponent({
|
||||
|
||||
checkIdleTime() {
|
||||
return window.requestIdleCallback ||
|
||||
function(handler) {
|
||||
const startTime = Date.now();
|
||||
return setTimeout(function() {
|
||||
handler({
|
||||
didTimeout: false,
|
||||
timeRemaining() {
|
||||
return Math.max(0, 50.0 - (Date.now() - startTime));
|
||||
},
|
||||
});
|
||||
}, 1);
|
||||
};
|
||||
function (handler) {
|
||||
const startTime = Date.now();
|
||||
return setTimeout(function () {
|
||||
handler({
|
||||
didTimeout: false,
|
||||
timeRemaining() {
|
||||
return Math.max(0, 50.0 - (Date.now() - startTime));
|
||||
},
|
||||
});
|
||||
}, 1);
|
||||
};
|
||||
}
|
||||
|
||||
updateList() {
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
const specialHandles = [
|
||||
{userId: 'board_members', username: 'board_members'},
|
||||
{userId: 'card_members', username: 'card_members'}
|
||||
];
|
||||
const specialHandleNames = specialHandles.map(m => m.username);
|
||||
|
||||
Template.editor.onRendered(() => {
|
||||
const textareaSelector = 'textarea';
|
||||
const mentions = [
|
||||
@@ -7,13 +13,14 @@ Template.editor.onRendered(() => {
|
||||
search(term, callback) {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
callback(
|
||||
_.union(
|
||||
currentBoard
|
||||
.activeMembers()
|
||||
.map(member => {
|
||||
const username = Users.findOne(member.userId).username;
|
||||
return username.includes(term) ? username : null;
|
||||
})
|
||||
.filter(Boolean),
|
||||
.filter(Boolean), [...specialHandleNames])
|
||||
);
|
||||
},
|
||||
template(value) {
|
||||
@@ -50,7 +57,7 @@ Template.editor.onRendered(() => {
|
||||
['table', ['table']],
|
||||
//['insert', ['link', 'picture', 'video']], // iframe tag will be sanitized TODO if iframe[class=note-video-clip] can be added into safe list, insert video can be enabled
|
||||
['insert', ['link']], //, 'picture']], // modal popup has issue somehow :(
|
||||
['view', ['fullscreen', 'help']],
|
||||
['view', ['fullscreen', 'codeview', 'help']],
|
||||
];
|
||||
const cleanPastedHTML = function(input) {
|
||||
const badTags = [
|
||||
@@ -229,7 +236,7 @@ Template.editor.onRendered(() => {
|
||||
// (and multiplies by pasting more) by changing paste "p" to "br".
|
||||
// Fixes https://github.com/wekan/wekan/2890 .
|
||||
// == Fix Start ==
|
||||
//someNote.execCommand('defaultParagraphSeparator', false, 'br');
|
||||
someNote.execCommand('defaultParagraphSeparator', false, 'br');
|
||||
// == Fix End ==
|
||||
const original = someNote.summernote('code');
|
||||
const cleaned = cleanPastedHTML(original); //this is where to call whatever clean function you want. I have mine in a different file, called CleanPastedHTML.
|
||||
@@ -323,13 +330,13 @@ Blaze.Template.registerHelper(
|
||||
return HTML.Raw(
|
||||
DOMPurify.sanitize(content, { ALLOW_UNKNOWN_PROTOCOLS: true }),
|
||||
);
|
||||
const knowedUsers = currentBoard.members.map(member => {
|
||||
const knowedUsers = _.union(currentBoard.members.map(member => {
|
||||
const u = Users.findOne(member.userId);
|
||||
if (u) {
|
||||
member.username = u.username;
|
||||
}
|
||||
return member;
|
||||
});
|
||||
}), [...specialHandles]);
|
||||
const mentionRegex = /\B@([\w.]*)/gi;
|
||||
|
||||
let currentMention;
|
||||
|
||||
@@ -158,40 +158,42 @@ class GlobalSearchComponent extends CardSearchPagedComponent {
|
||||
['# ', 'globalSearch-instructions-heading'],
|
||||
['\n', 'globalSearch-instructions-description'],
|
||||
['\n\n', 'globalSearch-instructions-operators'],
|
||||
['\n* ', 'globalSearch-instructions-operator-board'],
|
||||
['\n* ', 'globalSearch-instructions-operator-list'],
|
||||
['\n* ', 'globalSearch-instructions-operator-swimlane'],
|
||||
['\n* ', 'globalSearch-instructions-operator-comment'],
|
||||
['\n* ', 'globalSearch-instructions-operator-label'],
|
||||
['\n* ', 'globalSearch-instructions-operator-hash'],
|
||||
['\n* ', 'globalSearch-instructions-operator-user'],
|
||||
['\n* ', 'globalSearch-instructions-operator-at'],
|
||||
['\n* ', 'globalSearch-instructions-operator-member'],
|
||||
['\n* ', 'globalSearch-instructions-operator-assignee'],
|
||||
['\n* ', 'globalSearch-instructions-operator-creator'],
|
||||
['\n* ', 'globalSearch-instructions-operator-due'],
|
||||
['\n* ', 'globalSearch-instructions-operator-created'],
|
||||
['\n* ', 'globalSearch-instructions-operator-modified'],
|
||||
['\n* ', 'globalSearch-instructions-operator-status'],
|
||||
['\n * ', 'globalSearch-instructions-status-archived'],
|
||||
['\n * ', 'globalSearch-instructions-status-public'],
|
||||
['\n * ', 'globalSearch-instructions-status-private'],
|
||||
['\n * ', 'globalSearch-instructions-status-all'],
|
||||
['\n * ', 'globalSearch-instructions-status-ended'],
|
||||
['\n* ', 'globalSearch-instructions-operator-has'],
|
||||
['\n* ', 'globalSearch-instructions-operator-sort'],
|
||||
['\n* ', 'globalSearch-instructions-operator-limit'],
|
||||
['\n- ', 'globalSearch-instructions-operator-board'],
|
||||
['\n- ', 'globalSearch-instructions-operator-list'],
|
||||
['\n- ', 'globalSearch-instructions-operator-swimlane'],
|
||||
['\n- ', 'globalSearch-instructions-operator-comment'],
|
||||
['\n- ', 'globalSearch-instructions-operator-label'],
|
||||
['\n- ', 'globalSearch-instructions-operator-hash'],
|
||||
['\n- ', 'globalSearch-instructions-operator-user'],
|
||||
['\n- ', 'globalSearch-instructions-operator-at'],
|
||||
['\n- ', 'globalSearch-instructions-operator-member'],
|
||||
['\n- ', 'globalSearch-instructions-operator-assignee'],
|
||||
['\n- ', 'globalSearch-instructions-operator-creator'],
|
||||
['\n- ', 'globalSearch-instructions-operator-due'],
|
||||
['\n- ', 'globalSearch-instructions-operator-created'],
|
||||
['\n- ', 'globalSearch-instructions-operator-modified'],
|
||||
['\n- ', 'globalSearch-instructions-operator-status'],
|
||||
['\n - ', 'globalSearch-instructions-status-archived'],
|
||||
['\n - ', 'globalSearch-instructions-status-public'],
|
||||
['\n - ', 'globalSearch-instructions-status-private'],
|
||||
['\n - ', 'globalSearch-instructions-status-all'],
|
||||
['\n - ', 'globalSearch-instructions-status-ended'],
|
||||
['\n- ', 'globalSearch-instructions-operator-has'],
|
||||
['\n- ', 'globalSearch-instructions-operator-sort'],
|
||||
['\n- ', 'globalSearch-instructions-operator-limit'],
|
||||
['\n## ', 'heading-notes'],
|
||||
['\n* ', 'globalSearch-instructions-notes-1'],
|
||||
['\n* ', 'globalSearch-instructions-notes-2'],
|
||||
['\n* ', 'globalSearch-instructions-notes-3'],
|
||||
['\n* ', 'globalSearch-instructions-notes-3-2'],
|
||||
['\n* ', 'globalSearch-instructions-notes-4'],
|
||||
['\n* ', 'globalSearch-instructions-notes-5'],
|
||||
['\n- ', 'globalSearch-instructions-notes-1'],
|
||||
['\n- ', 'globalSearch-instructions-notes-2'],
|
||||
['\n- ', 'globalSearch-instructions-notes-3'],
|
||||
['\n- ', 'globalSearch-instructions-notes-3-2'],
|
||||
['\n- ', 'globalSearch-instructions-notes-4'],
|
||||
['\n- ', 'globalSearch-instructions-notes-5'],
|
||||
].forEach(([prefix, instruction]) => {
|
||||
text += `${prefix}${TAPi18n.__(instruction, tags)}`;
|
||||
text += `${prefix}${TAPi18n.__(instruction, tags)}`
|
||||
// Replace *<text>* with `<text>` so markdown shows correctly
|
||||
.replace(/\*\</, '`<')
|
||||
.replace(/\>\*/, '\>\`')
|
||||
});
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
|
||||
@@ -92,6 +92,8 @@ Template.userFormsLayout.helpers({
|
||||
name = 'Latviešu';
|
||||
} else if (lang.name === 'latviešu valoda') {
|
||||
name = 'Latviešu';
|
||||
} else if (lang.name === 'en-IT') {
|
||||
name = 'English (Italy)';
|
||||
} else if (lang.name === 'Español') {
|
||||
name = 'español';
|
||||
} else if (lang.name === 'es_419') {
|
||||
|
||||
@@ -317,6 +317,9 @@ kbd
|
||||
.grabbing
|
||||
cursor: grabbing
|
||||
|
||||
.textcomplete-dropdown
|
||||
z-index: 2000 !important;
|
||||
|
||||
// Implement a thiner close icon as suggested in
|
||||
// https://github.com/FortAwesome/Font-Awesome/issues/1540#issuecomment-68689950
|
||||
.fa.fa-times-thin:before
|
||||
|
||||
@@ -531,6 +531,9 @@ template(name="settingsOrgPopup")
|
||||
ul.pop-over-list
|
||||
li
|
||||
form
|
||||
label#deleteOrgWarningMessage.hide
|
||||
| {{_ 'delete-org-warning-message'}}
|
||||
br
|
||||
label
|
||||
| {{_ 'delete-org-confirm-popup'}}
|
||||
br
|
||||
@@ -552,6 +555,9 @@ template(name="settingsTeamPopup")
|
||||
ul.pop-over-list
|
||||
li
|
||||
form
|
||||
label#deleteTeamWarningMessage.hide
|
||||
| {{_ 'delete-team-warning-message'}}
|
||||
br
|
||||
label
|
||||
| {{_ 'delete-team-confirm-popup'}}
|
||||
br
|
||||
@@ -565,15 +571,16 @@ template(name="settingsUserPopup")
|
||||
a.impersonate-user
|
||||
i.fa.fa-user
|
||||
| {{_ 'impersonate-user'}}
|
||||
//hr
|
||||
//li
|
||||
// form
|
||||
// label.hide.userId(type="text" value=user._id)
|
||||
// div.buttonsContainer
|
||||
// input#deleteButton.card-details-red.right.wide(type="button" value="{{_ 'delete'}}")
|
||||
// Delete is not enabled yet, because it does leave empty user avatars
|
||||
hr
|
||||
li
|
||||
form
|
||||
label.hide.userId(type="text" value=user._id)
|
||||
div.buttonsContainer
|
||||
input#deleteButton.card-details-red.right.wide(type="button" value="{{_ 'delete'}}")
|
||||
// Delete is enabled, but there is still bug of leaving empty user avatars
|
||||
// to boards: boards members, card members and assignees have
|
||||
// empty users. See:
|
||||
// empty users. So it is better to remove user from all boards before removing user.
|
||||
// See:
|
||||
// - wekan/client/components/settings/peopleBody.jade deleteButton
|
||||
// - wekan/client/components/settings/peopleBody.js deleteButton
|
||||
// - wekan/client/components/sidebar/sidebar.js Popup.afterConfirm('removeMember'
|
||||
|
||||
@@ -551,12 +551,15 @@ Template.editUserPopup.events({
|
||||
let userTeamsList = userTeams.split(",");
|
||||
let userTeamsIdsList = userTeamsIds.split(",");
|
||||
let userTms = [];
|
||||
for(let i = 0; i < userTeamsList.length; i++){
|
||||
userTms.push({
|
||||
"teamId": userTeamsIdsList[i],
|
||||
"teamDisplayName": userTeamsList[i],
|
||||
})
|
||||
if(userTeams != ''){
|
||||
for(let i = 0; i < userTeamsList.length; i++){
|
||||
userTms.push({
|
||||
"teamId": userTeamsIdsList[i],
|
||||
"teamDisplayName": userTeamsList[i],
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Users.update(this.userId, {
|
||||
$set:{
|
||||
teams: userTms
|
||||
@@ -566,12 +569,15 @@ Template.editUserPopup.events({
|
||||
let userOrgsList = userOrgs.split(",");
|
||||
let userOrgsIdsList = userOrgsIds.split(",");
|
||||
let userOrganizations = [];
|
||||
for(let i = 0; i < userOrgsList.length; i++){
|
||||
userOrganizations.push({
|
||||
"orgId": userOrgsIdsList[i],
|
||||
"orgDisplayName": userOrgsList[i],
|
||||
})
|
||||
if(userOrgs != ''){
|
||||
for(let i = 0; i < userOrgsList.length; i++){
|
||||
userOrganizations.push({
|
||||
"orgId": userOrgsIdsList[i],
|
||||
"orgDisplayName": userOrgsList[i],
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Users.update(this.userId, {
|
||||
$set:{
|
||||
orgs: userOrganizations
|
||||
@@ -724,7 +730,7 @@ UpdateUserOrgsOrTeamsElement = function(isNewUser = false){
|
||||
lstInputValuesIds = [];
|
||||
}
|
||||
index = lstInputValues.indexOf(selectedEltValue);
|
||||
indexId = lstInputValuesIds.indexOf(selectedEltValue);
|
||||
indexId = lstInputValuesIds.indexOf(selectedEltValueId);
|
||||
if(userOrgsTeamsAction == "addOrg" || userOrgsTeamsAction == "addTeam"){
|
||||
if(index <= -1 && selectedEltValueId != "-1"){
|
||||
lstInputValues.push(selectedEltValue);
|
||||
@@ -923,6 +929,16 @@ Template.newUserPopup.events({
|
||||
Template.settingsOrgPopup.events({
|
||||
'click #deleteButton'(event) {
|
||||
event.preventDefault();
|
||||
if(Users.find({"orgs.orgId": this.orgId}).count() > 0)
|
||||
{
|
||||
let orgClassList = document.getElementById("deleteOrgWarningMessage").classList;
|
||||
if(orgClassList.contains('hide'))
|
||||
{
|
||||
orgClassList.remove('hide');
|
||||
document.getElementById("deleteOrgWarningMessage").style.color = "red";
|
||||
}
|
||||
return;
|
||||
}
|
||||
Org.remove(this.orgId);
|
||||
Popup.close();
|
||||
}
|
||||
@@ -931,6 +947,16 @@ Template.settingsOrgPopup.events({
|
||||
Template.settingsTeamPopup.events({
|
||||
'click #deleteButton'(event) {
|
||||
event.preventDefault();
|
||||
if(Users.find({"teams.teamId": this.teamId}).count() > 0)
|
||||
{
|
||||
let teamClassList = document.getElementById("deleteTeamWarningMessage").classList;
|
||||
if(teamClassList.contains('hide'))
|
||||
{
|
||||
teamClassList.remove('hide');
|
||||
document.getElementById("deleteTeamWarningMessage").style.color = "red";
|
||||
}
|
||||
return;
|
||||
}
|
||||
Team.remove(this.teamId);
|
||||
Popup.close();
|
||||
}
|
||||
|
||||
@@ -31,6 +31,26 @@ template(name='homeSidebar')
|
||||
+activities(mode="board")
|
||||
|
||||
template(name="membersWidget")
|
||||
.board-widget.board-widget-members
|
||||
h3
|
||||
i.fa.fa-users
|
||||
| {{_ 'organizations'}}
|
||||
|
||||
.board-widget-content
|
||||
+boardOrgGeneral
|
||||
.clearfix
|
||||
br
|
||||
hr
|
||||
.board-widget.board-widget-members
|
||||
h3
|
||||
i.fa.fa-users
|
||||
| {{_ 'teams'}}
|
||||
|
||||
.board-widget-content
|
||||
+boardTeamGeneral
|
||||
.clearfix
|
||||
br
|
||||
hr
|
||||
.board-widget.board-widget-members
|
||||
h3
|
||||
i.fa.fa-users
|
||||
@@ -65,6 +85,30 @@ template(name="membersWidget")
|
||||
button.js-member-invite-accept.primary {{_ 'accept'}}
|
||||
button.js-member-invite-decline {{_ 'decline'}}
|
||||
|
||||
template(name="boardOrgGeneral")
|
||||
table
|
||||
tbody
|
||||
tr
|
||||
th {{_ 'displayName'}}
|
||||
th
|
||||
if currentUser.isBoardAdmin
|
||||
a.member.orgOrTeamMember.add-member.js-manage-board-addOrg(title="{{_ 'add-members'}}")
|
||||
i.fa.fa-plus
|
||||
each org in currentBoard.activeOrgs
|
||||
+boardOrgRow(orgId=org.orgId)
|
||||
|
||||
template(name="boardTeamGeneral")
|
||||
table
|
||||
tbody
|
||||
tr
|
||||
th {{_ 'displayName'}}
|
||||
th
|
||||
if currentUser.isBoardAdmin
|
||||
a.member.orgOrTeamMember.add-member.js-manage-board-addTeam(title="{{_ 'add-members'}}")
|
||||
i.fa.fa-plus
|
||||
each currentBoard.activeTeams
|
||||
+boardTeamRow(teamId=this.teamId)
|
||||
|
||||
template(name="boardChangeColorPopup")
|
||||
.board-backgrounds-list.clearfix
|
||||
each backgroundColors
|
||||
@@ -145,6 +189,13 @@ template(name="boardCardSettingsPopup")
|
||||
span
|
||||
i.fa.fa-tags
|
||||
| {{_ 'labels'}}
|
||||
div.check-div
|
||||
a.flex.js-field-has-card-number(class="{{#if allowsCardNumber}}is-checked{{/if}}")
|
||||
.materialCheckBox(class="{{#if allowsCardNumber}}is-checked{{/if}}")
|
||||
span
|
||||
i.fa.fa-hashtag
|
||||
| {{_ 'card'}}
|
||||
| {{_ 'number'}}
|
||||
div.check-div
|
||||
a.flex.js-field-has-description-title(class="{{#if allowsDescriptionTitle}}is-checked{{/if}}")
|
||||
.materialCheckBox(class="{{#if allowsDescriptionTitle}}is-checked{{/if}}")
|
||||
@@ -409,6 +460,40 @@ template(name="leaveBoardPopup")
|
||||
p {{_ 'leave-board-pop' boardTitle=board.title}}
|
||||
button.js-confirm.negate.full(type="submit") {{_ 'leave-board'}}
|
||||
|
||||
template(name="addBoardOrgPopup")
|
||||
select.js-boardOrgs#jsBoardOrgs
|
||||
option(value="-1") {{_ 'organizations'}} :
|
||||
each value in orgsDatas
|
||||
option(value="{{value._id}}") {{_ value.orgDisplayName}}
|
||||
|
||||
template(name="removeBoardOrgPopup")
|
||||
form
|
||||
input.hide#hideOrgId(type="text" value=org._id)
|
||||
label
|
||||
| {{_ 'leave-board'}} ?
|
||||
br
|
||||
hr
|
||||
div.buttonsContainer
|
||||
input.primary.wide.leaveBoardBtn#leaveBoardBtn(type="submit" value="{{_ 'leave-board'}}")
|
||||
input.primary.wide.cancelLeaveBoardBtn#cancelLeaveBoardBtn(type="submit" value="{{_ 'Cancel'}}")
|
||||
|
||||
template(name="addBoardTeamPopup")
|
||||
select.js-boardTeams#jsBoardTeams
|
||||
option(value="-1") {{_ 'teams'}} :
|
||||
each value in teamsDatas
|
||||
option(value="{{value._id}}") {{_ value.teamDisplayName}}
|
||||
|
||||
template(name="removeBoardTeamPopup")
|
||||
form
|
||||
input.hide#hideTeamId(type="text" value=team._id)
|
||||
label
|
||||
| {{_ 'leave-board'}} ?
|
||||
br
|
||||
hr
|
||||
div.buttonsContainer
|
||||
input.primary.wide.leaveBoardBtn#leaveBoardTeamBtn(type="submit" value="{{_ 'leave-board'}}")
|
||||
input.primary.wide.cancelLeaveBoardBtn#cancelLeaveBoardTeamBtn(type="submit" value="{{_ 'Cancel'}}")
|
||||
|
||||
template(name="addMemberPopup")
|
||||
.js-search-member
|
||||
+esInput(index="users")
|
||||
|
||||
@@ -313,6 +313,8 @@ Template.membersWidget.events({
|
||||
'click .js-member': Popup.open('member'),
|
||||
'click .js-open-board-menu': Popup.open('boardMenu'),
|
||||
'click .js-manage-board-members': Popup.open('addMember'),
|
||||
'click .js-manage-board-addOrg': Popup.open('addBoardOrg'),
|
||||
'click .js-manage-board-addTeam': Popup.open('addBoardTeam'),
|
||||
'click .js-import': Popup.open('boardImportBoard'),
|
||||
submit: this.onSubmit,
|
||||
'click .js-import-board': Popup.open('chooseBoardSource'),
|
||||
@@ -774,6 +776,10 @@ BlazeComponent.extendComponent({
|
||||
return this.currentBoard.allowsComments;
|
||||
},
|
||||
|
||||
allowsCardNumber() {
|
||||
return this.currentBoard.allowsCardNumber;
|
||||
},
|
||||
|
||||
allowsDescriptionTitle() {
|
||||
return this.currentBoard.allowsDescriptionTitle;
|
||||
},
|
||||
@@ -1017,6 +1023,22 @@ BlazeComponent.extendComponent({
|
||||
this.currentBoard.allowsDescriptionTitle,
|
||||
);
|
||||
},
|
||||
'click .js-field-has-card-number'(evt) {
|
||||
evt.preventDefault();
|
||||
this.currentBoard.allowsCardNumber = !this.currentBoard
|
||||
.allowsCardNumber;
|
||||
this.currentBoard.setAllowsCardNumber(
|
||||
this.currentBoard.allowsCardNumber,
|
||||
);
|
||||
$(`.js-field-has-card-number ${MCB}`).toggleClass(
|
||||
CKCLS,
|
||||
this.currentBoard.allowsCardNumber,
|
||||
);
|
||||
$('.js-field-has-card-number').toggleClass(
|
||||
CKCLS,
|
||||
this.currentBoard.allowsCardNumber,
|
||||
);
|
||||
},
|
||||
'click .js-field-has-description-text'(evt) {
|
||||
evt.preventDefault();
|
||||
this.currentBoard.allowsDescriptionText = !this.currentBoard
|
||||
@@ -1168,6 +1190,283 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
}).register('addMemberPopup');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
this.findOrgsOptions = new ReactiveVar({});
|
||||
|
||||
this.page = new ReactiveVar(1);
|
||||
this.autorun(() => {
|
||||
const limitOrgs = this.page.get() * Number.MAX_SAFE_INTEGER;
|
||||
this.subscribe('org', this.findOrgsOptions.get(), limitOrgs, () => {});
|
||||
});
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
this.setLoading(false);
|
||||
},
|
||||
|
||||
setError(error) {
|
||||
this.error.set(error);
|
||||
},
|
||||
|
||||
setLoading(w) {
|
||||
this.loading.set(w);
|
||||
},
|
||||
|
||||
isLoading() {
|
||||
return this.loading.get();
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
'keyup input'() {
|
||||
this.setError('');
|
||||
},
|
||||
'change #jsBoardOrgs'() {
|
||||
let currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
let selectElt = document.getElementById("jsBoardOrgs");
|
||||
let selectedOrgId = selectElt.options[selectElt.selectedIndex].value;
|
||||
let selectedOrgDisplayName = selectElt.options[selectElt.selectedIndex].text;
|
||||
let boardOrganizations = [];
|
||||
if(currentBoard.orgs !== undefined){
|
||||
for(let i = 0; i < currentBoard.orgs.length; i++){
|
||||
boardOrganizations.push(currentBoard.orgs[i]);
|
||||
}
|
||||
}
|
||||
|
||||
if(!boardOrganizations.some((org) => org.orgDisplayName == selectedOrgDisplayName)){
|
||||
boardOrganizations.push({
|
||||
"orgId": selectedOrgId,
|
||||
"orgDisplayName": selectedOrgDisplayName,
|
||||
"isActive" : true,
|
||||
})
|
||||
|
||||
if (selectedOrgId != "-1") {
|
||||
Meteor.call('setBoardOrgs', boardOrganizations, currentBoard._id);
|
||||
}
|
||||
}
|
||||
|
||||
Popup.close();
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
}).register('addBoardOrgPopup');
|
||||
|
||||
Template.addBoardOrgPopup.helpers({
|
||||
orgsDatas() {
|
||||
// return Org.find({}, {sort: { createdAt: -1 }});
|
||||
let orgs = Org.find({}, {sort: { createdAt: -1 }});
|
||||
return orgs;
|
||||
},
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
this.findOrgsOptions = new ReactiveVar({});
|
||||
|
||||
this.page = new ReactiveVar(1);
|
||||
this.autorun(() => {
|
||||
const limitOrgs = this.page.get() * Number.MAX_SAFE_INTEGER;
|
||||
this.subscribe('org', this.findOrgsOptions.get(), limitOrgs, () => {});
|
||||
});
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
this.setLoading(false);
|
||||
},
|
||||
|
||||
setError(error) {
|
||||
this.error.set(error);
|
||||
},
|
||||
|
||||
setLoading(w) {
|
||||
this.loading.set(w);
|
||||
},
|
||||
|
||||
isLoading() {
|
||||
return this.loading.get();
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
'keyup input'() {
|
||||
this.setError('');
|
||||
},
|
||||
'click #leaveBoardBtn'(){
|
||||
let stringOrgId = document.getElementById('hideOrgId').value;
|
||||
let currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
let boardOrganizations = [];
|
||||
if(currentBoard.orgs !== undefined){
|
||||
for(let i = 0; i < currentBoard.orgs.length; i++){
|
||||
if(currentBoard.orgs[i].orgId != stringOrgId){
|
||||
boardOrganizations.push(currentBoard.orgs[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Meteor.call('setBoardOrgs', boardOrganizations, currentBoard._id);
|
||||
|
||||
Popup.close();
|
||||
},
|
||||
'click #cancelLeaveBoardBtn'(){
|
||||
Popup.close();
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
}).register('removeBoardOrgPopup');
|
||||
|
||||
Template.removeBoardOrgPopup.helpers({
|
||||
org() {
|
||||
return Org.findOne(this.orgId);
|
||||
},
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
this.findOrgsOptions = new ReactiveVar({});
|
||||
|
||||
this.page = new ReactiveVar(1);
|
||||
this.autorun(() => {
|
||||
const limitTeams = this.page.get() * Number.MAX_SAFE_INTEGER;
|
||||
this.subscribe('team', this.findOrgsOptions.get(), limitTeams, () => {});
|
||||
});
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
this.setLoading(false);
|
||||
},
|
||||
|
||||
setError(error) {
|
||||
this.error.set(error);
|
||||
},
|
||||
|
||||
setLoading(w) {
|
||||
this.loading.set(w);
|
||||
},
|
||||
|
||||
isLoading() {
|
||||
return this.loading.get();
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
'keyup input'() {
|
||||
this.setError('');
|
||||
},
|
||||
'change #jsBoardTeams'() {
|
||||
let currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
let selectElt = document.getElementById("jsBoardTeams");
|
||||
let selectedTeamId = selectElt.options[selectElt.selectedIndex].value;
|
||||
let selectedTeamDisplayName = selectElt.options[selectElt.selectedIndex].text;
|
||||
let boardTeams = [];
|
||||
if(currentBoard.teams !== undefined){
|
||||
for(let i = 0; i < currentBoard.teams.length; i++){
|
||||
boardTeams.push(currentBoard.teams[i]);
|
||||
}
|
||||
}
|
||||
|
||||
if(!boardTeams.some((team) => team.teamDisplayName == selectedTeamDisplayName)){
|
||||
boardTeams.push({
|
||||
"teamId": selectedTeamId,
|
||||
"teamDisplayName": selectedTeamDisplayName,
|
||||
"isActive" : true,
|
||||
})
|
||||
|
||||
if (selectedTeamId != "-1") {
|
||||
Meteor.call('setBoardTeams', boardTeams, currentBoard._id);
|
||||
}
|
||||
}
|
||||
|
||||
Popup.close();
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
}).register('addBoardTeamPopup');
|
||||
|
||||
Template.addBoardTeamPopup.helpers({
|
||||
teamsDatas() {
|
||||
let teams = Team.find({}, {sort: { createdAt: -1 }});
|
||||
return teams;
|
||||
},
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
this.findOrgsOptions = new ReactiveVar({});
|
||||
|
||||
this.page = new ReactiveVar(1);
|
||||
this.autorun(() => {
|
||||
const limitTeams = this.page.get() * Number.MAX_SAFE_INTEGER;
|
||||
this.subscribe('team', this.findOrgsOptions.get(), limitTeams, () => {});
|
||||
});
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
this.setLoading(false);
|
||||
},
|
||||
|
||||
setError(error) {
|
||||
this.error.set(error);
|
||||
},
|
||||
|
||||
setLoading(w) {
|
||||
this.loading.set(w);
|
||||
},
|
||||
|
||||
isLoading() {
|
||||
return this.loading.get();
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
'keyup input'() {
|
||||
this.setError('');
|
||||
},
|
||||
'click #leaveBoardTeamBtn'(){
|
||||
let stringTeamId = document.getElementById('hideTeamId').value;
|
||||
let currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
let boardTeams = [];
|
||||
if(currentBoard.teams !== undefined){
|
||||
for(let i = 0; i < currentBoard.teams.length; i++){
|
||||
if(currentBoard.teams[i].teamId != stringTeamId){
|
||||
boardTeams.push(currentBoard.teams[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Meteor.call('setBoardTeams', boardTeams, currentBoard._id);
|
||||
|
||||
Popup.close();
|
||||
},
|
||||
'click #cancelLeaveBoardTeamBtn'(){
|
||||
Popup.close();
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
}).register('removeBoardTeamPopup');
|
||||
|
||||
Template.removeBoardTeamPopup.helpers({
|
||||
team() {
|
||||
return Team.findOne(this.teamId);
|
||||
},
|
||||
});
|
||||
|
||||
Template.changePermissionsPopup.events({
|
||||
'click .js-set-admin, click .js-set-normal, click .js-set-no-comments, click .js-set-comment-only, click .js-set-worker'(
|
||||
event,
|
||||
|
||||
@@ -214,3 +214,13 @@
|
||||
i.fa
|
||||
padding: 8px 0px 8px 16px
|
||||
font-weight: bold
|
||||
|
||||
#jsBoardOrgs, #jsBoardTeams
|
||||
width: 90%
|
||||
|
||||
.leaveBoardBtn
|
||||
background-color: green !important
|
||||
|
||||
.cancelLeaveBoardBtn
|
||||
margin-left: 5% !important
|
||||
background-color: red !important
|
||||
@@ -11,8 +11,15 @@ template(name="swimlaneHeader")
|
||||
template(name="swimlaneFixedHeader")
|
||||
.swimlane-header(
|
||||
class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}")
|
||||
+viewer
|
||||
= title
|
||||
if $eq title 'Card Templates'
|
||||
| {{_ 'card-templates-swimlane'}}
|
||||
else if $eq title 'List Templates'
|
||||
| {{_ 'list-templates-swimlane'}}
|
||||
else if $eq title 'Board Templates'
|
||||
| {{_ 'board-templates-swimlane'}}
|
||||
else
|
||||
+viewer
|
||||
= title
|
||||
.swimlane-header-menu
|
||||
unless currentUser.isCommentOnly
|
||||
if currentUser.isBoardAdmin
|
||||
|
||||
@@ -19,6 +19,44 @@ template(name="userAvatarInitials")
|
||||
svg.avatar.avatar-initials(viewBox="0 0 {{viewPortWidth}} 15")
|
||||
text(x="50%" y="13" text-anchor="middle")= initials
|
||||
|
||||
template(name="orgAvatar")
|
||||
a.member.orgOrTeamMember(class="js-member" title="{{orgData.orgDisplayName}}")
|
||||
+boardOrgName(orgId=orgData._id)
|
||||
|
||||
template(name="boardOrgRow")
|
||||
tr
|
||||
if orgData.orgIsActive
|
||||
td <s>{{ orgData.orgDisplayName }}</s>
|
||||
else
|
||||
td {{ orgData.orgDisplayName }}
|
||||
td
|
||||
if currentUser.isBoardAdmin
|
||||
a.member.orgOrTeamMember.add-member.js-manage-board-removeOrg(title="{{_ 'remove-from-board'}}")
|
||||
i.fa.fa-minus
|
||||
|
||||
template(name="boardTeamRow")
|
||||
tr
|
||||
if teamData.teamIsActive
|
||||
td <s>{{ teamData.teamDisplayName }}</s>
|
||||
else
|
||||
td {{ teamData.teamDisplayName }}
|
||||
td
|
||||
if currentUser.isBoardAdmin
|
||||
a.member.orgOrTeamMember.add-member.js-manage-board-removeTeam(title="{{_ 'remove-from-board'}}")
|
||||
i.fa.fa-minus
|
||||
|
||||
template(name="boardOrgName")
|
||||
svg.avatar.avatar-initials(viewBox="0 0 {{orgViewPortWidth}} 15")
|
||||
text(x="50%" y="13" text-anchor="middle")= orgName
|
||||
|
||||
template(name="teamAvatar")
|
||||
a.member.orgOrTeamMember(class="js-member" title="{{teamData.teamDisplayName}}")
|
||||
+boardTeamName(orgId=orgData._id)
|
||||
|
||||
template(name="boardTeamName")
|
||||
svg.avatar.avatar-initials(viewBox="0 0 {{teamViewPortWidth}} 15")
|
||||
text(x="50%" y="13" text-anchor="middle")= teamName
|
||||
|
||||
template(name="userPopup")
|
||||
.board-member-menu
|
||||
.mini-profile-info
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import Cards from '/models/cards';
|
||||
import Avatars from '/models/avatars';
|
||||
import Users from '/models/users';
|
||||
import Org from '/models/org';
|
||||
import Team from '/models/team';
|
||||
|
||||
Template.userAvatar.helpers({
|
||||
userData() {
|
||||
@@ -46,6 +48,132 @@ Template.userAvatarInitials.helpers({
|
||||
},
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
this.findOrgsOptions = new ReactiveVar({});
|
||||
|
||||
this.page = new ReactiveVar(1);
|
||||
this.autorun(() => {
|
||||
const limitOrgs = this.page.get() * Number.MAX_SAFE_INTEGER;
|
||||
this.subscribe('org', this.findOrgsOptions.get(), limitOrgs, () => {});
|
||||
});
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
this.setLoading(false);
|
||||
},
|
||||
|
||||
setError(error) {
|
||||
this.error.set(error);
|
||||
},
|
||||
|
||||
setLoading(w) {
|
||||
this.loading.set(w);
|
||||
},
|
||||
|
||||
isLoading() {
|
||||
return this.loading.get();
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
'keyup input'() {
|
||||
this.setError('');
|
||||
},
|
||||
'click .js-manage-board-removeOrg': Popup.open('removeBoardOrg'),
|
||||
},
|
||||
];
|
||||
},
|
||||
}).register('boardOrgRow');
|
||||
|
||||
Template.boardOrgRow.helpers({
|
||||
orgData() {
|
||||
const orgCollection = this.esSearch ? ESSearchResults : Org;
|
||||
return orgCollection.findOne(this.orgId);
|
||||
},
|
||||
currentUser(){
|
||||
return Meteor.user();
|
||||
},
|
||||
});
|
||||
|
||||
Template.boardOrgName.helpers({
|
||||
orgName() {
|
||||
const org = Org.findOne(this.orgId);
|
||||
return org && org.orgDisplayName;
|
||||
},
|
||||
|
||||
orgViewPortWidth() {
|
||||
const org = Org.findOne(this.orgId);
|
||||
return ((org && org.orgDisplayName.length) || 1) * 12;
|
||||
},
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
this.findOrgsOptions = new ReactiveVar({});
|
||||
|
||||
this.page = new ReactiveVar(1);
|
||||
this.autorun(() => {
|
||||
const limitTeams = this.page.get() * Number.MAX_SAFE_INTEGER;
|
||||
this.subscribe('team', this.findOrgsOptions.get(), limitTeams, () => {});
|
||||
});
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
this.setLoading(false);
|
||||
},
|
||||
|
||||
setError(error) {
|
||||
this.error.set(error);
|
||||
},
|
||||
|
||||
setLoading(w) {
|
||||
this.loading.set(w);
|
||||
},
|
||||
|
||||
isLoading() {
|
||||
return this.loading.get();
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
'keyup input'() {
|
||||
this.setError('');
|
||||
},
|
||||
'click .js-manage-board-removeTeam': Popup.open('removeBoardTeam'),
|
||||
},
|
||||
];
|
||||
},
|
||||
}).register('boardTeamRow');
|
||||
|
||||
Template.boardTeamRow.helpers({
|
||||
teamData() {
|
||||
const teamCollection = this.esSearch ? ESSearchResults : Team;
|
||||
return teamCollection.findOne(this.teamId);
|
||||
},
|
||||
currentUser(){
|
||||
return Meteor.user();
|
||||
},
|
||||
});
|
||||
|
||||
Template.boardTeamName.helpers({
|
||||
teamName() {
|
||||
const team = Team.findOne(this.teamId);
|
||||
return team && team.teamDisplayName;
|
||||
},
|
||||
|
||||
teamViewPortWidth() {
|
||||
const team = Team.findOne(this.teamId);
|
||||
return ((team && team.teamDisplayName.length) || 1) * 12;
|
||||
},
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.error = new ReactiveVar('');
|
||||
|
||||
@@ -186,6 +186,8 @@ Template.changeLanguagePopup.helpers({
|
||||
name = 'Latviešu';
|
||||
} else if (lang.name === 'latviešu valoda') {
|
||||
name = 'Latviešu';
|
||||
} else if (lang.name === 'en-IT') {
|
||||
name = 'English (Italy)';
|
||||
} else if (lang.name === 'Español') {
|
||||
name = 'español';
|
||||
} else if (lang.name === 'es_419') {
|
||||
|
||||
Executable → Regular
File mode changed.
@@ -0,0 +1,197 @@
|
||||
/* eslint-env mocha */
|
||||
import sinon from 'sinon';
|
||||
import { expect } from 'chai';
|
||||
import { Random } from 'meteor/random';
|
||||
import '../utils';
|
||||
|
||||
|
||||
describe('Utils', function() {
|
||||
beforeEach(function() {
|
||||
sinon.stub(Utils, 'reload').callsFake(() => {});
|
||||
});
|
||||
|
||||
afterEach(function() {
|
||||
window.localStorage.removeItem(boardView);
|
||||
sinon.restore();
|
||||
});
|
||||
|
||||
const boardView = 'boardView';
|
||||
|
||||
describe(Utils.setBoardView.name, function() {
|
||||
it('sets the board view if the user exists', function(done) {
|
||||
const viewId = Random.id();
|
||||
const user = {
|
||||
setBoardView: (view) => {
|
||||
expect(view).to.equal(viewId);
|
||||
done();
|
||||
},
|
||||
};
|
||||
sinon.stub(Meteor, 'user').callsFake(() => user);
|
||||
Utils.setBoardView(viewId);
|
||||
|
||||
expect(window.localStorage.getItem(boardView)).to.equal(viewId);
|
||||
});
|
||||
|
||||
it('sets a specific view if no user exists but a view is defined', function() {
|
||||
const views = [
|
||||
'board-view-swimlanes',
|
||||
'board-view-lists',
|
||||
'board-view-cal'
|
||||
];
|
||||
|
||||
sinon.stub(Meteor, 'user').callsFake(() => {});
|
||||
|
||||
views.forEach(viewName => {
|
||||
Utils.setBoardView(viewName);
|
||||
expect(window.localStorage.getItem(boardView)).to.equal(viewName);
|
||||
});
|
||||
});
|
||||
|
||||
it('sets a default view if no user and no view are given', function() {
|
||||
sinon.stub(Meteor, 'user').callsFake(() => {});
|
||||
Utils.setBoardView();
|
||||
expect(window.localStorage.getItem(boardView)).to.equal('board-view-swimlanes');
|
||||
});
|
||||
});
|
||||
|
||||
describe(Utils.unsetBoardView.name, function() {
|
||||
it('removes the boardview from localStoage', function() {
|
||||
window.localStorage.setItem(boardView, Random.id());
|
||||
window.localStorage.setItem('collapseSwimlane', Random.id());
|
||||
|
||||
Utils.unsetBoardView();
|
||||
|
||||
expect(window.localStorage.getItem(boardView)).to.equal(null);
|
||||
expect(window.localStorage.getItem('collapseSwimlane')).to.equal(null);
|
||||
});
|
||||
});
|
||||
|
||||
describe(Utils.boardView.name, function() {
|
||||
it('returns the user\'s board view if a user exists', function() {
|
||||
const viewId = Random.id();
|
||||
const user = {};
|
||||
sinon.stub(Meteor, 'user').callsFake(() => user);
|
||||
expect(Utils.boardView()).to.equal(undefined);
|
||||
|
||||
const boardView = Random.id();
|
||||
user.profile = { boardView };
|
||||
|
||||
expect(Utils.boardView()).to.equal(boardView);
|
||||
});
|
||||
it('returns the current defined view', function() {
|
||||
const views = [
|
||||
'board-view-swimlanes',
|
||||
'board-view-lists',
|
||||
'board-view-cal'
|
||||
];
|
||||
|
||||
sinon.stub(Meteor, 'user').callsFake(() => {});
|
||||
|
||||
views.forEach(viewName => {
|
||||
window.localStorage.setItem(boardView, viewName);
|
||||
expect(Utils.boardView()).to.equal(viewName);
|
||||
});
|
||||
});
|
||||
it('returns a default if nothing is set', function() {
|
||||
sinon.stub(Meteor, 'user').callsFake(() => {});
|
||||
expect(Utils.boardView()).to.equal('board-view-swimlanes');
|
||||
expect(window.localStorage.getItem(boardView)).to.equal('board-view-swimlanes');
|
||||
});
|
||||
});
|
||||
|
||||
describe(Utils.myCardsSort.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.myCardsSortToggle.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.setMyCardsSort.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.archivedBoardIds.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.dueCardsView.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.setDueCardsView.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.goBoardId.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.goCardId.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.processUploadedAttachment.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.shrinkImage.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.capitalize.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.isMiniScreen.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.isShowDesktopDragHandles.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.isMiniScreenOrShowDesktopDragHandles.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.calculateIndexData.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.calculateIndex.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.isTouchDevice.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.calculateTouchDistance.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.enableClickOnTouch.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.manageCustomUI.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.setCustomUI.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.setMatomo.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.manageMatomo.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
|
||||
describe(Utils.getTriggerActionDesc.name, function() {
|
||||
it('has no tests yet');
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
import './Utils.tests';
|
||||
+14
-7
@@ -1,20 +1,27 @@
|
||||
Utils = {
|
||||
reload () {
|
||||
// we move all window.location.reload calls into this function
|
||||
// so we can disable it when running tests.
|
||||
// This is because we are not allowed to override location.reload but
|
||||
// we can override Utils.reload to prevent reload during tests.
|
||||
window.location.reload();
|
||||
},
|
||||
setBoardView(view) {
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
Meteor.user().setBoardView(view);
|
||||
} else if (view === 'board-view-swimlanes') {
|
||||
window.localStorage.setItem('boardView', 'board-view-swimlanes'); //true
|
||||
location.reload();
|
||||
Utils.reload();
|
||||
} else if (view === 'board-view-lists') {
|
||||
window.localStorage.setItem('boardView', 'board-view-lists'); //true
|
||||
location.reload();
|
||||
Utils.reload();
|
||||
} else if (view === 'board-view-cal') {
|
||||
window.localStorage.setItem('boardView', 'board-view-cal'); //true
|
||||
location.reload();
|
||||
Utils.reload();
|
||||
} else {
|
||||
window.localStorage.setItem('boardView', 'board-view-swimlanes'); //true
|
||||
location.reload();
|
||||
Utils.reload();
|
||||
}
|
||||
},
|
||||
|
||||
@@ -39,7 +46,7 @@ Utils = {
|
||||
return 'board-view-cal';
|
||||
} else {
|
||||
window.localStorage.setItem('boardView', 'board-view-swimlanes'); //true
|
||||
location.reload();
|
||||
Utils.reload();
|
||||
return 'board-view-swimlanes';
|
||||
}
|
||||
},
|
||||
@@ -64,7 +71,7 @@ Utils = {
|
||||
|
||||
setMyCardsSort(sort) {
|
||||
window.localStorage.setItem('myCardsSort', sort);
|
||||
location.reload();
|
||||
Utils.reload();
|
||||
},
|
||||
|
||||
archivedBoardIds() {
|
||||
@@ -87,7 +94,7 @@ Utils = {
|
||||
|
||||
setDueCardsView(view) {
|
||||
window.localStorage.setItem('dueCardsView', view);
|
||||
location.reload();
|
||||
Utils.reload();
|
||||
},
|
||||
|
||||
// XXX We should remove these two methods
|
||||
|
||||
+40
-9
@@ -440,9 +440,47 @@ services:
|
||||
# The host server for the LDAP server
|
||||
#- LDAP_HOST=localhost
|
||||
#
|
||||
#-----------------------------------------------------------------
|
||||
# ==== LDAP AD Simple Auth ====
|
||||
#
|
||||
# Set to true, if you want to connect with Active Directory by Simple Authentication.
|
||||
# When using AD Simple Auth, LDAP_BASEDN is not needed.
|
||||
#
|
||||
# Example:
|
||||
#- LDAP_AD_SIMPLE_AUTH=true
|
||||
#
|
||||
# === LDAP User Authentication ===
|
||||
#
|
||||
# a) Option to login to the LDAP server with the user's own username and password, instead of
|
||||
# an administrator key. Default: false (use administrator key).
|
||||
#
|
||||
# b) When using AD Simple Auth, set to true, when login user is used for binding,
|
||||
# and LDAP_BASEDN is not needed.
|
||||
#
|
||||
# Example:
|
||||
#- LDAP_USER_AUTHENTICATION=true
|
||||
#
|
||||
# Which field is used to find the user for the user authentication. Default: uid.
|
||||
#- LDAP_USER_AUTHENTICATION_FIELD=uid
|
||||
#
|
||||
# === LDAP Default Domain ===
|
||||
#
|
||||
# a) In case AD SimpleAuth is configured, the default domain is appended to the given
|
||||
# loginname for creating the correct username for the bind request to AD.
|
||||
#
|
||||
# b) The default domain of the ldap it is used to create email if the field is not map
|
||||
# correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
#
|
||||
# Example :
|
||||
#- LDAP_DEFAULT_DOMAIN=mydomain.com
|
||||
#
|
||||
#-----------------------------------------------------------------
|
||||
# ==== LDAP BASEDN Auth ====
|
||||
#
|
||||
# The base DN for the LDAP Tree
|
||||
#- LDAP_BASEDN=ou=user,dc=example,dc=org
|
||||
#
|
||||
#-----------------------------------------------------------------
|
||||
# Fallback on the default authentication method
|
||||
#- LDAP_LOGIN_FALLBACK=false
|
||||
#
|
||||
@@ -493,12 +531,6 @@ services:
|
||||
# Reject Unauthorized Certificate
|
||||
#- LDAP_REJECT_UNAUTHORIZED=false
|
||||
#
|
||||
# Option to login to the LDAP server with the user's own username and password, instead of an administrator key. Default: false (use administrator key).
|
||||
#- LDAP_USER_AUTHENTICATION=true
|
||||
#
|
||||
# Which field is used to find the user for the user authentication. Default: uid.
|
||||
#- LDAP_USER_AUTHENTICATION_FIELD=uid
|
||||
#
|
||||
# Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
#- LDAP_USER_SEARCH_FILTER=
|
||||
#
|
||||
@@ -564,9 +596,8 @@ services:
|
||||
#
|
||||
#- LDAP_SYNC_GROUP_ROLES=
|
||||
#
|
||||
# The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
# example :
|
||||
#- LDAP_DEFAULT_DOMAIN=mydomain.com
|
||||
# The default domain of the ldap it is used to create email if the field is not map correctly
|
||||
# with the LDAP_SYNC_USER_DATA_FIELDMAP is defined in setting LDAP_DEFAULT_DOMAIN above.
|
||||
#
|
||||
# Enable/Disable syncing of admin status based on ldap groups:
|
||||
#- LDAP_SYNC_ADMIN_STATUS=true
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
dependencies:
|
||||
- name: mongodb
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 10.0.5
|
||||
digest: sha256:f6520f39b687cb52574ec2fda514662ce913665c0fd2391b68fdb4d2eb059497
|
||||
generated: "2021-07-27T22:16:39.945592552+02:00"
|
||||
+20
-10
@@ -1,14 +1,24 @@
|
||||
name: wekan
|
||||
version: 1.0.3
|
||||
apiVersion: v1
|
||||
apiVersion: v2
|
||||
appVersion: "5.45"
|
||||
dependencies:
|
||||
- condition: mongodb.enabled
|
||||
name: mongodb
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 10.0.x
|
||||
description: Open Source kanban
|
||||
home: https://wekan.github.io/
|
||||
home: https://wekan.github.io
|
||||
icon: https://wekan.github.io/wekan-logo.svg
|
||||
keywords:
|
||||
- kanban
|
||||
maintainers:
|
||||
- email: github@randall.cc
|
||||
name: technotaff
|
||||
- email: jiangyt.cn@gmail.com
|
||||
name: jiangytcn
|
||||
- email: varac@varac.net
|
||||
name: varac
|
||||
name: wekan
|
||||
sources:
|
||||
- https://github.com/wekan/wekan
|
||||
maintainers:
|
||||
- name: technotaff
|
||||
email: github@randall.cc
|
||||
- name: jiangytcn
|
||||
email: jiangyt.cn@gmail.com
|
||||
engine: gotpl
|
||||
type: application
|
||||
version: 1.1.0
|
||||
@@ -1,5 +0,0 @@
|
||||
dependencies:
|
||||
- name: mongodb
|
||||
version: 10.0.x
|
||||
repository: "https://charts.bitnami.com/bitnami"
|
||||
condition: mongodb.enabled
|
||||
@@ -14,7 +14,7 @@ serviceAccounts:
|
||||
##
|
||||
image:
|
||||
repository: quay.io/wekan/wekan
|
||||
tag: latest
|
||||
tag: v5.45
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Configuration for wekan component
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "إضافة مرفق",
|
||||
"add-board": "إضافة لوحة",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "إضافة بطاقة",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "إضافة مهمة فرعية",
|
||||
"add-checklist": "إضافة قائمة تدقيق",
|
||||
"add-checklist-item": "إضافة عنصر إلى قائمة التحقق",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "إضافة غلاف",
|
||||
"add-label": "إضافة ملصق",
|
||||
"add-list": "إضافة قائمة",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "أرشيف",
|
||||
"template": "نموذج",
|
||||
"templates": "نماذج",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "تعيين عضو",
|
||||
"attached": "أُرفق)",
|
||||
"attachment": "مرفق",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Добави прикачен файл",
|
||||
"add-board": "Добави Табло",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Добави карта",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Добави подзадача",
|
||||
"add-checklist": "Добави списък със задачи",
|
||||
"add-checklist-item": "Добави точка към списъка със задачи",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Добави корица",
|
||||
"add-label": "Добави етикет",
|
||||
"add-list": "Добави списък",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Архив",
|
||||
"template": "Шаблон",
|
||||
"templates": "Шаблони",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Възложи на член от екипа",
|
||||
"attached": "прикачен",
|
||||
"attachment": "Прикаченн файл",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Ouzphenn ur golo",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Afegeix adjunt",
|
||||
"add-board": "Afegeix Tauler",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Afegeix Fitxa",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Afegir Subtasca",
|
||||
"add-checklist": "Afegeix checklist",
|
||||
"add-checklist-item": "Afegeix un ítem al checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Afegeix coberta",
|
||||
"add-label": "Afegeix etiqueta",
|
||||
"add-list": "Afegeix llista",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Desa",
|
||||
"template": "Plantilla",
|
||||
"templates": "Plantilles",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assignar membre",
|
||||
"attached": "adjuntat",
|
||||
"attachment": "Adjunt",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "editoval(a) datum ukončení na %s z %s",
|
||||
"add-attachment": "Přidat přílohu",
|
||||
"add-board": "Přidat tablo",
|
||||
"add-template": "Přidat šablonu",
|
||||
"add-card": "Přidat kartu",
|
||||
"add-card-to-top-of-list": "Přidat kartu na začátek seznamu",
|
||||
"add-card-to-bottom-of-list": "Přidat kartu na konec seznamu",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Přidat Podúkol",
|
||||
"add-checklist": "Přidat zaškrtávací seznam",
|
||||
"add-checklist-item": "Přidat položku do zaškrtávacího seznamu",
|
||||
"convertChecklistItemToCardPopup-title": "Převést na kartu",
|
||||
"add-cover": "Přidat obal",
|
||||
"add-label": "Přidat štítek",
|
||||
"add-list": "Přidat sloupec",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archiv",
|
||||
"template": "Šablona",
|
||||
"templates": "Šablony",
|
||||
"template-container": "Kontejner šablony",
|
||||
"add-template-container": "Přidat kontejner šablony",
|
||||
"assign-member": "Přiřadit člena",
|
||||
"attached": "přiloženo",
|
||||
"attachment": "Příloha",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximalizovat kartu",
|
||||
"minimize-card": "Minimalizovat kartu"
|
||||
"minimize-card": "Minimalizovat kartu",
|
||||
"delete-org-warning-message": "Tuto organizaci není možné smazat, protože do ní patří uživatel(é)",
|
||||
"delete-team-warning-message": "Tento tým není možné smazat, protože do nej patří uživatel(é)"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Tilføj vedhæftning",
|
||||
"add-board": "Tilføj tavle",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Tilføj kort",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Tilføj delopgave",
|
||||
"add-checklist": "Tilføj tjekliste",
|
||||
"add-checklist-item": "Tilføj et element til tjeklisten",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Tilføj omslag",
|
||||
"add-label": "Tilføj etikette",
|
||||
"add-list": "Tilføj liste",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Arkiv",
|
||||
"template": "Skabelon",
|
||||
"templates": "Skabeloner",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Tilknyt medlem",
|
||||
"attached": "vedhæftet",
|
||||
"attachment": "Vedhæftning",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "hat Enddatum zu %s geändert auf %s",
|
||||
"add-attachment": "Datei anhängen",
|
||||
"add-board": "Board hinzufügen",
|
||||
"add-template": "Vorlage hinzufügen",
|
||||
"add-card": "Karte hinzufügen",
|
||||
"add-card-to-top-of-list": "Karte am Anfang der Liste hinzufügen",
|
||||
"add-card-to-bottom-of-list": "Karte am Ende der Liste hinzufügen",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Teilaufgabe hinzufügen",
|
||||
"add-checklist": "Checkliste hinzufügen",
|
||||
"add-checklist-item": "Element zu Checkliste hinzufügen",
|
||||
"convertChecklistItemToCardPopup-title": "in Karte konvertieren",
|
||||
"add-cover": "Cover hinzufügen",
|
||||
"add-label": "Label hinzufügen",
|
||||
"add-list": "Liste hinzufügen",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archiv",
|
||||
"template": "Vorlage",
|
||||
"templates": "Vorlagen",
|
||||
"template-container": "Vorlagen-Container",
|
||||
"add-template-container": "Vorlagen-Container hinzufügen",
|
||||
"assign-member": "Mitglied zuweisen",
|
||||
"attached": "angehängt",
|
||||
"attachment": "Anhang",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Karte maximieren",
|
||||
"minimize-card": "Karte minimieren"
|
||||
"minimize-card": "Karte minimieren",
|
||||
"delete-org-warning-message": "Diese Organisation kann nicht gelöscht werden. Zumindest ein Benutzer ist ihr noch zugehörig.",
|
||||
"delete-team-warning-message": "Dieses Team kann nicht gelöscht werden. Zumindest ein Benutzer ist ihm noch zugehörig."
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "hat Enddatum zu %s geändert auf %s",
|
||||
"add-attachment": "Datei anhängen",
|
||||
"add-board": "neues Board",
|
||||
"add-template": "Vorlage hinzufügen",
|
||||
"add-card": "Karte hinzufügen",
|
||||
"add-card-to-top-of-list": "Karte am Anfang der Liste hinzufügen",
|
||||
"add-card-to-bottom-of-list": "Karte am Ende der Liste hinzufügen",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Teilaufgabe hinzufügen",
|
||||
"add-checklist": "Checkliste hinzufügen",
|
||||
"add-checklist-item": "Element zu Checkliste hinzufügen",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Cover hinzufügen",
|
||||
"add-label": "Label hinzufügen",
|
||||
"add-list": "Liste hinzufügen",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archiv",
|
||||
"template": "Vorlage",
|
||||
"templates": "Vorlagen",
|
||||
"template-container": "Vorlagen-Container",
|
||||
"add-template-container": "Vorlagen-Container hinzufügen",
|
||||
"assign-member": "Mitglied zuweisen",
|
||||
"attached": "angehängt",
|
||||
"attachment": "Anhang",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout-Warte-Symbol",
|
||||
"Wave": "Wellen-Warte-Symbol",
|
||||
"maximize-card": "Karte maximieren",
|
||||
"minimize-card": "Karte minimieren"
|
||||
"minimize-card": "Karte minimieren",
|
||||
"delete-org-warning-message": "Diese Organisation kann nicht gelöscht werden, da wenigstens ein Nutzer dazu gehört.",
|
||||
"delete-team-warning-message": "Dieses Team kann nicht gelöscht werden, da wenigstens ein Nutzer dazu gehört."
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "η ημερομηνία λήξης άλλαξε σε %s από %s",
|
||||
"add-attachment": "Προσθήκη Συνημμένου",
|
||||
"add-board": "Προσθήκη Πίνακα",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Προσθήκη Κάρτας",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Προσθήκη Υποεργασίας",
|
||||
"add-checklist": "Προσθήκη Λίστας ελέγχου",
|
||||
"add-checklist-item": "Προσθήκη ενός στοιχείου στη λίστα ελέγχου - checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Προσθήκη Ετικέτας",
|
||||
"add-list": "Προσθήκη Λίστας",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Αρχείο",
|
||||
"template": "Πρότυπο",
|
||||
"templates": "Πρότυπα",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Ανάθεση μέλους",
|
||||
"attached": "επισυνάφθηκε",
|
||||
"attachment": "Συνημμένο",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1054,5 +1058,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Arkivi",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Agregar Adjunto",
|
||||
"add-board": "Agregar Tablero",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Agregar Tarjeta",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Agregar Subtarea",
|
||||
"add-checklist": "Agregar Lista de Tareas",
|
||||
"add-checklist-item": "Agregar ítem a lista de tareas",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Agregar Portadas",
|
||||
"add-label": "Agregar Etiqueta",
|
||||
"add-list": "Agregar Lista",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archivar",
|
||||
"template": "Plantilla",
|
||||
"templates": "Plantillas",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Asignar miembro",
|
||||
"attached": "adjunto(s)",
|
||||
"attachment": "Adjunto",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Añadir adjunto",
|
||||
"add-board": "Añadir tablero",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Añadir una tarjeta",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Añadir subtarea",
|
||||
"add-checklist": "Añadir una lista de verificación",
|
||||
"add-checklist-item": "Añadir un elemento a la lista de verificación",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Añadir portada",
|
||||
"add-label": "Añadir una etiqueta",
|
||||
"add-list": "Añadir una lista",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archivo",
|
||||
"template": "Plantilla",
|
||||
"templates": "Plantillas",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Asignar miembros",
|
||||
"attached": "adjuntado",
|
||||
"attachment": "Adjunto",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "editada la fecha de finalización a %s de %s",
|
||||
"add-attachment": "Agregar adjunto",
|
||||
"add-board": "Agregar tablero",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Agregar una tarjeta",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Agregar subtarea",
|
||||
"add-checklist": "Agregar lista de comprobación",
|
||||
"add-checklist-item": "Agregar un elemento a la lista de comprobación",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Agregar portada",
|
||||
"add-label": "Agregar una etiqueta",
|
||||
"add-list": "Agregar una lista",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archivo",
|
||||
"template": "Plantilla",
|
||||
"templates": "Plantillas",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Asignar miembros",
|
||||
"attached": "adjuntado",
|
||||
"attachment": "Adjunto",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+13
-7
@@ -81,13 +81,15 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Añadir adjunto",
|
||||
"add-board": "Añadir tablero",
|
||||
"add-template": "Añadir plantilla",
|
||||
"add-card": "Añadir una tarjeta",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
"add-card-to-top-of-list": "Subir la tarjeta al principio de la lista",
|
||||
"add-card-to-bottom-of-list": "Bajar la tarjeta al final de la lista",
|
||||
"add-swimlane": "Añadir un carril de flujo",
|
||||
"add-subtask": "Añadir subtarea",
|
||||
"add-checklist": "Añadir una lista de verificación",
|
||||
"add-checklist-item": "Añadir un elemento a la lista de verificación",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Añadir portada",
|
||||
"add-label": "Añadir una etiqueta",
|
||||
"add-list": "Añadir una lista",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archivo",
|
||||
"template": "Plantilla",
|
||||
"templates": "Plantillas",
|
||||
"template-container": "Plantilla de contenedor",
|
||||
"add-template-container": "añadir plantilla de contenedor",
|
||||
"assign-member": "Asignar miembros",
|
||||
"attached": "adjuntado",
|
||||
"attachment": "Adjunto",
|
||||
@@ -133,7 +137,7 @@
|
||||
"board-not-found": "Tablero no encontrado",
|
||||
"board-private-info": "Este tablero será <strong>privado</strong>.",
|
||||
"board-public-info": "Este tablero será <strong>público</strong>.",
|
||||
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
|
||||
"board-drag-drop-reorder-or-click-open": "Mueve y posiciona para reordenar los iconos de los tableros. Click en el icono del tablero para abrirlo",
|
||||
"boardChangeColorPopup-title": "Cambiar el fondo del tablero",
|
||||
"boardChangeTitlePopup-title": "Renombrar el tablero",
|
||||
"boardChangeVisibilityPopup-title": "Cambiar visibilidad",
|
||||
@@ -1015,9 +1019,9 @@
|
||||
"link-to-search": "Enlazar a esta búsqueda",
|
||||
"excel-font": "Arial",
|
||||
"number": "Número",
|
||||
"label-colors": "Label Colors",
|
||||
"label-names": "Label Names",
|
||||
"archived-at": "archived at",
|
||||
"label-colors": "Colores de las etiquetas",
|
||||
"label-names": "Nombres de las etiquetas",
|
||||
"archived-at": "archivado el",
|
||||
"sort-cards": "Sort Cards",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Gehitu eranskina",
|
||||
"add-board": "Gehitu arbela",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Gehitu txartela",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Gehitu egiaztaketa zerrenda",
|
||||
"add-checklist-item": "Gehitu elementu bat egiaztaketa zerrendara",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Gehitu azala",
|
||||
"add-label": "Gehitu etiketa",
|
||||
"add-list": "Gehitu zerrenda",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Artxibatu",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Esleitu kidea",
|
||||
"attached": "erantsita",
|
||||
"attachment": "Eranskina",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "افزودن ضمیمه",
|
||||
"add-board": "افزودن برد",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "افزودن کارت",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "افزودن زیر وظیفه",
|
||||
"add-checklist": "افزودن چکلیست",
|
||||
"add-checklist-item": "افزودن مورد به چکلیست",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "افزودن کاور",
|
||||
"add-label": "افزودن لیبل",
|
||||
"add-list": "افزودن لیست",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "آرشیو",
|
||||
"template": "قالب",
|
||||
"templates": "قالبها",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "انتصاب عضو",
|
||||
"attached": "ضمیمه شده",
|
||||
"attachment": "ضمیمه",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "muokkasi loppumispäiväksi %s / %s",
|
||||
"add-attachment": "Lisää liite",
|
||||
"add-board": "Lisää taulu",
|
||||
"add-template": "Lisää malli",
|
||||
"add-card": "Lisää kortti",
|
||||
"add-card-to-top-of-list": "Lisää kortti listan alkuun",
|
||||
"add-card-to-bottom-of-list": "Lisää kortti listan loppuun",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Lisää alitehtävä",
|
||||
"add-checklist": "Lisää tarkistuslista",
|
||||
"add-checklist-item": "Lisää kohta tarkistuslistaan",
|
||||
"convertChecklistItemToCardPopup-title": "Muuta kortiksi",
|
||||
"add-cover": "Lisää kansi",
|
||||
"add-label": "Lisää nimilappu",
|
||||
"add-list": "Lisää lista",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Arkisto",
|
||||
"template": "Malli",
|
||||
"templates": "Mallit",
|
||||
"template-container": "Mallikontti",
|
||||
"add-template-container": "Lisää mallikontti",
|
||||
"assign-member": "Valitse jäsen",
|
||||
"attached": "liitetty",
|
||||
"attachment": "Liitetiedosto",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Skaalaus ulos odotus pyörijä",
|
||||
"Wave": "Aalto odotus pyörijä",
|
||||
"maximize-card": "Suurenna kortti",
|
||||
"minimize-card": "Pienennä kortti"
|
||||
"minimize-card": "Pienennä kortti",
|
||||
"delete-org-warning-message": "Ei voi poistaa tätä organisaatiota, ainakin yksi käyttäjä kuuluu siihen",
|
||||
"delete-team-warning-message": "Ei voi poistaa tätä tiimiä, ainakin yksi käyttäjä kuuluu siihen"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "date de fin éditée de %s à %s",
|
||||
"add-attachment": "Ajouter une pièce jointe",
|
||||
"add-board": "Ajouter un tableau",
|
||||
"add-template": "Ajouter un modèle",
|
||||
"add-card": "Ajouter une carte",
|
||||
"add-card-to-top-of-list": "Ajouter la carte en haut de la liste",
|
||||
"add-card-to-bottom-of-list": "Ajouter la carte en bas de la liste",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Ajouter une sous-tâche",
|
||||
"add-checklist": "Ajouter une checklist",
|
||||
"add-checklist-item": "Ajouter un élément à la checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convertir en carte",
|
||||
"add-cover": "Ajouter la couverture",
|
||||
"add-label": "Ajouter une étiquette",
|
||||
"add-list": "Ajouter une liste",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archives",
|
||||
"template": "Modèle",
|
||||
"templates": "Modèles",
|
||||
"template-container": "Conteneur de modèles",
|
||||
"add-template-container": "Ajouter un conteneur de modèles",
|
||||
"assign-member": "Affecter un participant",
|
||||
"attached": "joint",
|
||||
"attachment": "Pièce jointe",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Icône d'attente mise à l'échelle",
|
||||
"Wave": "Icône d'attente onde",
|
||||
"maximize-card": "Maximiser la carte",
|
||||
"minimize-card": "Minimiser la carte"
|
||||
"minimize-card": "Minimiser la carte",
|
||||
"delete-org-warning-message": "Impossible de supprimer cette organisation, au moins un utilisateur lui appartient",
|
||||
"delete-team-warning-message": "Impossible de supprimer cette équipe, au moins un utilisateur lui appartient"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Engadir anexo",
|
||||
"add-board": "Engadir taboleiro",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Engadir tarxeta",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Engadir etiqueta",
|
||||
"add-list": "Engadir lista",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Arquivar",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Anexo",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "תאריך הסיום השתנה מ־%s ל־%s",
|
||||
"add-attachment": "הוספת קובץ מצורף",
|
||||
"add-board": "הוספת לוח",
|
||||
"add-template": "הוספת תבנית",
|
||||
"add-card": "הוספת כרטיס",
|
||||
"add-card-to-top-of-list": "הוספת כרטיס לראש הרשימה",
|
||||
"add-card-to-bottom-of-list": "הוספת כרטיס לתחתית הרשימה",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "הוסף תת משימה",
|
||||
"add-checklist": "הוספת רשימת מטלות",
|
||||
"add-checklist-item": "הוספת פריט לרשימת משימות",
|
||||
"convertChecklistItemToCardPopup-title": "המרה לכרטיס",
|
||||
"add-cover": "הוספת כיסוי",
|
||||
"add-label": "הוספת תווית",
|
||||
"add-list": "הוספת רשימה",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "להעביר לארכיון",
|
||||
"template": "תבנית",
|
||||
"templates": "תבניות",
|
||||
"template-container": "מכולה לתבנית",
|
||||
"add-template-container": "הוספת מכולה לתבנית",
|
||||
"assign-member": "הקצאת חבר",
|
||||
"attached": "מצורף",
|
||||
"attachment": "קובץ מצורף",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "שבשבת המתנה התרחקות",
|
||||
"Wave": "שבשבת המתנה גל",
|
||||
"maximize-card": "הגדלת כרטיס",
|
||||
"minimize-card": "מזעור כרטיס"
|
||||
"minimize-card": "מזעור כרטיס",
|
||||
"delete-org-warning-message": "לא ניתן למחוק את הארגון הזה, יש לפחות משתמש אחד ששייך אליו",
|
||||
"delete-team-warning-message": "לא ניתן למחוק את הצוות הזה, יש לפחות משתמש אחד ששייך אליו"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "संलग्न करें",
|
||||
"add-board": "बोर्ड जोड़ें",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "कार्ड जोड़ें",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "उप कार्य जोड़ें",
|
||||
"add-checklist": "चिह्नांकन-सूची जोड़ें",
|
||||
"add-checklist-item": "चिह्नांकन-सूची विषय कोई तक जोड़ें",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "आवरण जोड़ें",
|
||||
"add-label": "नामपत्र जोड़ें",
|
||||
"add-list": "सूची जोड़ें",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "पुरालेख",
|
||||
"template": "खाका",
|
||||
"templates": "खाका",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "आवंटित सदस्य",
|
||||
"attached": "संलग्न",
|
||||
"attachment": "संलग्नक",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Dodaj privitak",
|
||||
"add-board": "Dodaj ploču",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Dodaj karticu",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Dodaj podzadatak",
|
||||
"add-checklist": "Dodaj listu provjere",
|
||||
"add-checklist-item": "Dodaj stavku listi provjere",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Dodaj naslovnicu",
|
||||
"add-label": "Dodaj oznaku",
|
||||
"add-list": "Dodaj listu",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Arhiva",
|
||||
"template": "Predložak",
|
||||
"templates": "Predlošci",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Dodijeli člana",
|
||||
"attached": "u prilogu",
|
||||
"attachment": "Privitak",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "átírta a \"befejezés\" dátumát erről: %s erre: %s",
|
||||
"add-attachment": "Melléklet hozzáadása",
|
||||
"add-board": "Tábla hozzáadása",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Kártya hozzáadása",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Alfeladat hozzáadása",
|
||||
"add-checklist": "Ellenőrzőlista hozzáadása",
|
||||
"add-checklist-item": "Elem hozzáadása az ellenőrzőlistához",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Borító hozzáadása",
|
||||
"add-label": "Címke hozzáadása",
|
||||
"add-list": "Lista hozzáadása",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archiválás",
|
||||
"template": "Sablon",
|
||||
"templates": "Sablonok",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Tag hozzárendelése",
|
||||
"attached": "csatolva",
|
||||
"attachment": "Melléklet",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Tambahkan hal ke daftar periksa",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Tambahkan Sampul",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Arsip",
|
||||
"template": "Klise",
|
||||
"templates": "Klise",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Tugaskan anggota",
|
||||
"attached": "terlampir",
|
||||
"attachment": "Lampiran",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "ha modificato la data di fine a %s di %s ",
|
||||
"add-attachment": "Aggiungi allegato",
|
||||
"add-board": "Aggiungi bacheca",
|
||||
"add-template": "Aggiungi Template",
|
||||
"add-card": "Aggiungi scheda",
|
||||
"add-card-to-top-of-list": "Aggiungi Scheda in cima alla Lista",
|
||||
"add-card-to-bottom-of-list": "Aggiungi Scheda in fondo alla Lista",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Aggiungi sotto-compito",
|
||||
"add-checklist": "Aggiungi Checklist",
|
||||
"add-checklist-item": "Aggiungi un elemento alla checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Aggiungi copertina",
|
||||
"add-label": "Aggiungi etichetta",
|
||||
"add-list": "Aggiungi lista",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archivio",
|
||||
"template": "Template",
|
||||
"templates": "Template",
|
||||
"template-container": "Contenitore dei Template",
|
||||
"add-template-container": "Aggiungi contenitore di Template",
|
||||
"assign-member": "Assegna a un membro",
|
||||
"attached": "allegato",
|
||||
"attachment": "Allegato",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+8
-2
@@ -81,13 +81,15 @@
|
||||
"activity-endDate": "終了日を %s に変更しました / %s",
|
||||
"add-attachment": "添付ファイルを追加",
|
||||
"add-board": "ボードを追加",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "カードを追加",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-top-of-list": "カードをリストの先頭に追加",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
"add-swimlane": "スイムレーンを追加",
|
||||
"add-subtask": "サブタスクを追加",
|
||||
"add-checklist": "チェックリストを追加",
|
||||
"add-checklist-item": "チェックリストに項目を追加",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "カバーの追加",
|
||||
"add-label": "ラベルを追加",
|
||||
"add-list": "リストを追加",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "アーカイブ",
|
||||
"template": "テンプレート",
|
||||
"templates": "テンプレート",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "メンバーの割当",
|
||||
"attached": "添付されました",
|
||||
"attachment": "添付ファイル",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "მიბმული ფაილის დამატება",
|
||||
"add-board": "დაფის დამატება",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "ბარათის დამატება",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "ქვესაქმიანობის დამატება",
|
||||
"add-checklist": "კატალოგის დამატება",
|
||||
"add-checklist-item": "დაამატეთ საგანი ჩამონათვალს",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "გარეკანის დამატება",
|
||||
"add-label": "ნიშნის დამატება",
|
||||
"add-list": "ჩამონათვალის დამატება",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "უფლებამოსილი წევრი",
|
||||
"attached": "მიბმული",
|
||||
"attachment": "მიბმული ფიალი",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "첨부파일 추가",
|
||||
"add-board": "보드 추가",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "카드 추가",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "체크리스트 추가",
|
||||
"add-checklist-item": "체크리스트에 항목 추가",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "커버 추가",
|
||||
"add-label": "라벨 추가",
|
||||
"add-list": "리스트 추가",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "보관",
|
||||
"template": "템플릿",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "멤버 지정",
|
||||
"attached": "첨부됨",
|
||||
"attachment": "첨부 파일",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Pievienot failu",
|
||||
"add-board": "Pievienot dēli",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Pievienot kartiņu",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Pievienot apakšuzdevumu",
|
||||
"add-checklist": "Pievienot kontrolsarakstu",
|
||||
"add-checklist-item": "Pievienot elementu",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Pievienot vāku",
|
||||
"add-label": "Pievienot birku",
|
||||
"add-list": "Pievienot sarakstu",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Arhīvs",
|
||||
"template": "Sagatave",
|
||||
"templates": "Sagataves",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Iecelt dalībnieku",
|
||||
"attached": "pievienots fails",
|
||||
"attachment": "Fails",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Додај прилог",
|
||||
"add-board": "Додади Табла",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Додади Картичка",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Додади подзадача",
|
||||
"add-checklist": "Додади список на задачи",
|
||||
"add-checklist-item": "Додади точка во списокот со задачи",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Додади корица",
|
||||
"add-label": "Додади етикета",
|
||||
"add-list": "Додади листа",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Архива",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Възложи на член от екипа",
|
||||
"attached": "прикачен",
|
||||
"attachment": "Прикаченн датотека",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Хавсралт нэмэх",
|
||||
"add-board": "Самбар нэмэх",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Карт нэмэх",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Чеклист нэмэх",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Шошго нэмэх",
|
||||
"add-list": "Жагсаалт нэмэх",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+33
-27
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "redigert sluttdato %s av %s",
|
||||
"add-attachment": "Legg til Vedlegg",
|
||||
"add-board": "Legg til Tavle",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Legg til Kort",
|
||||
"add-card-to-top-of-list": "Legg til Kort på Toppen av Listen",
|
||||
"add-card-to-bottom-of-list": "Legg til Kort på Bunnen av Listen",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Legg til Underoppgave",
|
||||
"add-checklist": "Legg til Sjekkliste",
|
||||
"add-checklist-item": "Nytt punkt på sjekklisten",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Nytt omslag",
|
||||
"add-label": "Legg til Etikett",
|
||||
"add-list": "Legg til Liste",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Arkiv",
|
||||
"template": "Mal",
|
||||
"templates": "Maler",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Tildel Medlem",
|
||||
"attached": "la ved",
|
||||
"attachment": "Vedlegg",
|
||||
@@ -156,7 +160,7 @@
|
||||
"card-delete-pop": "Alle handlinger vil fjernes fra feeden for aktiviteter og du vil ikke kunne åpne kortet på nytt. Det er ingen mulighet å angre.",
|
||||
"card-delete-suggest-archive": "Du kan flytte kortet til Arkivet for å fjerne det fra tavlen og bevare aktivteten.",
|
||||
"card-due": "Frist",
|
||||
"card-due-on": "Frist til",
|
||||
"card-due-on": "Utløpsfrist",
|
||||
"card-spent": "Forbrukt tid",
|
||||
"card-edit-attachments": "Rediger vedlegg",
|
||||
"card-edit-custom-fields": "Rediger tilpassede felt",
|
||||
@@ -165,7 +169,7 @@
|
||||
"card-labels-title": "Endre etiketter for kortet.",
|
||||
"card-members-title": "Legg til eller fjern medlemmer på tavlen fra dette kortet.",
|
||||
"card-start": "Start",
|
||||
"card-start-on": "Starter på",
|
||||
"card-start-on": "Starter",
|
||||
"cardAttachmentsPopup-title": "Legg ved fra",
|
||||
"cardCustomField-datePopup-title": "Endre dato",
|
||||
"cardCustomFieldsPopup-title": "Rediger tilpassede felt",
|
||||
@@ -181,10 +185,10 @@
|
||||
"vote-against": "mot",
|
||||
"deleteVotePopup-title": "Slett stemme?",
|
||||
"vote-delete-pop": "Sletting er permanent. Du vil miste alle aksjoner som har en sammenheng med denne stemmen.",
|
||||
"cardStartPlanningPokerPopup-title": "Start en Planpeker",
|
||||
"card-edit-planning-poker": "Endre en Planpeker",
|
||||
"editPokerEndDatePopup-title": "Endre Stemming og Dato for Planpeker ",
|
||||
"poker-question": "Planpeker",
|
||||
"cardStartPlanningPokerPopup-title": "Start rangering oppgave",
|
||||
"card-edit-planning-poker": "Endre rangering oppgave",
|
||||
"editPokerEndDatePopup-title": "Endre sluttdato rangering ",
|
||||
"poker-question": "Rangering",
|
||||
"poker-one": "1",
|
||||
"poker-two": "2",
|
||||
"poker-three": "3",
|
||||
@@ -198,12 +202,12 @@
|
||||
"poker-finish": "Ferdig",
|
||||
"poker-result-votes": "Stemmer",
|
||||
"poker-result-who": "Hvem",
|
||||
"poker-replay": "Spill på nytt",
|
||||
"set-estimation": "Angi Estimat",
|
||||
"deletePokerPopup-title": "Slett Planpeker",
|
||||
"poker-delete-pop": "Sletting er permanent. Du vil miste alle aksjoner som er assosiert med denne planpekeren.",
|
||||
"poker-replay": "Ranger på nytt",
|
||||
"set-estimation": "Estimat",
|
||||
"deletePokerPopup-title": "Slett rangering",
|
||||
"poker-delete-pop": "Sletting er permanent. Du vil miste alle aksjoner assosiert med rangeringen.",
|
||||
"cardDeletePopup-title": "Slett kort?",
|
||||
"cardDetailsActionsPopup-title": "Kort-handlinger",
|
||||
"cardDetailsActionsPopup-title": "Behandling kort",
|
||||
"cardLabelsPopup-title": "Etiketter",
|
||||
"cardMembersPopup-title": "Medlemmer",
|
||||
"cardMorePopup-title": "Mer",
|
||||
@@ -271,7 +275,7 @@
|
||||
"computer": "Datamaskin",
|
||||
"confirm-subtask-delete-dialog": "Er du sikker på at du vil slette underoppgaven?",
|
||||
"confirm-checklist-delete-dialog": "Er du sikker på at du vil slette sjekklisten?",
|
||||
"copy-card-link-to-clipboard": "Kopier kortlink til utklippstavle",
|
||||
"copy-card-link-to-clipboard": "Kopier lenke",
|
||||
"linkCardPopup-title": "Link Kort",
|
||||
"searchElementPopup-title": "Søk",
|
||||
"copyCardPopup-title": "Kopier Kort",
|
||||
@@ -358,11 +362,11 @@
|
||||
"export-board-excel": "Eksporter Tavle til Excel",
|
||||
"user-can-not-export-excel": "Bruker kan ikke eksportere til Excel",
|
||||
"export-board-html": "Eksporter tavle til HTML",
|
||||
"export-card": "Export card",
|
||||
"export-card-pdf": "Export card to PDF",
|
||||
"user-can-not-export-card-to-pdf": "User can not export card to PDF",
|
||||
"export-card": "Eksportér kort",
|
||||
"export-card-pdf": "Eksportér kort til PDF",
|
||||
"user-can-not-export-card-to-pdf": "Brukeren kan ikke eksportere kort til PDF",
|
||||
"exportBoardPopup-title": "Eksporter tavle",
|
||||
"exportCardPopup-title": "Export card",
|
||||
"exportCardPopup-title": "Eksportér kort",
|
||||
"sort": "Sorter",
|
||||
"sort-desc": "Klikk for sortering liste",
|
||||
"list-sort-by": "Sorter liten etter:",
|
||||
@@ -405,7 +409,7 @@
|
||||
"home": "Hjem",
|
||||
"import": "Importer",
|
||||
"impersonate-user": "Anonymiser Bruker",
|
||||
"link": "Link",
|
||||
"link": "Lenke",
|
||||
"import-board": "Importer Tavle",
|
||||
"import-board-c": "Importer Tavle",
|
||||
"import-board-title-trello": "Importer Tavle fra Trello",
|
||||
@@ -443,7 +447,7 @@
|
||||
"leave-board": "Forlat Tavle",
|
||||
"leave-board-pop": "Er du sikker på at du vil forlate __boardTitle__? Du vil bli fjernet fra alle kortene på denne tavlen.",
|
||||
"leaveBoardPopup-title": "Forlat Tavle?",
|
||||
"link-card": "Link til dette kortet",
|
||||
"link-card": "Lenke til kortet",
|
||||
"list-archive-cards": "Flytt alle kortene i denne listen til Arkivet",
|
||||
"list-archive-cards-pop": "Dette vil fjerne alle kortene i denne listen fra denne Tavlen. For å se kortene i Arkivet og flytte dem tilbake til Tavlen, klikk \"Meny\" -> \"Arkiv\".",
|
||||
"list-move-cards": "Flytt alle kortene i denne listen",
|
||||
@@ -453,12 +457,12 @@
|
||||
"settingsUserPopup-title": "Brukerinnstillinger",
|
||||
"settingsTeamPopup-title": "Innstillinger Team",
|
||||
"settingsOrgPopup-title": "Innstillinger Organisasjon",
|
||||
"swimlaneActionPopup-title": "Svømmebane-aksjoner",
|
||||
"swimlaneActionPopup-title": "Aksjoner Svømmebane",
|
||||
"swimlaneAddPopup-title": "Legg til en Svømmebane under",
|
||||
"listImportCardPopup-title": "Importer et Trello-kort",
|
||||
"listImportCardsTsvPopup-title": "Importer Excel CSV/TSV",
|
||||
"listMorePopup-title": "Mer",
|
||||
"link-list": "Link til denne listen",
|
||||
"link-list": "Lenke til liste",
|
||||
"list-delete-pop": "Alle aksjoner vil fjernes fra aktivitetsstrømmen og du vil ikke kunne gjenopprette listen. Det finnes ingen angremulighet.",
|
||||
"list-delete-suggest-archive": "Du kan flytte en liste til Arkiv for å fjerne den fra Tavlen og bevare aktivitetene.",
|
||||
"lists": "Lister",
|
||||
@@ -573,7 +577,7 @@
|
||||
"automatic-linked-url-schemes": "Egendefinerte URL-tilordninger som automatisk skal kunne klikkes på. Kun én URL-tilordning per linje",
|
||||
"username": "Brukernavn",
|
||||
"import-usernames": "Importer Brukernavn",
|
||||
"view-it": "Se det",
|
||||
"view-it": "Se detaljer",
|
||||
"warn-list-archived": "advarsel: dette kortet er i en liste i arkivet",
|
||||
"watch": "Overvåk",
|
||||
"watching": "Overvåkning",
|
||||
@@ -657,9 +661,9 @@
|
||||
"verified": "Verifisert",
|
||||
"active": "Aktiv",
|
||||
"card-received": "Mottatt",
|
||||
"card-received-on": "Mpttatt på",
|
||||
"card-end": "Slutt",
|
||||
"card-end-on": "Slutt på",
|
||||
"card-received-on": "Opprettet",
|
||||
"card-end": "Avslutt",
|
||||
"card-end-on": "Avsluttes",
|
||||
"editCardReceivedDatePopup-title": "Endre mottatt dato",
|
||||
"editCardEndDatePopup-title": "Endre sluttdato",
|
||||
"setCardColorPopup-title": "Sett farge",
|
||||
@@ -1012,7 +1016,7 @@
|
||||
"globalSearch-instructions-notes-3-2": "Dager kan angis som et positivt eller negativt heltall, eller ved bruk av `__predicate_week__`, `__predicate_month__`, `__predicate_quarter__` eller `__predicate_year__` for den aktuelle perioden.",
|
||||
"globalSearch-instructions-notes-4": "Tekstsøk er ikke \"case\"-sensitive.",
|
||||
"globalSearch-instructions-notes-5": "Som standard er arkiverte kort ikke søkbare, ",
|
||||
"link-to-search": "Link til dette søket",
|
||||
"link-to-search": "Lenke til dette søket",
|
||||
"excel-font": "Arial",
|
||||
"number": "Nummer",
|
||||
"label-colors": "Farge Merke",
|
||||
@@ -1026,7 +1030,7 @@
|
||||
"title-alphabetically": "Tittel (alfabetisk)",
|
||||
"created-at-newest-first": "Opprettet på (Nyeste Først)",
|
||||
"created-at-oldest-first": "Opprettet på (Eldste Først)",
|
||||
"links-heading": "Linker",
|
||||
"links-heading": "Lenker",
|
||||
"hide-system-messages-of-all-users": "Skjul systemmeldinger for alle brukere",
|
||||
"now-system-messages-of-all-users-are-hidden": "Systemmeldinger er nå skjult for alle brukere",
|
||||
"move-swimlane": "Flytt Svømmebane",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Ventehjul - Utskaliering",
|
||||
"Wave": "Ventehjul - Bølge",
|
||||
"maximize-card": "Maksimer Kort",
|
||||
"minimize-card": "Minimer Kort"
|
||||
"minimize-card": "Minimer Kort",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "einddatum gewijzigd naar %s van %s ",
|
||||
"add-attachment": "Bijlage Toevoegen",
|
||||
"add-board": "Bord Toevoegen",
|
||||
"add-template": "Template Toevoegen",
|
||||
"add-card": "Kaart Toevoegen",
|
||||
"add-card-to-top-of-list": "Voeg Kaart Boven Aan de Lijst Toe",
|
||||
"add-card-to-bottom-of-list": "Voeg Kaart Onder Aan de Lijst Toe",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Subtaak Toevoegen",
|
||||
"add-checklist": "Checklist toevoegen",
|
||||
"add-checklist-item": "Voeg item toe aan checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Converteer naar Kaart",
|
||||
"add-cover": "Cover Toevoegen",
|
||||
"add-label": "Label Toevoegen",
|
||||
"add-list": "Lijst Toevoegen",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archief",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Template Container Toevoegen",
|
||||
"assign-member": "Lid toevoegen",
|
||||
"attached": "bijgevoegd",
|
||||
"attachment": "Bijlage",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Vergrotende Wacht Spinner",
|
||||
"Wave": "Golvende Wacht Spinner",
|
||||
"maximize-card": "Maximaliseer Kaart",
|
||||
"minimize-card": "Minimaliseer Kaart"
|
||||
"minimize-card": "Minimaliseer Kaart",
|
||||
"delete-org-warning-message": "Kan deze organisatie niet verwijderen want er is nog minimaal 1 gebruiker lid van.",
|
||||
"delete-team-warning-message": "Kan dit team niet verwijderen want er is nog minimaal 1 gebruiker lid van."
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Apondre una pèça joncha",
|
||||
"add-board": "Apondre un tablèu",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Apondre una carta",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Apondre una jos-tasca",
|
||||
"add-checklist": "Apondre una checklist",
|
||||
"add-checklist-item": "Apondre un element a la checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Apondre una cobèrta",
|
||||
"add-label": "Apondre una etiqueta",
|
||||
"add-list": "Apondre una tièra",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archivar",
|
||||
"template": "Modèl",
|
||||
"templates": "Modèls",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Affectar un participant",
|
||||
"attached": "jónher",
|
||||
"attachment": "pèça joncha",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
+7
-1
@@ -81,6 +81,7 @@
|
||||
"activity-endDate": "edited end date to %s of %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-template": "Add Template",
|
||||
"add-card": "Add Card",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
@@ -88,6 +89,7 @@
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
@@ -119,6 +121,8 @@
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template-container": "Template Container",
|
||||
"add-template-container": "Add Template Container",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -1053,5 +1057,7 @@
|
||||
"Scaleout": "Scaleout Wait Spinner",
|
||||
"Wave": "Wave Wait Spinner",
|
||||
"maximize-card": "Maximize Card",
|
||||
"minimize-card": "Minimize Card"
|
||||
"minimize-card": "Minimize Card",
|
||||
"delete-org-warning-message": "Can not delete this organization, there is at least one user that belongs to it",
|
||||
"delete-team-warning-message": "Can not delete this team, there is at least one user that belongs to it"
|
||||
}
|
||||
Loaded 100 of 155 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user