mirror of
https://github.com/wekan/wekan.git
synced 2026-11-14 06:01:59 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a85d652db4 | ||
|
|
a9e6bf62bd | ||
|
|
0674ce19fe | ||
|
|
3fc251c1f6 | ||
|
|
67c3f663a1 | ||
|
|
2050796a33 | ||
|
|
7c4c467e46 | ||
|
|
4f4f3e4593 | ||
|
|
5160d59d79 | ||
|
|
ab4774a59a | ||
|
|
b0d1ccc311 | ||
|
|
8c2ebde3d5 | ||
|
|
508e8c87be | ||
|
|
365e8455e6 | ||
|
|
393684fb19 | ||
|
|
909a23e529 | ||
|
|
b68a2e2b41 | ||
|
|
33f09f0887 | ||
|
|
aee05a549f | ||
|
|
0155c7d8ce | ||
|
|
64fca5893e | ||
|
|
221831e4e5 | ||
|
|
cb755af2ee | ||
|
|
f71f3126db | ||
|
|
42a2767211 | ||
|
|
e410205886 | ||
|
|
07433b8005 | ||
|
|
58575706fe | ||
|
|
ebba71077e | ||
|
|
6c0df108c7 | ||
|
|
5f3ffcb0eb | ||
|
|
265d57b9f4 | ||
|
|
42e85f693c | ||
|
|
30dacb0369 | ||
|
|
304d5e6256 | ||
|
|
597de31116 | ||
|
|
425b3d98b3 | ||
|
|
c2fb8b5be8 | ||
|
|
1ba299585c | ||
|
|
174ad1a987 | ||
|
|
199246ea6c | ||
|
|
eeb8d4b3de | ||
|
|
82a728df71 | ||
|
|
3f067c793c | ||
|
|
2489cc5b91 | ||
|
|
1c832a24b7 | ||
|
|
e40198cd26 | ||
|
|
c81556b64c | ||
|
|
60546d2ce3 | ||
|
|
fa0b4d7edd | ||
|
|
d5593e059b | ||
|
|
93ae4e504e | ||
|
|
fcac5d1033 | ||
|
|
f69392566a | ||
|
|
8e3689a11d | ||
|
|
5804a204fe | ||
|
|
09682111d6 | ||
|
|
3a845d13f8 | ||
|
|
2cb4df9e0b | ||
|
|
daa602ed9e | ||
|
|
eabf24d750 | ||
|
|
e2475ad73f | ||
|
|
4f79e84399 | ||
|
|
e4c0638f72 | ||
|
|
e774f71205 | ||
|
|
b2986ca289 | ||
|
|
271853e155 | ||
|
|
a2a3d316d5 | ||
|
|
33b75f2f23 | ||
|
|
929ca9cbd9 | ||
|
|
ea3bcf4320 | ||
|
|
0b018bfad5 | ||
|
|
c360afb341 | ||
|
|
2dba189830 | ||
|
|
d40d5652ba | ||
|
|
d40ad94384 | ||
|
|
8e2f44bbc0 | ||
|
|
87df11434b | ||
|
|
95c178cee3 | ||
|
|
46a468b06d | ||
|
|
8d4eef6649 | ||
|
|
9421c0ba05 | ||
|
|
1c827f9830 | ||
|
|
4114d08961 | ||
|
|
98917523fc | ||
|
|
e9a3601d2e | ||
|
|
3c53b3de15 | ||
|
|
8becd9aad3 | ||
|
|
5eadc0c850 | ||
|
|
89d0da5eee | ||
|
|
03fbc1cd70 | ||
|
|
738e07c424 | ||
|
|
4fb81bd686 | ||
|
|
aff8b562d6 | ||
|
|
236c99b39f | ||
|
|
5488b68b9b | ||
|
|
6d18fb689f | ||
|
|
9d7e9e9869 | ||
|
|
6d15fd29ee | ||
|
|
d78e067246 | ||
|
|
5b227b2b4f | ||
|
|
16fe2be04d | ||
|
|
61c0292089 | ||
|
|
c8173fd9f9 | ||
|
|
72f8baf6b3 | ||
|
|
e135af8c37 | ||
|
|
61eb0e7acd | ||
|
|
0b841f2e05 | ||
|
|
9662267628 | ||
|
|
34f2e4466e | ||
|
|
73f288cd9b | ||
|
|
622f1360bb | ||
|
|
4ecdf7558f | ||
|
|
25fac166cf | ||
|
|
66d1546081 | ||
|
|
181b564bf3 | ||
|
|
872e503ff8 | ||
|
|
38012903b8 | ||
|
|
6ab699d650 | ||
|
|
af6513ccc7 | ||
|
|
30fe263bfe | ||
|
|
51cf57025d | ||
|
|
28884cb409 | ||
|
|
6e29152b76 | ||
|
|
0defff70af | ||
|
|
d93efd9e9b | ||
|
|
eab46523ee | ||
|
|
c4473f3515 | ||
|
|
8b3f8ac501 | ||
|
|
fb2e8b4a31 | ||
|
|
871e229fae | ||
|
|
e1b3f38315 | ||
|
|
b8b1512e26 | ||
|
|
3300c69a03 | ||
|
|
09a95dfef6 | ||
|
|
ea141f62d7 |
No files matched your search
@@ -1,6 +1,7 @@
|
||||
## Issue
|
||||
|
||||
Add these issues to elsewhere:
|
||||
- LDAP: https://github.com/wekan/wekan-ldap/issues
|
||||
- Snap: https://github.com/wekan/wekan-snap/issues
|
||||
|
||||
Other Wekan issues can be added here.
|
||||
|
||||
+1
-13
@@ -8,6 +8,7 @@ npm-debug.log
|
||||
.vscode/
|
||||
.idea/
|
||||
.build/*
|
||||
packages/
|
||||
package-lock.json
|
||||
**/parts/
|
||||
**/stage
|
||||
@@ -16,16 +17,3 @@ package-lock.json
|
||||
snap/.snapcraft/
|
||||
.idea
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
.build*
|
||||
*.browserify.js.cached
|
||||
*.browserify.js.map
|
||||
.build*
|
||||
versions.json
|
||||
.versions
|
||||
.npm
|
||||
.build*
|
||||
._*
|
||||
.Trashes
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
@@ -16,3 +16,4 @@ notices-for-facebook-graph-api-2
|
||||
1.4.1-add-shell-server-package
|
||||
1.4.3-split-account-service-packages
|
||||
1.5-add-dynamic-import-package
|
||||
1.7-split-underscore-from-meteor-base
|
||||
+20
-20
@@ -3,17 +3,16 @@
|
||||
# 'meteor add' and 'meteor remove' will edit this file for you,
|
||||
# but you can also edit it by hand.
|
||||
|
||||
meteor-base@1.2.0
|
||||
meteor-base@1.4.0
|
||||
|
||||
# Build system
|
||||
ecmascript
|
||||
stylus@2.513.13
|
||||
standard-minifier-css@1.3.5
|
||||
standard-minifier-js@2.2.0
|
||||
ecmascript@0.12.4
|
||||
standard-minifier-css@1.5.2
|
||||
standard-minifier-js@2.4.0
|
||||
mquandalle:jade
|
||||
|
||||
# Polyfills
|
||||
es5-shim@4.6.15
|
||||
es5-shim@4.8.0
|
||||
|
||||
# Collections
|
||||
aldeed:collection2
|
||||
@@ -23,7 +22,7 @@ dburles:collection-helpers
|
||||
idmontie:migrations
|
||||
matb33:collection-hooks
|
||||
matteodem:easy-search
|
||||
mongo@1.3.1
|
||||
mongo@1.6.0
|
||||
mquandalle:collection-mutations
|
||||
|
||||
# Account system
|
||||
@@ -31,17 +30,17 @@ kenton:accounts-sandstorm
|
||||
service-configuration@1.0.11
|
||||
useraccounts:unstyled
|
||||
useraccounts:flow-routing
|
||||
wekan-ldap
|
||||
wekan-accounts-cas
|
||||
wekan:wekan-ldap
|
||||
wekan:accounts-cas
|
||||
wekan-accounts-oidc
|
||||
|
||||
# Utilities
|
||||
check@1.2.5
|
||||
check@1.3.1
|
||||
jquery@1.11.10
|
||||
random@1.0.10
|
||||
reactive-dict@1.2.0
|
||||
session@1.1.7
|
||||
tracker@1.1.3
|
||||
random@1.1.0
|
||||
reactive-dict@1.2.1
|
||||
session@1.2.0
|
||||
tracker@1.2.0
|
||||
underscore@1.0.10
|
||||
3stack:presence
|
||||
alethes:pages
|
||||
@@ -55,7 +54,7 @@ mquandalle:autofocus
|
||||
ongoworks:speakingurl
|
||||
raix:handlebar-helpers
|
||||
tap:i18n
|
||||
http@1.3.0
|
||||
http@1.4.1
|
||||
|
||||
# UI components
|
||||
blaze
|
||||
@@ -66,29 +65,30 @@ mquandalle:jquery-textcomplete
|
||||
mquandalle:jquery-ui-drag-drop-sort
|
||||
mquandalle:mousetrap-bindglobal
|
||||
peerlibrary:blaze-components@=0.15.1
|
||||
perak:markdown
|
||||
templates:tabs
|
||||
verron:autosize
|
||||
simple:json-routes
|
||||
rajit:bootstrap3-datepicker
|
||||
shell-server@0.3.0
|
||||
shell-server@0.4.0
|
||||
simple:rest-accounts-password
|
||||
useraccounts:core
|
||||
email@1.2.3
|
||||
horka:swipebox
|
||||
dynamic-import@0.2.0
|
||||
dynamic-import@0.5.0
|
||||
staringatlights:fast-render
|
||||
|
||||
mixmax:smart-disconnect
|
||||
accounts-password@1.5.0
|
||||
accounts-password@1.5.1
|
||||
cfs:gridfs
|
||||
rzymek:fullcalendar
|
||||
momentjs:moment@2.22.2
|
||||
browser-policy-framing
|
||||
browser-policy-framing@1.1.0
|
||||
mquandalle:moment
|
||||
msavin:usercache
|
||||
wekan-scrollbar
|
||||
mquandalle:perfect-scrollbar
|
||||
mdg:meteor-apm-agent
|
||||
meteorhacks:unblock
|
||||
coagmano:stylus
|
||||
lucasantoniassi:accounts-lockout
|
||||
wekan-markdown
|
||||
+1
-1
@@ -1 +1 @@
|
||||
METEOR@1.6.0.1
|
||||
METEOR@1.8.0.2
|
||||
+77
-73
@@ -1,29 +1,29 @@
|
||||
3stack:presence@1.1.2
|
||||
accounts-base@1.4.0
|
||||
accounts-oauth@1.1.15
|
||||
accounts-password@1.5.0
|
||||
accounts-base@1.4.3
|
||||
accounts-oauth@1.1.16
|
||||
accounts-password@1.5.1
|
||||
aldeed:collection2@2.10.0
|
||||
aldeed:collection2-core@1.2.0
|
||||
aldeed:schema-deny@1.1.0
|
||||
aldeed:schema-index@1.1.1
|
||||
aldeed:simple-schema@1.5.3
|
||||
aldeed:simple-schema@1.5.4
|
||||
alethes:pages@1.8.6
|
||||
allow-deny@1.1.0
|
||||
arillo:flow-router-helpers@0.5.2
|
||||
audit-argument-checks@1.0.7
|
||||
autoupdate@1.3.12
|
||||
babel-compiler@6.24.7
|
||||
babel-runtime@1.1.1
|
||||
base64@1.0.10
|
||||
binary-heap@1.0.10
|
||||
blaze@2.3.2
|
||||
autoupdate@1.5.1
|
||||
babel-compiler@7.2.4
|
||||
babel-runtime@1.3.0
|
||||
base64@1.0.11
|
||||
binary-heap@1.0.11
|
||||
blaze@2.3.3
|
||||
blaze-tools@1.0.10
|
||||
boilerplate-generator@1.3.1
|
||||
boilerplate-generator@1.6.0
|
||||
browser-policy-common@1.0.11
|
||||
browser-policy-framing@1.1.0
|
||||
caching-compiler@1.1.9
|
||||
caching-html-compiler@1.1.2
|
||||
callback-hook@1.0.10
|
||||
caching-compiler@1.2.1
|
||||
caching-html-compiler@1.1.3
|
||||
callback-hook@1.1.0
|
||||
cfs:access-point@0.1.49
|
||||
cfs:base-package@0.0.30
|
||||
cfs:collection@0.5.5
|
||||
@@ -36,43 +36,45 @@ cfs:http-publish@0.0.13
|
||||
cfs:power-queue@0.9.11
|
||||
cfs:reactive-list@0.0.9
|
||||
cfs:reactive-property@0.0.4
|
||||
cfs:standard-packages@0.5.9
|
||||
cfs:storage-adapter@0.2.3
|
||||
cfs:tempstore@0.1.5
|
||||
cfs:standard-packages@0.5.10
|
||||
cfs:storage-adapter@0.2.4
|
||||
cfs:tempstore@0.1.6
|
||||
cfs:upload-http@0.0.20
|
||||
cfs:worker@0.1.4
|
||||
check@1.2.5
|
||||
cfs:worker@0.1.5
|
||||
check@1.3.1
|
||||
chuangbo:cookie@1.1.0
|
||||
coffeescript@1.12.7_3
|
||||
coffeescript-compiler@1.12.7_3
|
||||
coagmano:stylus@2.0.0
|
||||
coffeescript@1.0.17
|
||||
cottz:publish-relations@2.0.8
|
||||
dburles:collection-helpers@1.1.0
|
||||
ddp@1.4.0
|
||||
ddp-client@2.2.0
|
||||
ddp-common@1.3.0
|
||||
ddp-client@2.3.3
|
||||
ddp-common@1.4.0
|
||||
ddp-rate-limiter@1.0.7
|
||||
ddp-server@2.1.1
|
||||
ddp-server@2.2.0
|
||||
deps@1.0.12
|
||||
diff-sequence@1.0.7
|
||||
dynamic-import@0.2.1
|
||||
ecmascript@0.9.0
|
||||
ecmascript-runtime@0.5.0
|
||||
ecmascript-runtime-client@0.5.0
|
||||
ecmascript-runtime-server@0.5.0
|
||||
diff-sequence@1.1.1
|
||||
dynamic-import@0.5.1
|
||||
ecmascript@0.12.4
|
||||
ecmascript-runtime@0.7.0
|
||||
ecmascript-runtime-client@0.8.0
|
||||
ecmascript-runtime-server@0.7.1
|
||||
ejson@1.1.0
|
||||
email@1.2.3
|
||||
es5-shim@4.6.15
|
||||
es5-shim@4.8.0
|
||||
fastclick@1.0.13
|
||||
fetch@0.1.0
|
||||
fortawesome:fontawesome@4.7.0
|
||||
geojson-utils@1.0.10
|
||||
horka:swipebox@1.0.2
|
||||
hot-code-push@1.0.4
|
||||
html-tools@1.0.11
|
||||
htmljs@1.0.11
|
||||
http@1.3.0
|
||||
id-map@1.0.9
|
||||
http@1.4.2
|
||||
id-map@1.1.0
|
||||
idmontie:migrations@1.0.3
|
||||
jquery@1.11.10
|
||||
inter-process-messaging@0.1.0
|
||||
jquery@1.11.11
|
||||
kadira:blaze-layout@2.3.0
|
||||
kadira:dochead@1.5.0
|
||||
kadira:flow-router@2.12.1
|
||||
@@ -80,14 +82,14 @@ kenton:accounts-sandstorm@0.7.0
|
||||
launch-screen@1.1.1
|
||||
livedata@1.0.18
|
||||
localstorage@1.2.0
|
||||
logging@1.1.19
|
||||
logging@1.1.20
|
||||
lucasantoniassi:accounts-lockout@1.0.0
|
||||
matb33:collection-hooks@0.8.4
|
||||
matteodem:easy-search@1.6.4
|
||||
mdg:meteor-apm-agent@3.1.2
|
||||
mdg:meteor-apm-agent@3.2.1
|
||||
mdg:validation-error@0.5.1
|
||||
meteor@1.8.2
|
||||
meteor-base@1.2.0
|
||||
meteor@1.9.2
|
||||
meteor-base@1.4.0
|
||||
meteor-platform@1.2.6
|
||||
meteorhacks:aggregate@1.3.0
|
||||
meteorhacks:collection-utils@1.2.0
|
||||
@@ -96,18 +98,20 @@ meteorhacks:picker@1.0.3
|
||||
meteorhacks:subs-manager@1.6.4
|
||||
meteorhacks:unblock@1.1.0
|
||||
meteorspark:util@0.2.0
|
||||
minifier-css@1.2.16
|
||||
minifier-js@2.2.2
|
||||
minifier-css@1.4.1
|
||||
minifier-js@2.4.0
|
||||
minifiers@1.1.8-faster-rebuild.0
|
||||
minimongo@1.4.3
|
||||
minimongo@1.4.5
|
||||
mixmax:smart-disconnect@0.0.4
|
||||
mobile-status-bar@1.0.14
|
||||
modules@0.11.0
|
||||
modules-runtime@0.9.1
|
||||
momentjs:moment@2.22.2
|
||||
mongo@1.3.1
|
||||
modern-browsers@0.1.3
|
||||
modules@0.13.0
|
||||
modules-runtime@0.10.3
|
||||
momentjs:moment@2.24.0
|
||||
mongo@1.6.1
|
||||
mongo-decimal@0.1.1
|
||||
mongo-dev-server@1.1.0
|
||||
mongo-id@1.0.6
|
||||
mongo-id@1.0.7
|
||||
mongo-livedata@1.0.12
|
||||
mousetrap:mousetrap@1.4.6_1
|
||||
mquandalle:autofocus@1.0.0
|
||||
@@ -121,68 +125,68 @@ mquandalle:mousetrap-bindglobal@0.0.1
|
||||
mquandalle:perfect-scrollbar@0.6.5_2
|
||||
msavin:usercache@1.0.0
|
||||
npm-bcrypt@0.9.3
|
||||
npm-mongo@2.2.33
|
||||
oauth@1.2.1
|
||||
oauth2@1.2.0
|
||||
npm-mongo@3.1.1
|
||||
oauth@1.2.8
|
||||
oauth2@1.2.1
|
||||
observe-sequence@1.0.16
|
||||
ongoworks:speakingurl@1.1.0
|
||||
ordered-dict@1.0.9
|
||||
ordered-dict@1.1.0
|
||||
peerlibrary:assert@0.2.5
|
||||
peerlibrary:base-component@0.16.0
|
||||
peerlibrary:blaze-components@0.15.1
|
||||
peerlibrary:computed-field@0.7.0
|
||||
peerlibrary:reactive-field@0.3.0
|
||||
promise@0.10.0
|
||||
peerlibrary:computed-field@0.9.0
|
||||
peerlibrary:reactive-field@0.5.0
|
||||
perak:markdown@1.0.5
|
||||
promise@0.11.2
|
||||
raix:eventemitter@0.1.3
|
||||
raix:handlebar-helpers@0.2.5
|
||||
rajit:bootstrap3-datepicker@1.7.1
|
||||
random@1.0.10
|
||||
rate-limit@1.0.8
|
||||
reactive-dict@1.2.0
|
||||
rajit:bootstrap3-datepicker@1.7.1_1
|
||||
random@1.1.0
|
||||
rate-limit@1.0.9
|
||||
reactive-dict@1.2.1
|
||||
reactive-var@1.0.11
|
||||
reload@1.1.11
|
||||
retry@1.0.9
|
||||
routepolicy@1.0.12
|
||||
reload@1.2.0
|
||||
retry@1.1.0
|
||||
routepolicy@1.1.0
|
||||
rzymek:fullcalendar@3.8.0
|
||||
service-configuration@1.0.11
|
||||
session@1.1.7
|
||||
session@1.2.0
|
||||
sha@1.0.9
|
||||
shell-server@0.3.1
|
||||
shell-server@0.4.0
|
||||
simple:authenticate-user-by-token@1.0.1
|
||||
simple:json-routes@2.1.0
|
||||
simple:rest-accounts-password@1.1.2
|
||||
simple:rest-bearer-token-parser@1.0.1
|
||||
simple:rest-json-error-handler@1.0.1
|
||||
socket-stream-client@0.2.2
|
||||
softwarerero:accounts-t9n@1.3.11
|
||||
spacebars@1.0.15
|
||||
spacebars-compiler@1.1.3
|
||||
srp@1.0.10
|
||||
standard-minifier-css@1.3.5
|
||||
standard-minifier-js@2.2.3
|
||||
srp@1.0.12
|
||||
standard-minifier-css@1.5.2
|
||||
standard-minifier-js@2.4.0
|
||||
staringatlights:fast-render@2.16.5
|
||||
staringatlights:inject-data@2.0.5
|
||||
stylus@2.513.13
|
||||
staringatlights:inject-data@2.2.1
|
||||
tap:i18n@1.8.2
|
||||
templates:tabs@2.3.0
|
||||
templating@1.3.2
|
||||
templating-compiler@1.3.3
|
||||
templating-runtime@1.3.2
|
||||
templating-tools@1.1.2
|
||||
tracker@1.1.3
|
||||
tracker@1.2.0
|
||||
ui@1.0.13
|
||||
underscore@1.0.10
|
||||
url@1.1.0
|
||||
url@1.2.0
|
||||
useraccounts:core@1.14.2
|
||||
useraccounts:flow-routing@1.14.2
|
||||
useraccounts:unstyled@1.14.2
|
||||
verron:autosize@3.0.8
|
||||
webapp@1.4.0
|
||||
webapp@1.7.2
|
||||
webapp-hashing@1.0.9
|
||||
wekan-accounts-oidc@1.0.10
|
||||
wekan-markdown@1.0.7
|
||||
wekan-oidc@1.0.12
|
||||
wekan-scrollbar@3.1.3
|
||||
wekan-accounts-cas@0.1.0
|
||||
wekan-ldap@0.0.2
|
||||
wekan:accounts-cas@0.1.0
|
||||
wekan:wekan-ldap@0.0.2
|
||||
yasaricli:slugify@0.0.7
|
||||
zimme:active-route@2.3.2
|
||||
+27
-168
@@ -1,144 +1,3 @@
|
||||
# v2.65 2019-04-24 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Now a loading animation is displayed when the authentication is performed. This allows users
|
||||
to know that it's in progress](https://github.com/wekan/wekan/pull/2379).
|
||||
Thanks to Akuket.
|
||||
|
||||
and removes the following UI duplicates:
|
||||
|
||||
- [Remove from card menu, because they also exist at card:
|
||||
members, labels, attachments, dates received/start/due/end](https://github.com/wekan/wekan/issues/2242).
|
||||
Thanks to sfahrenholz, jrsupplee and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.64 2019-04-23 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Board Archive: Restore All/Delete All of Cards/Lists/Swimlanes](https://github.com/wekan/wekan/pull/2376).
|
||||
Thanks to Akuket.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.63 2019-04-23 Wekan release
|
||||
|
||||
This release removes the following Caddy plugins:
|
||||
|
||||
- [Remove Caddy plugins http.filter, http.ipfilter and http.realip from Caddy](https://github.com/wekan/wekan/commot/6a94500170509d2d82bd9a0fdc94a7ce66215b3d)
|
||||
because they are currently broken, preventing download of Caddy during Wekan Snap build.
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.62 2019-04-23 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Mobile UI: Center cards in list view](https://github.com/wekan/wekan/issues/2371).
|
||||
Thanks to hupptechnologies.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.61 2019-04-20 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- Admin Panel/People: Can now search users by username, full name or email and using regex to find them.
|
||||
Display the number of users. All registered users by default else the number of users selected by the search.
|
||||
Thanks to Akuket.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Update to use newest GitHub flawored markdown](https://github.com/wekan/wekan/commit/fea2ad3d7d09b44c3de1dbcdd3f8750aaa6776d5),
|
||||
because [it was found old version was in use](https://github.com/wekan/wekan/issues/2334).
|
||||
Thanks to shaygover and xet7.
|
||||
- [Upgrade to Node 8.16.0](https://github.com/wekan/wekan/commit/6117097a93bfb11c8bd4c87a23c44a50e22ceb87).
|
||||
Thanks to Node developers and xet7.
|
||||
- [Upgrade Docker base image to ubuntu:disco](https://github.com/wekan/wekan/commit/bd14ee3b1f450ddc6dec26ccc8da702b839942e5).
|
||||
Thanks to Ubuntu developers and xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix Full width of lists and space before first list](https://github.com/wekan/wekan/pull/2343).
|
||||
Thanks to hupptehcnologies.
|
||||
- Remove [extra](https://github.com/wekan/wekan/pull/2332) [quotes](https://github.com/wekan/wekan/pull/2333) from docker-compose.yml.
|
||||
Thanks to hibare.
|
||||
- Fix Docker builds by moving all separately cloned wekan/packages/* repos like ldap, oidc, etc code to wekan repo code,
|
||||
so that in build scripts it's not needed to clone those. Also archived those wekan repos and moved issues
|
||||
to https://github.com/wekan/wekan/issues because changes and development to those packages now happends on wekan/wekan repo.
|
||||
There was also fixes to repo urls etc. Thanks to xet7.
|
||||
- [Additional updates](https://github.com/wekan/wekan/pull/2347) to meteor-1.8 branch, that contains
|
||||
Meteor 1.8.1 version that works in Docker but not yet at Snap and Sandstorm. Thanks to justinr1234.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.60 2019-04-08 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix: Description of Board is out of visible after Feature "Duplicate Board"](https://github.com/wekan/wekan/issues/2324).
|
||||
Thanks to sfahrenholz and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.59 2019-04-06 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Add variables for activity notifications, Fixes #2285](https://github.com/wekan/wekan/pull/2320).
|
||||
Thanks to rinnaz.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.58 2019-04-06 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Duplicate Board](https://github.com/wekan/wekan/issues/2257). Related #2225.
|
||||
Thanks to Angtrim.
|
||||
- [Add Duplicate Board tooltip, and remove adding text "Copy" to duplicated board](https://github.com/wekan/wekan/commit/0f15b6d1982c383f76e8411cb501ff27e8febd42).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Add proper variables for unjoin card](https://github.com/wekan/wekan/pull/2313).
|
||||
Thanks to chotaire.
|
||||
- [Center reduce left margin in card view on mobile browser](https://github.com/wekan/wekan/pull/2314).
|
||||
Thanks to hupptechnologies.
|
||||
- [Remove not needed ARGS from Dockerfile to reduce amount of Docker layers](https://github.com/wekan/wekan/issues/2301).
|
||||
Thanks to folhabranca and xet7.
|
||||
- [Fix Swimlane Rules don't work](https://github.com/wekan/wekan/issues/2225).
|
||||
Thanks to Angtrim.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.57 2019-04-02 Wekan release
|
||||
|
||||
This release fixes the following bugs, thanks to justinr1234:
|
||||
|
||||
- [Add proper variables for join card](https://github.com/wekan/wekan/commit/289f1fe1340c85eb2af19825f4972e9057a86b7a),
|
||||
fixes [Incorrect variable replacement on email notifications](https://github.com/wekan/wekan/issues/2285).
|
||||
|
||||
and fixes the following bugs with Apache I-CLA, thanks to bentiss:
|
||||
|
||||
- [List: Do not use IntersectionObserver to reduce CPU usage](https://github.com/wekan/wekan/pull/2302).
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.56 2019-03-27 Wekan release
|
||||
|
||||
This release [fixes the following bugs](https://github.com/wekan/wekan/pull/2287), thanks to bentiss with Apache I-CLA:
|
||||
|
||||
- [#2250 -> the spinner could be shown on startup and never goes away](https://github.com/wekan/wekan/issues/2250).
|
||||
- The code will now only load extra cards that will be in the current viewport.
|
||||
- When 2 users were interacting on the same board, there was a situation where the spinner could show up on the other user, without being able to load the extra cards.
|
||||
- The code is now much simpler, thanks to the IntersectionObserver, and all of this for fewer lines of code :)
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.55 2019-03-25 Wekan release
|
||||
|
||||
This release fixes the following bugs, thanks to bentiss with Apache I-CLA:
|
||||
@@ -155,7 +14,7 @@ Thanks to above GitHub users for their contributions and translators for their t
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Fix typos.
|
||||
- Fix typos.
|
||||
- [Fix Outgoing Webhook message about created new swimlane](https://github.com/wekan/wekan/issues/1969).
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
@@ -188,7 +47,7 @@ and fixes the following bugs:
|
||||
|
||||
- [Fix IFTTT email sending](https://github.com/wekan/wekan/pull/2279).
|
||||
Thanks to justinr1234.
|
||||
|
||||
|
||||
Thanks to above GitHub users for their contributions.
|
||||
|
||||
# v2.51 2019-03-21 Wekan release
|
||||
@@ -309,7 +168,7 @@ and reverts the following change of v2.42, because they did not fix anything, th
|
||||
|
||||
- [Revert: Tried to fix snap mongodb-control not starting database](https://github.com/wekan/wekan/commit/4055f451fdadfbfdef9a10be29a0eb6aed91182c).
|
||||
|
||||
Thanks to above GitHub users for their contributions, and translators for their translations.
|
||||
Thanks to above GitHub users for their contributions, and translators for their translations.
|
||||
|
||||
# v2.42 2019-03-07 Wekan release
|
||||
|
||||
@@ -348,7 +207,7 @@ This release fixes the following bugs:
|
||||
- [Fix](https://github.com/wekan/wekan/commit/e845fe3e7130d111be4c3a73e2551738c980ff7b)
|
||||
[manifest](https://github.com/wekan/wekan/issues/2168) and
|
||||
[icon](https://github.com/wekan/wekan/issues/1692) paths. Thanks to xet7.
|
||||
|
||||
|
||||
Thanks to above GitHub users for their contributions, and translators for their translations.
|
||||
|
||||
# v2.38 2019-03-06 Wekan release
|
||||
@@ -400,13 +259,13 @@ and moved the following code around:
|
||||
xet7 can make changes directly and GitHub issues are enabled.
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
|
||||
# v2.35 2019-03-01 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Add Filter fix back](https://github.com/wekan/wekan/issues/2213),
|
||||
because there was no bug in filter fix.
|
||||
- [Add Filter fix back](https://github.com/wekan/wekan/issues/2213),
|
||||
because there was no bug in filter fix.
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
@@ -472,7 +331,7 @@ This release adds the following new Sandstorm features and fixes:
|
||||
- New Sandstorm board first user is Admin and [has IFTTT Rules](https://github.com/wekan/wekan/issues/2125) and Standalone Wekan Admin Panel.
|
||||
Probably some Admin Panel features do not work yet. Please keep backup of your grains before testing Admin Panel.
|
||||
- Linked Cards and Linked Boards.
|
||||
- Some not needed options like Logout etc have been hidden from top bar right menu.
|
||||
- Some not needed options like Logout etc have been hidden from top bar right menu.
|
||||
- [Import board now works. "Board not found" is not problem anymore](https://github.com/wekan/wekan/issues/1430), because you can go to All Boards page to change to imported board.
|
||||
|
||||
and removes the following features:
|
||||
@@ -554,7 +413,7 @@ and fixes the following bugs:
|
||||
mobile browser](https://github.com/wekan/wekan/issues/2183). Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions, and translators for their translations.
|
||||
|
||||
|
||||
# v2.21 2019-02-12 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
@@ -611,12 +470,12 @@ and fixes the following bugs with Apache I-CLA, thanks to bentiss:
|
||||
header)
|
||||
- make sure the placeholder never get placed between the header and the
|
||||
list of cards in a swimlane
|
||||
- fix the finding of the next and previous list of cards.
|
||||
- fix the finding of the next and previous list of cards.
|
||||
For all of this to be successful, we need to resize the swimlanes to a
|
||||
known value. This can lead to some visual jumps with scrolling when you
|
||||
drag or drop the swimlanea. I tried to remedy that by computing the new
|
||||
scroll value. Still not ideal however, as there are still some jumps when
|
||||
dropping.
|
||||
dropping.
|
||||
Fixes [#2159](https://github.com/wekan/wekan/issues/2159).
|
||||
|
||||
Thanks to above GitHub users and translators for contributions.
|
||||
@@ -644,7 +503,7 @@ Thanks to GitHub user ChronikEwok for contributions.
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix: Not displaying card content of public board: Snap, Docker and Sandstorm Shared Wekan Board
|
||||
- [Fix: Not displaying card content of public board: Snap, Docker and Sandstorm Shared Wekan Board
|
||||
Link](https://github.com/wekan/wekan/issues/1623) with
|
||||
[code from ChronikEwok](https://github.com/ChronikEwok/wekan/commit/cad9b20451bb6149bfb527a99b5001873b06c3de).
|
||||
|
||||
@@ -676,7 +535,7 @@ This release adds the following new features with Apache I-CLA, thanks to bentis
|
||||
- [When writing to minicard, press Shift-Enter on minicard to go to next line
|
||||
below](https://github.com/wekan/wekan/commit/7a35099fb9778d5f3656a57c74af426cfb20fba3),
|
||||
to continue writing on same minicard 2nd line.
|
||||
|
||||
|
||||
Thanks to GitHub user bentiss for contributions.
|
||||
|
||||
# v2.12 2019-01-31 Wekan release
|
||||
@@ -801,7 +660,7 @@ and fixes the following bugs with Apache I-CLA, thanks to bentiss:
|
||||
- [Make sure Swimlanes and Lists have a populated sort field](https://github.com/wekan/wekan/commit/5c6a725712a443b4d03b4f86262033ddfb66bc3d).
|
||||
When moving around the swimlanes or the lists, if one element has a sort
|
||||
with a null value, the computation of the new sort value is aborted,
|
||||
meaning that there are glitches in the UI.
|
||||
meaning that there are glitches in the UI.
|
||||
This happens on the first swimlane created with the new board, or when
|
||||
a swimlane or a list gets added through the API;
|
||||
- UI: Lists: [Make sure all lists boxes are the same height](https://github.com/wekan/wekan/commit/97d95b4bcbcab86629e368ea41bb9f00450b21f6).
|
||||
@@ -871,7 +730,7 @@ and fixes the following bugs:
|
||||
- When clicking Move Card, go to correct page position. Currently it's at empty page position, and there is
|
||||
need to scroll page up to see Move Card options. It should work similarly like Copy Card, that is visible.
|
||||
- Also check that other buttons go to visible page.
|
||||
|
||||
|
||||
Thanks to above GitHub users for their contributions.
|
||||
|
||||
# v1.97 2018-12-26 Wekan release
|
||||
@@ -880,7 +739,7 @@ This release adds the following new features:
|
||||
|
||||
- Upgrade to Node 8.15.0 and MongoDB 3.2.22.
|
||||
- Stacksmith: back to Meteor 1.6.x based Wekan, because Meteor 1.8.x based is currently broken.
|
||||
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.96 2018-12-24 Wekan release
|
||||
@@ -1042,7 +901,7 @@ Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Remove extra commas `,` and add missing backslash `\`.
|
||||
- Remove extra commas `,` and add missing backslash `\`.
|
||||
Maybe after that login, logout and CORS works.
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
@@ -1197,7 +1056,7 @@ and hides the following features at Sandstorm:
|
||||
|
||||
- Hide Linked Card and Linked Board on Sandstorm, because they are only
|
||||
useful when having multiple boards, and at Sandstorm
|
||||
there is only one board per grain. Thanks to ocdtrekkie and xet7. Closes #1982
|
||||
there is only one board per grain. Thanks to ocdtrekkie and xet7. Closes #1982
|
||||
|
||||
Thanks to above mentioned GitHub users for their contributions.
|
||||
|
||||
@@ -1359,7 +1218,7 @@ and tries to fix the following bugs:
|
||||
- Try to fix snap.
|
||||
|
||||
Thanks to GitHub users Akuket and xet7 for their contributions.
|
||||
|
||||
|
||||
# v1.53.5 2018-10-10 Wekan Edge relase
|
||||
|
||||
This release tries to fix the following bugs:
|
||||
@@ -1383,7 +1242,7 @@ This release adds the following new features:
|
||||
- [Upgrade](https://github.com/wekan/wekan/issues/1522) to [Meteor](https://blog.meteor.com/meteor-1-8-erases-the-debts-of-1-7-77af4c931fe3) [1.8.1-beta.0](https://github.com/meteor/meteor/issues/10216).
|
||||
with [these](https://github.com/wekan/wekan/commit/079e45eb52a0f62ddb6051bf2ea80fac8860d3d5)
|
||||
[commits](https://github.com/wekan/wekan/commit/dd47d46f4341a8c4ced05749633f783e88623e1b). So now it's possible to use MongoDB 2.6 - 4.0.
|
||||
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.53.2 2018-10-10 Wekan Edge release
|
||||
@@ -1411,7 +1270,7 @@ and fixes the following bugs:
|
||||
- [Feature rules: fixes and enhancements](https://github.com/wekan/wekan/pull/1936).
|
||||
|
||||
Thanks to GitHub users Akuket, Angtrim, dcmcand, lberk, maximest-pierre, InfoSec812, schulz and xet7 for their contributions.
|
||||
|
||||
|
||||
# v1.52.1 2018-10-02 Wekan Edge release
|
||||
|
||||
This release adds the following new features:
|
||||
@@ -1426,7 +1285,7 @@ and reverts previous change:
|
||||
Oidc already works with [doorkeeper](https://github.com/doorkeeper-gem/doorkeeper-provider-app).
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
|
||||
# v1.51.2 2018-09-30 Wekan Edge release
|
||||
|
||||
This release adds the following new features:
|
||||
@@ -1485,7 +1344,7 @@ Thanks to GitHub users Angtrim, maurice-schleussinger, suprovsky and xet7 for th
|
||||
This release adds the following new features:
|
||||
|
||||
- Change from Node v8.12.0 prerelease to use official Node v8.12.0.
|
||||
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.49 2018-09-17 Wekan release
|
||||
@@ -1643,10 +1502,10 @@ Thanks to GitHub users hever, salleman33, tlevine and xet7 for their contributio
|
||||
This release adds the following new features:
|
||||
|
||||
Add Caddy plugins:
|
||||
- [http.filter](https://caddyserver.com/docs/http.filter)
|
||||
- [http.filter](https://caddyserver.com/docs/http.filter)
|
||||
for changing Wekan UI on the fly, for example custom logo,
|
||||
or changing to all different CSS file to have custom theme;
|
||||
- [http.ipfilter](https://caddyserver.com/docs/http.ipfilter)
|
||||
- [http.ipfilter](https://caddyserver.com/docs/http.ipfilter)
|
||||
to block requests by ip address;
|
||||
- [http.realip](https://caddyserver.com/docs/http.realip)
|
||||
for showing real X-Forwarded-For IP to behind proxy;
|
||||
@@ -1942,7 +1801,7 @@ and fixes the following bugs:
|
||||
* To fix ["title is required"](https://github.com/wekan/wekan/issues/1576) fix only
|
||||
[add-checklist-items and revert all other migration changes](https://github.com/wekan/wekan/issues/1734);
|
||||
* [Restore invitation code logic](https://github.com/wekan/wekan/pull/1732). Please test and add comment
|
||||
to those invitation code issues that this fixes.
|
||||
to those invitation code issues that this fixes.
|
||||
|
||||
Thanks to GitHub users TNick and xet7 for their contributions.
|
||||
|
||||
@@ -2113,7 +1972,7 @@ This release adds the following new features:
|
||||
and fixes the following bugs:
|
||||
|
||||
* [Error: title is required](https://github.com/wekan/wekan/issues/1576).
|
||||
|
||||
|
||||
Thanks to GitHub users Shahar-Y, thiagofernando and ThisNeko for their contributions.
|
||||
|
||||
# v0.94 2018-05-03 Wekan release
|
||||
|
||||
+109
-18
@@ -1,12 +1,106 @@
|
||||
FROM ubuntu:disco
|
||||
FROM ubuntu:cosmic
|
||||
LABEL maintainer="wekan"
|
||||
|
||||
# Declare Arguments
|
||||
ARG DEBUG
|
||||
ARG NODE_VERSION
|
||||
ARG METEOR_RELEASE
|
||||
ARG METEOR_EDGE
|
||||
ARG USE_EDGE
|
||||
ARG NPM_VERSION
|
||||
ARG FIBERS_VERSION
|
||||
ARG ARCHITECTURE
|
||||
ARG SRC_PATH
|
||||
ARG WITH_API
|
||||
ARG ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE
|
||||
ARG ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD
|
||||
ARG ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW
|
||||
ARG ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE
|
||||
ARG ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD
|
||||
ARG ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW
|
||||
ARG EMAIL_NOTIFICATION_TIMEOUT
|
||||
ARG MATOMO_ADDRESS
|
||||
ARG MATOMO_SITE_ID
|
||||
ARG MATOMO_DO_NOT_TRACK
|
||||
ARG MATOMO_WITH_USERNAME
|
||||
ARG BROWSER_POLICY_ENABLED
|
||||
ARG TRUSTED_URL
|
||||
ARG WEBHOOKS_ATTRIBUTES
|
||||
ARG OAUTH2_ENABLED
|
||||
ARG OAUTH2_LOGIN_STYLE
|
||||
ARG OAUTH2_CLIENT_ID
|
||||
ARG OAUTH2_SECRET
|
||||
ARG OAUTH2_SERVER_URL
|
||||
ARG OAUTH2_AUTH_ENDPOINT
|
||||
ARG OAUTH2_USERINFO_ENDPOINT
|
||||
ARG OAUTH2_TOKEN_ENDPOINT
|
||||
ARG OAUTH2_ID_MAP
|
||||
ARG OAUTH2_USERNAME_MAP
|
||||
ARG OAUTH2_FULLNAME_MAP
|
||||
ARG OAUTH2_EMAIL_MAP
|
||||
ARG LDAP_ENABLE
|
||||
ARG LDAP_PORT
|
||||
ARG LDAP_HOST
|
||||
ARG LDAP_BASEDN
|
||||
ARG LDAP_LOGIN_FALLBACK
|
||||
ARG LDAP_RECONNECT
|
||||
ARG LDAP_TIMEOUT
|
||||
ARG LDAP_IDLE_TIMEOUT
|
||||
ARG LDAP_CONNECT_TIMEOUT
|
||||
ARG LDAP_AUTHENTIFICATION
|
||||
ARG LDAP_AUTHENTIFICATION_USERDN
|
||||
ARG LDAP_AUTHENTIFICATION_PASSWORD
|
||||
ARG LDAP_LOG_ENABLED
|
||||
ARG LDAP_BACKGROUND_SYNC
|
||||
ARG LDAP_BACKGROUND_SYNC_INTERVAL
|
||||
ARG LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED
|
||||
ARG LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS
|
||||
ARG LDAP_ENCRYPTION
|
||||
ARG LDAP_CA_CERT
|
||||
ARG LDAP_REJECT_UNAUTHORIZED
|
||||
ARG LDAP_USER_SEARCH_FILTER
|
||||
ARG LDAP_USER_SEARCH_SCOPE
|
||||
ARG LDAP_USER_SEARCH_FIELD
|
||||
ARG LDAP_SEARCH_PAGE_SIZE
|
||||
ARG LDAP_SEARCH_SIZE_LIMIT
|
||||
ARG LDAP_GROUP_FILTER_ENABLE
|
||||
ARG LDAP_GROUP_FILTER_OBJECTCLASS
|
||||
ARG LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE
|
||||
ARG LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE
|
||||
ARG LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT
|
||||
ARG LDAP_GROUP_FILTER_GROUP_NAME
|
||||
ARG LDAP_UNIQUE_IDENTIFIER_FIELD
|
||||
ARG LDAP_UTF8_NAMES_SLUGIFY
|
||||
ARG LDAP_USERNAME_FIELD
|
||||
ARG LDAP_FULLNAME_FIELD
|
||||
ARG LDAP_EMAIL_FIELD
|
||||
ARG LDAP_EMAIL_MATCH_ENABLE
|
||||
ARG LDAP_EMAIL_MATCH_REQUIRE
|
||||
ARG LDAP_EMAIL_MATCH_VERIFIED
|
||||
ARG LDAP_MERGE_EXISTING_USERS
|
||||
ARG LDAP_SYNC_USER_DATA
|
||||
ARG LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
ARG LDAP_SYNC_GROUP_ROLES
|
||||
ARG LDAP_DEFAULT_DOMAIN
|
||||
ARG LDAP_SYNC_ADMIN_STATUS
|
||||
ARG LDAP_SYNC_ADMIN_GROUPS
|
||||
ARG HEADER_LOGIN_ID
|
||||
ARG HEADER_LOGIN_FIRSTNAME
|
||||
ARG HEADER_LOGIN_LASTNAME
|
||||
ARG HEADER_LOGIN_EMAIL
|
||||
ARG LOGOUT_WITH_TIMER
|
||||
ARG LOGOUT_IN
|
||||
ARG LOGOUT_ON_HOURS
|
||||
ARG LOGOUT_ON_MINUTES
|
||||
ARG CORS
|
||||
ARG DEFAULT_AUTHENTICATION_METHOD
|
||||
|
||||
# Set the environment variables (defaults where required)
|
||||
# DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
|
||||
# ENV BUILD_DEPS="paxctl"
|
||||
ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential python3 python3-pip git ca-certificates gcc-8" \
|
||||
ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential python python3 python3-distutils git ca-certificates gcc-7" \
|
||||
DEBUG=false \
|
||||
NODE_VERSION=v8.16.0 \
|
||||
NODE_VERSION=v8.15.1 \
|
||||
METEOR_RELEASE=1.6.0.1 \
|
||||
USE_EDGE=false \
|
||||
METEOR_EDGE=1.5-beta.17 \
|
||||
@@ -108,7 +202,6 @@ RUN \
|
||||
\
|
||||
# OS dependencies
|
||||
apt-get update -y && apt-get install -y --no-install-recommends ${BUILD_DEPS} && \
|
||||
pip3 install -U pip setuptools wheel && \
|
||||
\
|
||||
# Meteor installer doesn't work with the default tar binary, so using bsdtar while installing.
|
||||
# https://github.com/coreos/bugs/issues/1095#issuecomment-350574389
|
||||
@@ -192,20 +285,18 @@ RUN \
|
||||
fi; \
|
||||
\
|
||||
# Get additional packages
|
||||
#mkdir -p /home/wekan/app/packages && \
|
||||
mkdir -p /home/wekan/app/packages && \
|
||||
chown wekan:wekan --recursive /home/wekan && \
|
||||
# REPOS BELOW ARE INCLUDED TO WEKAN REPO
|
||||
#cd /home/wekan/app/packages && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git && \
|
||||
#gosu wekan:wekan mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan-accounts-oidc && \
|
||||
#gosu wekan:wekan mv meteor-accounts-oidc/packages/switch_oidc wekan-oidc && \
|
||||
#gosu wekan:wekan rm -rf meteor-accounts-oidc && \
|
||||
cd /home/wekan/app/packages && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/flow-router.git kadira-flow-router && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/meteor-useraccounts/core.git meteor-useraccounts-core && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/meteor-accounts-cas.git && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/wekan-ldap.git && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/wekan-scrollbar.git && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/meteor-accounts-oidc.git && \
|
||||
gosu wekan:wekan mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan_accounts-oidc && \
|
||||
gosu wekan:wekan mv meteor-accounts-oidc/packages/switch_oidc wekan_oidc && \
|
||||
gosu wekan:wekan rm -rf meteor-accounts-oidc && \
|
||||
sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js && \
|
||||
cd /home/wekan/.meteor && \
|
||||
gosu wekan:wekan /home/wekan/.meteor/meteor -- help; \
|
||||
@@ -215,7 +306,7 @@ RUN \
|
||||
mkdir -p /home/wekan/python && \
|
||||
chown wekan:wekan --recursive /home/wekan/python && \
|
||||
cd /home/wekan/python && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master https://github.com/Kronuz/esprima-python && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/Kronuz/esprima-python && \
|
||||
cd /home/wekan/python/esprima-python && \
|
||||
python3 setup.py install --record files.txt && \
|
||||
cd /home/wekan/app &&\
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
[](https://codeclimate.com/github/wekan/wekan)
|
||||
[](https://david-dm.org/wekan/wekan)
|
||||
[](https://www.openhub.net/p/wekan)
|
||||
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fwekan%2Fwekan?ref=badge_shield)
|
||||
|
||||
## [Translate Wekan at Transifex](https://transifex.com/wekan/wekan)
|
||||
|
||||
@@ -134,6 +133,3 @@ with [Meteor](https://www.meteor.com).
|
||||
[free_software]: https://en.wikipedia.org/wiki/Free_software
|
||||
[vanila_badge]: https://vanila.io/img/join-chat-button2.png
|
||||
[wekan_chat]: https://community.vanila.io/wekan
|
||||
|
||||
|
||||
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fwekan%2Fwekan?ref=badge_large)
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v2.65.0"
|
||||
appVersion: "v2.55.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -50,6 +50,6 @@ position()
|
||||
display: flex
|
||||
flex-direction: column
|
||||
margin: 0
|
||||
padding: 0 0px 0px 0
|
||||
padding: 0 40px 0px 0
|
||||
overflow-x: hidden
|
||||
overflow-y: auto
|
||||
@@ -22,16 +22,13 @@ template(name="boardList")
|
||||
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= 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}}")
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
|
||||
|
||||
p.board-list-item-desc= description
|
||||
|
||||
template(name="boardListHeaderBar")
|
||||
h1 {{_ 'my-boards'}}
|
||||
|
||||
@@ -55,21 +55,6 @@ BlazeComponent.extendComponent({
|
||||
Meteor.user().toggleBoardStar(boardId);
|
||||
evt.preventDefault();
|
||||
},
|
||||
'click .js-clone-board'(evt) {
|
||||
Meteor.call('cloneBoard',
|
||||
this.currentData()._id,
|
||||
Session.get('fromBoard'),
|
||||
(err, res) => {
|
||||
if (err) {
|
||||
this.setError(err.error);
|
||||
} else {
|
||||
Session.set('fromBoard', null);
|
||||
Utils.goBoardId(res);
|
||||
}
|
||||
}
|
||||
);
|
||||
evt.preventDefault();
|
||||
},
|
||||
'click .js-accept-invite'() {
|
||||
const boardId = this.currentData()._id;
|
||||
Meteor.user().removeInvite(boardId);
|
||||
|
||||
@@ -94,27 +94,13 @@ $spaceBetweenTiles = 16px
|
||||
.is-star-active
|
||||
color: white
|
||||
|
||||
.fa-clone
|
||||
position: absolute;
|
||||
bottom: 0
|
||||
font-size: 14px
|
||||
height: 18px
|
||||
line-height: 18px
|
||||
opacity: 0
|
||||
right: 0
|
||||
padding: 9px 9px
|
||||
transition-duration: .15s
|
||||
transition-property: color, font-size, background
|
||||
|
||||
li:hover a
|
||||
&:hover
|
||||
.fa-star,
|
||||
.fa-clone,
|
||||
.fa-star-o
|
||||
color: white
|
||||
|
||||
.fa-star,
|
||||
.fa-clone,
|
||||
.fa-star-o
|
||||
color: white
|
||||
opacity: .75
|
||||
|
||||
@@ -221,14 +221,14 @@ template(name="cardDetailsActionsPopup")
|
||||
if canModifyCard
|
||||
hr
|
||||
ul.pop-over-list
|
||||
//li: a.js-members {{_ 'card-edit-members'}}
|
||||
//li: a.js-labels {{_ 'card-edit-labels'}}
|
||||
//li: a.js-attachments {{_ 'card-edit-attachments'}}
|
||||
li: a.js-members {{_ 'card-edit-members'}}
|
||||
li: a.js-labels {{_ 'card-edit-labels'}}
|
||||
li: a.js-attachments {{_ 'card-edit-attachments'}}
|
||||
li: a.js-custom-fields {{_ 'card-edit-custom-fields'}}
|
||||
//li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
|
||||
//li: a.js-start-date {{_ 'editCardStartDatePopup-title'}}
|
||||
//li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
|
||||
//li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
|
||||
li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
|
||||
li: a.js-start-date {{_ 'editCardStartDatePopup-title'}}
|
||||
li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
|
||||
li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
|
||||
li: a.js-spent-time {{_ 'editCardSpentTimePopup-title'}}
|
||||
li: a.js-set-card-color {{_ 'setCardColorPopup-title'}}
|
||||
hr
|
||||
|
||||
@@ -133,8 +133,7 @@ input[type="submit"].attachment-add-link-submit
|
||||
|
||||
.card-details-canvas
|
||||
width: 100%
|
||||
padding-left: 0px;
|
||||
|
||||
|
||||
.card-details-header
|
||||
.close-card-details
|
||||
margin-right: 0px
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
|
||||
.mini-list
|
||||
flex: 0 0 60px
|
||||
height: auto
|
||||
height: 60px
|
||||
width: 100%
|
||||
border-left: 0px
|
||||
border-bottom: 1px solid darken(white, 20%)
|
||||
@@ -170,8 +170,6 @@
|
||||
display: block
|
||||
width: 100%
|
||||
border-left: 0px
|
||||
&:first-child
|
||||
margin-left: 0px
|
||||
|
||||
&.ui-sortable-helper
|
||||
flex: 0 0 60px
|
||||
@@ -190,16 +188,8 @@
|
||||
border-left: 0px
|
||||
border-bottom: 1px solid darken(white, 20%)
|
||||
|
||||
.list-body
|
||||
padding: 15px 19px;
|
||||
|
||||
.list-header
|
||||
padding: 0 12px 0px
|
||||
border-bottom: 0px solid #e4e4e4
|
||||
height: 60px
|
||||
margin-top: 10px
|
||||
display: flex
|
||||
align-items: center
|
||||
|
||||
.list-header-left-icon
|
||||
display: inline
|
||||
padding: 7px
|
||||
@@ -211,10 +201,8 @@
|
||||
.list-header-menu-icon
|
||||
position: absolute
|
||||
padding: 7px
|
||||
top: 50%
|
||||
transform: translateY(-50%)
|
||||
top: -@padding
|
||||
right: 17px
|
||||
font-size: 20px
|
||||
|
||||
.link-board-wrapper
|
||||
display: flex
|
||||
|
||||
@@ -13,7 +13,14 @@ template(name="listBody")
|
||||
class="{{#if MultiSelection.isSelected _id}}is-checked{{/if}}")
|
||||
+minicard(this)
|
||||
if (showSpinner (idOrNull ../../_id))
|
||||
+spinnerList
|
||||
.sk-spinner.sk-spinner-wave.sk-spinner-list(
|
||||
class=currentBoard.colorClass
|
||||
id="showMoreResults")
|
||||
.sk-rect1
|
||||
.sk-rect2
|
||||
.sk-rect3
|
||||
.sk-rect4
|
||||
.sk-rect5
|
||||
|
||||
if canSeeAddCard
|
||||
+inlinedForm(autoclose=false position="bottom")
|
||||
@@ -23,16 +30,6 @@ template(name="listBody")
|
||||
i.fa.fa-plus
|
||||
| {{_ 'add-card'}}
|
||||
|
||||
template(name="spinnerList")
|
||||
.sk-spinner.sk-spinner-wave.sk-spinner-list(
|
||||
class=currentBoard.colorClass
|
||||
id="showMoreResults")
|
||||
.sk-rect1
|
||||
.sk-rect2
|
||||
.sk-rect3
|
||||
.sk-rect4
|
||||
.sk-rect5
|
||||
|
||||
template(name="addCardForm")
|
||||
.minicard.minicard-composer.js-composer
|
||||
if getLabels
|
||||
|
||||
@@ -7,6 +7,28 @@ BlazeComponent.extendComponent({
|
||||
this.cardlimit = new ReactiveVar(InfiniteScrollIter);
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
const domElement = this.find('.js-perfect-scrollbar');
|
||||
|
||||
this.$(domElement).on('scroll', () => this.updateList(domElement));
|
||||
$(window).on(`resize.${this.data().listId}`, () => this.updateList(domElement));
|
||||
|
||||
// we add a Mutation Observer to allow propagations of cardlimit
|
||||
// when the spinner stays in the current view (infinite scrolling)
|
||||
this.mutationObserver = new MutationObserver(() => this.updateList(domElement));
|
||||
|
||||
this.mutationObserver.observe(domElement, {
|
||||
childList: true,
|
||||
});
|
||||
|
||||
this.updateList(domElement);
|
||||
},
|
||||
|
||||
onDestroyed() {
|
||||
$(window).off(`resize.${this.data().listId}`);
|
||||
this.mutationObserver.disconnect();
|
||||
},
|
||||
|
||||
mixins() {
|
||||
return [Mixins.PerfectScrollbar];
|
||||
},
|
||||
@@ -169,11 +191,38 @@ BlazeComponent.extendComponent({
|
||||
});
|
||||
},
|
||||
|
||||
spinnerInView(container) {
|
||||
const parentViewHeight = container.clientHeight;
|
||||
const bottomViewPosition = container.scrollTop + parentViewHeight;
|
||||
|
||||
const spinner = this.find('.sk-spinner-list');
|
||||
|
||||
const threshold = spinner.offsetTop;
|
||||
|
||||
return bottomViewPosition > threshold;
|
||||
},
|
||||
|
||||
showSpinner(swimlaneId) {
|
||||
const list = Template.currentData();
|
||||
return list.cards(swimlaneId).count() > this.cardlimit.get();
|
||||
},
|
||||
|
||||
updateList(container) {
|
||||
// first, if the spinner is not rendered, we have reached the end of
|
||||
// the list of cards, so skip and disable firing the events
|
||||
const target = this.find('.sk-spinner-list');
|
||||
if (!target) {
|
||||
this.$(container).off('scroll');
|
||||
$(window).off(`resize.${this.data().listId}`);
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.spinnerInView(container)) {
|
||||
this.cardlimit.set(this.cardlimit.get() + InfiniteScrollIter);
|
||||
Ps.update(container);
|
||||
}
|
||||
},
|
||||
|
||||
canSeeAddCard() {
|
||||
return !this.reachedWipLimit() && Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
},
|
||||
@@ -612,53 +661,3 @@ BlazeComponent.extendComponent({
|
||||
}];
|
||||
},
|
||||
}).register('searchElementPopup');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.cardlimit = this.parentComponent().cardlimit;
|
||||
|
||||
this.listId = this.parentComponent().data()._id;
|
||||
this.swimlaneId = '';
|
||||
|
||||
const boardView = Meteor.user().profile.boardView;
|
||||
if (boardView === 'board-view-swimlanes')
|
||||
this.swimlaneId = this.parentComponent().parentComponent().parentComponent().data()._id;
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
this.spinner = this.find('.sk-spinner-list');
|
||||
this.container = this.$(this.spinner).parents('.js-perfect-scrollbar')[0];
|
||||
|
||||
$(this.container).on(`scroll.spinner_${this.swimlaneId}_${this.listId}`, () => this.updateList());
|
||||
$(window).on(`resize.spinner_${this.swimlaneId}_${this.listId}`, () => this.updateList());
|
||||
|
||||
this.updateList();
|
||||
},
|
||||
|
||||
onDestroyed() {
|
||||
$(this.container).off(`scroll.spinner_${this.swimlaneId}_${this.listId}`);
|
||||
$(window).off(`resize.spinner_${this.swimlaneId}_${this.listId}`);
|
||||
},
|
||||
|
||||
updateList() {
|
||||
if (this.spinnerInView()) {
|
||||
this.cardlimit.set(this.cardlimit.get() + InfiniteScrollIter);
|
||||
window.requestIdleCallback(() => this.updateList());
|
||||
}
|
||||
},
|
||||
|
||||
spinnerInView() {
|
||||
const parentViewHeight = this.container.clientHeight;
|
||||
const bottomViewPosition = this.container.scrollTop + parentViewHeight;
|
||||
|
||||
const threshold = this.spinner.offsetTop;
|
||||
|
||||
// spinner deleted
|
||||
if (!this.spinner.offsetTop) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return bottomViewPosition > threshold;
|
||||
},
|
||||
|
||||
}).register('spinnerList');
|
||||
@@ -1,6 +1,7 @@
|
||||
head
|
||||
title
|
||||
meta(name="viewport" content="maximum-scale=1.0,width=device-width,initial-scale=1.0,user-scalable=0")
|
||||
meta(name="viewport"
|
||||
content="maximum-scale=1.0,width=device-width,initial-scale=1.0,user-scalable=0")
|
||||
meta(http-equiv="X-UA-Compatible" content="IE=edge")
|
||||
//- XXX We should use pathFor in the following `href` to support the case
|
||||
where the application is deployed with a path prefix, but it seems to be
|
||||
@@ -13,20 +14,20 @@ head
|
||||
|
||||
template(name="userFormsLayout")
|
||||
section.auth-layout
|
||||
h1
|
||||
br
|
||||
br
|
||||
section.auth-dialog
|
||||
if isLoading
|
||||
+loader
|
||||
else
|
||||
+Template.dynamic(template=content)
|
||||
if currentSetting.displayAuthenticationMethod
|
||||
+connectionMethod(authenticationMethod=currentSetting.defaultAuthenticationMethod)
|
||||
div.at-form-lang
|
||||
select.select-lang.js-userform-set-language
|
||||
each languages
|
||||
if isCurrentLanguage
|
||||
option(value="{{tag}}" selected="selected") {{name}}
|
||||
else
|
||||
option(value="{{tag}}") {{name}}
|
||||
+Template.dynamic(template=content)
|
||||
if currentSetting.displayAuthenticationMethod
|
||||
+connectionMethod(authenticationMethod=currentSetting.defaultAuthenticationMethod)
|
||||
div.at-form-lang
|
||||
select.select-lang.js-userform-set-language
|
||||
each languages
|
||||
if isCurrentLanguage
|
||||
option(value="{{tag}}" selected="selected") {{name}}
|
||||
else
|
||||
option(value="{{tag}}") {{name}}
|
||||
|
||||
template(name="defaultLayout")
|
||||
+header
|
||||
@@ -59,14 +60,3 @@ template(name="message")
|
||||
unless currentUser
|
||||
with(pathFor route='atSignIn')
|
||||
p {{{_ 'page-maybe-private' this}}}
|
||||
|
||||
template(name="loader")
|
||||
h1.loadingText {{_ 'loading'}}
|
||||
.lds-roller
|
||||
div
|
||||
div
|
||||
div
|
||||
div
|
||||
div
|
||||
div
|
||||
div
|
||||
@@ -23,7 +23,6 @@ const validator = {
|
||||
Template.userFormsLayout.onCreated(function() {
|
||||
const instance = this;
|
||||
instance.currentSetting = new ReactiveVar();
|
||||
instance.isLoading = new ReactiveVar(false);
|
||||
|
||||
Meteor.subscribe('setting', {
|
||||
onReady() {
|
||||
@@ -48,10 +47,6 @@ Template.userFormsLayout.helpers({
|
||||
return Template.instance().currentSetting.get();
|
||||
},
|
||||
|
||||
isLoading() {
|
||||
return Template.instance().isLoading.get();
|
||||
},
|
||||
|
||||
afterBodyStart() {
|
||||
return currentSetting.customHTMLafterBodyStart;
|
||||
},
|
||||
@@ -94,11 +89,7 @@ Template.userFormsLayout.events({
|
||||
},
|
||||
'click #at-btn'(event, instance) {
|
||||
if (FlowRouter.getRouteName() === 'atSignIn') {
|
||||
instance.isLoading.set(true);
|
||||
authentication(event, instance)
|
||||
.then(() => {
|
||||
instance.isLoading.set(false);
|
||||
});
|
||||
authentication(event, instance);
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -113,11 +104,11 @@ async function authentication(event, instance) {
|
||||
const match = $('#at-field-username_and_email').val();
|
||||
const password = $('#at-field-password').val();
|
||||
|
||||
if (!match || !password) return undefined;
|
||||
if (!match || !password) return;
|
||||
|
||||
const result = await getAuthenticationMethod(instance.currentSetting.get(), match);
|
||||
|
||||
if (result === 'password') return undefined;
|
||||
if (result === 'password') return;
|
||||
|
||||
// Stop submit #at-pwd-form
|
||||
event.preventDefault();
|
||||
@@ -125,21 +116,19 @@ async function authentication(event, instance) {
|
||||
|
||||
switch (result) {
|
||||
case 'ldap':
|
||||
return new Promise((resolve) => {
|
||||
Meteor.loginWithLDAP(match, password, function() {
|
||||
resolve(FlowRouter.go('/'));
|
||||
});
|
||||
Meteor.loginWithLDAP(match, password, function() {
|
||||
FlowRouter.go('/');
|
||||
});
|
||||
break;
|
||||
|
||||
case 'cas':
|
||||
return new Promise((resolve) => {
|
||||
Meteor.loginWithCas(match, password, function() {
|
||||
resolve(FlowRouter.go('/'));
|
||||
});
|
||||
Meteor.loginWithCas(function() {
|
||||
FlowRouter.go('/');
|
||||
});
|
||||
break;
|
||||
|
||||
default:
|
||||
return undefined;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ body
|
||||
display: block
|
||||
float: right
|
||||
font-size: 24px
|
||||
|
||||
|
||||
.modal-content-wide
|
||||
width: 800px
|
||||
min-height: 0px
|
||||
@@ -290,7 +290,7 @@ kbd
|
||||
// Implement a thiner close icon as suggested in
|
||||
// https://github.com/FortAwesome/Font-Awesome/issues/1540#issuecomment-68689950
|
||||
.fa.fa-times-thin:before
|
||||
content: '\00d7'
|
||||
content: '\00d7';
|
||||
|
||||
.fa.fa-globe.colorful, .fa.fa-bell.colorful
|
||||
color: #4caf50
|
||||
@@ -399,103 +399,3 @@ a
|
||||
height: 37px
|
||||
margin: 8px 10px 0 0
|
||||
width: 50px
|
||||
|
||||
.select-authentication
|
||||
width: 100%
|
||||
|
||||
.auth-layout
|
||||
display: flex
|
||||
flex-direction: column
|
||||
align-items: center
|
||||
justify-content: center
|
||||
height: 100%
|
||||
|
||||
.auth-dialog
|
||||
margin: 0 !important
|
||||
|
||||
.loadingText
|
||||
text-align: center
|
||||
|
||||
.lds-roller
|
||||
display: block
|
||||
margin: auto
|
||||
position: relative
|
||||
width: 64px
|
||||
height: 64px
|
||||
|
||||
div
|
||||
animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite
|
||||
transform-origin: 32px 32px
|
||||
|
||||
div:after
|
||||
content: " "
|
||||
display: block
|
||||
position: absolute
|
||||
width: 6px
|
||||
height: 6px
|
||||
border-radius: 50%
|
||||
background: #dedede
|
||||
margin: -3px 0 0 -3px
|
||||
|
||||
div:nth-child(1)
|
||||
animation-delay: -0.036s
|
||||
|
||||
div:nth-child(1):after
|
||||
top: 50px
|
||||
left: 50px
|
||||
|
||||
div:nth-child(2)
|
||||
animation-delay: -0.072s
|
||||
|
||||
div:nth-child(2):after
|
||||
top: 54px
|
||||
left: 45px
|
||||
|
||||
div:nth-child(3)
|
||||
animation-delay: -0.108s
|
||||
|
||||
div:nth-child(3):after
|
||||
top: 57px
|
||||
left: 39px
|
||||
|
||||
div:nth-child(4)
|
||||
animation-delay: -0.144s
|
||||
|
||||
div:nth-child(4):after
|
||||
top: 58px
|
||||
left: 32px
|
||||
|
||||
div:nth-child(5)
|
||||
animation-delay: -0.18s
|
||||
|
||||
div:nth-child(5):after
|
||||
top: 57px
|
||||
left: 25px
|
||||
|
||||
div:nth-child(6)
|
||||
animation-delay: -0.216s
|
||||
|
||||
div:nth-child(6):after
|
||||
top: 54px
|
||||
left: 19px
|
||||
|
||||
div:nth-child(7)
|
||||
animation-delay: -0.252s
|
||||
|
||||
div:nth-child(7):after
|
||||
top: 50px
|
||||
left: 14px
|
||||
|
||||
div:nth-child(8)
|
||||
animation-delay: -0.288s
|
||||
|
||||
div:nth-child(8):after
|
||||
top: 45px
|
||||
left: 10px
|
||||
|
||||
@keyframes lds-roller
|
||||
0%
|
||||
transform: rotate(0deg)
|
||||
|
||||
100%
|
||||
transform: rotate(360deg)
|
||||
@@ -64,7 +64,8 @@ template(name="boardTriggers")
|
||||
div.trigger-text
|
||||
| {{_'r-in-swimlane'}}
|
||||
div.trigger-dropdown
|
||||
input(id="create-swimlane-name-2",type=text,placeholder="{{_'r-swimlane-name'}}")
|
||||
input(id="create-swimlane-name",type=text,placeholder="{{_'r-swimlane-name'}}")
|
||||
div.trigger-button.trigger-button-person.js-show-user-field
|
||||
div.trigger-button.trigger-button-person.js-show-user-field
|
||||
i.fa.fa-user
|
||||
div.user-details.hide-element
|
||||
|
||||
@@ -39,18 +39,15 @@ BlazeComponent.extendComponent({
|
||||
'click .js-add-moved-trigger' (event) {
|
||||
const datas = this.data();
|
||||
const desc = Utils.getTriggerActionDesc(event, this);
|
||||
const swimlaneName = this.find('#create-swimlane-name-2').value;
|
||||
const swimlaneName = this.find('#create-swimlane-name').value;
|
||||
const actionSelected = this.find('#move-action').value;
|
||||
const listName = this.find('#move-list-name').value;
|
||||
const boardId = Session.get('currentBoard');
|
||||
const divId = $(event.currentTarget.parentNode).attr('id');
|
||||
const cardTitle = this.cardTitleFilters[divId];
|
||||
if (actionSelected === 'moved-to') {
|
||||
datas.triggerVar.set({
|
||||
activityType: 'moveCard',
|
||||
boardId,
|
||||
listName,
|
||||
cardTitle,
|
||||
swimlaneName,
|
||||
'oldListName': '*',
|
||||
desc,
|
||||
@@ -60,7 +57,6 @@ BlazeComponent.extendComponent({
|
||||
datas.triggerVar.set({
|
||||
activityType: 'moveCard',
|
||||
boardId,
|
||||
cardTitle,
|
||||
swimlaneName,
|
||||
'listName': '*',
|
||||
'oldListName': listName,
|
||||
|
||||
@@ -3,13 +3,8 @@ template(name="people")
|
||||
unless currentUser.isAdmin
|
||||
| {{_ 'error-notAuthorized'}}
|
||||
else
|
||||
.content-title.ext-box
|
||||
.ext-box-left
|
||||
span {{_ 'people'}}
|
||||
input#searchInput(placeholder="{{_ 'search'}}")
|
||||
button#searchButton {{_ 'search'}}
|
||||
.ext-box-right
|
||||
span {{_ 'people-number'}} #{peopleNumber}
|
||||
.content-title
|
||||
span {{_ 'people'}}
|
||||
.content-body
|
||||
.side-menu
|
||||
ul
|
||||
@@ -108,4 +103,4 @@ template(name="editUserPopup")
|
||||
| {{_ 'password'}}
|
||||
input.js-profile-password(type="password")
|
||||
|
||||
input.primary.wide(type="submit" value="{{_ 'save'}}")
|
||||
input.primary.wide(type="submit" value="{{_ 'save'}}")
|
||||
@@ -8,8 +8,6 @@ BlazeComponent.extendComponent({
|
||||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
this.people = new ReactiveVar(true);
|
||||
this.findUsersOptions = new ReactiveVar({});
|
||||
this.number = new ReactiveVar(0);
|
||||
|
||||
this.page = new ReactiveVar(1);
|
||||
this.loadNextPageLocked = false;
|
||||
@@ -28,33 +26,6 @@ BlazeComponent.extendComponent({
|
||||
});
|
||||
});
|
||||
},
|
||||
events() {
|
||||
return [{
|
||||
'click #searchButton'() {
|
||||
this.filterPeople();
|
||||
},
|
||||
'keydown #searchInput'(event) {
|
||||
if (event.keyCode === 13 && !event.shiftKey) {
|
||||
this.filterPeople();
|
||||
}
|
||||
},
|
||||
}];
|
||||
},
|
||||
filterPeople() {
|
||||
const value = $('#searchInput').first().val();
|
||||
if (value === '') {
|
||||
this.findUsersOptions.set({});
|
||||
} else {
|
||||
const regex = new RegExp(value, 'i');
|
||||
this.findUsersOptions.set({
|
||||
$or: [
|
||||
{ username: regex },
|
||||
{ 'profile.fullname': regex },
|
||||
{ 'emails.address': regex },
|
||||
],
|
||||
});
|
||||
}
|
||||
},
|
||||
loadNextPage() {
|
||||
if (this.loadNextPageLocked === false) {
|
||||
this.page.set(this.page.get() + 1);
|
||||
@@ -78,14 +49,9 @@ BlazeComponent.extendComponent({
|
||||
this.loading.set(w);
|
||||
},
|
||||
peopleList() {
|
||||
const users = Users.find(this.findUsersOptions.get(), {
|
||||
return Users.find({}, {
|
||||
fields: {_id: true},
|
||||
});
|
||||
this.number.set(users.count());
|
||||
return users;
|
||||
},
|
||||
peopleNumber() {
|
||||
return this.number.get();
|
||||
},
|
||||
}).register('people');
|
||||
|
||||
|
||||
@@ -13,24 +13,3 @@ table
|
||||
|
||||
tr:nth-child(even)
|
||||
background-color: #dddddd;
|
||||
|
||||
.ext-box
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
height: 34px;
|
||||
|
||||
.ext-box-left
|
||||
display: flex;
|
||||
width: 40%
|
||||
|
||||
span
|
||||
vertical-align: center;
|
||||
line-height: 34px;
|
||||
margin-right: 10px;
|
||||
|
||||
input, button
|
||||
margin: 0 10px 0 0;
|
||||
padding: 0;
|
||||
|
||||
button
|
||||
min-width: 60px;
|
||||
@@ -2,10 +2,6 @@ template(name="archivesSidebar")
|
||||
+basicTabs(tabs=tabs)
|
||||
|
||||
+tabContent(slug="cards")
|
||||
p.quiet
|
||||
a.js-restore-all-cards {{_ 'restore-all'}}
|
||||
| -
|
||||
a.js-delete-all-cards {{_ 'delete-all'}}
|
||||
each archivedCards
|
||||
.minicard-wrapper.js-minicard
|
||||
+minicard(this)
|
||||
@@ -20,35 +16,23 @@ template(name="archivesSidebar")
|
||||
p.no-items-message {{_ 'no-archived-cards'}}
|
||||
|
||||
+tabContent(slug="lists")
|
||||
p.quiet
|
||||
a.js-restore-all-lists {{_ 'restore-all'}}
|
||||
| -
|
||||
a.js-delete-all-lists {{_ 'delete-all'}}
|
||||
ul.archived-lists
|
||||
each archivedLists
|
||||
li.archived-lists-item
|
||||
= title
|
||||
if currentUser.isBoardMember
|
||||
p.quiet
|
||||
a.js-restore-list {{_ 'restore'}}
|
||||
| -
|
||||
a.js-delete-list {{_ 'delete'}}
|
||||
button.js-restore-list
|
||||
i.fa.fa-undo
|
||||
= title
|
||||
else
|
||||
li.no-items-message {{_ 'no-archived-lists'}}
|
||||
|
||||
+tabContent(slug="swimlanes")
|
||||
p.quiet
|
||||
a.js-restore-all-swimlanes {{_ 'restore-all'}}
|
||||
| -
|
||||
a.js-delete-all-swimlanes {{_ 'delete-all'}}
|
||||
ul.archived-lists
|
||||
each archivedSwimlanes
|
||||
li.archived-lists-item
|
||||
= title
|
||||
if currentUser.isBoardMember
|
||||
p.quiet
|
||||
a.js-restore-swimlane {{_ 'restore'}}
|
||||
| -
|
||||
a.js-delete-swimlane {{_ 'delete'}}
|
||||
button.js-restore-swimlane
|
||||
i.fa.fa-undo
|
||||
= title
|
||||
else
|
||||
li.no-items-message {{_ 'no-archived-swimlanes'}}
|
||||
@@ -44,67 +44,19 @@ BlazeComponent.extendComponent({
|
||||
card.restore();
|
||||
}
|
||||
},
|
||||
'click .js-restore-all-cards'() {
|
||||
this.archivedCards().forEach((card) => {
|
||||
if(card.canBeRestored()){
|
||||
card.restore();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
'click .js-delete-card': Popup.afterConfirm('cardDelete', function() {
|
||||
const cardId = this._id;
|
||||
Cards.remove(cardId);
|
||||
Popup.close();
|
||||
}),
|
||||
'click .js-delete-all-cards': Popup.afterConfirm('cardDelete', () => {
|
||||
this.archivedCards().forEach((card) => {
|
||||
Cards.remove(card._id);
|
||||
});
|
||||
Popup.close();
|
||||
}),
|
||||
|
||||
'click .js-restore-list'() {
|
||||
const list = this.currentData();
|
||||
list.restore();
|
||||
},
|
||||
'click .js-restore-all-lists'() {
|
||||
this.archivedLists().forEach((list) => {
|
||||
list.restore();
|
||||
});
|
||||
},
|
||||
|
||||
'click .js-delete-list': Popup.afterConfirm('listDelete', function() {
|
||||
this.remove();
|
||||
Popup.close();
|
||||
}),
|
||||
'click .js-delete-all-lists': Popup.afterConfirm('listDelete', () => {
|
||||
this.archivedLists().forEach((list) => {
|
||||
list.remove();
|
||||
});
|
||||
Popup.close();
|
||||
}),
|
||||
|
||||
'click .js-restore-swimlane'() {
|
||||
const swimlane = this.currentData();
|
||||
swimlane.restore();
|
||||
},
|
||||
'click .js-restore-all-swimlanes'() {
|
||||
this.archivedSwimlanes().forEach((swimlane) => {
|
||||
swimlane.restore();
|
||||
});
|
||||
},
|
||||
|
||||
'click .js-delete-swimlane': Popup.afterConfirm('swimlaneDelete', function() {
|
||||
this.remove();
|
||||
Popup.close();
|
||||
}),
|
||||
'click .js-delete-all-swimlanes': Popup.afterConfirm('swimlaneDelete', () => {
|
||||
this.archivedSwimlanes().forEach((swimlane) => {
|
||||
swimlane.remove();
|
||||
});
|
||||
Popup.close();
|
||||
}),
|
||||
}];
|
||||
},
|
||||
}).register('archivesSidebar');
|
||||
@@ -54,7 +54,3 @@ template(name="setSwimlaneColorPopup")
|
||||
i.fa.fa-check
|
||||
button.primary.confirm.js-submit {{_ 'save'}}
|
||||
button.js-remove-color.negate.wide.right {{_ 'unset-color'}}
|
||||
|
||||
template(name="swimlaneDeletePopup")
|
||||
p {{_ "swimlane-delete-pop"}}
|
||||
button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
|
||||
@@ -135,6 +135,6 @@ $(document).on('click', (evt) => {
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', 'a[href=#]', (evt) => {
|
||||
$(document).on('click', 'a[href=\\#]', (evt) => {
|
||||
evt.preventDefault();
|
||||
});
|
||||
+6
-6
@@ -170,8 +170,8 @@ services:
|
||||
# NOTE: Special characters need to be url-encoded in MAIL_URL.
|
||||
# You can encode those characters for example at: https://www.urlencoder.org
|
||||
#- MAIL_URL=smtp://user:pass@mailserver.example.com:25/
|
||||
- MAIL_URL=smtp://<mail_url>:25/?ignoreTLS=true&tls={rejectUnauthorized:false}
|
||||
- MAIL_FROM=Wekan Notifications <noreply.wekan@mydomain.com>
|
||||
- MAIL_URL='smtp://<mail_url>:25/?ignoreTLS=true&tls={rejectUnauthorized:false}'
|
||||
- MAIL_FROM='Wekan Notifications <noreply.wekan@mydomain.com>'
|
||||
#---------------------------------------------------------------
|
||||
# ==== OPTIONAL: MONGO OPLOG SETTINGS =====
|
||||
# https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-378343587
|
||||
@@ -473,10 +473,10 @@ services:
|
||||
#---------------------------------------------------------------------
|
||||
# Login to LDAP automatically with HTTP header.
|
||||
# In below example for siteminder, at right side of = is header name.
|
||||
#- HEADER_LOGIN_ID=HEADERUID
|
||||
#- HEADER_LOGIN_FIRSTNAME=HEADERFIRSTNAME
|
||||
#- HEADER_LOGIN_LASTNAME=HEADERLASTNAME
|
||||
#- HEADER_LOGIN_EMAIL=HEADEREMAILADDRESS
|
||||
#- HEADER_LOGIN_ID=BNPPUID
|
||||
#- HEADER_LOGIN_FIRSTNAME=BNPPFIRSTNAME
|
||||
#- HEADER_LOGIN_LASTNAME=BNPPLASTNAME
|
||||
#- HEADER_LOGIN_EMAIL=BNPPEMAILADDRESS
|
||||
#---------------------------------------------------------------------
|
||||
# ==== LOGOUT TIMER, probably does not work yet ====
|
||||
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
|
||||
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Něco se pokazilo",
|
||||
"error-ldap-login": "Během přihlašování nastala chyba",
|
||||
"display-authentication-method": "Zobraz způsob ověřování",
|
||||
"default-authentication-method": "Zobraz způsob ověřování",
|
||||
"duplicate-board": "Duplikovat tablo",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Zobraz způsob ověřování"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+57
-64
@@ -1,41 +1,41 @@
|
||||
{
|
||||
"accept": "Akzeptieren",
|
||||
"act-activity-notify": "Aktivitätsbenachrichtigung",
|
||||
"act-addAttachment": "hat Anhang __attachment__ zur Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ hinzugefügt",
|
||||
"act-deleteAttachment": "hat Anhang __attachment__ von Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ gelöscht",
|
||||
"act-addSubtask": "hat Teilaufgabe __subtask__ zur Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ hinzugefügt",
|
||||
"act-addLabel": "hat Label __label__ zur Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ hinzugefügt",
|
||||
"act-addedLabel": "hat Label __label__ zur Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ hinzugefügt",
|
||||
"act-removeLabel": "hat Label __label__ von Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ entfernt",
|
||||
"act-removedLabel": "hat Label __label__ von Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ entfernt",
|
||||
"act-addChecklist": "hat Checkliste __checklist__ zur Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ hinzugefügt",
|
||||
"act-addChecklistItem": "hat Checklistenposition __checklistItem__ zu Checkliste __checkList__ auf der Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ hinzugefügt",
|
||||
"act-removeChecklist": "hat Checkliste __checklist__ von Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ entfernt",
|
||||
"act-removeChecklistItem": "hat Checklistenposition __checklistItem__ von Checkliste __checkList__ auf der Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ entfernt",
|
||||
"act-checkedItem": "hat __checklistItem__ der Checkliste __checklist__ der Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ abgehakt",
|
||||
"act-uncheckedItem": "hat Haken von __checklistItem__ der Checkliste __checklist__ der Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ entfernt",
|
||||
"act-completeChecklist": "hat Checkliste __checklist__ der Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ vervollständigt",
|
||||
"act-uncompleteChecklist": "hat Checkliste __checklist__ der Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ unvervollständigt",
|
||||
"act-addComment": "hat Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ kommentiert: __comment__",
|
||||
"act-addAttachment": "hat Anhang __attachment__ zur Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__ angehängt",
|
||||
"act-deleteAttachment": "löschte Anhang __attachment__ zur Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-addSubtask": "hat Teilaufgabe __subtask__ zur Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board angehängt",
|
||||
"act-addLabel": "hat Label __label__ zur Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__ angehängt",
|
||||
"act-addedLabel": "hat Label __label__ zur Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__ angehängt",
|
||||
"act-removeLabel": "entfernte Label __label__ zur Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-removedLabel": "entfernte Label __label__ zur Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-addChecklist": "hat Checkliste __checklist__ zur Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__ angehängt",
|
||||
"act-addChecklistItem": "hat Checklistenposition __checklistItem__ zu Checkliste __checkList__ zur Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__ angehängt",
|
||||
"act-removeChecklist": "entfernt Checkliste __checklist__ zur Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-removeChecklistItem": "entfernt Checklistenposition __checklistItem__ von Checkliste __checkList__ zur Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-checkedItem": "hakte __checklistItem__ von der Checkliste __checklist__ der Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__ ab",
|
||||
"act-uncheckedItem": "unabgehakt __checklistItem__ von der Checkliste __checklist__ der Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-completeChecklist": "vervollständigte Checkliste __checklist__ der Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-uncompleteChecklist": "unvollendete Checkliste __checklist__ der Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-addComment": "kommentierte eine Karte __card__: __comment__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-createBoard": "hat Board __board__ erstellt",
|
||||
"act-createSwimlane": "hat Swimlane __swimlane__ in Board __board__ erstellt",
|
||||
"act-createCard": "hat Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ erstellt",
|
||||
"act-createCustomField": "hat das benutzerdefinierte Feld __customField__ auf Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ erstellt",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createCard": "erstellte Karte __card__ auf Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-createCustomField": "erstellte ein benutzerdefiniertes Feld __customField__ für Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-createList": "hat Liste __list__ zu Board __board__ hinzugefügt",
|
||||
"act-addBoardMember": "hat Mitglied __member__ zu Board __board__ hinzugefügt",
|
||||
"act-archivedBoard": "hat Board __board__ ins Archiv verschoben",
|
||||
"act-archivedCard": "hat Karte __card__ von der Liste __list__ in Swimlane __swimlane__ in Board __board__ ins Archiv verschoben",
|
||||
"act-archivedList": "hat Liste __list__ in Swimlane __swimlane__ in Board __board__ ins Archiv verschoben",
|
||||
"act-archivedSwimlane": "hat Swimlane __swimlane__ von Board __board__ ins Archiv verschoben",
|
||||
"act-importBoard": "hat Board __board__ importiert",
|
||||
"act-importCard": "hat Karte __card__ in Liste __list__ in Swimlane __swimlane__ in Board __board__ importiert",
|
||||
"act-importList": "hat Liste __list__ in Swimlane __swimlane__ in Board __board__ importiert",
|
||||
"act-joinMember": "hat Mitglied __member__ zur Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ hinzugefügt",
|
||||
"act-moveCard": "hat Karte __card__ in Board __board__ von Liste __oldList__ in Swimlane __oldSwimlane__ zu Liste __list__ in Swimlane __swimlane__ verschoben",
|
||||
"act-moveCardToOtherBoard": "hat Karte __card__ von Liste __oldList__ in Swimlane __oldSwimlane__ in Board __oldBoard__ zu Liste __list__ in Swimlane __swimlane__ in Board __board__ verschoben",
|
||||
"act-removeBoardMember": "hat Mitglied __member__ von Board __board__ entfernt",
|
||||
"act-restoredCard": "hat Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ wiederhergestellt",
|
||||
"act-unjoinMember": "hat Mitglied __member__ von Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ entfernt",
|
||||
"act-archivedBoard": "Board __board__ ins Archiv verschoben",
|
||||
"act-archivedCard": "Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ von Board __board__ ins Archiv verschoben",
|
||||
"act-archivedList": "Liste __list__ bei Swimlane __swimlane__ von Board __board__ ins Archiv verschoben",
|
||||
"act-archivedSwimlane": "Swimlane __swimlane__ von Board __board__ ins Archiv verschoben",
|
||||
"act-importBoard": "importiert Board __board__",
|
||||
"act-importCard": "importiert Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ in Board __board__ ",
|
||||
"act-importList": "importiert Liste __list__ bei Swimlane __swimlane__ in Board __board__ ",
|
||||
"act-joinMember": "fügt Mitglied __member__ der Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__ hinzu",
|
||||
"act-moveCard": "verschiebt Karte __card__ auf Board __board__ von Liste __oldList__ in Swimlane __oldSwimlane__ zu Liste __list__ in Swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "verschiebt Karte __card__ von Liste __oldList__ von Swimlane __oldSwimlane__ von Board __oldBoard__ nach Liste __list__ in Swimlane __swimlane__ zu Board __board__",
|
||||
"act-removeBoardMember": "entfernte Mitglied __member__ vom Board __board__",
|
||||
"act-restoredCard": "wiederherstellte Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-unjoinMember": "entfernte Mitglied __member__ von Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Aktionen",
|
||||
@@ -60,14 +60,14 @@
|
||||
"activity-unchecked-item": "hat %s in Checkliste %s von %s abgewählt",
|
||||
"activity-checklist-added": "hat eine Checkliste zu %s hinzugefügt",
|
||||
"activity-checklist-removed": "entfernte eine Checkliste von %s",
|
||||
"activity-checklist-completed": "hat Checkliste __checklist__ der Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ vervollständigt",
|
||||
"activity-checklist-completed": "vervollständigte Checkliste __checklist__ der Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"activity-checklist-uncompleted": "unvervollständigte die Checkliste %s von %s",
|
||||
"activity-checklist-item-added": "hat ein Checklistenelement zu '%s' in %s hinzugefügt",
|
||||
"activity-checklist-item-removed": "hat ein Checklistenelement von '%s' in %s entfernt",
|
||||
"add": "Hinzufügen",
|
||||
"activity-checked-item-card": "markiere %s in Checkliste %s",
|
||||
"activity-unchecked-item-card": "hat %s in Checkliste %s abgewählt",
|
||||
"activity-checklist-completed-card": "hat Checkliste __checklist__ der Karte __card__ auf der Liste __list__ in Swimlane __swimlane__ in Board __board__ vervollständigt",
|
||||
"activity-checklist-completed-card": "vervollständigte Checkliste __checklist__ der Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"activity-checklist-uncompleted-card": "unvervollständigte die Checkliste %s",
|
||||
"add-attachment": "Datei anhängen",
|
||||
"add-board": "neues Board",
|
||||
@@ -576,44 +576,44 @@
|
||||
"r-rule": "Regel",
|
||||
"r-add-trigger": "Auslöser hinzufügen",
|
||||
"r-add-action": "Aktion hinzufügen",
|
||||
"r-board-rules": "Boardregeln",
|
||||
"r-board-rules": "Board Regeln",
|
||||
"r-add-rule": "Regel hinzufügen",
|
||||
"r-view-rule": "Regel anzeigen",
|
||||
"r-delete-rule": "Regel löschen",
|
||||
"r-new-rule-name": "Neuer Regeltitel",
|
||||
"r-no-rules": "Keine Regeln",
|
||||
"r-when-a-card": "Wenn Karte",
|
||||
"r-is": "wird",
|
||||
"r-when-a-card": "Wenn eine Karte",
|
||||
"r-is": "ist",
|
||||
"r-is-moved": "verschoben wird",
|
||||
"r-added-to": "hinzugefügt zu",
|
||||
"r-removed-from": "entfernt von",
|
||||
"r-added-to": "hinzugefügt wird zu",
|
||||
"r-removed-from": "Entfernt von",
|
||||
"r-the-board": "das Board",
|
||||
"r-list": "Liste",
|
||||
"set-filter": "Setze Filter",
|
||||
"r-moved-to": "verschoben nach",
|
||||
"r-moved-from": "verschoben von",
|
||||
"r-archived": "ins Archiv verschoben",
|
||||
"r-unarchived": "aus dem Archiv wiederhergestellt",
|
||||
"r-a-card": "einer Karte",
|
||||
"r-when-a-label-is": "Wenn ein Label",
|
||||
"r-when-the-label-is": " Wenn das Label",
|
||||
"r-moved-to": "Verschieben nach",
|
||||
"r-moved-from": "Verschieben von",
|
||||
"r-archived": "Ins Archiv verschieben",
|
||||
"r-unarchived": "Aus dem Archiv wiederhergestellt",
|
||||
"r-a-card": "eine Karte",
|
||||
"r-when-a-label-is": "Wenn ein Label ist",
|
||||
"r-when-the-label-is": " Wenn das Label ist",
|
||||
"r-list-name": "Listenname",
|
||||
"r-when-a-member": "Wenn ein Mitglied",
|
||||
"r-when-a-member": "Wenn ein Mitglied ist",
|
||||
"r-when-the-member": "Wenn das Mitglied",
|
||||
"r-name": "Name",
|
||||
"r-when-a-attach": "Wenn ein Anhang",
|
||||
"r-when-a-checklist": "Wenn eine Checkliste wird",
|
||||
"r-when-a-checklist": "Wenn eine Checkliste ist",
|
||||
"r-when-the-checklist": "Wenn die Checkliste",
|
||||
"r-completed": "abgeschlossen",
|
||||
"r-made-incomplete": "unvollständig gemacht",
|
||||
"r-when-a-item": "Wenn eine Checklistenposition",
|
||||
"r-when-the-item": "Wenn die Checklistenposition",
|
||||
"r-checked": "markiert wird",
|
||||
"r-unchecked": "abgewählt wird",
|
||||
"r-move-card-to": "Verschiebe Karte an",
|
||||
"r-completed": "Abgeschlossen",
|
||||
"r-made-incomplete": "Unvollständig gemacht",
|
||||
"r-when-a-item": "Wenn ein Checklistenelement ist",
|
||||
"r-when-the-item": "Wenn das Checklistenelement",
|
||||
"r-checked": "Markiert",
|
||||
"r-unchecked": "Abgewählt",
|
||||
"r-move-card-to": "Verschiebe Karte nach",
|
||||
"r-top-of": "Anfang von",
|
||||
"r-bottom-of": "Ende von",
|
||||
"r-its-list": "seiner Liste",
|
||||
"r-its-list": "seine Liste",
|
||||
"r-archive": "Ins Archiv verschieben",
|
||||
"r-unarchive": "Aus dem Archiv wiederherstellen",
|
||||
"r-card": "Karte",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Etwas ist schief gelaufen",
|
||||
"error-ldap-login": "Es ist ein Fehler beim Anmelden aufgetreten",
|
||||
"display-authentication-method": "Anzeige Authentifizierungsverfahren",
|
||||
"default-authentication-method": "Standardauthentifizierungsverfahren",
|
||||
"duplicate-board": "Board duplizieren",
|
||||
"people-number": "Anzahl der Personen:",
|
||||
"swimlaneDeletePopup-title": "Swimlane löschen?",
|
||||
"swimlane-delete-pop": "Alle Aktionen werden aus dem Aktivitäts-Feed entfernt und du kannst die Swimlane auch nicht wiederherstellen: Es gibt kein Undo!",
|
||||
"restore-all": "Alles wiederherstellen",
|
||||
"delete-all": "Alles löschen",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Standardauthentifizierungsverfahren"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -685,12 +685,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is: ",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+5
-12
@@ -17,10 +17,10 @@
|
||||
"act-completeChecklist": "completada la lista de verificación __checklist__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-uncompleteChecklist": "no completada la lista de verificación __checklist__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-addComment": "comentario en la tarjeta__card__: __comment__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-createBoard": "creó el tablero __board__",
|
||||
"act-createSwimlane": "creó el carril de flujo __swimlane__ en el tablero __board__",
|
||||
"act-createBoard": "creado el tablero __board__",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createCard": "creada la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-createCustomField": "creó el campo personalizado __customField__ en la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-createCustomField": "creado el campo personalizado __customField__ en la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-createList": "añadida la lista __list__ al tablero __board__",
|
||||
"act-addBoardMember": "añadido el mimbro __member__ al tablero __board__",
|
||||
"act-archivedBoard": "El tablero __board__ se ha movido a Archivo",
|
||||
@@ -45,7 +45,7 @@
|
||||
"activity-archived": "%s movido a Archivo",
|
||||
"activity-attached": "ha adjuntado %s a %s",
|
||||
"activity-created": "ha creado %s",
|
||||
"activity-customfield-created": "creó el campo personalizado %s",
|
||||
"activity-customfield-created": "creado el campo personalizado %s",
|
||||
"activity-excluded": "ha excluido %s de %s",
|
||||
"activity-imported": "ha importado %s a %s desde %s",
|
||||
"activity-imported-board": "ha importado %s desde %s",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Algo no está bien",
|
||||
"error-ldap-login": "Ocurrió un error al intentar acceder",
|
||||
"display-authentication-method": "Mostrar el método de autenticación",
|
||||
"default-authentication-method": "Método de autenticación por defecto",
|
||||
"duplicate-board": "Duplicar tablero",
|
||||
"people-number": "El número de personas es:",
|
||||
"swimlaneDeletePopup-title": "¿Eliminar el carril de flujo?",
|
||||
"swimlane-delete-pop": "Todas las acciones serán eliminadas del historial de actividades y no se podrá recuperar el carril de flujo. Esta acción no puede deshacerse.",
|
||||
"restore-all": "Restaurar todas",
|
||||
"delete-all": "Borrar todas",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Método de autenticación por defecto"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "یک اشتباه رخ داده شده است",
|
||||
"error-ldap-login": "هنگام تلاش برای ورود به یک خطا رخ داد",
|
||||
"display-authentication-method": "نمایش نوع اعتبارسنجی",
|
||||
"default-authentication-method": "نوع اعتبارسنجی پیشفرض",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "نوع اعتبارسنجی پیشفرض"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Jotain meni pieleen",
|
||||
"error-ldap-login": "Virhe tapahtui yrittäessä kirjautua sisään",
|
||||
"display-authentication-method": "Näytä kirjautumistapa",
|
||||
"default-authentication-method": "Oletus kirjautumistapa",
|
||||
"duplicate-board": "Tee kaksoiskappale taulusta",
|
||||
"people-number": "Ihmisten määrä on:",
|
||||
"swimlaneDeletePopup-title": "Poista Swimlane ?",
|
||||
"swimlane-delete-pop": "Kaikki toimet poistetaan toimintasyötteestä ja swimlanen poistaminen on lopullista. Tätä ei pysty peruuttamaan.",
|
||||
"restore-all": "Palauta kaikki",
|
||||
"delete-all": "Poista kaikki",
|
||||
"loading": "Ladataan, odota hetki."
|
||||
"default-authentication-method": "Oletus kirjautumistapa"
|
||||
}
|
||||
+4
-11
@@ -18,7 +18,7 @@
|
||||
"act-uncompleteChecklist": "a rendu incomplet la checklist __checklist__ de la carte __card__ de la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
"act-addComment": "a commenté la carte __card__ : __comment__ dans la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
"act-createBoard": "a créé le tableau __board__",
|
||||
"act-createSwimlane": "a créé le couloir __swimlane__ dans le tableau __board__",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createCard": "a créé la carte __card__ de la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
"act-createCustomField": "a créé le champ personnalisé __customField__ pour la carte __card__ de la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
"act-createList": "a ajouté la liste __list__ au tableau __board__",
|
||||
@@ -386,7 +386,7 @@
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Peut voir et modifier les cartes. Ne peut pas changer les paramètres.",
|
||||
"not-accepted-yet": "L'invitation n'a pas encore été acceptée",
|
||||
"notify-participate": "Recevoir les mises à jour de toutes les cartes auxquelles vous participez en tant que créateur ou que participant",
|
||||
"notify-participate": "Recevoir les mises à jour de toutes les cartes auxquelles vous participez en tant que créateur ou que participant ",
|
||||
"notify-watch": "Recevoir les mises à jour de tous les tableaux, listes ou cartes que vous suivez",
|
||||
"optional": "optionnel",
|
||||
"or": "ou",
|
||||
@@ -432,7 +432,7 @@
|
||||
"shortcut-show-shortcuts": "Afficher cette liste de raccourcis",
|
||||
"shortcut-toggle-filterbar": "Afficher/Masquer la barre latérale des filtres",
|
||||
"shortcut-toggle-sidebar": "Afficher/Masquer la barre latérale du tableau",
|
||||
"show-cards-minimum-count": "Afficher le nombre de cartes si la liste en contient plus de",
|
||||
"show-cards-minimum-count": "Afficher le nombre de cartes si la liste en contient plus de ",
|
||||
"sidebar-open": "Ouvrir le panneau",
|
||||
"sidebar-close": "Fermer le panneau",
|
||||
"signupPopup-title": "Créer un compte",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Une erreur inconnue s'est produite",
|
||||
"error-ldap-login": "Une erreur s'est produite lors de la tentative de connexion",
|
||||
"display-authentication-method": "Afficher la méthode d'authentification",
|
||||
"default-authentication-method": "Méthode d'authentification par défaut",
|
||||
"duplicate-board": "Dupliquer le tableau",
|
||||
"people-number": "Le nombre d'utilisateurs est de :",
|
||||
"swimlaneDeletePopup-title": "Supprimer le couloir ?",
|
||||
"swimlane-delete-pop": "Toutes les actions vont être supprimées du suivi d'activités et vous ne pourrez plus utiliser ce couloir. Cette action est irréversible.",
|
||||
"restore-all": "Tout supprimer",
|
||||
"delete-all": "Tout restaurer",
|
||||
"loading": "Chargement, merci de patienter."
|
||||
"default-authentication-method": "Méthode d'authentification par défaut"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+13
-20
@@ -8,19 +8,19 @@
|
||||
"act-addedLabel": "התווית __label__ נוספה לכרטיס __card__ ברשימה __list__ למסלול __swimlane__ שבלוח __board__",
|
||||
"act-removeLabel": "התווית __label__ הוסרה מהכרטיס __card__ ברשימה __list__ מהמסלול __swimlane__ שבלוח __board__",
|
||||
"act-removedLabel": "התווית __label__ הוסרה מהכרטיס __card__ ברשימה __list__ מהמסלול __swimlane__ שבלוח __board__",
|
||||
"act-addChecklist": "נוספה רשימת מטלות __checklist__ לכרטיס __card__ ברשימה __list__ שבמסלול __swimlane__ בלוח __board__",
|
||||
"act-addChecklist": "added checklist __checklist__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-addChecklistItem": "נוסף פריט סימון __checklistItem__ לרשימת המטלות __checklist__ לכרטיס __card__ ברשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-removeChecklist": "הוסרה רשימת מטלות __checklist__ מהכרטיס __card__ ברשימה __list__ שבמסלול __swimlane__ בלוח __board__",
|
||||
"act-removeChecklistItem": "פריט הסימון __checklistItem__ הוסר מרשימת המטלות __checkList__ בכרטיס __card__ ברשימה __list__ מהמסלול __swimlane__ בלוח __board__",
|
||||
"act-removeChecklist": "removed checklist __checklist__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-removeChecklistItem": "removed checklist item __checklistItem__ from checklist __checkList__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-checkedItem": "checked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-uncheckedItem": "unchecked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-completeChecklist": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-uncompleteChecklist": "uncompleted checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-addComment": "commented on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createBoard": "הלוח __board__ נוצר",
|
||||
"act-createSwimlane": "נוצר מסלול __swimlane__ בלוח __board__",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createCard": "הכרטיס __card__ נוצר ברשימה __list__ במסלול __swimlane__ שבלוח __board__",
|
||||
"act-createCustomField": "נוצר שדה בהתאמה אישית __customField__ בכרטיס __card__ שברשימה __list__ במסלול __swimlane__ שבלוח __board__",
|
||||
"act-createCustomField": "created custom field __customField__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createList": "הרשימה __list__ נוספה ללוח __board__",
|
||||
"act-addBoardMember": "החבר __member__ נוסף אל __board__",
|
||||
"act-archivedBoard": "הלוח __board__ הועבר לארכיון",
|
||||
@@ -31,7 +31,7 @@
|
||||
"act-importCard": "הייבוא של הכרטיס __card__ לרשימה __list__ למסלול __swimlane__ ללוח __board__ הושלם",
|
||||
"act-importList": "הרשימה __list__ ייובאה למסלול __swimlane__ שבלוח __board__",
|
||||
"act-joinMember": "החבר __member__ נוסף לכרטיס __card__ לרשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-moveCard": "הועבר הכרטיס __card__ בלוח __board__ מהרשימה __oldList__ במסלול __oldSwimlane__ לרשימה __list__ במסלול __swimlane__.",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "הכרטיס __card__ הועבר מהרשימה __oldList__ במסלול __oldSwimlane__ בלוח __oldBoard__ לרשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-removeBoardMember": "החבר __member__ הוסר מהלוח __board__",
|
||||
"act-restoredCard": "הכרטיס __card__ שוחזר לרשימה __list__ למסלול __swimlane__ ללוח __board__",
|
||||
@@ -211,17 +211,17 @@
|
||||
"unset-color": "בטל הגדרה",
|
||||
"comment": "לפרסם",
|
||||
"comment-placeholder": "כתיבת הערה",
|
||||
"comment-only": "הערה בלבד",
|
||||
"comment-only": "תגובה בלבד",
|
||||
"comment-only-desc": "ניתן להגיב על כרטיסים בלבד.",
|
||||
"no-comments": " אין הערות",
|
||||
"no-comments": " אין תגובות",
|
||||
"no-comments-desc": "לא ניתן לצפות בתגובות ובפעילויות.",
|
||||
"computer": "מחשב",
|
||||
"confirm-subtask-delete-dialog": "למחוק את תת המשימה?",
|
||||
"confirm-subtask-delete-dialog": "האם למחוק את תת המשימה?",
|
||||
"confirm-checklist-delete-dialog": "למחוק את רשימת המשימות?",
|
||||
"copy-card-link-to-clipboard": "העתקת קישור הכרטיס ללוח הגזירים",
|
||||
"linkCardPopup-title": "קישור כרטיס",
|
||||
"searchElementPopup-title": "חיפוש",
|
||||
"copyCardPopup-title": "העתקת כרטיס",
|
||||
"copyCardPopup-title": "העתק כרטיס",
|
||||
"copyChecklistToManyCardsPopup-title": "העתקת תבנית רשימת מטלות למגוון כרטיסים",
|
||||
"copyChecklistToManyCardsPopup-instructions": "כותרות ותיאורים של כרטיסי יעד בתצורת JSON זו",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"כותרת כרטיס ראשון\", \"description\":\"תיאור כרטיס ראשון\"}, {\"title\":\"כותרת כרטיס שני\",\"description\":\"תיאור כרטיס שני\"},{\"title\":\"כותרת כרטיס אחרון\",\"description\":\"תיאור כרטיס אחרון\"} ]",
|
||||
@@ -571,8 +571,8 @@
|
||||
"activity-added-label-card": "התווית ‚%s’ נוספה",
|
||||
"activity-removed-label-card": "התווית ‚%s’ הוסרה",
|
||||
"activity-delete-attach-card": "קובץ מצורף נמחק",
|
||||
"activity-set-customfield": "הגדרת שדה בהתאמה אישית ‚%s’ לערך ‚%s’ תחת %s",
|
||||
"activity-unset-customfield": "ביטול הגדרת שדה בהתאמה אישית ‚%s’ תחת %s",
|
||||
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
|
||||
"activity-unset-customfield": "unset custom field '%s' in %s",
|
||||
"r-rule": "כלל",
|
||||
"r-add-trigger": "הוספת הקפצה",
|
||||
"r-add-action": "הוספת פעולה",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "מהו השתבש",
|
||||
"error-ldap-login": "אירעה שגיאה בעת ניסיון הכניסה",
|
||||
"display-authentication-method": "הצגת שיטת אימות",
|
||||
"default-authentication-method": "שיטת אימות כבררת מחדל",
|
||||
"duplicate-board": "שכפול לוח",
|
||||
"people-number": "מספר האנשים הוא:",
|
||||
"swimlaneDeletePopup-title": "למחוק מסלול?",
|
||||
"swimlane-delete-pop": "כל הפעולות יוסרו מהזנת הפעילות ולא תהיה לך אפשרות לשחזר את המסלול. אי אפשר לחזור אחורה.",
|
||||
"restore-all": "לשחזר הכול",
|
||||
"delete-all": "למחוק הכול",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "שיטת אימות כבררת מחדל"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+14
-21
@@ -55,7 +55,7 @@
|
||||
"activity-removed": "%s eltávolítva innen: %s",
|
||||
"activity-sent": "%s elküldve ide: %s",
|
||||
"activity-unjoined": "%s kilépett a csoportból",
|
||||
"activity-subtask-added": "Alfeladat hozzáadva ehhez: %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checked-item": "checked %s in checklist %s of %s",
|
||||
"activity-unchecked-item": "unchecked %s in checklist %s of %s",
|
||||
"activity-checklist-added": "ellenőrzőlista hozzáadva ehhez: %s",
|
||||
@@ -73,7 +73,7 @@
|
||||
"add-board": "Tábla hozzáadása",
|
||||
"add-card": "Kártya hozzáadása",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Alfeladat hozzáadása",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Ellenőrzőlista hozzáadása",
|
||||
"add-checklist-item": "Elem hozzáadása az ellenőrzőlistához",
|
||||
"add-cover": "Borító hozzáadása",
|
||||
@@ -92,7 +92,7 @@
|
||||
"and-n-other-card_plural": "És __count__ egyéb kártya",
|
||||
"apply": "Alkalmaz",
|
||||
"app-is-offline": "Loading, please wait. Refreshing the page will cause data loss. If loading does not work, please check that server has not stopped.",
|
||||
"archive": "Mozgatás az archívumba",
|
||||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-card": "Move Card to Archive",
|
||||
@@ -125,10 +125,10 @@
|
||||
"boardChangeTitlePopup-title": "Tábla átnevezése",
|
||||
"boardChangeVisibilityPopup-title": "Láthatóság megváltoztatása",
|
||||
"boardChangeWatchPopup-title": "Megfigyelés megváltoztatása",
|
||||
"boardMenuPopup-title": "Tábla beállítások",
|
||||
"boardMenuPopup-title": "Board Settings",
|
||||
"boards": "Táblák",
|
||||
"board-view": "Tábla nézet",
|
||||
"board-view-cal": "Naptár",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Listák",
|
||||
"bucket-example": "Mint például „Bakancslista”",
|
||||
@@ -175,7 +175,7 @@
|
||||
"changePasswordPopup-title": "Jelszó megváltoztatása",
|
||||
"changePermissionsPopup-title": "Jogosultságok megváltoztatása",
|
||||
"changeSettingsPopup-title": "Beállítások megváltoztatása",
|
||||
"subtasks": "Alfeladat",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Ellenőrzőlisták",
|
||||
"click-to-star": "Kattintson a tábla csillagozásához.",
|
||||
"click-to-unstar": "Kattintson a tábla csillagának eltávolításához.",
|
||||
@@ -216,7 +216,7 @@
|
||||
"no-comments": "No comments",
|
||||
"no-comments-desc": "Can not see comments and activities.",
|
||||
"computer": "Számítógép",
|
||||
"confirm-subtask-delete-dialog": "Biztosan törölni szeretnél az alfeladatot?",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Kártya hivatkozásának másolása a vágólapra",
|
||||
"linkCardPopup-title": "Link Card",
|
||||
@@ -551,8 +551,8 @@
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Alfeladat beállítások",
|
||||
"boardSubtaskSettingsPopup-title": "Tábla alfeladat beállítások",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
@@ -592,8 +592,8 @@
|
||||
"set-filter": "Set Filter",
|
||||
"r-moved-to": "Moved to",
|
||||
"r-moved-from": "Moved from",
|
||||
"r-archived": "Archívumba helyezve",
|
||||
"r-unarchived": "Helyreállítva az archívumból",
|
||||
"r-archived": "Moved to Archive",
|
||||
"r-unarchived": "Restored from Archive",
|
||||
"r-a-card": "a card",
|
||||
"r-when-a-label-is": "When a label is",
|
||||
"r-when-the-label-is": "When the label is",
|
||||
@@ -614,8 +614,8 @@
|
||||
"r-top-of": "Top of",
|
||||
"r-bottom-of": "Bottom of",
|
||||
"r-its-list": "its list",
|
||||
"r-archive": "Mozgatás az archívumba",
|
||||
"r-unarchive": "Helyreállítás az archívumból",
|
||||
"r-archive": "Move to Archive",
|
||||
"r-unarchive": "Restore from Archive",
|
||||
"r-card": "card",
|
||||
"r-add": "Hozzáadás",
|
||||
"r-remove": "Remove",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Valami hiba történt",
|
||||
"error-ldap-login": "Hiba történt bejelentkezés közben",
|
||||
"display-authentication-method": "Hitelelesítési mód mutatása",
|
||||
"default-authentication-method": "Alapértelmezett hitelesítési mód",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Alapértelmezett hitelesítési mód"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+3
-10
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"accept": "Accetta",
|
||||
"act-activity-notify": "Notifica attività",
|
||||
"act-activity-notify": "Notifica attività ",
|
||||
"act-addAttachment": "aggiunto allegato __attachment__ alla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-deleteAttachment": "eliminato allegato __attachment__ dalla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-addSubtask": "aggiunto sottotask __subtask__ alla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
@@ -18,7 +18,7 @@
|
||||
"act-uncompleteChecklist": "lista di controllo __checklist__ incompleta nella scheda __card__ della lista __list__ in corsia __swimlane__ della bacheca __board__",
|
||||
"act-addComment": "commento sulla scheda __card__: __comment__ nella lista __list__ della corsia __swimlane__ della bacheca __board__",
|
||||
"act-createBoard": "bacheca __board__ creata",
|
||||
"act-createSwimlane": "creata corsia __swimlane__ alla bacheca __board__",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createCard": "scheda __card__ creata nella lista __list__ della corsia __swimlane__ della bacheca __board__",
|
||||
"act-createCustomField": "campo personalizzato __customField__ creato nella scheda __card__ della lista __list__ in corsia __swimlane__ della bacheca __board__",
|
||||
"act-createList": "aggiunta lista __list__ alla bacheca __board__",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Qualcosa è andato storto",
|
||||
"error-ldap-login": "C'è stato un errore mentre provavi ad effettuare il login",
|
||||
"display-authentication-method": "Mostra il metodo di autenticazione",
|
||||
"default-authentication-method": "Metodo di autenticazione predefinito",
|
||||
"duplicate-board": "Duplica bacheca",
|
||||
"people-number": "Il numero di persone è:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Metodo di autenticazione predefinito"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+109
-116
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"accept": "Прифати",
|
||||
"accept": "Приемам",
|
||||
"act-activity-notify": "Activity Notification",
|
||||
"act-addAttachment": "added attachment __attachment__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-deleteAttachment": "deleted attachment __attachment__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
@@ -38,11 +38,11 @@
|
||||
"act-unjoinMember": "removed member __member__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Акции",
|
||||
"activities": "Активности",
|
||||
"activity": "Активност",
|
||||
"actions": "Действия",
|
||||
"activities": "Действия",
|
||||
"activity": "Дейности",
|
||||
"activity-added": "добави %s към %s",
|
||||
"activity-archived": "%s е преместена во Архива",
|
||||
"activity-archived": "%s е преместена в Архива",
|
||||
"activity-attached": "прикачи %s към %s",
|
||||
"activity-created": "създаде %s",
|
||||
"activity-customfield-created": "създаде собствено поле %s",
|
||||
@@ -69,56 +69,56 @@
|
||||
"activity-unchecked-item-card": "размаркира %s в чеклист %s",
|
||||
"activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-uncompleted-card": "\"отзавърши\" чеклистта %s",
|
||||
"add-attachment": "Додај прилог",
|
||||
"add-board": "Додади Табла",
|
||||
"add-card": "Додади Картичка",
|
||||
"add-swimlane": "Додади Коридор",
|
||||
"add-subtask": "Додади подзадача",
|
||||
"add-checklist": "Додади список на задачи",
|
||||
"add-checklist-item": "Додади точка во списокот со задачи",
|
||||
"add-cover": "Додади корица",
|
||||
"add-label": "Додади етикета",
|
||||
"add-list": "Додади листа",
|
||||
"add-members": "Додави членови",
|
||||
"added": "Додадено",
|
||||
"addMemberPopup-title": "Членови",
|
||||
"add-attachment": "Добави прикачен файл",
|
||||
"add-board": "Добави Табло",
|
||||
"add-card": "Добави карта",
|
||||
"add-swimlane": "Добави коридор",
|
||||
"add-subtask": "Добави подзадача",
|
||||
"add-checklist": "Добави списък със задачи",
|
||||
"add-checklist-item": "Добави точка към списъка със задачи",
|
||||
"add-cover": "Добави корица",
|
||||
"add-label": "Добави етикет",
|
||||
"add-list": "Добави списък",
|
||||
"add-members": "Добави членове",
|
||||
"added": "Добавено",
|
||||
"addMemberPopup-title": "Членове",
|
||||
"admin": "Администратор",
|
||||
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
|
||||
"admin-announcement": "Съобщение",
|
||||
"admin-announcement-active": "Active System-Wide Announcement",
|
||||
"admin-announcement-title": "Announcement from Administrator",
|
||||
"all-boards": "Сите табли",
|
||||
"and-n-other-card": "And __count__ other card",
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"admin-announcement-title": "Съобщение от администратора",
|
||||
"all-boards": "Всички табла",
|
||||
"and-n-other-card": "И __count__ друга карта",
|
||||
"and-n-other-card_plural": "И __count__ други карти",
|
||||
"apply": "Приложи",
|
||||
"app-is-offline": "Loading, please wait. Refreshing the page will cause data loss. If loading does not work, please check that server has not stopped.",
|
||||
"archive": "Премести во Архива",
|
||||
"archive-all": "Премести всички во Архива",
|
||||
"archive-board": "Премести Таблото во Архива",
|
||||
"archive-card": "Премести Картата во Архива",
|
||||
"archive-list": "Премести Списъка во Архива",
|
||||
"archive-swimlane": "Премести Коридора во Архива",
|
||||
"archive-selection": "Премести избраното во Архива",
|
||||
"archiveBoardPopup-title": "Да преместя ли Таблото во Архива?",
|
||||
"archived-items": "Архива",
|
||||
"archived-boards": "Табла во Архива",
|
||||
"archive": "Премести в Архива",
|
||||
"archive-all": "Премести всички в Архива",
|
||||
"archive-board": "Премести Таблото в Архива",
|
||||
"archive-card": "Премести Картата в Архива",
|
||||
"archive-list": "Премести Списъка в Архива",
|
||||
"archive-swimlane": "Премести Коридора в Архива",
|
||||
"archive-selection": "Премести избраното в Архива",
|
||||
"archiveBoardPopup-title": "Да преместя ли Таблото в Архива?",
|
||||
"archived-items": "Архив",
|
||||
"archived-boards": "Табла в Архива",
|
||||
"restore-board": "Възстанови Таблото",
|
||||
"no-archived-boards": "Няма Табла во Архива.",
|
||||
"archives": "Архива",
|
||||
"no-archived-boards": "Няма Табла в Архива.",
|
||||
"archives": "Архив",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"assign-member": "Възложи на член от екипа",
|
||||
"attached": "прикачен",
|
||||
"attachment": "Прикаченн датотека",
|
||||
"attachment-delete-pop": "Изтриването на прикачен датотека е завинаги. Няма как да бъде възстановен.",
|
||||
"attachmentDeletePopup-title": "Желаете ли да изтриете прикачения датотека?",
|
||||
"attachments": "Прикачени датотеки",
|
||||
"attachment": "Прикаченн файл",
|
||||
"attachment-delete-pop": "Изтриването на прикачен файл е завинаги. Няма как да бъде възстановен.",
|
||||
"attachmentDeletePopup-title": "Желаете ли да изтриете прикачения файл?",
|
||||
"attachments": "Прикачени файлове",
|
||||
"auto-watch": "Автоматично наблюдаване на таблата, когато са създадени",
|
||||
"avatar-too-big": "Аватарът е прекалено голям (максимум 70KB)",
|
||||
"back": "Назад",
|
||||
"board-change-color": "Промени боја",
|
||||
"board-change-color": "Промени цвета",
|
||||
"board-nb-stars": "%s звезди",
|
||||
"board-not-found": "Таблото не е најдено",
|
||||
"board-not-found": "Таблото не е намерено",
|
||||
"board-private-info": "This board will be <strong>private</strong>.",
|
||||
"board-public-info": "This board will be <strong>public</strong>.",
|
||||
"boardChangeColorPopup-title": "Change Board Background",
|
||||
@@ -126,69 +126,69 @@
|
||||
"boardChangeVisibilityPopup-title": "Change Visibility",
|
||||
"boardChangeWatchPopup-title": "Промени наблюдаването",
|
||||
"boardMenuPopup-title": "Board Settings",
|
||||
"boards": "Табли",
|
||||
"boards": "Табла",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Календар",
|
||||
"board-view-swimlanes": "Коридори",
|
||||
"board-view-lists": "Листи",
|
||||
"board-view-lists": "Списъци",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Откажи",
|
||||
"card-archived": "Тази карта е преместена во Архива.",
|
||||
"board-archived": "Това табло е преместено во Архива.",
|
||||
"cancel": "Cancel",
|
||||
"card-archived": "Тази карта е преместена в Архива.",
|
||||
"board-archived": "Това табло е преместено в Архива.",
|
||||
"card-comments-title": "Тази карта има %s коментар.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "Можете да преместите картата во Архива, за да я премахнете от Таблото и така да запазите активността в него.",
|
||||
"card-delete-suggest-archive": "Можете да преместите картата в Архива, за да я премахнете от Таблото и така да запазите активността в него.",
|
||||
"card-due": "Готова за",
|
||||
"card-due-on": "Готова за",
|
||||
"card-spent": "Изработено време",
|
||||
"card-edit-attachments": "Промени прикачените датотеки",
|
||||
"card-edit-attachments": "Промени прикачените файлове",
|
||||
"card-edit-custom-fields": "Промени собствените полета",
|
||||
"card-edit-labels": "Промени етикетите",
|
||||
"card-edit-members": "Промени членовете",
|
||||
"card-labels-title": "Промени етикетите за картата.",
|
||||
"card-members-title": "Добави или премахни членове на Таблото от тази карта.",
|
||||
"card-start": "Започнува",
|
||||
"card-start-on": "Започнува на",
|
||||
"card-start": "Начало",
|
||||
"card-start-on": "Започва на",
|
||||
"cardAttachmentsPopup-title": "Прикачи от",
|
||||
"cardCustomField-datePopup-title": "Промени датата",
|
||||
"cardCustomFieldsPopup-title": "Промени собствените полета",
|
||||
"cardDeletePopup-title": "Желаете да изтриете картата?",
|
||||
"cardDetailsActionsPopup-title": "Опции",
|
||||
"cardLabelsPopup-title": "Етикети",
|
||||
"cardMembersPopup-title": "Членови",
|
||||
"cardMorePopup-title": "Повеќе",
|
||||
"cardMembersPopup-title": "Членове",
|
||||
"cardMorePopup-title": "Още",
|
||||
"cardTemplatePopup-title": "Create template",
|
||||
"cards": "Картички",
|
||||
"cards-count": "Картички",
|
||||
"cards": "Карти",
|
||||
"cards-count": "Карти",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"cardType-card": "Карта",
|
||||
"cardType-linkedCard": "Поврзана карта",
|
||||
"cardType-linkedCard": "Свързана карта",
|
||||
"cardType-linkedBoard": "Свързано табло",
|
||||
"change": "Промени",
|
||||
"change-avatar": "Промени аватара",
|
||||
"change-password": "Промени лозинка",
|
||||
"change-permissions": "Промени права",
|
||||
"change-settings": "Промени параметри",
|
||||
"changeAvatarPopup-title": "Промени аватар",
|
||||
"changeLanguagePopup-title": "Промени јазик",
|
||||
"changePasswordPopup-title": "Промени лозинка",
|
||||
"changePermissionsPopup-title": "Промени права",
|
||||
"changeSettingsPopup-title": "Промени параметри",
|
||||
"change-password": "Промени паролата",
|
||||
"change-permissions": "Промени правата",
|
||||
"change-settings": "Промени настройките",
|
||||
"changeAvatarPopup-title": "Промени аватара",
|
||||
"changeLanguagePopup-title": "Промени езика",
|
||||
"changePasswordPopup-title": "Промени паролата",
|
||||
"changePermissionsPopup-title": "Промени правата",
|
||||
"changeSettingsPopup-title": "Промяна на настройките",
|
||||
"subtasks": "Подзадачи",
|
||||
"checklists": "Списъци със задачи",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Натиснете, за да премахнете това табло от любими.",
|
||||
"clipboard": "Клипборда или с драг & дроп",
|
||||
"close": "Затвори",
|
||||
"close-board": "Затвори Табла",
|
||||
"close-board-pop": "Ще можете да възстановите Таблото като натиснете на бутона \"Архива\" в началото на хедъра.",
|
||||
"color-black": "црно",
|
||||
"color-blue": "сино",
|
||||
"close-board": "Затвори Таблото",
|
||||
"close-board-pop": "Ще можете да възстановите Таблото като натиснете на бутона \"Архив\" в началото на хедъра.",
|
||||
"color-black": "черно",
|
||||
"color-blue": "синьо",
|
||||
"color-crimson": "crimson",
|
||||
"color-darkgreen": "darkgreen",
|
||||
"color-gold": "златно",
|
||||
"color-gray": "сиво",
|
||||
"color-gold": "gold",
|
||||
"color-gray": "gray",
|
||||
"color-green": "зелено",
|
||||
"color-indigo": "indigo",
|
||||
"color-lime": "лайм",
|
||||
@@ -209,28 +209,28 @@
|
||||
"color-white": "бяло",
|
||||
"color-yellow": "жълто",
|
||||
"unset-color": "Unset",
|
||||
"comment": "Коментирај",
|
||||
"comment": "Коментирай",
|
||||
"comment-placeholder": "Напиши коментар",
|
||||
"comment-only": "Само коментари",
|
||||
"comment-only": "Само коментар",
|
||||
"comment-only-desc": "Може да коментира само в карти.",
|
||||
"no-comments": "Нема коментари",
|
||||
"no-comments": "Няма коментари",
|
||||
"no-comments-desc": "Can not see comments and activities.",
|
||||
"computer": "Компјутер",
|
||||
"confirm-subtask-delete-dialog": "Сигурен ли сте, дека сакате да изтриете подзадачата?",
|
||||
"confirm-checklist-delete-dialog": "Сигурни ли сте, дека сакате да изтриете този чеклист?",
|
||||
"computer": "Компютър",
|
||||
"confirm-subtask-delete-dialog": "Сигурен ли сте, че искате да изтриете подзадачата?",
|
||||
"confirm-checklist-delete-dialog": "Сигурни ли сте, че искате да изтриете този чеклист?",
|
||||
"copy-card-link-to-clipboard": "Копирай връзката на картата в клипборда",
|
||||
"linkCardPopup-title": "Поврзи картичка",
|
||||
"searchElementPopup-title": "Барај",
|
||||
"copyCardPopup-title": "Копирај картичка",
|
||||
"linkCardPopup-title": "Свържи картата",
|
||||
"searchElementPopup-title": "Търсене",
|
||||
"copyCardPopup-title": "Копирай картата",
|
||||
"copyChecklistToManyCardsPopup-title": "Копирай чеклисти в други карти",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
|
||||
"create": "Креирај",
|
||||
"createBoardPopup-title": "Креирај Табло",
|
||||
"create": "Създай",
|
||||
"createBoardPopup-title": "Създай Табло",
|
||||
"chooseBoardSourcePopup-title": "Импортирай Табло",
|
||||
"createLabelPopup-title": "Креирај Табло",
|
||||
"createCustomField": "Креирај Поле",
|
||||
"createCustomFieldPopup-title": "Креирај Поле",
|
||||
"createLabelPopup-title": "Създай Табло",
|
||||
"createCustomField": "Създай Поле",
|
||||
"createCustomFieldPopup-title": "Създай Поле",
|
||||
"current": "сегашен",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Чекбокс",
|
||||
@@ -240,13 +240,13 @@
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Број",
|
||||
"custom-field-number": "Номер",
|
||||
"custom-field-text": "Текст",
|
||||
"custom-fields": "Собствени полета",
|
||||
"date": "Дата",
|
||||
"decline": "Откажи",
|
||||
"decline": "Отказ",
|
||||
"default-avatar": "Основен аватар",
|
||||
"delete": "Избриши",
|
||||
"delete": "Изтрий",
|
||||
"deleteCustomFieldPopup-title": "Изтриване на Собственото поле?",
|
||||
"deleteLabelPopup-title": "Желаете да изтриете етикета?",
|
||||
"description": "Описание",
|
||||
@@ -272,8 +272,8 @@
|
||||
"email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.",
|
||||
"email-fail": "Неуспешно изпращане на имейла",
|
||||
"email-fail-text": "Възникна грешка при изпращането на имейла",
|
||||
"email-invalid": "Невалиден е-маил",
|
||||
"email-invite": "Покани чрез е-маил",
|
||||
"email-invalid": "Невалиден имейл",
|
||||
"email-invite": "Покани чрез имейл",
|
||||
"email-invite-subject": "__inviter__ sent you an invitation",
|
||||
"email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaborations.\n\nPlease follow the link below:\n\n__url__\n\nThanks.",
|
||||
"email-resetPassword-subject": "Reset your password on __siteName__",
|
||||
@@ -294,7 +294,7 @@
|
||||
"error-username-taken": "Това потребителско име е вече заето",
|
||||
"error-email-taken": "Имейлът е вече зает",
|
||||
"export-board": "Експортиране на Табло",
|
||||
"filter": "Филтер",
|
||||
"filter": "Филтър",
|
||||
"filter-cards": "Филтрирай картите",
|
||||
"filter-clear": "Премахване на филтрите",
|
||||
"filter-no-label": "без етикет",
|
||||
@@ -303,15 +303,15 @@
|
||||
"filter-on": "Има приложени филтри",
|
||||
"filter-on-desc": "В момента филтрирате картите в това табло. Моля, натиснете тук, за да промените филтъра.",
|
||||
"filter-to-selection": "Филтрирай избраните",
|
||||
"advanced-filter-label": "Напреден филтер",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Име",
|
||||
"header-logo-title": "Назад към страницата с Вашите табла.",
|
||||
"hide-system-messages": "Скриване на системните съобщения",
|
||||
"headerBarCreateBoardPopup-title": "Креирај Табло",
|
||||
"home": "Почетна",
|
||||
"headerBarCreateBoardPopup-title": "Създай Табло",
|
||||
"home": "Начало",
|
||||
"import": "Импорт",
|
||||
"link": "Врска",
|
||||
"link": "Връзка",
|
||||
"import-board": "Импортирай Табло",
|
||||
"import-board-c": "Импортирай Табло",
|
||||
"import-board-title-trello": "Импорт на табло от Trello",
|
||||
@@ -337,7 +337,7 @@
|
||||
"joined": "присъедини",
|
||||
"just-invited": "Бяхте поканени в това табло",
|
||||
"keyboard-shortcuts": "Преки пътища с клавиатурата",
|
||||
"label-create": "Креирај етикет",
|
||||
"label-create": "Създай етикет",
|
||||
"label-default": "%s етикет (по подразбиране)",
|
||||
"label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.",
|
||||
"labels": "Етикети",
|
||||
@@ -347,8 +347,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Връзка към тази карта",
|
||||
"list-archive-cards": "Премести всички карти от този списък во Архива",
|
||||
"list-archive-cards-pop": "Това ще премахне всички карти от този Списък от Таблото. За да видите картите во Архива и да ги върнете натиснете на \"Меню\" > \"Архива\".",
|
||||
"list-archive-cards": "Премести всички карти от този списък в Архива",
|
||||
"list-archive-cards-pop": "Това ще премахне всички карти от този Списък от Таблото. За да видите картите в Архива и да ги върнете натиснете на \"Меню\" > \"Архив\".",
|
||||
"list-move-cards": "Премести всички карти в този списък",
|
||||
"list-select-cards": "Избери всички карти в този списък",
|
||||
"set-color-list": "Set Color",
|
||||
@@ -359,7 +359,7 @@
|
||||
"listMorePopup-title": "Още",
|
||||
"link-list": "Връзка към този списък",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "Можете да преместите списъка во Архива, за да го премахнете от Таблото и така да запазите активността в него.",
|
||||
"list-delete-suggest-archive": "Можете да преместите списъка в Архива, за да го премахнете от Таблото и така да запазите активността в него.",
|
||||
"lists": "Списъци",
|
||||
"swimlanes": "Коридори",
|
||||
"log-out": "Изход",
|
||||
@@ -379,9 +379,9 @@
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "Моите табла",
|
||||
"name": "Име",
|
||||
"no-archived-cards": "Няма карти во Архива.",
|
||||
"no-archived-lists": "Няма списъци во Архива.",
|
||||
"no-archived-swimlanes": "Няма коридори во Архива.",
|
||||
"no-archived-cards": "Няма карти в Архива.",
|
||||
"no-archived-lists": "Няма списъци в Архива.",
|
||||
"no-archived-swimlanes": "Няма коридори в Архива.",
|
||||
"no-results": "No results",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Can view and edit cards. Can't change settings.",
|
||||
@@ -401,7 +401,7 @@
|
||||
"private": "Private",
|
||||
"private-desc": "This board is private. Only people added to the board can view and edit it.",
|
||||
"profile": "Профил",
|
||||
"public": "Јавна",
|
||||
"public": "Public",
|
||||
"public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.",
|
||||
"quick-access-description": "Star a board to add a shortcut in this bar.",
|
||||
"remove-cover": "Remove Cover",
|
||||
@@ -461,7 +461,7 @@
|
||||
"uploaded-avatar": "Качихте аватар",
|
||||
"username": "Потребителско име",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "внимание: тази карта е в списък во Архива",
|
||||
"warn-list-archived": "внимание: тази карта е в списък в Архива",
|
||||
"watch": "Наблюдавай",
|
||||
"watching": "Наблюдава",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
@@ -494,12 +494,12 @@
|
||||
"smtp-password": "Парола",
|
||||
"smtp-tls": "TLS поддръжка",
|
||||
"send-from": "От",
|
||||
"send-smtp-test": "Изпрати тестов е-маил на себе си",
|
||||
"send-smtp-test": "Изпрати тестов имейл на себе си",
|
||||
"invitation-code": "Invitation Code",
|
||||
"email-invite-register-subject": "__inviter__ sent you an invitation",
|
||||
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to kanban board for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
|
||||
"email-smtp-test-subject": "SMTP Test Email",
|
||||
"email-smtp-test-text": "Успешно изпратихте е-маил",
|
||||
"email-smtp-test-text": "Успешно изпратихте имейл",
|
||||
"error-invitation-code-not-exist": "Invitation code doesn't exist",
|
||||
"error-notAuthorized": "You are not authorized to view this page.",
|
||||
"outgoing-webhooks": "Outgoing Webhooks",
|
||||
@@ -567,10 +567,10 @@
|
||||
"no-parent": "Не показвай източника",
|
||||
"activity-added-label": "добави етикет '%s' към %s",
|
||||
"activity-removed-label": "премахна етикет '%s' от %s",
|
||||
"activity-delete-attach": "изтри прикачен датотека от %s",
|
||||
"activity-delete-attach": "изтри прикачен файл от %s",
|
||||
"activity-added-label-card": "добави етикет '%s'",
|
||||
"activity-removed-label-card": "премахна етикет '%s'",
|
||||
"activity-delete-attach-card": "изтри прикачения датотека",
|
||||
"activity-delete-attach-card": "изтри прикачения файл",
|
||||
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
|
||||
"activity-unset-customfield": "unset custom field '%s' in %s",
|
||||
"r-rule": "Правило",
|
||||
@@ -592,7 +592,7 @@
|
||||
"set-filter": "Set Filter",
|
||||
"r-moved-to": "Moved to",
|
||||
"r-moved-from": "Moved from",
|
||||
"r-archived": "Преместено во Архива",
|
||||
"r-archived": "Преместено в Архива",
|
||||
"r-unarchived": "Възстановено от Архива",
|
||||
"r-a-card": "карта",
|
||||
"r-when-a-label-is": "When a label is",
|
||||
@@ -614,7 +614,7 @@
|
||||
"r-top-of": "началото на",
|
||||
"r-bottom-of": "края на",
|
||||
"r-its-list": "списъка й",
|
||||
"r-archive": "Премести во Архива",
|
||||
"r-archive": "Премести в Архива",
|
||||
"r-unarchive": "Възстанови от Архива",
|
||||
"r-card": "карта",
|
||||
"r-add": "Добави",
|
||||
@@ -643,7 +643,7 @@
|
||||
"r-d-send-email-to": "to",
|
||||
"r-d-send-email-subject": "subject",
|
||||
"r-d-send-email-message": "message",
|
||||
"r-d-archive": "Премести картата во Архива",
|
||||
"r-d-archive": "Премести картата в Архива",
|
||||
"r-d-unarchive": "Възстанови картата от Архива",
|
||||
"r-d-add-label": "Add label",
|
||||
"r-d-remove-label": "Remove label",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+5
-12
@@ -18,7 +18,7 @@
|
||||
"act-uncompleteChecklist": "Wycofano ukończenie wykonania listy __checklist__ na karcie __card__ na liście __list__ na diagramie czynności__ na tablicy __board__",
|
||||
"act-addComment": "Dodano komentarz na karcie __card__: __comment__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-createBoard": "Utworzono tablicę __board__",
|
||||
"act-createSwimlane": "utworzono diagram czynności __swimlane__ na tablicy __board__",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createCard": "Utworzono kartę __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-createCustomField": "Utworzono niestandardowe pole __customField__ na karcie __card__ na liście __list__ na diagramie czynności__ na tablicy __board__",
|
||||
"act-createList": "Dodano listę __list__ do tablicy __board__",
|
||||
@@ -31,7 +31,7 @@
|
||||
"act-importCard": "Zaimportowano kartę __card__ do listy __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-importList": "Zaimportowano listę __list__ na diagram czynności __swimlane__ do tablicy __board__",
|
||||
"act-joinMember": "Dodano użytkownika __member__ do karty __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-moveCard": "przeniesiono kartę __card__ na tablicy __board__ z listy __oldList__ na diagramie czynności __oldSwimlane__ na listę __list__ na diagramie czynności __swimlane__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "Przeniesiono kartę __card__ z listy __oldList__ na diagramie czynności __oldSwimlane__ na tablicy __oldBoard__ do listy __listy__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-removeBoardMember": "Usunięto użytkownika __member__ z tablicy __board__",
|
||||
"act-restoredCard": "Przywrócono kartę __card__ na listę __list__ na diagram czynności__ na tablicy __board__",
|
||||
@@ -571,8 +571,8 @@
|
||||
"activity-added-label-card": "dodał(a) etykietę '%s'",
|
||||
"activity-removed-label-card": "usunięto etykietę '%s'",
|
||||
"activity-delete-attach-card": "usunięto załącznik",
|
||||
"activity-set-customfield": "ustawiono niestandardowe pole '%s' do '%s' na '%s'",
|
||||
"activity-unset-customfield": "wyczyszczono niestandardowe pole '%s' na '%s'",
|
||||
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
|
||||
"activity-unset-customfield": "unset custom field '%s' in %s",
|
||||
"r-rule": "Reguła",
|
||||
"r-add-trigger": "Dodaj przełącznik",
|
||||
"r-add-action": "Dodaj czynność",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Coś poszło nie tak",
|
||||
"error-ldap-login": "Wystąpił błąd w trakcie logowania",
|
||||
"display-authentication-method": "Wyświetl metodę logowania",
|
||||
"default-authentication-method": "Domyślna metoda logowania",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Domyślna metoda logowania"
|
||||
}
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Algo deu errado",
|
||||
"error-ldap-login": "Um erro ocorreu enquanto tentava entrar",
|
||||
"display-authentication-method": "Mostrar Método de Autenticação",
|
||||
"default-authentication-method": "Método de Autenticação Padrão",
|
||||
"duplicate-board": "Duplicar Quadro",
|
||||
"people-number": "O número de pessoas é:",
|
||||
"swimlaneDeletePopup-title": "Excluir Raia?",
|
||||
"swimlane-delete-pop": "Todas as ações serão excluídas da lista de atividades e você não poderá recuperar a raia. Não há como desfazer.",
|
||||
"restore-all": "Restaurar tudo",
|
||||
"delete-all": "Excluir tudo",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Método de Autenticação Padrão"
|
||||
}
|
||||
+641
-648
File diff suppressed because it is too large.
Load diff
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+6
-13
@@ -18,7 +18,7 @@
|
||||
"act-uncompleteChecklist": "вновь открыл контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addComment": "написал в карточке __card__: __comment__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-createBoard": "создал доску __board__",
|
||||
"act-createSwimlane": "создал дорожку __swimlane__ на доске __board__",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createCard": "создал карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-createCustomField": "создал поле __customField__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__\n",
|
||||
"act-createList": "добавил список __list__ на доску __board__",
|
||||
@@ -137,7 +137,7 @@
|
||||
"board-archived": "Эта доска перемещена в архив.",
|
||||
"card-comments-title": "Комментарии (%s)",
|
||||
"card-delete-notice": "Это действие невозможно будет отменить. Все изменения, которые вы вносили в карточку будут потеряны.",
|
||||
"card-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете заново открыть карточку. Действие необратимо",
|
||||
"card-delete-pop": "Все действия будут удалены из ленты активности участников и вы не сможете заново открыть карточку. Действие необратимо",
|
||||
"card-delete-suggest-archive": "Вы можете переместить карточку в архив, чтобы убрать ее с доски, сохранив всю историю действий участников.",
|
||||
"card-due": "Выполнить к",
|
||||
"card-due-on": "Выполнить до",
|
||||
@@ -148,7 +148,7 @@
|
||||
"card-edit-members": "Изменить участников",
|
||||
"card-labels-title": "Изменить метки для этой карточки.",
|
||||
"card-members-title": "Добавить или удалить с карточки участников доски.",
|
||||
"card-start": "В работе с",
|
||||
"card-start": "Дата начала",
|
||||
"card-start-on": "Начнётся с",
|
||||
"cardAttachmentsPopup-title": "Прикрепить из",
|
||||
"cardCustomField-datePopup-title": "Изменить дату",
|
||||
@@ -358,7 +358,7 @@
|
||||
"listImportCardPopup-title": "Импортировать Trello карточку",
|
||||
"listMorePopup-title": "Поделиться",
|
||||
"link-list": "Ссылка на список",
|
||||
"list-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете восстановить список. Данное действие необратимо.",
|
||||
"list-delete-pop": "Все действия будут удалены из ленты активности участников и вы не сможете восстановить список. Данное действие необратимо.",
|
||||
"list-delete-suggest-archive": "Вы можете отправить список в Архив, чтобы убрать его с доски и при этом сохранить результаты.",
|
||||
"lists": "Списки",
|
||||
"swimlanes": "Дорожки",
|
||||
@@ -534,7 +534,7 @@
|
||||
"active": "Действующий",
|
||||
"card-received": "Получено",
|
||||
"card-received-on": "Получено с",
|
||||
"card-end": "Завершено",
|
||||
"card-end": "Дата окончания",
|
||||
"card-end-on": "Завершится до",
|
||||
"editCardReceivedDatePopup-title": "Изменить дату получения",
|
||||
"editCardEndDatePopup-title": "Изменить дату завершения",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Что-то пошло не так",
|
||||
"error-ldap-login": "Ошибка при попытке авторизации",
|
||||
"display-authentication-method": "Показывать способ авторизации",
|
||||
"default-authentication-method": "Способ авторизации по умолчанию",
|
||||
"duplicate-board": "Клонировать доску",
|
||||
"people-number": "Количество человек:",
|
||||
"swimlaneDeletePopup-title": "Удалить дорожку?",
|
||||
"swimlane-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете восстановить дорожку. Данное действие необратимо.",
|
||||
"restore-all": "Восстановить все",
|
||||
"delete-all": "Удалить все",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Способ авторизации по умолчанию"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+3
-10
@@ -18,7 +18,7 @@
|
||||
"act-uncompleteChecklist": "ofullbordade checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-addComment": "kommenterade på kort __card__: __comment__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-createBoard": "skapade tavla __board__",
|
||||
"act-createSwimlane": "skapade simbana __swimlane__ till tavla __board__",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createCard": "skapade kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-createCustomField": "skapade anpassat fält __customField__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-createList": "la till lista __list__ på tavla __board__",
|
||||
@@ -31,7 +31,7 @@
|
||||
"act-importCard": "importerade kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-importList": "importerade lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-joinMember": "la till medlem __member__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-moveCard": "flyttade kort __card__ på tavla __board__ från lista __oldList__ i sambana __oldSwimlane__ till lista list __list__ i simbana __swimlane__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "flyttade kort __card__ från lista __oldList__ i simbana __oldSwimlane__ på tavla __oldBoard__ till lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-removeBoardMember": "borttagen medlem __member__ från tavla __board__",
|
||||
"act-restoredCard": "återställde kort __card__ till lista __lis__ i simbana __swimlane__ på tavla __board__",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Något gick fel",
|
||||
"error-ldap-login": "Ett fel uppstod när du försökte logga in",
|
||||
"display-authentication-method": "Visa autentiseringsmetod",
|
||||
"default-authentication-method": "Standard autentiseringsmetod",
|
||||
"duplicate-board": "Dubbletttavla",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Standard autentiseringsmetod"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+8
-15
@@ -17,17 +17,17 @@
|
||||
"act-completeChecklist": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-uncompleteChecklist": "uncompleted checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-addComment": "commented on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createBoard": "__board__ panosu oluşturuldu",
|
||||
"act-createSwimlane": "__board__ panosuna __swimlane__ kulvarı oluşturuldu",
|
||||
"act-createCard": "__board__ panosunun __swimlane__ kulvarının __list__ listesinin __card__ kartı oluşturuldu",
|
||||
"act-createBoard": "created board __board__",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createCard": "created card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createCustomField": "created custom field __customField__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createList": "added list __list__ to board __board__",
|
||||
"act-addBoardMember": "__board__ panosuna __member__ kullanıcısı eklendi",
|
||||
"act-archivedBoard": "__board__ panosu Arşiv'e taşındı",
|
||||
"act-addBoardMember": "added member __member__ to board __board__",
|
||||
"act-archivedBoard": "Board __board__ moved to Archive",
|
||||
"act-archivedCard": "Card __card__ at list __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
|
||||
"act-archivedList": "List __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
|
||||
"act-archivedSwimlane": "Swimlane __swimlane__ at board __board__ moved to Archive",
|
||||
"act-importBoard": "__board__ panosu içeriye aktarıldı",
|
||||
"act-importBoard": "imported board __board__",
|
||||
"act-importCard": "imported card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-importList": "imported list __list__ to swimlane __swimlane__ at board __board__",
|
||||
"act-joinMember": "added member __member__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
@@ -125,7 +125,7 @@
|
||||
"boardChangeTitlePopup-title": "Panonun Adını Değiştir",
|
||||
"boardChangeVisibilityPopup-title": "Görünebilirliği Değiştir",
|
||||
"boardChangeWatchPopup-title": "İzleme Durumunu Değiştir",
|
||||
"boardMenuPopup-title": "Pano Ayarları",
|
||||
"boardMenuPopup-title": "Board Settings",
|
||||
"boards": "Panolar",
|
||||
"board-view": "Pano Görünümü",
|
||||
"board-view-cal": "Takvim",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Bir şeyler yanlış gitti",
|
||||
"error-ldap-login": "Giriş yapmaya çalışırken bir hata oluştu",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Kulvar silinsin mi?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Hepsini sil",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+1
-8
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
+5
-12
@@ -18,11 +18,11 @@
|
||||
"act-uncompleteChecklist": "看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中的清单 __checklist__ 未完成",
|
||||
"act-addComment": "对看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 发表了评论: __comment__ ",
|
||||
"act-createBoard": "创建看板 __board__",
|
||||
"act-createSwimlane": "创建泳道 __swimlane__ 到看板 __board__",
|
||||
"act-createCard": "在看板 __board__ 的泳道 __swimlane__ 的列表 __list__ 中添加卡片 __card__",
|
||||
"act-createCustomField": "在看板 __board__ 泳道 __swimlane__ 列表 __list__ 卡片 __card__ 中创建自定义字段 __customField__",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createCard": "created card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createCustomField": "created custom field __customField__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createList": "添加列表 __list__ 至看板 __board__",
|
||||
"act-addBoardMember": "添加成员 __member__ 到看板 __board__",
|
||||
"act-addBoardMember": "added member __member__ to board __board__",
|
||||
"act-archivedBoard": "看板 __board__ 已被移入归档",
|
||||
"act-archivedCard": "Card __card__ at list __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
|
||||
"act-archivedList": "看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 已被移入归档",
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "出了点问题",
|
||||
"error-ldap-login": "尝试登陆时出错",
|
||||
"display-authentication-method": "显示认证方式",
|
||||
"default-authentication-method": "缺省认证方式",
|
||||
"duplicate-board": "复制看板",
|
||||
"people-number": "人数是:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "缺省认证方式"
|
||||
}
|
||||
@@ -682,12 +682,5 @@
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait."
|
||||
"default-authentication-method": "Default Authentication Method"
|
||||
}
|
||||
@@ -72,8 +72,6 @@ if (Meteor.isServer) {
|
||||
attachmentId: doc._id,
|
||||
boardId: doc.boardId,
|
||||
cardId: doc.cardId,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
} else {
|
||||
// Don't add activity about adding the attachment as the activity
|
||||
@@ -98,8 +96,6 @@ if (Meteor.isServer) {
|
||||
activityType: 'deleteAttachment',
|
||||
boardId: doc.boardId,
|
||||
cardId: doc.cardId,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -803,13 +803,6 @@ Boards.mutations({
|
||||
},
|
||||
});
|
||||
|
||||
function boardRemover(userId, doc) {
|
||||
[Cards, Lists, Swimlanes, Integrations, Rules, Activities].forEach((element) => {
|
||||
element.remove({ boardId: doc._id });
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if (Meteor.isServer) {
|
||||
Boards.allow({
|
||||
insert: Meteor.userId,
|
||||
@@ -973,18 +966,6 @@ if (Meteor.isServer) {
|
||||
}
|
||||
});
|
||||
|
||||
Boards.before.remove((userId, doc) => {
|
||||
boardRemover(userId, doc);
|
||||
// Add removeBoard activity to keep it
|
||||
Activities.insert({
|
||||
userId,
|
||||
type: 'board',
|
||||
activityTypeId: doc._id,
|
||||
activityType: 'removeBoard',
|
||||
boardId: doc._id,
|
||||
});
|
||||
});
|
||||
|
||||
// Add a new activity if we add or remove a member to the board
|
||||
Boards.after.update((userId, doc, fieldNames, modifier) => {
|
||||
if (!_.contains(fieldNames, 'members')) {
|
||||
|
||||
@@ -87,8 +87,6 @@ function commentCreation(userId, doc){
|
||||
boardId: doc.boardId,
|
||||
cardId: doc.cardId,
|
||||
commentId: doc._id,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+2
-15
@@ -1338,7 +1338,6 @@ function cardMove(userId, doc, fieldNames, oldListId, oldSwimlaneId, oldBoardId)
|
||||
listId: doc.listId,
|
||||
boardId: doc.boardId,
|
||||
cardId: doc._id,
|
||||
cardTitle:doc.title,
|
||||
swimlaneName: Swimlanes.findOne(doc.swimlaneId).title,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
oldSwimlaneId,
|
||||
@@ -1356,7 +1355,6 @@ function cardState(userId, doc, fieldNames) {
|
||||
boardId: doc.boardId,
|
||||
listId: doc.listId,
|
||||
cardId: doc._id,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
} else {
|
||||
Activities.insert({
|
||||
@@ -1366,7 +1364,6 @@ function cardState(userId, doc, fieldNames) {
|
||||
listName: Lists.findOne(doc.listId).title,
|
||||
listId: doc.listId,
|
||||
cardId: doc._id,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1387,9 +1384,6 @@ function cardMembers(userId, doc, fieldNames, modifier) {
|
||||
activityType: 'joinMember',
|
||||
boardId: doc.boardId,
|
||||
cardId: doc._id,
|
||||
memberId,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1406,9 +1400,6 @@ function cardMembers(userId, doc, fieldNames, modifier) {
|
||||
activityType: 'unjoinMember',
|
||||
boardId: doc.boardId,
|
||||
cardId: doc._id,
|
||||
memberId,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1428,8 +1419,6 @@ function cardLabels(userId, doc, fieldNames, modifier) {
|
||||
activityType: 'addedLabel',
|
||||
boardId: doc.boardId,
|
||||
cardId: doc._id,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
};
|
||||
Activities.insert(act);
|
||||
}
|
||||
@@ -1446,8 +1435,6 @@ function cardLabels(userId, doc, fieldNames, modifier) {
|
||||
activityType: 'removedLabel',
|
||||
boardId: doc.boardId,
|
||||
cardId: doc._id,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -1518,7 +1505,7 @@ function cardCreation(userId, doc) {
|
||||
}
|
||||
|
||||
function cardRemover(userId, doc) {
|
||||
ChecklistItems.remove({
|
||||
Activities.remove({
|
||||
cardId: doc._id,
|
||||
});
|
||||
Checklists.remove({
|
||||
@@ -1583,7 +1570,7 @@ if (Meteor.isServer) {
|
||||
|
||||
// Remove all activities associated with a card if we remove the card
|
||||
// Remove also card_comments / checklists / attachments
|
||||
Cards.before.remove((userId, doc) => {
|
||||
Cards.after.remove((userId, doc) => {
|
||||
cardRemover(userId, doc);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -95,8 +95,6 @@ function itemCreation(userId, doc) {
|
||||
checklistId: doc.checklistId,
|
||||
checklistItemId: doc._id,
|
||||
checklistItemName:doc.title,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -123,8 +121,6 @@ function publishCheckActivity(userId, doc){
|
||||
checklistId: doc.checklistId,
|
||||
checklistItemId: doc._id,
|
||||
checklistItemName:doc.title,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
};
|
||||
Activities.insert(act);
|
||||
}
|
||||
@@ -142,8 +138,6 @@ function publishChekListCompleted(userId, doc){
|
||||
boardId,
|
||||
checklistId: doc.checklistId,
|
||||
checklistName: checkList.title,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
};
|
||||
Activities.insert(act);
|
||||
}
|
||||
@@ -175,8 +169,6 @@ function publishChekListUncompleted(userId, doc){
|
||||
boardId,
|
||||
checklistId: doc.checklistId,
|
||||
checklistName: checkList.title,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
};
|
||||
Activities.insert(act);
|
||||
}
|
||||
@@ -215,8 +207,6 @@ if (Meteor.isServer) {
|
||||
checklistId: doc.checklistId,
|
||||
checklistItemId: doc._id,
|
||||
checklistItemName:doc.title,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -135,8 +135,6 @@ if (Meteor.isServer) {
|
||||
boardId: Cards.findOne(doc.cardId).boardId,
|
||||
checklistId: doc._id,
|
||||
checklistName:doc.title,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
});
|
||||
|
||||
@@ -154,9 +152,9 @@ if (Meteor.isServer) {
|
||||
boardId: Cards.findOne(doc.cardId).boardId,
|
||||
checklistId: doc._id,
|
||||
checklistName:doc.title,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+16
-9
@@ -6,27 +6,34 @@ if (Meteor.isServer) {
|
||||
// `ApiRoutes.path('boards/export', boardId)``
|
||||
// on the client instead of copy/pasting the route path manually between the
|
||||
// client and the server.
|
||||
/*
|
||||
* This route is used to export the board FROM THE APPLICATION.
|
||||
* If user is already logged-in, pass loginToken as param "authToken":
|
||||
* '/api/boards/:boardId/export?authToken=:token'
|
||||
/**
|
||||
* @operation export
|
||||
* @tag Boards
|
||||
*
|
||||
* @summary This route is used to export the board.
|
||||
*
|
||||
* @description If user is already logged-in, pass loginToken as param
|
||||
* "authToken": '/api/boards/:boardId/export?authToken=:token'
|
||||
*
|
||||
* See https://blog.kayla.com.au/server-side-route-authentication-in-meteor/
|
||||
* for detailed explanations
|
||||
*
|
||||
* @param {string} boardId the ID of the board we are exporting
|
||||
* @param {string} authToken the loginToken
|
||||
*/
|
||||
|
||||
|
||||
JsonRoutes.add('get', '/api/boards/:boardId/export', function(req, res) {
|
||||
const boardId = req.params.boardId;
|
||||
let user = null;
|
||||
// todo XXX for real API, first look for token in Authentication: header
|
||||
// then fallback to parameter
|
||||
|
||||
const loginToken = req.query.authToken;
|
||||
if (loginToken) {
|
||||
const hashToken = Accounts._hashLoginToken(loginToken);
|
||||
user = Meteor.users.findOne({
|
||||
'services.resume.loginTokens.hashedToken': hashToken,
|
||||
});
|
||||
} else if (!Meteor.settings.public.sandstorm) {
|
||||
Authentication.checkUserId(req.userId);
|
||||
user = Users.findOne({ _id: req.userId, isAdmin: true });
|
||||
}
|
||||
|
||||
const exporter = new Exporter(boardId);
|
||||
@@ -43,7 +50,7 @@ if (Meteor.isServer) {
|
||||
});
|
||||
}
|
||||
|
||||
export class Exporter {
|
||||
class Exporter {
|
||||
constructor(boardId) {
|
||||
this._boardId = boardId;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
import { TrelloCreator } from './trelloCreator';
|
||||
import { WekanCreator } from './wekanCreator';
|
||||
import {Exporter} from './export';
|
||||
import wekanMembersMapper from './wekanmapper';
|
||||
|
||||
Meteor.methods({
|
||||
importBoard(board, data, importSource, currentBoard) {
|
||||
@@ -29,20 +27,3 @@ Meteor.methods({
|
||||
return creator.create(board, currentBoard);
|
||||
},
|
||||
});
|
||||
|
||||
Meteor.methods({
|
||||
cloneBoard(sourceBoardId, currentBoardId) {
|
||||
check(sourceBoardId, String);
|
||||
check(currentBoardId, Match.Maybe(String));
|
||||
const exporter = new Exporter(sourceBoardId);
|
||||
const data = exporter.build();
|
||||
const addData = {};
|
||||
addData.membersMapping = wekanMembersMapper.getMembersToMap(data);
|
||||
const creator = new WekanCreator(addData);
|
||||
//data.title = `${data.title } - ${ TAPi18n.__('copy-tag')}`;
|
||||
data.title = `${data.title}`;
|
||||
return creator.create(data, currentBoardId);
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@@ -217,10 +217,6 @@ Lists.helpers({
|
||||
isTemplateList() {
|
||||
return this.type === 'template-list';
|
||||
},
|
||||
|
||||
remove() {
|
||||
Lists.remove({ _id: this._id});
|
||||
},
|
||||
});
|
||||
|
||||
Lists.mutations({
|
||||
@@ -314,12 +310,6 @@ if (Meteor.isServer) {
|
||||
});
|
||||
|
||||
Lists.before.remove((userId, doc) => {
|
||||
const cards = Cards.find({ listId: doc._id });
|
||||
if (cards) {
|
||||
cards.forEach((card) => {
|
||||
Cards.remove(card._id);
|
||||
});
|
||||
}
|
||||
Activities.insert({
|
||||
userId,
|
||||
type: 'list',
|
||||
|
||||
+1
-19
@@ -180,10 +180,6 @@ Swimlanes.helpers({
|
||||
const user = Users.findOne(Meteor.userId());
|
||||
return user.profile.boardTemplatesSwimlaneId === this._id;
|
||||
},
|
||||
|
||||
remove() {
|
||||
Swimlanes.remove({ _id: this._id});
|
||||
},
|
||||
});
|
||||
|
||||
Swimlanes.mutations({
|
||||
@@ -238,21 +234,7 @@ if (Meteor.isServer) {
|
||||
});
|
||||
});
|
||||
|
||||
Swimlanes.before.remove(function(userId, doc) {
|
||||
const lists = Lists.find({
|
||||
boardId: doc.boardId,
|
||||
swimlaneId: {$in: [doc._id, '']},
|
||||
archived: false,
|
||||
}, { sort: ['sort'] });
|
||||
|
||||
if (lists.count() < 2) {
|
||||
lists.forEach((list) => {
|
||||
list.remove();
|
||||
});
|
||||
} else {
|
||||
Cards.remove({swimlaneId: doc._id});
|
||||
}
|
||||
|
||||
Swimlanes.before.remove((userId, doc) => {
|
||||
Activities.insert({
|
||||
userId,
|
||||
type: 'swimlane',
|
||||
|
||||
@@ -169,31 +169,6 @@ export class WekanCreator {
|
||||
})]);
|
||||
}
|
||||
|
||||
getMembersToMap(data) {
|
||||
// we will work on the list itself (an ordered array of objects) when a
|
||||
// mapping is done, we add a 'wekan' field to the object representing the
|
||||
// imported member
|
||||
const membersToMap = data.members;
|
||||
const users = data.users;
|
||||
// auto-map based on username
|
||||
membersToMap.forEach((importedMember) => {
|
||||
importedMember.id = importedMember.userId;
|
||||
delete importedMember.userId;
|
||||
const user = users.filter((user) => {
|
||||
return user._id === importedMember.id;
|
||||
})[0];
|
||||
if (user.profile && user.profile.fullname) {
|
||||
importedMember.fullName = user.profile.fullname;
|
||||
}
|
||||
importedMember.username = user.username;
|
||||
const wekanUser = Users.findOne({ username: importedMember.username });
|
||||
if (wekanUser) {
|
||||
importedMember.wekanId = wekanUser._id;
|
||||
}
|
||||
});
|
||||
return membersToMap;
|
||||
}
|
||||
|
||||
checkActions(wekanActions) {
|
||||
// XXX More check based on action type
|
||||
check(wekanActions, [Match.ObjectIncluding({
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
export function getMembersToMap(data) {
|
||||
// we will work on the list itself (an ordered array of objects) when a
|
||||
// mapping is done, we add a 'wekan' field to the object representing the
|
||||
// imported member
|
||||
const membersToMap = data.members;
|
||||
const users = data.users;
|
||||
// auto-map based on username
|
||||
membersToMap.forEach((importedMember) => {
|
||||
importedMember.id = importedMember.userId;
|
||||
delete importedMember.userId;
|
||||
const user = users.filter((user) => {
|
||||
return user._id === importedMember.id;
|
||||
})[0];
|
||||
if (user.profile && user.profile.fullname) {
|
||||
importedMember.fullName = user.profile.fullname;
|
||||
}
|
||||
importedMember.username = user.username;
|
||||
const wekanUser = Users.findOne({ username: importedMember.username });
|
||||
if (wekanUser) {
|
||||
importedMember.wekanId = wekanUser._id;
|
||||
}
|
||||
});
|
||||
return membersToMap;
|
||||
}
|
||||
+5
-5
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v2.65.0",
|
||||
"version": "v2.55.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
@@ -20,12 +20,12 @@
|
||||
},
|
||||
"homepage": "https://wekan.github.io",
|
||||
"devDependencies": {
|
||||
"eslint": "^4.19.1"
|
||||
"eslint": "^5.9.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.1.2",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"bson-ext": "^2.0.0",
|
||||
"@babel/runtime": "^7.2.0",
|
||||
"bcrypt": "^3.0.2",
|
||||
"bson": "^4.0.0",
|
||||
"es6-promise": "^4.2.4",
|
||||
"hoek": "^5.0.4",
|
||||
"meteor-node-stubs": "^0.4.1",
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
.build*
|
||||
*.browserify.js.cached
|
||||
*.browserify.js.map
|
||||
@@ -1,8 +0,0 @@
|
||||
sudo: required
|
||||
language: node_js
|
||||
node_js:
|
||||
- "0.10"
|
||||
before_install:
|
||||
- "curl -L http://git.io/ejPSng | /bin/sh"
|
||||
env:
|
||||
- TEST_COMMAND=meteor
|
||||
@@ -1,155 +0,0 @@
|
||||
# Changelog
|
||||
|
||||
### v2.12.1
|
||||
|
||||
* Add NPM modules back. Fixes: [#602](https://github.com/kadirahq/flow-router/issues/602)
|
||||
|
||||
### v2.12.0
|
||||
|
||||
* Update Fast Render to v2.14.0
|
||||
|
||||
### v2.11.0
|
||||
|
||||
* Add support for Meteor 1.3 RC-1.
|
||||
* Removes browserify and get modules from Meteor 1.3.
|
||||
|
||||
### v2.10.1
|
||||
* Fix the url generation for prefixed paths. See: [#508](https://github.com/kadirahq/flow-router/issues/508)
|
||||
|
||||
### v2.10.0
|
||||
* Update few dependencies to the latest versions: pagejs, qs, cosmos:browserify
|
||||
|
||||
### v2.9.0
|
||||
* Add FlowRouter.url() See: [#374](https://github.com/kadirahq/flow-router/pull/374)
|
||||
|
||||
### v2.8.0
|
||||
* Allow to access options in groups as well. See: [#378](https://github.com/kadirahq/flow-router/pull/378)
|
||||
|
||||
### v2.7.0
|
||||
* Add Path Prefix support. See: [#329](https://github.com/kadirahq/flow-router/pull/329)
|
||||
|
||||
### v2.6.2
|
||||
* Now .current() sends a cloned version of the internal current object. Which prevent outside mutations to params and queryParams
|
||||
|
||||
### v2.6.1
|
||||
|
||||
* Fix [#143](https://github.com/kadirahq/flow-router/issues/314).
|
||||
This says that when we are doing a trigger redirect,
|
||||
We won't get reactive changes like: `getRouteName()`
|
||||
|
||||
### v2.6.0
|
||||
* Add hashbang support. See [#311](https://github.com/kadirahq/flow-router/pull/311)
|
||||
|
||||
### v2.5.0
|
||||
* Add a stop callback on the triggers. See: [#306](https://github.com/kadirahq/flow-router/pull/306).
|
||||
|
||||
### v2.4.0
|
||||
|
||||
* Add a name to the route groups. See: [#290](https://github.com/kadirahq/flow-router/pull/290)
|
||||
|
||||
### v2.3.0
|
||||
* We've used `path` for both the current path and for the pathDef earlier. Now we differentiate it. See: [#272](https://github.com/kadirahq/flow-router/issues/272) and [#273](https://github.com/kadirahq/flow-router/pull/273) for more information.
|
||||
|
||||
### v2.2.0
|
||||
* Add the first addOn api: FlowRouter.onRouteRegister(cb)
|
||||
|
||||
### v2.1.1
|
||||
* There was an issue in IE9 support. We fix it with this version.
|
||||
|
||||
### v2.1.0
|
||||
* Add IE9 Support. See this issue [#111](https://github.com/kadirahq/flow-router/issues/111) for more info.
|
||||
|
||||
### v2.0.2
|
||||
|
||||
* Add missing queryParams object in the subscriptions method (with FR on the server)
|
||||
* With that, [#237](https://github.com/kadirahq/flow-router/issues/237) is partially fixed.
|
||||
|
||||
### v2.0.1
|
||||
|
||||
* Use pagejs.redirect() for our redirection process.
|
||||
* Above fixes [#239](https://github.com/kadirahq/flow-router/issues/239)
|
||||
|
||||
### v2.0.0
|
||||
|
||||
* Released 2.0 :)
|
||||
* Now flow-router comes as `kadira:flow-router`
|
||||
* Remove deprecated APIs
|
||||
- `FlowRouter.reactiveCurrent()`
|
||||
- Middlewares
|
||||
- `FlowRouter.current().params.query`
|
||||
* Follow the [migration guide](https://github.com/kadirahq/flow-router#migrating-into-20) for more information.
|
||||
|
||||
### v1.18.0
|
||||
|
||||
* Implement idempotent routing on withReplaceState. See: [#197](https://github.com/meteorhacks/flow-router/issues/197)
|
||||
* Add an [API](https://github.com/meteorhacks/flow-router#flowrouterwithtrailingslashfn) to set trailing slashes.
|
||||
|
||||
### v1.17.2
|
||||
* Fix [#182](https://github.com/meteorhacks/flow-router/issues/182) - Now trigger's redirect function support `FlowRouter.go()` syntax.
|
||||
|
||||
### v1.17.1
|
||||
|
||||
* Fix [#164](https://github.com/meteorhacks/flow-router/issues/164) - It's an issue when using `check` with flow router query params.
|
||||
* Fix [#168](https://github.com/meteorhacks/flow-router/pull/168) - It's URL encoding issue.
|
||||
|
||||
### v1.17.0
|
||||
|
||||
* Add an API called `FlowRouter.wait()` to wait the initialization and pass it back to the app. Fixes issue [180](https://github.com/meteorhacks/flow-router/issues/180).
|
||||
|
||||
### v1.16.3
|
||||
|
||||
* Fix a crazy context switching issue. For more information see commit [6ca54cc](https://github.com/meteorhacks/flow-router/commit/6ca54cc7969b3a8aa71d63c98c99a20b175125a2)
|
||||
|
||||
### v1.16.2
|
||||
* Fix issue [#167](https://github.com/meteorhacks/flow-router/issues/167) via [#175](https://github.com/meteorhacks/flow-router/pull/175)
|
||||
* Fix [#176](https://github.com/meteorhacks/flow-router/issues/176) by the removal of `Tracker.flush` usage.
|
||||
|
||||
### v1.16.1
|
||||
* Fix [issue](https://github.com/meteorhacks/flow-router/pull/173) of overwriting global triggers when written multiple times.
|
||||
|
||||
### v1.16.0
|
||||
|
||||
* [Refactor](https://github.com/meteorhacks/flow-router/pull/172) triggers API for clean code
|
||||
* Added [redirect](https://github.com/meteorhacks/flow-router#redirecting-with-triggers) functionality for triggers
|
||||
* Now we are API complete for the 2.x release
|
||||
|
||||
### v1.15.0
|
||||
|
||||
* Now all our routes are idempotent.
|
||||
* If some one needs to re-run the route, he needs to use our `FlowRouter.reload()` API.
|
||||
|
||||
### v1.14.1
|
||||
|
||||
* Fix regression came from v1.11.0. With that, `FlowRouter.go("/")` does not work. More information on [#147](https://github.com/meteorhacks/flow-router/issues/147).
|
||||
|
||||
### v1.14.0
|
||||
* Bring browserify back with the updated version of `cosmos:browserify` which fixes some size issues. See [more info](https://github.com/meteorhacks/flow-router/issues/128#issuecomment-109799953).
|
||||
|
||||
### v1.13.0
|
||||
* Remove browserified pagejs and qs dependency loading. With that we could reduce ~10kb of data size (without compression). We can look for a bower integration in the future. For now, here are the dependencies we have.
|
||||
- page@1.6.3: https://github.com/visionmedia/page.js
|
||||
- qs@3.1.0: https://github.com/hapijs/qs
|
||||
|
||||
### v1.12.0
|
||||
* Add [`FlowRouter.withReplaceState`](https://github.com/meteorhacks/flow-router#flowrouterwithreplcaestatefn) api to use replaceState when changing routes via FlowRouter apis.
|
||||
|
||||
### v1.11.0
|
||||
* Fix [#145](https://github.com/meteorhacks/flow-router/issues/145) by changing how safeToRun works.
|
||||
* Add `FlowRouter.path()` to the server side
|
||||
* Fix [#130](https://github.com/meteorhacks/flow-router/issues/130)
|
||||
|
||||
### v1.10.0
|
||||
Add support for [triggers](https://github.com/meteorhacks/flow-router#triggers). This is something similar to middlewares but not as middlewares. Visit [here](https://github.com/meteorhacks/flow-router/pull/59) to learn about design decisions.
|
||||
|
||||
_**Now, middlewares are deprecated.**_
|
||||
|
||||
### v1.9.0
|
||||
Fix [#120](https://github.com/meteorhacks/flow-router/issues/120) and added callback support for `FlowRouter.subsReady()`.
|
||||
|
||||
### v1.8.0
|
||||
|
||||
This release comes with improvements to the reactive API.
|
||||
|
||||
* Fixed [#77](https://github.com/meteorhacks/flow-router/issues/77), [#85](https://github.com/meteorhacks/flow-router/issues/85), [#95](https://github.com/meteorhacks/flow-router/issues/95), [#96](https://github.com/meteorhacks/flow-router/issues/96), [#103](https://github.com/meteorhacks/flow-router/issues/103)
|
||||
* Add a new API called `FlowRouter.watchPathChange()`
|
||||
* Deprecated `FlowRouter.reactiveCurrent()` in the favour of `FlowRouter.watchPathChange()`
|
||||
@@ -1,16 +0,0 @@
|
||||
## Whether to submit an issue or not?
|
||||
|
||||
We've very limited time to answer all the issues and respond them in a proper manner.
|
||||
So, this repo's issue list only used to report **bugs** and **new features.**
|
||||
|
||||
For any other questions, issues or asking for best practices use [Meteor Forums](https://forums.meteor.com/).
|
||||
Even before you ask a question on Meteor Forums, make sure you read the [Meteor Routing Guide](https://kadira.io/academy/meteor-routing-guide).
|
||||
|
||||
## Implementing Feature and Bug Fixes
|
||||
|
||||
We are welcome and greedy for PRs. So,
|
||||
|
||||
* If you wanna fix a bug, simply submit it.
|
||||
* If you wanna implement feature or support with contributions, just drop a message to arunoda [at] kadira.io.
|
||||
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 MeteorHacks Pvt Ltd (Sri Lanka). <hello@meteorhacks.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
Loaded 100 of 462 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user