浏览代码

Merge branch 'edge' into edge

Akuket 6 年之前
父节点
当前提交
50edffee47
共有 67 个文件被更改,包括 543 次插入247 次删除
  1. 1 0
      .meteor/.finished-upgraders
  2. 17 16
      .meteor/packages
  3. 1 1
      .meteor/release
  4. 63 58
      .meteor/versions
  5. 87 4
      CHANGELOG.md
  6. 6 4
      Dockerfile
  7. 3 3
      client/components/main/layouts.js
  8. 1 3
      client/components/rules/ruleDetails.jade
  9. 1 1
      client/components/rules/rulesActions.jade
  10. 1 1
      client/components/rules/rulesTriggers.jade
  11. 1 1
      client/components/settings/connectionMethod.js
  12. 4 4
      client/components/settings/peopleBody.js
  13. 1 0
      client/components/swimlanes/swimlanes.styl
  14. 2 2
      docker-compose.yml
  15. 5 1
      i18n/ar.i18n.json
  16. 5 1
      i18n/bg.i18n.json
  17. 5 1
      i18n/br.i18n.json
  18. 5 1
      i18n/ca.i18n.json
  19. 5 1
      i18n/cs.i18n.json
  20. 7 3
      i18n/de.i18n.json
  21. 5 1
      i18n/el.i18n.json
  22. 5 1
      i18n/en-GB.i18n.json
  23. 3 4
      i18n/en.i18n.json
  24. 5 1
      i18n/eo.i18n.json
  25. 5 1
      i18n/es-AR.i18n.json
  26. 5 1
      i18n/es.i18n.json
  27. 5 1
      i18n/eu.i18n.json
  28. 5 1
      i18n/fa.i18n.json
  29. 5 1
      i18n/fi.i18n.json
  30. 7 3
      i18n/fr.i18n.json
  31. 5 1
      i18n/gl.i18n.json
  32. 5 1
      i18n/he.i18n.json
  33. 5 1
      i18n/hu.i18n.json
  34. 5 1
      i18n/hy.i18n.json
  35. 5 1
      i18n/id.i18n.json
  36. 5 1
      i18n/ig.i18n.json
  37. 44 40
      i18n/it.i18n.json
  38. 5 1
      i18n/ja.i18n.json
  39. 5 1
      i18n/ka.i18n.json
  40. 5 1
      i18n/km.i18n.json
  41. 5 1
      i18n/ko.i18n.json
  42. 5 1
      i18n/lv.i18n.json
  43. 5 1
      i18n/mn.i18n.json
  44. 5 1
      i18n/nb.i18n.json
  45. 5 1
      i18n/nl.i18n.json
  46. 5 1
      i18n/pl.i18n.json
  47. 7 3
      i18n/pt-BR.i18n.json
  48. 5 1
      i18n/pt.i18n.json
  49. 5 1
      i18n/ro.i18n.json
  50. 5 1
      i18n/ru.i18n.json
  51. 5 1
      i18n/sr.i18n.json
  52. 5 1
      i18n/sv.i18n.json
  53. 5 1
      i18n/ta.i18n.json
  54. 5 1
      i18n/th.i18n.json
  55. 5 1
      i18n/tr.i18n.json
  56. 5 1
      i18n/uk.i18n.json
  57. 5 1
      i18n/vi.i18n.json
  58. 41 37
      i18n/zh-CN.i18n.json
  59. 5 1
      i18n/zh-TW.i18n.json
  60. 23 0
      models/cards.js
  61. 4 4
      models/users.js
  62. 3 1
      package.json
  63. 2 2
      sandstorm-pkgdef.capnp
  64. 6 6
      server/migrations.js
  65. 1 1
      server/publications/people.js
  66. 2 2
      snap-src/bin/config
  67. 9 4
      snapcraft.yaml

+ 1 - 0
.meteor/.finished-upgraders

@@ -16,3 +16,4 @@ notices-for-facebook-graph-api-2
 1.4.1-add-shell-server-package
 1.4.1-add-shell-server-package
 1.4.3-split-account-service-packages
 1.4.3-split-account-service-packages
 1.5-add-dynamic-import-package
 1.5-add-dynamic-import-package
+1.7-split-underscore-from-meteor-base

+ 17 - 16
.meteor/packages

@@ -3,17 +3,18 @@
 # 'meteor add' and 'meteor remove' will edit this file for you,
 # 'meteor add' and 'meteor remove' will edit this file for you,
 # but you can also edit it by hand.
 # but you can also edit it by hand.
 
 
-meteor-base@1.2.0
+meteor-base@1.4.0
 
 
 # Build system
 # Build system
-ecmascript
+ecmascript@0.12.0
 stylus@2.513.13
 stylus@2.513.13
-standard-minifier-css@1.3.5
-standard-minifier-js@2.2.0
+standard-minifier-css@1.5.0
+standard-minifier-js@2.4.0
 mquandalle:jade
 mquandalle:jade
+coffeescript@2.3.1_2!
 
 
 # Polyfills
 # Polyfills
-es5-shim@4.6.15
+es5-shim@4.8.0
 
 
 # Collections
 # Collections
 aldeed:collection2
 aldeed:collection2
@@ -23,7 +24,7 @@ dburles:collection-helpers
 idmontie:migrations
 idmontie:migrations
 matb33:collection-hooks
 matb33:collection-hooks
 matteodem:easy-search
 matteodem:easy-search
-mongo@1.3.1
+mongo@1.6.0
 mquandalle:collection-mutations
 mquandalle:collection-mutations
 
 
 # Account system
 # Account system
@@ -34,12 +35,12 @@ useraccounts:flow-routing
 salleman:accounts-oidc
 salleman:accounts-oidc
 
 
 # Utilities
 # Utilities
-check@1.2.5
+check@1.3.1
 jquery@1.11.10
 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.1.8
+tracker@1.2.0
 underscore@1.0.10
 underscore@1.0.10
 3stack:presence
 3stack:presence
 alethes:pages
 alethes:pages
@@ -53,7 +54,7 @@ mquandalle:autofocus
 ongoworks:speakingurl
 ongoworks:speakingurl
 raix:handlebar-helpers
 raix:handlebar-helpers
 tap:i18n
 tap:i18n
-http@1.3.0
+http@1.4.1
 
 
 # UI components
 # UI components
 blaze
 blaze
@@ -70,21 +71,21 @@ templates:tabs
 verron:autosize
 verron:autosize
 simple:json-routes
 simple:json-routes
 rajit:bootstrap3-datepicker
 rajit:bootstrap3-datepicker
-shell-server@0.3.0
+shell-server@0.4.0
 simple:rest-accounts-password
 simple:rest-accounts-password
 useraccounts:core
 useraccounts:core
 email@1.2.3
 email@1.2.3
 horka:swipebox
 horka:swipebox
-dynamic-import@0.2.0
+dynamic-import@0.5.0
 staringatlights:fast-render
 staringatlights:fast-render
 
 
 mixmax:smart-disconnect
 mixmax:smart-disconnect
-accounts-password@1.5.0
+accounts-password@1.5.1
 cfs:gridfs
 cfs:gridfs
 eluck:accounts-lockout
 eluck:accounts-lockout
 rzymek:fullcalendar
 rzymek:fullcalendar
 momentjs:moment@2.22.2
 momentjs:moment@2.22.2
-browser-policy-framing
+browser-policy-framing@1.1.0
 mquandalle:moment
 mquandalle:moment
 msavin:usercache
 msavin:usercache
 wekan:wekan-ldap
 wekan:wekan-ldap

+ 1 - 1
.meteor/release

@@ -1 +1 @@
-METEOR@1.6.0.1
+METEOR@1.8.1-beta.0

+ 63 - 58
.meteor/versions

@@ -1,7 +1,7 @@
 3stack:presence@1.1.2
 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@2.10.0
 aldeed:collection2-core@1.2.0
 aldeed:collection2-core@1.2.0
 aldeed:schema-deny@1.1.0
 aldeed:schema-deny@1.1.0
@@ -11,19 +11,19 @@ alethes:pages@1.8.6
 allow-deny@1.1.0
 allow-deny@1.1.0
 arillo:flow-router-helpers@0.5.2
 arillo:flow-router-helpers@0.5.2
 audit-argument-checks@1.0.7
 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.0
+babel-compiler@7.2.0
+babel-runtime@1.3.0
+base64@1.0.11
+binary-heap@1.0.11
+blaze@2.3.3
 blaze-tools@1.0.10
 blaze-tools@1.0.10
