Compare commits

...
89 Commits
Author SHA1 Message Date
Lauri Ojansivu c0b7fb0b84 v5.45 2021-08-05 00:24:29 +03:00
Lauri Ojansivu 9b4e556837 Updated ChangeLog. 2021-08-05 00:13:08 +03:00
Lauri Ojansivu 1aec0b5f0d Merge pull request #3939 from syndimann/bugfix/3866-mentions-in-maximized-card
Fix: Show missing user mentions popover when posting comments in maximized card layout
2021-08-05 00:10:56 +03:00
Lauri Ojansivu c5d4e06ea3 Updated ChangeLog. 2021-08-05 00:10:14 +03:00
Lauri Ojansivu 97bf907448 Merge pull request #3937 from syndimann/feature/card-and-board-mentions
Feature: Special handles to notify board or card members in a comment
2021-08-05 00:08:43 +03:00
Kai Lehmann 7ef2a2a9f4 fixes missing user mentions when in maximized card 2021-08-04 22:22:59 +02:00
Kai Lehmann 547d82fe57 adds handles to notifiy board or card members 2021-08-03 23:35:12 +02:00
Lauri Ojansivu 977821d293 v5.44 2021-08-03 17:42:26 +03:00
Lauri Ojansivu f4e5306181 Updated ChangeLog. 2021-08-03 16:14:15 +03:00
Lauri Ojansivu f01b440fb7 Merge pull request #3936 from syndimann/feature/boardwise-card-numbers
Fix: Consecutive Card numbering when a card is moved to another board or copied
2021-08-03 16:12:28 +03:00
Kai Lehmann 2fd741bf54 fix cardnumber assignment for moved or copied card 2021-08-03 14:03:05 +02:00
Kai Lehmann e8522c323f fixes retrieval of next board cardnumber 2021-08-03 14:02:22 +02:00
Lauri Ojansivu def2ec46e0 Updated ChangeLog. 2021-08-03 06:15:40 +03:00
Lauri Ojansivu 4e17d5a10f Wekan v5.43 for helm.
Thanks to xet7 !
2021-08-03 06:13:43 +03:00
Lauri Ojansivu dcba6909e2 v5.43 2021-08-03 05:56:55 +03:00
Lauri Ojansivu fc74324d1a Updated ChangeLog. 2021-08-03 05:51:56 +03:00
Lauri Ojansivu 8bb33c53f0 Merge pull request #3935 from syndimann/feature/boardwise-card-numbers
Feature: Consecutive boardwise card numbering
2021-08-03 05:44:39 +03:00
Kai Lehmann 236b6c3552 Fixes card-number migration
and further optimizes getNextCardNumber in board model
2021-08-02 22:41:46 +02:00
Kai Lehmann 28e9a6ac33 show cardNumber in minicard and cardDetails 2021-08-02 21:44:37 +02:00
Kai Lehmann f91cc25b11 assign next cardNumber to newly created card 2021-08-02 21:44:19 +02:00
Kai Lehmann 6fd45ce74b adds card number allowance to card settings 2021-08-02 21:41:58 +02:00
Kai Lehmann b57eae14d4 add cardNumber handling to card and board model 2021-08-02 21:41:30 +02:00
Lauri Ojansivu 12db3714f9 Updated ChangeLog. 2021-08-01 17:15:56 +03:00
Lauri Ojansivu 7a1f42fa4e v5.42 for helm 2021-08-01 17:10:10 +03:00
Lauri Ojansivu 74064324cf Merge pull request #3933 from varac/update_helmchart
Update helmchart, pin image version
2021-08-01 17:08:13 +03:00
Varac f3baa32d6c Update Chart apiVersion, pin image version
This makes this Chart compatible with [flux](https://fluxcd.io)
[helm-controller](https://fluxcd.io/docs/components/helm), which
requires v2 charts.
2021-08-01 15:54:17 +02:00
Lauri Ojansivu 33eed50290 v5.42 2021-08-01 15:46:03 +03:00
Lauri Ojansivu 11d9d1c889 Updated translations. 2021-08-01 15:41:57 +03:00
Lauri Ojansivu 5a7860ac8e Updated ChangeLog. 2021-08-01 15:31:58 +03:00
Lauri Ojansivu b13f691389 Updated to Node.js v12.22.4. Thanks to Node.js developers. 2021-08-01 15:30:08 +03:00
Varac d70e876388 Ignore downloaded chart dependencies 2021-07-27 22:06:26 +02:00
Lauri Ojansivu 36c2cb9573 v5.41 2021-07-26 19:59:42 +03:00
Lauri Ojansivu 88a47780a8 Updated translations. 2021-07-26 19:52:33 +03:00
Lauri Ojansivu d30ce3c5cf Updated ChangeLog. 2021-07-26 14:04:25 +03:00
Lauri Ojansivu 0fa8fc8b50 Fixed Wekan JSON import fails.
Thanks to BartoszBroda and xet7 !

Fixes #3918
2021-07-26 14:01:09 +03:00
Lauri Ojansivu 6d73618a48 v5.40 2021-07-25 15:48:10 +03:00
Lauri Ojansivu db493f1571 Updated translations.
Thanks to translators!
2021-07-25 15:44:54 +03:00
Lauri Ojansivu 2b51afaedf Updated ChangeLog. 2021-07-25 15:22:07 +03:00
Lauri Ojansivu 18b6381d79 Fixed Delete of Planning Poker doesn't work.
Thanks to xet7 !

Fixes #3915
2021-07-25 15:19:54 +03:00
Lauri Ojansivu c65d8ed6a9 Updated ChangeLog. 2021-07-25 00:00:55 +03:00
Lauri Ojansivu b3ba156d20 v5.39 2021-07-24 23:38:10 +03:00
Lauri Ojansivu e1de787f19 Updated translations.
Thanks to translators!
2021-07-24 23:27:34 +03:00
Lauri Ojansivu e1f08b157b Updated ChangeLog. 2021-07-24 21:18:06 +03:00
Lauri Ojansivu 508915462d Merge pull request #3912 from Emile840/master
Organizations and teams are taken into account when displaying board in « All boards page »
2021-07-24 21:15:24 +03:00
Lauri Ojansivu 7c2ef6fbd5 Updated ChangeLog. 2021-07-24 19:58:59 +03:00
Lauri Ojansivu ae73029dda Added translation: English (Italy).
Thanks to translators!
2021-07-24 19:57:07 +03:00
Lauri Ojansivu 542972fc5c Updated ChangeLog. 2021-07-24 19:37:18 +03:00
Lauri Ojansivu d7cb143b0a Fix typo. 2021-07-24 19:35:24 +03:00
Lauri Ojansivu d594555227 Merge pull request #3910 from helioguardabaxo/master
Add Convert checklist item to card feature
2021-07-24 19:33:17 +03:00
Lauri Ojansivu fe25ed5202 Updated ChangeLog. 2021-07-24 19:25:49 +03:00
Lauri Ojansivu f6c36d6edd Merge branch 'indika-dev-master' 2021-07-24 19:22:23 +03:00
Lauri Ojansivu fe40f35d6d LDAP AD Simple Auth: Added settings for all Wekan Standalone (non-Sandstorm) platforms.
Thanks to xet7 !
2021-07-24 19:20:47 +03:00
Emile NDAGIJIMANA 789d1d1d1c « All boards page » only displays tables to which the current user has access 2021-07-23 10:39:42 +02:00
helioguardabaxo 70265deb47 Add Convert checklist item to card feature 2021-07-22 22:44:40 -03:00
Stefan Maaßen c0d1ed714e added comment because of change in configuration dependencies 2021-07-22 10:46:35 +02:00
Stefan Maaßen 0555b7e34c added comment to clarify additional use case of LDAP_DEFAULT_DOMAIN 2021-07-22 10:35:12 +02:00
Stefan Maaßen c1c2eb22ba removed unnecessary changes 2021-07-22 10:28:37 +02:00
Stefan Maaßen 697d7613f2 Merge branch 'master' of https://github.com/wekan/wekan 2021-07-22 10:06:55 +02:00
Lauri Ojansivu 33836af1f9 Try to fix Snap.
Thanks to roadmr and xet7 !
2021-07-21 23:40:13 +03:00
Stefan Maaßen 4f0c2dafca removed unnecessary files 2021-07-21 10:13:39 +02:00
Stefan Maaßen 84801010d5 merged with wekan master @ v5.38 2021-07-20 13:34:22 +02:00
Stefan Maaßen cb418f5e23 merged with wekan master @ v5.38 2021-07-20 13:33:42 +02:00
Lauri Ojansivu f7d6ac9401 v5.38 2021-07-18 15:46:34 +03:00
Lauri Ojansivu d939ab0d76 Updated ChangeLog. 2021-07-18 15:39:51 +03:00
Lauri Ojansivu d538a01d19 Updated to Node.js v12.22.3. Thanks to Node.js developers. 2021-07-18 15:37:50 +03:00
Lauri Ojansivu 8770326ed3 Updated translations. 2021-07-18 15:32:00 +03:00
Lauri Ojansivu b2e96746db Updated translations. 2021-07-16 16:22:08 +03:00
Lauri Ojansivu 6ce0be635b Updated ChangeLog. 2021-07-13 20:46:39 +03:00
Lauri Ojansivu 1001e95a87 Updated ChangeLog. 2021-07-13 20:13:43 +03:00
Lauri Ojansivu 609adcdf10 Updated dependencies.
Thanks to developers of dependencies !
2021-07-13 20:12:08 +03:00
Lauri Ojansivu 9de2580e30 Updated ChangeLog. 2021-07-13 20:11:44 +03:00
Lauri Ojansivu 9eb9081c6d Merge pull request #3902 from jghaanstra/master
Small fixes for ModernDark theme
2021-07-13 20:09:54 +03:00
Jelger Haanstra f551b03dc7 Small fixes for ModernDark theme 2021-07-13 15:49:20 +02:00
Lauri Ojansivu 1d5dd5e60f Fixed rebuild-wekan.sh .
Thanks to xet7 !
2021-07-12 18:16:12 +03:00
Lauri Ojansivu 35a7036d4a Updated ChangeLog. 2021-07-06 22:41:59 +03:00
Lauri Ojansivu 7024929881 Updated dependencies.
Thanks to developers of dependencies!
2021-07-06 22:40:44 +03:00
Lauri Ojansivu 90058f25bf Updated ChangeLog. 2021-07-06 21:20:49 +03:00
Lauri Ojansivu 24ec9018fb Updated ChangeLog. 2021-07-06 21:16:11 +03:00
Lauri Ojansivu ec01e5182d Fixed Line break which is wrongly added in Cards description and Cards comments.
Added Code View `</>` button when RICHER_CARD_COMMENT_EDITOR=true and in desktop view
(=non-mobile, so there is enough screen space for buttons in desktop view).

Thanks to Emile840 and xet7 !

Fixes #3885
2021-07-06 20:59:47 +03:00
Lauri Ojansivu 06d2880a7e Fix typos. 2021-07-05 13:43:03 +03:00
Lauri Ojansivu 2a611a8935 Merge pull request #3895 from Emile840/master
Add or remove an organization and team from a board
2021-07-05 13:38:13 +03:00
Emile NDAGIJIMANA b236d95636 Add or remove organizations and teams from boards 2021-07-05 11:27:38 +02:00
Lauri Ojansivu b1abfc768a v5.37 2021-07-04 08:05:19 +03:00
Lauri Ojansivu 9b97810109 Updated ChangeLog. 2021-07-04 07:53:00 +03:00
Lauri Ojansivu 4feffd90e3 Updated to Node.js v12.22.2. Thanks to Node.js developers. 2021-07-04 07:50:50 +03:00
Lauri Ojansivu dd8d2ea276 Updated ChangeLog. 2021-07-01 14:10:19 +03:00
Lauri Ojansivu 4c29b72242 Merge pull request #3889 from bentiss/fix-openapi
openapi: actually catch the error when esprima fails at parsing the file
2021-07-01 14:07:11 +03:00
Benjamin Tissoires ebe39771a6 openapi: actually catch the error when esprima fails at parsing the file
39f8a138d7 added a try/except around esprima to catch any hard error
from the parsing, but the returned value was not checked.

We now have the file models/exportExcel.js which gives us an unexpected
symbol on line 3 (not sure why it is not happy), but that fails the
generation of the doc entirely.

Fixes #3884

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2021-07-01 10:23:29 +02:00
Stefan Maaßen fe7962e10a AD Simple Auth is working 2020-04-07 14:03:16 +02:00
126 changed files with 3231 additions and 580 deletions

No files matched your search

+1 -1
View File
@@ -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 \
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+4
View File
@@ -34,3 +34,7 @@ ehthumbs.db
.devcontainer/docker-compose.extend.yml
.devcontainer/volumes*/
.coverage
# Helm chart
# Chart dependencies
/helm/wekan/**/*.tgz
+1 -1
View File
@@ -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
View File
@@ -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
+140
View File
@@ -3,6 +3,146 @@
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:
+4 -3
View File
@@ -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
View File
@@ -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 \
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v5.36.0"
appVersion: "v5.45.0"
files:
userUploads:
- README.md
+57 -18
View File
@@ -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
+42 -6
View File
@@ -87,16 +87,52 @@ BlazeComponent.extendComponent({
boards() {
const query = {
archived: false,
//type: { $in: ['board','template-container'] },
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() {
+3
View File
@@ -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
+29 -1
View File
@@ -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();
}),
+6
View File
@@ -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,
+32
View File
@@ -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'}}
+46
View File
@@ -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();
+2 -1
View File
@@ -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
+3
View File
@@ -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
+4
View File
@@ -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
+16 -13
View File
@@ -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 });
},
@@ -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() {
+12 -5
View File
@@ -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;
+2
View File
@@ -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') {
+3
View File
@@ -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
+85
View File
@@ -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")
+299
View File
@@ -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,
+10
View File
@@ -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
+38
View File
@@ -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
+128
View File
@@ -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('');
+2
View File
@@ -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') {
+40 -9
View File
@@ -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
+6
View File
@@ -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
View File
@@ -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
-5
View File
@@ -1,5 +0,0 @@
dependencies:
- name: mongodb
version: 10.0.x
repository: "https://charts.bitnami.com/bitnami"
condition: mongodb.enabled
+1 -1
View File
@@ -14,7 +14,7 @@ serviceAccounts:
##
image:
repository: quay.io/wekan/wekan
tag: latest
tag: v5.45
pullPolicy: IfNotPresent
## Configuration for wekan component
+1
View File
@@ -89,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",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "إضافة مهمة فرعية",
"add-checklist": "إضافة قائمة تدقيق",
"add-checklist-item": "إضافة عنصر إلى قائمة التحقق",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "إضافة غلاف",
"add-label": "إضافة ملصق",
"add-list": "إضافة قائمة",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Добави подзадача",
"add-checklist": "Добави списък със задачи",
"add-checklist-item": "Добави точка към списъка със задачи",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Добави корица",
"add-label": "Добави етикет",
"add-list": "Добави списък",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+4 -3
View File
@@ -81,7 +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": "Add Template",
"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",
@@ -89,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",
@@ -120,8 +121,8 @@
"archives": "Archiv",
"template": "Šablona",
"templates": "Šablony",
"template-container": "Template Container",
"add-template-container": "Add Template Container",
"template-container": "Kontejner šablony",
"add-template-container": "Přidat kontejner šablony",
"assign-member": "Přiřadit člena",
"attached": "přiloženo",
"attachment": "Příloha",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Προσθήκη Υποεργασίας",
"add-checklist": "Προσθήκη Λίστας ελέγχου",
"add-checklist-item": "Προσθήκη ενός στοιχείου στη λίστα ελέγχου - checklist",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Add Cover",
"add-label": "Προσθήκη Ετικέτας",
"add-list": "Προσθήκη Λίστας",
+1
View File
@@ -89,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",
+1063
View File
File diff suppressed because it is too large. Load diff
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "افزودن زیر وظیفه",
"add-checklist": "افزودن چک‌لیست",
"add-checklist-item": "افزودن مورد به چک‌لیست",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "افزودن کاور",
"add-label": "افزودن لیبل",
"add-list": "افزودن لیست",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "הוסף תת משימה",
"add-checklist": "הוספת רשימת מטלות",
"add-checklist-item": "הוספת פריט לרשימת משימות",
"convertChecklistItemToCardPopup-title": "המרה לכרטיס",
"add-cover": "הוספת כיסוי",
"add-label": "הוספת תווית",
"add-list": "הוספת רשימה",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "उप कार्य जोड़ें",
"add-checklist": "चिह्नांकन-सूची जोड़ें",
"add-checklist-item": "चिह्नांकन-सूची विषय कोई तक जोड़ें",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "आवरण जोड़ें",
"add-label": "नामपत्र जोड़ें",
"add-list": "सूची जोड़ें",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+4 -3
View File
@@ -81,7 +81,7 @@
"activity-endDate": "ha modificato la data di fine a %s di %s ",
"add-attachment": "Aggiungi allegato",
"add-board": "Aggiungi bacheca",
"add-template": "Add Template",
"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",
@@ -89,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",
@@ -120,8 +121,8 @@
"archives": "Archivio",
"template": "Template",
"templates": "Template",
"template-container": "Template Container",
"add-template-container": "Add Template Container",
"template-container": "Contenitore dei Template",
"add-template-container": "Aggiungi contenitore di Template",
"assign-member": "Assegna a un membro",
"attached": "allegato",
"attachment": "Allegato",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "サブタスクを追加",
"add-checklist": "チェックリストを追加",
"add-checklist-item": "チェックリストに項目を追加",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "カバーの追加",
"add-label": "ラベルを追加",
"add-list": "リストを追加",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "ქვესაქმიანობის დამატება",
"add-checklist": "კატალოგის დამატება",
"add-checklist-item": "დაამატეთ საგანი ჩამონათვალს",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "გარეკანის დამატება",
"add-label": "ნიშნის დამატება",
"add-list": "ჩამონათვალის დამატება",
+1
View File
@@ -89,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",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Add Subtask",
"add-checklist": "체크리스트 추가",
"add-checklist-item": "체크리스트에 항목 추가",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "커버 추가",
"add-label": "라벨 추가",
"add-list": "리스트 추가",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Додади подзадача",
"add-checklist": "Додади список на задачи",
"add-checklist-item": "Додади точка во списокот со задачи",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Додади корица",
"add-label": "Додади етикета",
"add-list": "Додади листа",
+1
View File
@@ -89,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": "Жагсаалт нэмэх",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Dodaj podzadanie",
"add-checklist": "Dodaj czeklistę",
"add-checklist-item": "Dodaj element do czeklisty",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Dodaj okładkę",
"add-label": "Dodaj etykietę",
"add-list": "Dodaj listę",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Adicionar subtarefa",
"add-checklist": "Adicionar lista de verificação",
"add-checklist-item": "Adicionar um item à lista de verificação",
"convertChecklistItemToCardPopup-title": "Converter para Cartão",
"add-cover": "Adicionar Capa",
"add-label": "Adicionar Etiqueta",
"add-list": "Adicionar Lista",
+2 -1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Adicionar Sub-tarefa",
"add-checklist": "Adicionar Lista de Verificação",
"add-checklist-item": "Adicionar um item à lista de verificação",
"convertChecklistItemToCardPopup-title": "Converter para Cartão",
"add-cover": "Adicionar Capa",
"add-label": "Adicionar Etiqueta",
"add-list": "Adicionar Lista",
@@ -198,7 +199,7 @@
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-finish": "Finalizar",
"poker-result-votes": "Votos",
"poker-result-who": "Who",
"poker-replay": "Replay",
+1
View File
@@ -89,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": "Adaugă Decor",
"add-label": "Add Label",
"add-list": "Add List",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Добавить подзадачу",
"add-checklist": "Добавить контрольный список",
"add-checklist-item": "Добавить пункт в контрольный список",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Прикрепить",
"add-label": "Добавить метку",
"add-list": "Добавить простой список",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Pridať Podúlohu",
"add-checklist": "Pridať Checklist",
"add-checklist-item": "Pridať novú položku do Checklistu",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Pridať obal",
"add-label": "Pridať značku",
"add-list": "Pridať zoznam",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Dodaj podopravilo",
"add-checklist": "Dodaj kontrolni seznam",
"add-checklist-item": "Dodaj postavko na kontrolni seznam",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Dodaj ovitek",
"add-label": "Dodaj oznako",
"add-list": "Dodaj seznam",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Dodaj podzadatak",
"add-checklist": "Add Checklist",
"add-checklist-item": "Dodaj novu stavku u listu",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Dodaj zaglavlje",
"add-label": "Dodaj oznaku",
"add-list": "Dodaj Listu",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Lägg till deluppgift",
"add-checklist": "Lägg till checklista",
"add-checklist-item": "Lägg till objekt i checklista",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Lägg till omslag",
"add-label": "Lägg till etikett",
"add-list": "Lägg till lista",
+1
View File
@@ -89,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",
+1
View File
@@ -89,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",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Add Subtask",
"add-checklist": "Add Checklist",
"add-checklist-item": "เพิ่มรายการตรวจสอบ",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "เพิ่มหน้าปก",
"add-label": "Add Label",
"add-list": "Add List",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Alt Görev Ekle",
"add-checklist": "Yapılacak Listesi Ekle",
"add-checklist-item": "Yapılacak listesine yeni bir öğe ekle",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Kapak resmi ekle",
"add-label": "Etiket Ekle",
"add-list": "Liste Ekle",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Додати підзадачу",
"add-checklist": "Add Checklist",
"add-checklist-item": "Додати елемент в список",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Додати обкладинку",
"add-label": "Додати мітку",
"add-list": "Додати список",
+1
View File
@@ -89,6 +89,7 @@
"add-subtask": "Thêm Nhiệm vụ phụ",
"add-checklist": "Thêm Danh Sách Kiểm Tra",
"add-checklist-item": "Thêm Một Mục Vào Danh Sách Kiểm Tra",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "Thêm Bìa",
"add-label": "Thêm Nhãn",
"add-list": "Thêm Danh Sách",
+32 -31
View File
@@ -81,14 +81,15 @@
"activity-endDate": "已将结束日期从 %s 修改为 %s",
"add-attachment": "添加附件",
"add-board": "添加看板",
"add-template": "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",
"add-card-to-top-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": "添加列表",
@@ -120,8 +121,8 @@
"archives": "归档",
"template": "模板",
"templates": "模板",
"template-container": "Template Container",
"add-template-container": "Add Template Container",
"template-container": "模板容器",
"add-template-container": "新增模板容器",
"assign-member": "指派成员",
"attached": "附加",
"attachment": "附件",
@@ -136,7 +137,7 @@
"board-not-found": "看板不存在",
"board-private-info": "该看板将被设为 <strong>私有</strong>.",
"board-public-info": "该看板将被设为 <strong>公开</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": "对看板图标进行拖拽排序。点击看板图标打开看板。",
"boardChangeColorPopup-title": "修改看板背景",
"boardChangeTitlePopup-title": "重命名看板",
"boardChangeVisibilityPopup-title": "更改可视级别",
@@ -184,10 +185,10 @@
"vote-against": "反对",
"deleteVotePopup-title": "删除投票?",
"vote-delete-pop": "永久删除。此操作会将所有数据删除掉。",
"cardStartPlanningPokerPopup-title": "Start a Planning Poker",
"card-edit-planning-poker": "Edit Planning Poker",
"editPokerEndDatePopup-title": "Change Planning Poker vote end date",
"poker-question": "Planning Poker",
"cardStartPlanningPokerPopup-title": "开始一次计划扑克",
"card-edit-planning-poker": "编辑计划扑克",
"editPokerEndDatePopup-title": "更改计划扑克投票截止日期",
"poker-question": "计划扑克",
"poker-one": "1",
"poker-two": "2",
"poker-three": "3",
@@ -197,14 +198,14 @@
"poker-twenty": "20",
"poker-forty": "40",
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "Finish",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-unsure": "?",
"poker-finish": "完成",
"poker-result-votes": "投票",
"poker-result-who": "何人",
"poker-replay": "Replay",
"set-estimation": "Set Estimation",
"deletePokerPopup-title": "Delete planning poker?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"deletePokerPopup-title": "删除计划扑克?",
"poker-delete-pop": "永久删除。对该计划扑克的所有操作记录将会丢失。",
"cardDeletePopup-title": "彻底删除卡片?",
"cardDetailsActionsPopup-title": "卡片操作",
"cardLabelsPopup-title": "标签",
@@ -236,7 +237,7 @@
"close": "关闭",
"close-board": "关闭看板",
"close-board-pop": "您可以通过主页头部的“归档”按钮,来恢复看板。",
"close-card": "Close Card",
"close-card": "关闭卡片",
"color-black": "黑色",
"color-blue": "蓝色",
"color-crimson": "深红",
@@ -361,11 +362,11 @@
"export-board-excel": "看板导出为Excel",
"user-can-not-export-excel": "用户无法导出Excel",
"export-board-html": "看板导出为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": "导出卡片",
"export-card-pdf": "卡片导出为PDF",
"user-can-not-export-card-to-pdf": "用户无法将卡片导出为PDF",
"exportBoardPopup-title": "导出看板",
"exportCardPopup-title": "Export card",
"exportCardPopup-title": "导出卡片",
"sort": "排序",
"sort-desc": "点此来将列表排序",
"list-sort-by": "按此来将列表排序:",
@@ -454,8 +455,8 @@
"set-color-list": "设置颜色",
"listActionPopup-title": "列表操作",
"settingsUserPopup-title": "用户设置",
"settingsTeamPopup-title": "Team Settings",
"settingsOrgPopup-title": "Organization Settings",
"settingsTeamPopup-title": "团队设置",
"settingsOrgPopup-title": "组织设置",
"swimlaneActionPopup-title": "泳道图操作",
"swimlaneAddPopup-title": "在下面添加一个泳道",
"listImportCardPopup-title": "导入 Trello 卡片",
@@ -671,7 +672,7 @@
"setListColorPopup-title": "选择一种颜色",
"assigned-by": "指派人",
"requested-by": "需求人",
"card-sorting-by-number": "Card sorting by number",
"card-sorting-by-number": "根据编号对卡片排序",
"board-delete-notice": "删除时永久操作,将会丢失此看板上的所有列表、卡片和动作。",
"delete-board-confirm-popup": "所有列表、卡片、标签和活动都回被删除,将无法恢复看板内容。不支持撤销。",
"boardDeletePopup-title": "删除看板?",
@@ -853,8 +854,8 @@
"act-duenow": "__card__ 的当前到期提醒(__timeValue__) 现在到期",
"act-atUserComment": "[__board__] __list__/__card__ 提到了您",
"delete-user-confirm-popup": "确实要删除此帐户吗?此操作无法撤销。",
"delete-team-confirm-popup": "Are you sure you want to delete this team? There is no undo.",
"delete-org-confirm-popup": "Are you sure you want to delete this organization? There is no undo.",
"delete-team-confirm-popup": "请确认是否删除此团队?此操作无法撤销。",
"delete-org-confirm-popup": "请确认是否删除此组织?此操作无法撤销。",
"accounts-allowUserDelete": "允许用户自行删除其帐户",
"hide-minicard-label-text": "隐藏迷你卡片标签文本",
"show-desktop-drag-handles": "显示桌面拖放手柄",
@@ -1045,7 +1046,7 @@
"rulesReportTitle": "规则报告",
"copy-swimlane": "复制泳道",
"copySwimlanePopup-title": "复制泳道",
"display-card-creator": "Display Card Creator",
"display-card-creator": "显示卡片创建者",
"wait-spinner": "Wait Spinner",
"Bounce": "Bounce Wait Spinner",
"Cube": "Cube Wait Spinner",
@@ -1055,8 +1056,8 @@
"Rotateplane": "Rotateplane Wait Spinner",
"Scaleout": "Scaleout Wait Spinner",
"Wave": "Wave Wait Spinner",
"maximize-card": "Maximize 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"
"maximize-card": "最大化卡片",
"minimize-card": "最小化卡片",
"delete-org-warning-message": "无法删除该组织,至少还有一个用户属于该组织。",
"delete-team-warning-message": "无法删除该团队,至少还有一个用户属于该团队。"
}
+1
View File
@@ -89,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",
+8 -7
View File
@@ -89,6 +89,7 @@
"add-subtask": "新增子任務",
"add-checklist": "新增待辦清單",
"add-checklist-item": "新增項目",
"convertChecklistItemToCardPopup-title": "Convert to Card",
"add-cover": "新增封面",
"add-label": "新增標籤",
"add-list": "新增清單",
@@ -120,8 +121,8 @@
"archives": "封存",
"template": "範本",
"templates": "範本",
"template-container": "Template Container",
"add-template-container": "Add Template Container",
"template-container": "範本容器",
"add-template-container": "新增範本容器",
"assign-member": "分配成員",
"attached": "附加",
"attachment": "附件",
@@ -199,12 +200,12 @@
"poker-oneHundred": "100",
"poker-unsure": "?",
"poker-finish": "完成",
"poker-result-votes": "Votes",
"poker-result-who": "Who",
"poker-result-votes": "投票",
"poker-result-who": "誰",
"poker-replay": "重播",
"set-estimation": "Set Estimation",
"set-estimation": "設定預估時間",
"deletePokerPopup-title": "刪除規劃撲克?",
"poker-delete-pop": "Deleting is permanent. You will lose all actions associated with this planning poker.",
"poker-delete-pop": "刪除是永遠的,你會失去所有與此規劃撲克相關動作關聯",
"cardDeletePopup-title": "徹底刪除卡片?",
"cardDetailsActionsPopup-title": "卡片操作",
"cardLabelsPopup-title": "標籤",
@@ -1041,7 +1042,7 @@
"creator": "創建者",
"filesReportTitle": "Files Report",
"orphanedFilesReportTitle": "Orphaned Files Report",
"reports": "Reports",
"reports": "報告",
"rulesReportTitle": "Rules Report",
"copy-swimlane": "複製泳道流程圖",
"copySwimlanePopup-title": "複製泳道流程圖",
Loaded 100 of 126 files, more files were not shown because too many files have changed in this diff. Show more