-boilerplate-generator@1.3.1
+boilerplate-generator@1.6.0
 browser-policy-common@1.0.11
 browser-policy-common@1.0.11
 browser-policy-framing@1.1.0
 browser-policy-framing@1.1.0
-caching-compiler@1.1.9
+caching-compiler@1.2.0
 caching-html-compiler@1.1.2
 caching-html-compiler@1.1.2
-callback-hook@1.0.10
+callback-hook@1.1.0
 cfs:access-point@0.1.49
 cfs:access-point@0.1.49
 cfs:base-package@0.0.30
 cfs:base-package@0.0.30
 cfs:collection@0.5.5
 cfs:collection@0.5.5
@@ -41,38 +41,40 @@ cfs:storage-adapter@0.2.3
 cfs:tempstore@0.1.5
 cfs:tempstore@0.1.5
 cfs:upload-http@0.0.20
 cfs:upload-http@0.0.20
 cfs:worker@0.1.4
 cfs:worker@0.1.4
-check@1.2.5
+check@1.3.1
 chuangbo:cookie@1.1.0
 chuangbo:cookie@1.1.0
-coffeescript@1.12.7_3
-coffeescript-compiler@1.12.7_3
+coffeescript@2.3.1_2
+coffeescript-compiler@2.3.1_2
 cottz:publish-relations@2.0.8
 cottz:publish-relations@2.0.8
 dburles:collection-helpers@1.1.0
 dburles:collection-helpers@1.1.0
 ddp@1.4.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-rate-limiter@1.0.7
-ddp-server@2.1.1
+ddp-server@2.2.0
 deps@1.0.12
 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.0
+dynamic-import@0.5.0
+ecmascript@0.12.0
+ecmascript-runtime@0.7.0
+ecmascript-runtime-client@0.8.0
+ecmascript-runtime-server@0.7.1
 ejson@1.1.0
 ejson@1.1.0
 eluck:accounts-lockout@0.9.0
 eluck:accounts-lockout@0.9.0
 email@1.2.3
 email@1.2.3
-es5-shim@4.6.15
+es5-shim@4.8.0
 fastclick@1.0.13
 fastclick@1.0.13
+fetch@0.1.0
 fortawesome:fontawesome@4.7.0
 fortawesome:fontawesome@4.7.0
 geojson-utils@1.0.10
 geojson-utils@1.0.10
 horka:swipebox@1.0.2
 horka:swipebox@1.0.2
 hot-code-push@1.0.4
 hot-code-push@1.0.4
 html-tools@1.0.11
 html-tools@1.0.11
 htmljs@1.0.11
 htmljs@1.0.11
-http@1.3.0
-id-map@1.0.9
+http@1.4.1
+id-map@1.1.0
 idmontie:migrations@1.0.3
 idmontie:migrations@1.0.3
+inter-process-messaging@0.1.0
 jquery@1.11.10
 jquery@1.11.10
 kadira:blaze-layout@2.3.0
 kadira:blaze-layout@2.3.0
 kadira:dochead@1.5.0
 kadira:dochead@1.5.0
@@ -81,12 +83,12 @@ kenton:accounts-sandstorm@0.7.0
 launch-screen@1.1.1
 launch-screen@1.1.1
 livedata@1.0.18
 livedata@1.0.18
 localstorage@1.2.0
 localstorage@1.2.0
-logging@1.1.19
+logging@1.1.20
 matb33:collection-hooks@0.8.4
 matb33:collection-hooks@0.8.4
 matteodem:easy-search@1.6.4
 matteodem:easy-search@1.6.4
 mdg:validation-error@0.5.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
 meteor-platform@1.2.6
 meteorhacks:aggregate@1.3.0
 meteorhacks:aggregate@1.3.0
 meteorhacks:collection-utils@1.2.0
 meteorhacks:collection-utils@1.2.0
@@ -94,18 +96,20 @@ meteorhacks:meteorx@1.4.1
 meteorhacks:picker@1.0.3
 meteorhacks:picker@1.0.3
 meteorhacks:subs-manager@1.6.4
 meteorhacks:subs-manager@1.6.4
 meteorspark:util@0.2.0
 meteorspark:util@0.2.0
-minifier-css@1.2.16
-minifier-js@2.2.2
+minifier-css@1.4.0
+minifier-js@2.4.0
 minifiers@1.1.8-faster-rebuild.0
 minifiers@1.1.8-faster-rebuild.0
-minimongo@1.4.3
+minimongo@1.4.5
 mixmax:smart-disconnect@0.0.4
 mixmax:smart-disconnect@0.0.4
 mobile-status-bar@1.0.14
 mobile-status-bar@1.0.14
-modules@0.11.0
-modules-runtime@0.9.1
+modern-browsers@0.1.2
+modules@0.13.0
+modules-runtime@0.10.2
 momentjs:moment@2.22.2
 momentjs:moment@2.22.2
-mongo@1.3.1
+mongo@1.6.0
+mongo-decimal@0.1.0
 mongo-dev-server@1.1.0
 mongo-dev-server@1.1.0
-mongo-id@1.0.6
+mongo-id@1.0.7
 mongo-livedata@1.0.12
 mongo-livedata@1.0.12
 mousetrap:mousetrap@1.4.6_1
 mousetrap:mousetrap@1.4.6_1
 mquandalle:autofocus@1.0.0
 mquandalle:autofocus@1.0.0
@@ -119,47 +123,48 @@ mquandalle:mousetrap-bindglobal@0.0.1
 mquandalle:perfect-scrollbar@0.6.5_2
 mquandalle:perfect-scrollbar@0.6.5_2
 msavin:usercache@1.0.0
 msavin:usercache@1.0.0
 npm-bcrypt@0.9.3
 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.3
+oauth2@1.2.1
 observe-sequence@1.0.16
 observe-sequence@1.0.16
 ongoworks:speakingurl@1.1.0
 ongoworks:speakingurl@1.1.0
-ordered-dict@1.0.9
+ordered-dict@1.1.0
 peerlibrary:assert@0.2.5
 peerlibrary:assert@0.2.5
 peerlibrary:base-component@0.16.0
 peerlibrary:base-component@0.16.0
 peerlibrary:blaze-components@0.15.1
 peerlibrary:blaze-components@0.15.1
-peerlibrary:computed-field@0.7.0
+peerlibrary:computed-field@0.9.0
 peerlibrary:reactive-field@0.3.0
 peerlibrary:reactive-field@0.3.0
 perak:markdown@1.0.5
 perak:markdown@1.0.5
-promise@0.10.0
+promise@0.11.1
 raix:eventemitter@0.1.3
 raix:eventemitter@0.1.3
 raix:handlebar-helpers@0.2.5
 raix:handlebar-helpers@0.2.5
 rajit:bootstrap3-datepicker@1.7.1
 rajit:bootstrap3-datepicker@1.7.1
-random@1.0.10
-rate-limit@1.0.8
-reactive-dict@1.2.0
+random@1.1.0
+rate-limit@1.0.9
+reactive-dict@1.2.1
 reactive-var@1.0.11
 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
 rzymek:fullcalendar@3.8.0
 salleman:accounts-oidc@1.0.9
 salleman:accounts-oidc@1.0.9
 salleman:oidc@1.0.9
 salleman:oidc@1.0.9
 service-configuration@1.0.11
 service-configuration@1.0.11
-session@1.1.7
+session@1.1.8
 sha@1.0.9
 sha@1.0.9
-shell-server@0.3.1
+shell-server@0.4.0
 simple:authenticate-user-by-token@1.0.1
 simple:authenticate-user-by-token@1.0.1
 simple:json-routes@2.1.0
 simple:json-routes@2.1.0
 simple:rest-accounts-password@1.1.2
 simple:rest-accounts-password@1.1.2
 simple:rest-bearer-token-parser@1.0.1
 simple:rest-bearer-token-parser@1.0.1
 simple:rest-json-error-handler@1.0.1
 simple:rest-json-error-handler@1.0.1
+socket-stream-client@0.2.2
 softwarerero:accounts-t9n@1.3.11
 softwarerero:accounts-t9n@1.3.11
 spacebars@1.0.15
 spacebars@1.0.15
 spacebars-compiler@1.1.3
 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.0
+standard-minifier-js@2.4.0
 staringatlights:fast-render@2.16.5
 staringatlights:fast-render@2.16.5
 staringatlights:inject-data@2.0.5
 staringatlights:inject-data@2.0.5
 stylus@2.513.13
 stylus@2.513.13
@@ -169,17 +174,17 @@ templating@1.3.2
 templating-compiler@1.3.3
 templating-compiler@1.3.3
 templating-runtime@1.3.2
 templating-runtime@1.3.2
 templating-tools@1.1.2
 templating-tools@1.1.2
-tracker@1.1.3
+tracker@1.2.0
 ui@1.0.13
 ui@1.0.13
 underscore@1.0.10
 underscore@1.0.10
-url@1.1.0
+url@1.2.0
 useraccounts:core@1.14.2
 useraccounts:core@1.14.2
 useraccounts:flow-routing@1.14.2
 useraccounts:flow-routing@1.14.2
 useraccounts:unstyled@1.14.2
 useraccounts:unstyled@1.14.2
 verron:autosize@3.0.8
 verron:autosize@3.0.8
-webapp@1.4.0
+webapp@1.7.0
 webapp-hashing@1.0.9
 webapp-hashing@1.0.9
+wekan:accounts-cas@0.1.0
 wekan:wekan-ldap@0.0.2
 wekan:wekan-ldap@0.0.2
 yasaricli:slugify@0.0.7
 yasaricli:slugify@0.0.7
-wekan:accounts-cas@0.1.0
 zimme:active-route@2.3.2
 zimme:active-route@2.3.2

+ 87 - 4
CHANGELOG.md

@@ -1,9 +1,92 @@
-# Upcoming Wekan release.
+# Upcoming Wekan Edge release
+
+This release fixes the following bugs:
+
+- [Improve notifications](https://github.com/wekan/wekan/pull/1948);
+- [Fix deleting Custom Fields, removing broken references](https://github.com/wekan/wekan/issues/1872);
+- [Fix vertical text for swimlanes in IE11](https://github.com/wekan/wekan/issues/1798).
+
+Thanks to GitHub users Akuket, Clement87 and tomodwyer for their contributions.
+
+# v1.53.9 2018-10-11 Wekan Edge release
+
+This release adds the following new features:
+
+- docker-compose.yml in this Edge branch now works with Wekan Edge + Meteor 1.8.1-beta.0 + MongoDB 4.0.3;
+- [Snap is still broken](https://forum.snapcraft.io/t/how-to-connect-to-localhost-mongodb-in-snap-apparmor-prevents/7793/2). Please use latest Snap release on Edge branch, until this is fixed.
+
+Thanks to GitHub user xet7 for contributions.
+
+# v1.53.8 2018-10-10 Wekan Edge release
+
+This release tries to fix the following bugs:
+
+- Try to fix Docker.
+
+Thanks to GitHub user xet7 for contributions.
+
+# v1.53.7 2018-10-10 Wekan Edge release
+
+This release adds the following new features:
+
+- Try MongoDB 4.0.3
+
+Thanks to GitHub user xet7 for contributions.
+
+# v1.53.6 2018-10-10 Wekan Edge release
+
+This release adds the following new features:
+
+- [Add LDAP to Snap Help](https://github.com/wekan/wekan/commit/809c8f64f69721d51b7d963248a77585867fac53).
+
+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:
+
+- Try to fix snap.
+
+Thanks to GitHub user xet7 for contributions.
+
+# v1.53.4 2018-10-10 Wekan Edge release
+
+This release adds the following new features:
+
+- [Upgrade Hoek](https://github.com/wekan/wekan/commit/0b971b6ddb1ffc4adad6b6b09ae7f42dd376fe2c).
+
+Thanks to GitHub user xet7 for contributions.
+
+# v1.53.3 2018-10-10 Wekan Edge release
+
+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
+
+This release adds the following new features:
+
+- [Add LDAP package to Docker and Snap](https://github.com/wekan/wekan/commit/f599391419bc7422a6ead52cdefc7d380e787897).
+
+Thanks to GitHub user xet7 for contributions.
+
+# v1.53.1 2018-10-10 Wekan Edge release
 
 
 This release adds the following new features:
 This release adds the following new features:
 
 
-- [LDAP](https://github.com/wekan/wekan/commit/288800eafc91d07f859c4f59588e0b646137ccb9). In progress.
-  Please test and [add info about bugs](https://github.com/wekan/wekan/issues/119).
+- [LDAP](https://github.com/wekan/wekan/commit/288800eafc91d07f859c4f59588e0b646137ccb9).
+  Please test and [add info about bugs](https://github.com/wekan/wekan/issues/119);
+- [Add LDAP support and authentications dropdown menu on login page](https://github.com/wekan/wekan/pull/1943);
+- [REST API: Get cards by swimlane id](https://github.com/wekan/wekan/pull/1944). Please [add docs](https://github.com/wekan/wekan/wiki/REST-API-Swimlanes).
 
 
 and fixes the following bugs:
 and fixes the following bugs:
 
 
@@ -12,7 +95,7 @@ and fixes the following bugs:
 - [Add info about root-url to GitHub issue template](https://github.com/wekan/wekan/commit/4c0eb7dcc19ca9ae8c5d2d0276e0d024269de236);
 - [Add info about root-url to GitHub issue template](https://github.com/wekan/wekan/commit/4c0eb7dcc19ca9ae8c5d2d0276e0d024269de236);
 - [Feature rules: fixes and enhancements](https://github.com/wekan/wekan/pull/1936).
 - [Feature rules: fixes and enhancements](https://github.com/wekan/wekan/pull/1936).
 
 
-Thanks to GitHub users Akuket, Angtrim, lberk, maximest-pierre, InfoSec812, schulz and xet7 for their contributions.
+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
 # v1.52.1 2018-10-02 Wekan Edge release
 
 

+ 6 - 4
Dockerfile

@@ -70,7 +70,7 @@ ARG LDAP_DEFAULT_DOMAIN
 # ENV BUILD_DEPS="paxctl"
 # ENV BUILD_DEPS="paxctl"
 ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential python git ca-certificates gcc-7" \
 ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential python git ca-certificates gcc-7" \
     NODE_VERSION=v8.12.0 \
     NODE_VERSION=v8.12.0 \
-    METEOR_RELEASE=1.6.0.1 \
+    METEOR_RELEASE=1.8.1-beta.0 \
     USE_EDGE=false \
     USE_EDGE=false \
     METEOR_EDGE=1.5-beta.17 \
     METEOR_EDGE=1.5-beta.17 \
     NPM_VERSION=latest \
     NPM_VERSION=latest \
@@ -130,7 +130,7 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential pyth
     LDAP_SYNC_USER_DATA=false \
     LDAP_SYNC_USER_DATA=false \
     LDAP_SYNC_USER_DATA_FIELDMAP="" \
     LDAP_SYNC_USER_DATA_FIELDMAP="" \
     LDAP_SYNC_GROUP_ROLES="" \
     LDAP_SYNC_GROUP_ROLES="" \
-    LDAP_DEFAULT_DOMAIN="" \
+    LDAP_DEFAULT_DOMAIN=""
 
 
 # Copy the app to the image
 # Copy the app to the image
 COPY ${SRC_PATH} /home/wekan/app
 COPY ${SRC_PATH} /home/wekan/app
@@ -208,7 +208,8 @@ RUN \
     # Change user to wekan and install meteor
     # Change user to wekan and install meteor
     cd /home/wekan/ && \
     cd /home/wekan/ && \
     chown wekan:wekan --recursive /home/wekan && \
     chown wekan:wekan --recursive /home/wekan && \
-    curl "https://install.meteor.com/?release=${METEOR_RELEASE}" -o /home/wekan/install_meteor.sh && \
+    curl "https://install.meteor.com" -o /home/wekan/install_meteor.sh && \
+    #curl "https://install.meteor.com/?release=${METEOR_RELEASE}" -o /home/wekan/install_meteor.sh && \
     # OLD: sed -i "s|RELEASE=.*|RELEASE=${METEOR_RELEASE}\"\"|g" ./install_meteor.sh && \
     # OLD: sed -i "s|RELEASE=.*|RELEASE=${METEOR_RELEASE}\"\"|g" ./install_meteor.sh && \
     # Install Meteor forcing its progress
     # Install Meteor forcing its progress
     sed -i 's/VERBOSITY="--silent"/VERBOSITY="--progress-bar"/' ./install_meteor.sh && \
     sed -i 's/VERBOSITY="--silent"/VERBOSITY="--progress-bar"/' ./install_meteor.sh && \
@@ -228,7 +229,8 @@ RUN \
     cd /home/wekan/app/packages && \
     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/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/meteor-useraccounts/core.git meteor-useraccounts-core && \
-    gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas && \
+    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 && \
     sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js && \
     sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js && \
     cd /home/wekan/.meteor && \
     cd /home/wekan/.meteor && \
     gosu wekan:wekan /home/wekan/.meteor/meteor -- help; \
     gosu wekan:wekan /home/wekan/.meteor/meteor -- help; \

+ 3 - 3
client/components/main/layouts.js

@@ -7,7 +7,7 @@ const i18nTagToT9n = (i18nTag) => {
 };
 };
 
 
 const validator = {
 const validator = {
-  set: function(obj, prop, value) {
+  set(obj, prop, value) {
     if (prop === 'state' && value !== 'signIn') {
     if (prop === 'state' && value !== 'signIn') {
       $('.at-form-authentication').hide();
       $('.at-form-authentication').hide();
     } else if (prop === 'state' && value === 'signIn') {
     } else if (prop === 'state' && value === 'signIn') {
@@ -17,7 +17,7 @@ const validator = {
     obj[prop] = value;
     obj[prop] = value;
     // Indicate success
     // Indicate success
     return true;
     return true;
-  }
+  },
 };
 };
 
 
 Template.userFormsLayout.onRendered(() => {
 Template.userFormsLayout.onRendered(() => {
@@ -82,7 +82,7 @@ Template.userFormsLayout.events({
     });
     });
   },
   },
   'click #at-btn'(event) {
   'click #at-btn'(event) {
-    /* All authentication method can be managed/called here. 
+    /* All authentication method can be managed/called here.
        !! DON'T FORGET to correctly fill the fields of the user during its creation if necessary authenticationMethod : String !!
        !! DON'T FORGET to correctly fill the fields of the user during its creation if necessary authenticationMethod : String !!
     */
     */
     const authenticationMethodSelected = $('.select-authentication').val();
     const authenticationMethodSelected = $('.select-authentication').val();

+ 1 - 3
client/components/rules/ruleDetails.jade

@@ -17,6 +17,4 @@ template(name="ruleDetails")
     div.rules-back
     div.rules-back
         button.js-goback
         button.js-goback
           i.fa.fa-chevron-left
           i.fa.fa-chevron-left
-          | {{{_ 'r-back'}}}
-    
-    
+          | {{{_ 'back'}}}

+ 1 - 1
client/components/rules/rulesActions.jade

@@ -26,4 +26,4 @@ template(name="rulesActions")
   div.rules-back
   div.rules-back
         button.js-goback
         button.js-goback
           i.fa.fa-chevron-left
           i.fa.fa-chevron-left
-          | {{{_ 'r-back'}}}
+          | {{{_ 'back'}}}

+ 1 - 1
client/components/rules/rulesTriggers.jade

@@ -22,4 +22,4 @@ template(name="rulesTriggers")
   div.rules-back
   div.rules-back
         button.js-goback
         button.js-goback
           i.fa.fa-chevron-left
           i.fa.fa-chevron-left
-          | {{{_ 'r-back'}}}
+          | {{{_ 'back'}}}

+ 1 - 1
client/components/settings/connectionMethod.js

@@ -31,4 +31,4 @@ Template.connectionMethod.helpers({
   authentications() {
   authentications() {
     return Template.instance().authenticationMethods.get();
     return Template.instance().authenticationMethods.get();
   },
   },
-});
+});

+ 4 - 4
client/components/settings/peopleBody.js

@@ -67,12 +67,12 @@ Template.editUserPopup.onCreated(function() {
 
 
   Meteor.call('getAuthenticationsEnabled', (_, result) => {
   Meteor.call('getAuthenticationsEnabled', (_, result) => {
     if (result) {
     if (result) {
-      // TODO : add a management of different languages 
+      // TODO : add a management of different languages
       // (ex {value: ldap, text: TAPi18n.__('ldap', {}, T9n.getLanguage() || 'en')})
       // (ex {value: ldap, text: TAPi18n.__('ldap', {}, T9n.getLanguage() || 'en')})
       this.authenticationMethods.set([
       this.authenticationMethods.set([
         {value: 'password'},
         {value: 'password'},
         // Gets only the authentication methods availables
         // Gets only the authentication methods availables
-        ...Object.entries(result).filter(e => e[1]).map(e => ({value: e[0]})),
+        ...Object.entries(result).filter((e) => e[1]).map((e) => ({value: e[0]})),
       ]);
       ]);
     }
     }
   });
   });
@@ -94,7 +94,7 @@ Template.editUserPopup.helpers({
     const userId = Template.instance().data.userId;
     const userId = Template.instance().data.userId;
     const selected = Users.findOne(userId).authenticationMethod;
     const selected = Users.findOne(userId).authenticationMethod;
     return selected === 'ldap';
     return selected === 'ldap';
-  }
+  },
 });
 });
 
 
 BlazeComponent.extendComponent({
 BlazeComponent.extendComponent({
@@ -131,7 +131,7 @@ Template.editUserPopup.events({
         'profile.fullname': fullname,
         'profile.fullname': fullname,
         'isAdmin': isAdmin === 'true',
         'isAdmin': isAdmin === 'true',
         'loginDisabled': isActive === 'true',
         'loginDisabled': isActive === 'true',
-        'authenticationMethod': authentication
+        'authenticationMethod': authentication,
       },
       },
     });
     });
 
 

+ 1 - 0
client/components/swimlanes/swimlanes.styl

@@ -32,6 +32,7 @@
     border-bottom: 1px solid #CCC
     border-bottom: 1px solid #CCC
 
 
     .swimlane-header
     .swimlane-header
+      -ms-writing-mode: tb-rl;
       writing-mode: vertical-rl;
       writing-mode: vertical-rl;
       transform: rotate(180deg);
       transform: rotate(180deg);
       font-size: 14px;
       font-size: 14px;

+ 2 - 2
docker-compose.yml

@@ -3,7 +3,7 @@ version: '2'
 services:
 services:
 
 
   wekandb:
   wekandb:
-    image: mongo:3.2.21
+    image: mongo:4.0.3
     container_name: wekan-db
     container_name: wekan-db
     restart: always
     restart: always
     command: mongod --smallfiles --oplogSize 128
     command: mongod --smallfiles --oplogSize 128
@@ -16,7 +16,7 @@ services:
       - wekan-db-dump:/dump
       - wekan-db-dump:/dump
 
 
   wekan:
   wekan:
-    image: quay.io/wekan/wekan
+    image: quay.io/wekan/wekan:edge
     container_name: wekan-app
     container_name: wekan-app
     restart: always
     restart: always
     networks:
     networks:

+ 5 - 1
i18n/ar.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "رجوع"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/bg.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Назад"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/br.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Back"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/ca.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Enrere"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/cs.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Přidat checklist",
     "r-d-add-checklist": "Přidat checklist",
     "r-d-remove-checklist": "Odstranit checklist",
     "r-d-remove-checklist": "Odstranit checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Zpět"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 7 - 3
i18n/de.i18n.json

@@ -532,7 +532,7 @@
     "r-add-rule": "Regel hinzufügen",
     "r-add-rule": "Regel hinzufügen",
     "r-view-rule": "Regel anzeigen",
     "r-view-rule": "Regel anzeigen",
     "r-delete-rule": "Regel löschen",
     "r-delete-rule": "Regel löschen",
-    "r-new-rule-name": "New rule title",
+    "r-new-rule-name": "Neuer Regeltitel",
     "r-no-rules": "Keine Regeln",
     "r-no-rules": "Keine Regeln",
     "r-when-a-card-is": "Wenn eine Karte ist",
     "r-when-a-card-is": "Wenn eine Karte ist",
     "r-added-to": "Hinzugefügt zu",
     "r-added-to": "Hinzugefügt zu",
@@ -575,7 +575,7 @@
     "r-checklist": "Checkliste",
     "r-checklist": "Checkliste",
     "r-check-all": "Alle markieren",
     "r-check-all": "Alle markieren",
     "r-uncheck-all": "Alle demarkieren",
     "r-uncheck-all": "Alle demarkieren",
-    "r-items-check": "items of checklist",
+    "r-items-check": "Elemente der Checkliste",
     "r-check": "Markieren",
     "r-check": "Markieren",
     "r-uncheck": "Demarkieren",
     "r-uncheck": "Demarkieren",
     "r-item": "Element",
     "r-item": "Element",
@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Checkliste hinzufügen",
     "r-d-add-checklist": "Checkliste hinzufügen",
     "r-d-remove-checklist": "Checkliste entfernen",
     "r-d-remove-checklist": "Checkliste entfernen",
     "r-when-a-card-is-moved": "Wenn eine Karte in eine andere Liste verschoben wird",
     "r-when-a-card-is-moved": "Wenn eine Karte in eine andere Liste verschoben wird",
-    "r-back": "Zurück"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentifizierungsmethode",
+    "authentication-type": "Authentifizierungstyp"
 }
 }

+ 5 - 1
i18n/el.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Πίσω"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/en-GB.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Back"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 3 - 4
i18n/en.i18n.json

@@ -608,10 +608,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Back",
-    "ldap": "Ldap",
-    "oauth2": "Oauth2",
-    "cas": "Cas",
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
     "authentication-method": "Authentication method",
     "authentication-method": "Authentication method",
     "authentication-type": "Authentication type"
     "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/eo.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Reen"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/es-AR.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Atrás"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/es.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Atrás"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/eu.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Atzera"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/fa.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "بازگشت"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/fi.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Lisää tarkistuslista",
     "r-d-add-checklist": "Lisää tarkistuslista",
     "r-d-remove-checklist": "Poista tarkistuslista",
     "r-d-remove-checklist": "Poista tarkistuslista",
     "r-when-a-card-is-moved": "Kun kortti on siirretty toiseen listaan",
     "r-when-a-card-is-moved": "Kun kortti on siirretty toiseen listaan",
-    "r-back": "Takaisin"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Kirjautumistapa",
+    "authentication-type": "Kirjautumistyyppi"
 }
 }

+ 7 - 3
i18n/fr.i18n.json

@@ -532,7 +532,7 @@
     "r-add-rule": "Ajouter une règle",
     "r-add-rule": "Ajouter une règle",
     "r-view-rule": "Voir la règle",
     "r-view-rule": "Voir la règle",
     "r-delete-rule": "Supprimer la règle",
     "r-delete-rule": "Supprimer la règle",
-    "r-new-rule-name": "New rule title",
+    "r-new-rule-name": "Titre de la nouvelle règle",
     "r-no-rules": "Pas de règles",
     "r-no-rules": "Pas de règles",
     "r-when-a-card-is": "Quand une carte est",
     "r-when-a-card-is": "Quand une carte est",
     "r-added-to": "Ajouté à",
     "r-added-to": "Ajouté à",
@@ -575,7 +575,7 @@
     "r-checklist": "checklist",
     "r-checklist": "checklist",
     "r-check-all": "Tout cocher",
     "r-check-all": "Tout cocher",
     "r-uncheck-all": "Tout décocher",
     "r-uncheck-all": "Tout décocher",
-    "r-items-check": "items of checklist",
+    "r-items-check": "Élément de checklist",
     "r-check": "Cocher",
     "r-check": "Cocher",
     "r-uncheck": "Décocher",
     "r-uncheck": "Décocher",
     "r-item": "élément",
     "r-item": "élément",
@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Ajouter une checklist",
     "r-d-add-checklist": "Ajouter une checklist",
     "r-d-remove-checklist": "Supprimer la checklist",
     "r-d-remove-checklist": "Supprimer la checklist",
     "r-when-a-card-is-moved": "Quand une carte est déplacée vers une autre liste",
     "r-when-a-card-is-moved": "Quand une carte est déplacée vers une autre liste",
-    "r-back": "Retour"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Méthode d'authentification",
+    "authentication-type": "Type d'authentification"
 }
 }

+ 5 - 1
i18n/gl.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Back"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/he.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "הוספת רשימת משימות",
     "r-d-add-checklist": "הוספת רשימת משימות",
     "r-d-remove-checklist": "הסרת רשימת משימות",
     "r-d-remove-checklist": "הסרת רשימת משימות",
     "r-when-a-card-is-moved": "כאשר כרטיס מועבר לרשימה אחרת",
     "r-when-a-card-is-moved": "כאשר כרטיס מועבר לרשימה אחרת",
-    "r-back": "חזרה"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/hu.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Vissza"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/hy.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Back"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/id.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Kembali"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/ig.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Back"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 44 - 40
i18n/it.i18n.json

@@ -43,7 +43,7 @@
     "activity-sent": "inviato %s a %s",
     "activity-sent": "inviato %s a %s",
     "activity-unjoined": "ha abbandonato %s",
     "activity-unjoined": "ha abbandonato %s",
     "activity-subtask-added": "aggiunto il sottocompito a 1%s",
     "activity-subtask-added": "aggiunto il sottocompito a 1%s",
-    "activity-checked-item": "checked %s in checklist %s of %s",
+    "activity-checked-item": " selezionata %s nella checklist %s di %s",
     "activity-unchecked-item": "unchecked %s in checklist %s of %s",
     "activity-unchecked-item": "unchecked %s in checklist %s of %s",
     "activity-checklist-added": "aggiunta checklist a %s",
     "activity-checklist-added": "aggiunta checklist a %s",
     "activity-checklist-removed": "removed a checklist from %s",
     "activity-checklist-removed": "removed a checklist from %s",
@@ -522,23 +522,23 @@
     "activity-added-label": "added label '%s' to %s",
     "activity-added-label": "added label '%s' to %s",
     "activity-removed-label": "removed label '%s' from %s",
     "activity-removed-label": "removed label '%s' from %s",
     "activity-delete-attach": "deleted an attachment from %s",
     "activity-delete-attach": "deleted an attachment from %s",
-    "activity-added-label-card": "added label '%s'",
+    "activity-added-label-card": "aggiunta etichetta '%s'",
     "activity-removed-label-card": "removed label '%s'",
     "activity-removed-label-card": "removed label '%s'",
-    "activity-delete-attach-card": "deleted an attachment",
-    "r-rule": "Rule",
-    "r-add-trigger": "Add trigger",
-    "r-add-action": "Add action",
-    "r-board-rules": "Board rules",
-    "r-add-rule": "Add rule",
-    "r-view-rule": "View rule",
-    "r-delete-rule": "Delete rule",
-    "r-new-rule-name": "New rule title",
-    "r-no-rules": "No rules",
-    "r-when-a-card-is": "When a card is",
-    "r-added-to": "Added to",
-    "r-removed-from": "Removed from",
-    "r-the-board": "the board",
-    "r-list": "list",
+    "activity-delete-attach-card": "Cancella un allegato",
+    "r-rule": "Ruolo",
+    "r-add-trigger": "Aggiungi trigger",
+    "r-add-action": "Aggiungi azione",
+    "r-board-rules": "Regole del cruscotto",
+    "r-add-rule": "Aggiungi regola",
+    "r-view-rule": "Visualizza regola",
+    "r-delete-rule": "Cancella regola",
+    "r-new-rule-name": "Titolo nuova regola",
+    "r-no-rules": "Nessuna regola",
+    "r-when-a-card-is": "Quando la tessera è",
+    "r-added-to": "Aggiunta a",
+    "r-removed-from": "Rimosso da",
+    "r-the-board": "Il cruscotto",
+    "r-list": "lista",
     "r-moved-to": "Moved to",
     "r-moved-to": "Moved to",
     "r-moved-from": "Moved from",
     "r-moved-from": "Moved from",
     "r-archived": "Moved to Recycle Bin",
     "r-archived": "Moved to Recycle Bin",
@@ -579,33 +579,37 @@
     "r-check": "Check",
     "r-check": "Check",
     "r-uncheck": "Uncheck",
     "r-uncheck": "Uncheck",
     "r-item": "item",
     "r-item": "item",
-    "r-of-checklist": "of checklist",
+    "r-of-checklist": "della lista di cose da fare",
     "r-send-email": "Send an email",
     "r-send-email": "Send an email",
     "r-to": "to",
     "r-to": "to",
-    "r-subject": "subject",
+    "r-subject": "soggetto",
     "r-rule-details": "Rule details",
     "r-rule-details": "Rule details",
     "r-d-move-to-top-gen": "Move card to top of its list",
     "r-d-move-to-top-gen": "Move card to top of its list",
     "r-d-move-to-top-spec": "Move card to top of list",
     "r-d-move-to-top-spec": "Move card to top of list",
-    "r-d-move-to-bottom-gen": "Move card to bottom of its list",
-    "r-d-move-to-bottom-spec": "Move card to bottom of list",
-    "r-d-send-email": "Send email",
+    "r-d-move-to-bottom-gen": "Sposta la scheda in fondo alla sua lista",
+    "r-d-move-to-bottom-spec": "Muovi la scheda in fondo alla lista",
+    "r-d-send-email": "Spedisci email",
     "r-d-send-email-to": "to",
     "r-d-send-email-to": "to",
-    "r-d-send-email-subject": "subject",
-    "r-d-send-email-message": "message",
-    "r-d-archive": "Move card to Recycle Bin",
-    "r-d-unarchive": "Restore card from Recycle Bin",
-    "r-d-add-label": "Add label",
-    "r-d-remove-label": "Remove label",
-    "r-d-add-member": "Add member",
-    "r-d-remove-member": "Remove member",
-    "r-d-remove-all-member": "Remove all member",
-    "r-d-check-all": "Check all items of a list",
-    "r-d-uncheck-all": "Uncheck all items of a list",
-    "r-d-check-one": "Check item",
-    "r-d-uncheck-one": "Uncheck item",
-    "r-d-check-of-list": "of checklist",
-    "r-d-add-checklist": "Add checklist",
-    "r-d-remove-checklist": "Remove checklist",
-    "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Indietro"
+    "r-d-send-email-subject": "soggetto",
+    "r-d-send-email-message": "Messaggio",
+    "r-d-archive": "Metti la scheda nel cestino",
+    "r-d-unarchive": "Recupera scheda da cestino",
+    "r-d-add-label": "Aggiungi etichetta",
+    "r-d-remove-label": "Rimuovi Etichetta",
+    "r-d-add-member": "Aggiungi membro",
+    "r-d-remove-member": "Rimuovi membro",
+    "r-d-remove-all-member": "Rimouvi tutti i membri",
+    "r-d-check-all": "Seleziona tutti gli item di una lista",
+    "r-d-uncheck-all": "Deseleziona tutti gli items di una lista",
+    "r-d-check-one": "Seleziona",
+    "r-d-uncheck-one": "Deselezionalo",
+    "r-d-check-of-list": "della lista di cose da fare",
+    "r-d-add-checklist": "Aggiungi lista di cose da fare",
+    "r-d-remove-checklist": "Rimuovi check list",
+    "r-when-a-card-is-moved": "Quando una scheda viene spostata su un'altra lista",
+    "ldap": "LDAP",
+    "oauth2": "Oauth2",
+    "cas": "CAS",
+    "authentication-method": "Metodo di Autenticazione",
+    "authentication-type": "Tipo Autenticazione"
 }
 }

+ 5 - 1
i18n/ja.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "戻る"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/ka.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "უკან"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/km.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Back"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/ko.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "뒤로"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/lv.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Back"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/mn.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Back"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/nb.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Tilbake"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/nl.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Terug"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/pl.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Dodaj listę zadań",
     "r-d-add-checklist": "Dodaj listę zadań",
     "r-d-remove-checklist": "Usuń listę zadań",
     "r-d-remove-checklist": "Usuń listę zadań",
     "r-when-a-card-is-moved": "Gdy karta jest przeniesiona do innej listy",
     "r-when-a-card-is-moved": "Gdy karta jest przeniesiona do innej listy",
-    "r-back": "Wstecz"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 7 - 3
i18n/pt-BR.i18n.json

@@ -181,7 +181,7 @@
     "comment-placeholder": "Escrever Comentário",
     "comment-placeholder": "Escrever Comentário",
     "comment-only": "Somente comentários",
     "comment-only": "Somente comentários",
     "comment-only-desc": "Pode comentar apenas em cartões.",
     "comment-only-desc": "Pode comentar apenas em cartões.",
-    "no-comments": "No comments",
+    "no-comments": "Sem comentários",
     "no-comments-desc": "Can not see comments and activities.",
     "no-comments-desc": "Can not see comments and activities.",
     "computer": "Computador",
     "computer": "Computador",
     "confirm-subtask-delete-dialog": "Tem certeza que deseja deletar a subtarefa?",
     "confirm-subtask-delete-dialog": "Tem certeza que deseja deletar a subtarefa?",
@@ -565,7 +565,7 @@
     "r-bottom-of": "Bottom of",
     "r-bottom-of": "Bottom of",
     "r-its-list": "its list",
     "r-its-list": "its list",
     "r-archive": "Mover para a lixeira",
     "r-archive": "Mover para a lixeira",
-    "r-unarchive": "Restore from Recycle Bin",
+    "r-unarchive": "Restaurar da Lixeira",
     "r-card": "cartão",
     "r-card": "cartão",
     "r-add": "Novo",
     "r-add": "Novo",
     "r-remove": "Remover",
     "r-remove": "Remover",
@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Adicionar checklist",
     "r-d-add-checklist": "Adicionar checklist",
     "r-d-remove-checklist": "Remover checklist",
     "r-d-remove-checklist": "Remover checklist",
     "r-when-a-card-is-moved": "Quando um cartão é movido de outra lista",
     "r-when-a-card-is-moved": "Quando um cartão é movido de outra lista",
-    "r-back": "Voltar"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/pt.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Back"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/ro.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Înapoi"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/ru.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Назад"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/sr.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Nazad"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/sv.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Tillbaka"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/ta.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Back"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/th.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "ย้อนกลับ"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/tr.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Geri"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/uk.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Назад"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 5 - 1
i18n/vi.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "Trở Lại"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 41 - 37
i18n/zh-CN.i18n.json

@@ -46,7 +46,7 @@
     "activity-checked-item": "checked %s in checklist %s of %s",
     "activity-checked-item": "checked %s in checklist %s of %s",
     "activity-unchecked-item": "unchecked %s in checklist %s of %s",
     "activity-unchecked-item": "unchecked %s in checklist %s of %s",
     "activity-checklist-added": "已经将清单添加到 %s",
     "activity-checklist-added": "已经将清单添加到 %s",
-    "activity-checklist-removed": "removed a checklist from %s",
+    "activity-checklist-removed": "已从%s移除待办清单",
     "activity-checklist-completed": "completed the checklist %s of %s",
     "activity-checklist-completed": "completed the checklist %s of %s",
     "activity-checklist-uncompleted": "uncompleted the checklist %s of %s",
     "activity-checklist-uncompleted": "uncompleted the checklist %s of %s",
     "activity-checklist-item-added": "添加清单项至'%s' 于 %s",
     "activity-checklist-item-added": "添加清单项至'%s' 于 %s",
@@ -181,8 +181,8 @@
     "comment-placeholder": "添加评论",
     "comment-placeholder": "添加评论",
     "comment-only": "仅能评论",
     "comment-only": "仅能评论",
     "comment-only-desc": "只能在卡片上评论。",
     "comment-only-desc": "只能在卡片上评论。",
-    "no-comments": "No comments",
-    "no-comments-desc": "Can not see comments and activities.",
+    "no-comments": "暂无评论",
+    "no-comments-desc": "无法查看评论和活动。",
     "computer": "从本机上传",
     "computer": "从本机上传",
     "confirm-subtask-delete-dialog": "确定要删除子任务吗?",
     "confirm-subtask-delete-dialog": "确定要删除子任务吗?",
     "confirm-checklist-delete-dialog": "确定要删除清单吗?",
     "confirm-checklist-delete-dialog": "确定要删除清单吗?",
@@ -381,7 +381,7 @@
     "restore": "还原",
     "restore": "还原",
     "save": "保存",
     "save": "保存",
     "search": "搜索",
     "search": "搜索",
-    "rules": "Rules",
+    "rules": "规则",
     "search-cards": "搜索当前看板上的卡片标题和描述",
     "search-cards": "搜索当前看板上的卡片标题和描述",
     "search-example": "搜索",
     "search-example": "搜索",
     "select-color": "选择颜色",
     "select-color": "选择颜色",
@@ -525,36 +525,36 @@
     "activity-added-label-card": "added label '%s'",
     "activity-added-label-card": "added label '%s'",
     "activity-removed-label-card": "removed label '%s'",
     "activity-removed-label-card": "removed label '%s'",
     "activity-delete-attach-card": "deleted an attachment",
     "activity-delete-attach-card": "deleted an attachment",
-    "r-rule": "Rule",
-    "r-add-trigger": "Add trigger",
+    "r-rule": "规则",
+    "r-add-trigger": "添加触发器",
     "r-add-action": "Add action",
     "r-add-action": "Add action",
     "r-board-rules": "Board rules",
     "r-board-rules": "Board rules",
-    "r-add-rule": "Add rule",
-    "r-view-rule": "View rule",
-    "r-delete-rule": "Delete rule",
-    "r-new-rule-name": "New rule title",
-    "r-no-rules": "No rules",
+    "r-add-rule": "添加规则",
+    "r-view-rule": "查看规则",
+    "r-delete-rule": "删除规则",
+    "r-new-rule-name": "新建规则标题",
+    "r-no-rules": "暂无规则",
     "r-when-a-card-is": "When a card is",
     "r-when-a-card-is": "When a card is",
-    "r-added-to": "Added to",
+    "r-added-to": "添加到",
     "r-removed-from": "Removed from",
     "r-removed-from": "Removed from",
-    "r-the-board": "the board",
-    "r-list": "list",
-    "r-moved-to": "Moved to",
+    "r-the-board": "该看板",
+    "r-list": "列表",
+    "r-moved-to": "移至",
     "r-moved-from": "Moved from",
     "r-moved-from": "Moved from",
     "r-archived": "Moved to Recycle Bin",
     "r-archived": "Moved to Recycle Bin",
     "r-unarchived": "Restored from Recycle Bin",
     "r-unarchived": "Restored from Recycle Bin",
     "r-a-card": "a card",
     "r-a-card": "a card",
     "r-when-a-label-is": "When a label is",
     "r-when-a-label-is": "When a label is",
     "r-when-the-label-is": "When the label is",
     "r-when-the-label-is": "When the label is",
-    "r-list-name": "List name",
+    "r-list-name": "清单名称",
     "r-when-a-member": "When a member is",
     "r-when-a-member": "When a member is",
     "r-when-the-member": "When the member",
     "r-when-the-member": "When the member",
-    "r-name": "name",
+    "r-name": "名称",
     "r-is": "is",
     "r-is": "is",
     "r-when-a-attach": "When an attachment",
     "r-when-a-attach": "When an attachment",
     "r-when-a-checklist": "When a checklist is",
     "r-when-a-checklist": "When a checklist is",
     "r-when-the-checklist": "When the checklist",
     "r-when-the-checklist": "When the checklist",
-    "r-completed": "Completed",
+    "r-completed": "已完成",
     "r-made-incomplete": "Made incomplete",
     "r-made-incomplete": "Made incomplete",
     "r-when-a-item": "When a checklist item is",
     "r-when-a-item": "When a checklist item is",
     "r-when-the-item": "When the checklist item",
     "r-when-the-item": "When the checklist item",
@@ -581,31 +581,35 @@
     "r-item": "item",
     "r-item": "item",
     "r-of-checklist": "of checklist",
     "r-of-checklist": "of checklist",
     "r-send-email": "Send an email",
     "r-send-email": "Send an email",
-    "r-to": "to",
-    "r-subject": "subject",
+    "r-to": "收件人",
+    "r-subject": "标题",
     "r-rule-details": "Rule details",
     "r-rule-details": "Rule details",
     "r-d-move-to-top-gen": "Move card to top of its list",
     "r-d-move-to-top-gen": "Move card to top of its list",
     "r-d-move-to-top-spec": "Move card to top of list",
     "r-d-move-to-top-spec": "Move card to top of list",
     "r-d-move-to-bottom-gen": "Move card to bottom of its list",
     "r-d-move-to-bottom-gen": "Move card to bottom of its list",
     "r-d-move-to-bottom-spec": "Move card to bottom of list",
     "r-d-move-to-bottom-spec": "Move card to bottom of list",
-    "r-d-send-email": "Send email",
-    "r-d-send-email-to": "to",
-    "r-d-send-email-subject": "subject",
-    "r-d-send-email-message": "message",
-    "r-d-archive": "Move card to Recycle Bin",
-    "r-d-unarchive": "Restore card from Recycle Bin",
-    "r-d-add-label": "Add label",
-    "r-d-remove-label": "Remove label",
-    "r-d-add-member": "Add member",
-    "r-d-remove-member": "Remove member",
-    "r-d-remove-all-member": "Remove all member",
+    "r-d-send-email": "发送邮件",
+    "r-d-send-email-to": "收件人",
+    "r-d-send-email-subject": "标题",
+    "r-d-send-email-message": "消息",
+    "r-d-archive": "移动卡片到回收站",
+    "r-d-unarchive": "从回收站恢复卡片",
+    "r-d-add-label": "添加标签",
+    "r-d-remove-label": "移除标签",
+    "r-d-add-member": "添加成员",
+    "r-d-remove-member": "移除成员",
+    "r-d-remove-all-member": "移除所有成员",
     "r-d-check-all": "Check all items of a list",
     "r-d-check-all": "Check all items of a list",
     "r-d-uncheck-all": "Uncheck all items of a list",
     "r-d-uncheck-all": "Uncheck all items of a list",
-    "r-d-check-one": "Check item",
-    "r-d-uncheck-one": "Uncheck item",
+    "r-d-check-one": "勾选该项",
+    "r-d-uncheck-one": "取消勾选",
     "r-d-check-of-list": "of checklist",
     "r-d-check-of-list": "of checklist",
-    "r-d-add-checklist": "Add checklist",
-    "r-d-remove-checklist": "Remove checklist",
-    "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "返回"
+    "r-d-add-checklist": "添加待办清单",
+    "r-d-remove-checklist": "移除待办清单",
+    "r-when-a-card-is-moved": "当移动卡片到另一个清单时",
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "认证方式",
+    "authentication-type": "认证类型"
 }
 }

+ 5 - 1
i18n/zh-TW.i18n.json

@@ -607,5 +607,9 @@
     "r-d-add-checklist": "Add checklist",
     "r-d-add-checklist": "Add checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-d-remove-checklist": "Remove checklist",
     "r-when-a-card-is-moved": "When a card is moved to another list",
     "r-when-a-card-is-moved": "When a card is moved to another list",
-    "r-back": "返回"
+    "ldap": "LDAP",
+    "oauth2": "OAuth2",
+    "cas": "CAS",
+    "authentication-method": "Authentication method",
+    "authentication-type": "Authentication type"
 }
 }

+ 23 - 0
models/cards.js

@@ -1304,6 +1304,29 @@ if (Meteor.isServer) {
     cardRemover(userId, doc);
     cardRemover(userId, doc);
   });
   });
 }
 }
+//SWIMLANES REST API
+if (Meteor.isServer) {
+  JsonRoutes.add('GET', '/api/boards/:boardId/swimlanes/:swimlaneId/cards', function(req, res) {
+    const paramBoardId = req.params.boardId;
+    const paramSwimlaneId = req.params.swimlaneId;
+    Authentication.checkBoardAccess(req.userId, paramBoardId);
+    JsonRoutes.sendResult(res, {
+      code: 200,
+      data: Cards.find({
+        boardId: paramBoardId,
+        swimlaneId: paramSwimlaneId,
+        archived: false,
+      }).map(function(doc) {
+        return {
+          _id: doc._id,
+          title: doc.title,
+          description: doc.description,
+          listId: doc.listId,
+        };
+      }),
+    });
+  });
+}
 //LISTS REST API
 //LISTS REST API
 if (Meteor.isServer) {
 if (Meteor.isServer) {
   JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId/cards', function(req, res) {
   JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId/cards', function(req, res) {

+ 4 - 4
models/users.js

@@ -495,7 +495,7 @@ if (Meteor.isServer) {
       user.emails = [{ address: email, verified: true }];
       user.emails = [{ address: email, verified: true }];
       const initials = user.services.oidc.fullname.match(/\b[a-zA-Z]/g).join('').toUpperCase();
       const initials = user.services.oidc.fullname.match(/\b[a-zA-Z]/g).join('').toUpperCase();
       user.profile = { initials, fullname: user.services.oidc.fullname };
       user.profile = { initials, fullname: user.services.oidc.fullname };
-      user['authenticationMethod'] = 'oauth2';
+      user.authenticationMethod = 'oauth2';
 
 
       // see if any existing user has this email address or username, otherwise create new
       // see if any existing user has this email address or username, otherwise create new
       const existingUser = Meteor.users.findOne({$or: [{'emails.address': email}, {'username':user.username}]});
       const existingUser = Meteor.users.findOne({$or: [{'emails.address': email}, {'username':user.username}]});
@@ -508,7 +508,7 @@ if (Meteor.isServer) {
       existingUser.emails = user.emails;
       existingUser.emails = user.emails;
       existingUser.username = user.username;
       existingUser.username = user.username;
       existingUser.profile = user.profile;
       existingUser.profile = user.profile;
-      existingUser['authenticationMethod'] = user['authenticationMethod'];
+      existingUser.authenticationMethod = user.authenticationMethod;
 
 
       Meteor.users.remove({_id: existingUser._id}); // remove existing record
       Meteor.users.remove({_id: existingUser._id}); // remove existing record
       return existingUser;
       return existingUser;
@@ -523,7 +523,7 @@ if (Meteor.isServer) {
     // If ldap, bypass the inviation code if the self registration isn't allowed.
     // If ldap, bypass the inviation code if the self registration isn't allowed.
     // TODO : pay attention if ldap field in the user model change to another content ex : ldap field to connection_type
     // TODO : pay attention if ldap field in the user model change to another content ex : ldap field to connection_type
     if (options.ldap || !disableRegistration) {
     if (options.ldap || !disableRegistration) {
-      user['authenticationMethod'] = 'ldap';
+      user.authenticationMethod = 'ldap';
       return user;
       return user;
     }
     }
 
 
@@ -643,7 +643,7 @@ if (Meteor.isServer) {
     const disableRegistration = Settings.findOne().disableRegistration;
     const disableRegistration = Settings.findOne().disableRegistration;
     // If ldap, bypass the inviation code if the self registration isn't allowed.
     // If ldap, bypass the inviation code if the self registration isn't allowed.
     // TODO : pay attention if ldap field in the user model change to another content ex : ldap field to connection_type
     // TODO : pay attention if ldap field in the user model change to another content ex : ldap field to connection_type
-    if (doc['authenticationMethod'] !== 'ldap' && disableRegistration) {
+    if (doc.authenticationMethod !== 'ldap' && disableRegistration) {
       const invitationCode = InvitationCodes.findOne({code: doc.profile.icode, valid: true});
       const invitationCode = InvitationCodes.findOne({code: doc.profile.icode, valid: true});
       if (!invitationCode) {
       if (!invitationCode) {
         throw new Meteor.Error('error-invitation-code-not-exist');
         throw new Meteor.Error('error-invitation-code-not-exist');

+ 3 - 1
package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "wekan",
   "name": "wekan",
-  "version": "v1.52.1",
+  "version": "v1.53.9",
   "description": "The open-source kanban",
   "description": "The open-source kanban",
   "private": true,
   "private": true,
   "scripts": {
   "scripts": {
@@ -23,9 +23,11 @@
     "eslint": "^4.19.1"
     "eslint": "^4.19.1"
   },
   },
   "dependencies": {
   "dependencies": {
+    "@babel/runtime": "^7.1.2",
     "babel-runtime": "^6.26.0",
     "babel-runtime": "^6.26.0",
     "bson-ext": "^2.0.0",
     "bson-ext": "^2.0.0",
     "es6-promise": "^4.2.4",
     "es6-promise": "^4.2.4",
+    "hoek": "^5.0.4",
     "meteor-node-stubs": "^0.4.1",
     "meteor-node-stubs": "^0.4.1",
     "os": "^0.1.1",
     "os": "^0.1.1",
     "page": "^1.8.6",
     "page": "^1.8.6",

+ 2 - 2
sandstorm-pkgdef.capnp

@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
     appTitle = (defaultText = "Wekan"),
     appTitle = (defaultText = "Wekan"),
     # The name of the app as it is displayed to the user.
     # The name of the app as it is displayed to the user.
 
 
-    appVersion = 143,
+    appVersion = 153,
     # Increment this for every release.
     # Increment this for every release.
 
 
-    appMarketingVersion = (defaultText = "1.52.1~2018-10-02"),
+    appMarketingVersion = (defaultText = "1.53.9~2018-10-11"),
     # Human-readable presentation of the app version.
     # Human-readable presentation of the app version.
 
 
     minUpgradableAppVersion = 0,
     minUpgradableAppVersion = 0,

+ 6 - 6
server/migrations.js

@@ -344,9 +344,9 @@ Migrations.add('remove-tag', () => {
 });
 });
 
 
 Migrations.add('remove-customFields-references-broken', () => {
 Migrations.add('remove-customFields-references-broken', () => {
-  Cards.update(
-    {'customFields.$value': null},
-    {$pull: {customFields: {value: null}}},
-    noValidateMulti,
-  );
-});
+  Cards.update({'customFields.$value': null},
+    { $pull: {
+      customFields: {value: null},
+    },
+    }, noValidateMulti);
+});

+ 1 - 1
server/publications/people.js

@@ -17,7 +17,7 @@ Meteor.publish('people', function(limit) {
         'emails': 1,
         'emails': 1,
         'createdAt': 1,
         'createdAt': 1,
         'loginDisabled': 1,
         'loginDisabled': 1,
-        'authenticationMethod': 1
+        'authenticationMethod': 1,
       },
       },
     });
     });
   } else {
   } else {

+ 2 - 2
snap-src/bin/config

@@ -13,11 +13,11 @@ DEFAULT_MONGODB_BIND_UNIX_SOCKET="$SNAP_DATA/share"
 KEY_MONGODB_BIND_UNIX_SOCKET="mongodb-bind-unix-socket"
 KEY_MONGODB_BIND_UNIX_SOCKET="mongodb-bind-unix-socket"
 
 
 DESCRIPTION_MONGODB_PORT="mongodb binding port: eg 27017 when using localhost"
 DESCRIPTION_MONGODB_PORT="mongodb binding port: eg 27017 when using localhost"
-DEFAULT_MONGODB_PORT="27019"
+DEFAULT_MONGODB_PORT=""
 KEY_MONGODB_PORT='mongodb-port'
 KEY_MONGODB_PORT='mongodb-port'
 
 
 DESCRIPTION_MONGODB_BIND_IP="mongodb binding ip address: eg 127.0.0.1 for localhost\n\t\tIf not defined default unix socket is used instead"
 DESCRIPTION_MONGODB_BIND_IP="mongodb binding ip address: eg 127.0.0.1 for localhost\n\t\tIf not defined default unix socket is used instead"
-DEFAULT_MONGODB_BIND_IP="127.0.0.1"
+DEFAULT_MONGODB_BIND_IP=""
 KEY_MONGODB_BIND_IP="mongodb-bind-ip"
 KEY_MONGODB_BIND_IP="mongodb-bind-ip"
 
 
 DESCRIPTION_MAIL_URL="wekan mail binding"
 DESCRIPTION_MAIL_URL="wekan mail binding"

+ 9 - 4
snapcraft.yaml

@@ -65,7 +65,7 @@ apps:
 
 
 parts:
 parts:
     mongodb:
     mongodb:
-        source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.21.tgz
+        source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.0.3.tgz
         plugin: dump
         plugin: dump
         stage-packages: [libssl1.0.0]
         stage-packages: [libssl1.0.0]
         filesets:
         filesets:
@@ -83,7 +83,6 @@ parts:
         plugin: nodejs
         plugin: nodejs
         node-engine: 8.12.0
         node-engine: 8.12.0
         node-packages:
         node-packages:
-            - npm
             - node-gyp
             - node-gyp
             - node-pre-gyp
             - node-pre-gyp
             - fibers@2.0.0
             - fibers@2.0.0
@@ -93,7 +92,6 @@ parts:
             - python
             - python
             - g++
             - g++
             - capnproto
             - capnproto
-            - npm
             - curl
             - curl
             - execstack
             - execstack
         stage-packages:
         stage-packages:
@@ -122,9 +120,11 @@ parts:
             # Removed from build-packages: - paxctl
             # Removed from build-packages: - paxctl
             #echo "Applying paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303"
             #echo "Applying paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303"
             #paxctl -mC `which node`
             #paxctl -mC `which node`
+            #echo "Installing npm"
+            #curl -L https://www.npmjs.com/install.sh | sh
             echo "Installing meteor"
             echo "Installing meteor"
             curl https://install.meteor.com/ -o install_meteor.sh
             curl https://install.meteor.com/ -o install_meteor.sh
-            sed -i "s|RELEASE=.*|RELEASE=\"1.6.0.1\"|g" install_meteor.sh
+            #sed -i "s|RELEASE=.*|RELEASE=\"1.8.1-beta.0\"|g" install_meteor.sh
             chmod +x install_meteor.sh
             chmod +x install_meteor.sh
             sh install_meteor.sh
             sh install_meteor.sh
             rm install_meteor.sh
             rm install_meteor.sh
@@ -147,6 +147,11 @@ parts:
               git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas
               git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas
               cd ..
               cd ..
             fi
             fi
+            if [ ! -d "packages/wekan-ldap" ]; then
+              cd packages
+              git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git
+              cd ..
+            fi
             rm -rf package-lock.json .build
             rm -rf package-lock.json .build
             meteor add standard-minifier-js --allow-superuser
             meteor add standard-minifier-js --allow-superuser
             meteor npm install --allow-superuser
             meteor npm install --allow-superuser