Compare commits

...
155 Commits
Author SHA1 Message Date
Lauri Ojansivu 2b24ebf539 v4.45 2020-10-30 13:16:18 +02:00
Lauri Ojansivu 13d5015fc3 Update translations. 2020-10-30 13:02:55 +02:00
Lauri Ojansivu 13cf1a687e Update ChangeLog. 2020-10-30 13:00:35 +02:00
Lauri Ojansivu d2f434879c Fix can not upload and download files, by changing back to Node.js 12.19.0 and adding fast-render.
Current file storing to MongoDB code was not yet compatible with newer Node.js.

Thanks to eskogito and xet7 !

Fixes #3320
2020-10-30 12:53:41 +02:00
Lauri Ojansivu c3ffaa7ce2 v4.44 2020-10-28 18:53:31 +02:00
Lauri Ojansivu 2955c167c2 Update ChangeLog. 2020-10-28 18:49:35 +02:00
Lauri Ojansivu 81d1bf6d27 Merge branch 'jtbairdsr-master' 2020-10-28 18:46:08 +02:00
Lauri Ojansivu 46ce345203 Merge branch 'master' of https://github.com/jtbairdsr/wekan into jtbairdsr-master 2020-10-28 18:02:14 +02:00
Jonathan Baird 363e69f01c fix: expose moving cards on mobile to workers
this fix also hides the move to another board functionality in the
submenu (only from the worker) so that the worker is still constrained
to a single board.
2020-10-28 09:38:41 -06:00
Lauri Ojansivu 9b0875169b Update ChangeLog. 2020-10-28 16:34:58 +02:00
Lauri Ojansivu e616247254 For development, add Meteor 2.0 Hot Module Replacement
https://forums.meteor.com/t/meteor-2-0-beta-with-hot-module-replacement-hmr/54313/8

Thanks to zodern!
2020-10-28 16:31:59 +02:00
Lauri Ojansivu cc5f22df79 Update ChangeLog. 2020-10-28 16:18:48 +02:00
Lauri Ojansivu 3448467953 Merge pull request #3312 from helioguardabaxo/master
Fix Modern theme board canvas background
2020-10-28 16:16:19 +02:00
Lauri Ojansivu 74dbb96d85 Update translations. 2020-10-28 16:15:16 +02:00
Lauri Ojansivu d2cfe76a28 Update ChangeLog. 2020-10-28 16:06:27 +02:00
Lauri Ojansivu 045e9db7b8 Upgrade to Node.js 14.15.0
Thanks to Node.js and Meteor.js developers!
2020-10-28 15:57:38 +02:00
Lauri Ojansivu 460b1d3a66 Changed public board changing Swimlanes/Lists/Calendar view
and changing Hide minicard label text
from using cookies to using browser localStorage.

Thanks to xet7 !
2020-10-28 15:45:37 +02:00
Lauri Ojansivu a463f2a855 Upgrade to Meteor 2.0-beta.3. Removed fast-render and ostrio:cookies.
Thanks to xet7 !
2020-10-28 15:44:47 +02:00
helioguardabaxo 8b3399b8f6 Fix Moder theme board canvas background 2020-10-26 19:58:51 -03:00
Lauri Ojansivu ef59d6dcb9 Update ChangeLog. 2020-10-21 19:30:38 +03:00
Lauri Ojansivu 1b429b3f99 Fixed: With ORACLE_OIM_ENABLED, allow setting OAUTH2_REQUEST_PERMISSIONS with environment variable.
Thanks to xet7 !
2020-10-21 19:20:48 +03:00
Lauri Ojansivu 5098f7dee1 v4.43 2020-10-20 19:11:48 +03:00
Lauri Ojansivu c509aaf246 Update translations. 2020-10-20 19:04:18 +03:00
Lauri Ojansivu d7333dec84 Fixed CSV/TSV export. Please test.
Thanks to xet7 !

Related #3173
2020-10-20 18:59:41 +03:00
Lauri Ojansivu 9d97494cfc Update ChangeLog. 2020-10-16 23:58:54 +03:00
Lauri Ojansivu acf9e7caea Allow more than one assignee.
Thanks to xet7 !

Fixes #3302
2020-10-16 23:56:20 +03:00
Lauri Ojansivu f6d000b26a Update translations. 2020-10-16 23:42:12 +03:00
Lauri Ojansivu ba5b35d0cc v4.42 2020-10-14 21:51:51 +03:00
Lauri Ojansivu 1eae8222c4 Update translations. 2020-10-14 21:40:32 +03:00
Lauri Ojansivu 9b5a519bc7 Update ChangeLog. 2020-10-12 16:42:26 +03:00
Lauri Ojansivu b8a209249e Updagrade to Node.js 12.19.0.
Thanks to Node.js developers !
2020-10-12 16:39:47 +03:00
Lauri Ojansivu ecc1b69f5c Update translations. 2020-10-12 16:19:25 +03:00
Lauri Ojansivu 6253bc6c14 Merge branch 'master' of github.com:wekan/wekan 2020-10-11 01:50:44 +03:00
Lauri Ojansivu 7768a4c1ba Reverted systemd changes that caused Snap to fail building.
Thanks to xet7 !
2020-10-11 01:50:24 +03:00
Lauri Ojansivu cd1bc7a695 Reverted systemd changed that caused Snap to fail building. 2020-10-11 01:49:55 +03:00
Lauri Ojansivu 42f45f9a83 Update translations. 2020-10-10 20:13:45 +03:00
Lauri Ojansivu d081eb0a2e Update dependencies. 2020-10-10 20:10:08 +03:00
Lauri Ojansivu 504533991b Update translations. 2020-10-04 23:25:23 +03:00
Lauri Ojansivu 44a5976b85 Update ChangeLog. 2020-10-03 23:51:54 +03:00
Lauri Ojansivu ac65b93b43 Added restart on failure delay of 10 seconds to Snap.
Thanks to xet7 !

Related #3293
2020-10-03 23:48:11 +03:00
Lauri Ojansivu e9d27c521e Update translations. 2020-10-03 23:23:26 +03:00
Lauri Ojansivu dc86ae21de v4.41 2020-10-03 00:34:30 +03:00
Lauri Ojansivu befb0f18b6 Update ChangeLog. 2020-10-03 00:28:41 +03:00
Lauri Ojansivu b796a6cbf4 Update dependencies. 2020-10-03 00:27:22 +03:00
Lauri Ojansivu 9336a55a50 Update ChangeLog. 2020-10-03 00:24:39 +03:00
Lauri Ojansivu 26749442fd Update translations. 2020-10-03 00:23:03 +03:00
Lauri Ojansivu 7223d6e750 At Admin Panel / Layout: Text below custom login logo. Can have markdown formatting.
Thanks to xet7 !
2020-10-03 00:21:19 +03:00
Lauri Ojansivu 41a8e79e0e Update ChangeLog. 2020-10-02 23:35:16 +03:00
Lauri Ojansivu ec8a78537f Login with OIDC OAuth2 Oracle on premise identity manager OIM, with setting ORACLE_OIM_ENABLED=true.
Thanks to xet7 !
2020-10-02 23:15:39 +03:00
Lauri Ojansivu 4eb7597aa9 Update translations. 2020-10-02 21:14:45 +03:00
Lauri Ojansivu 3d13fa3a26 Update translations. 2020-09-20 15:05:21 +03:00
Lauri Ojansivu 655fe8afd3 v4.40 2020-09-18 19:50:40 +03:00
Lauri Ojansivu 855c66976e Update ChangeLog. 2020-09-18 19:46:27 +03:00
Lauri Ojansivu 185cf163b2 Upgrade to Meteor v1.11.1 .
Thanks to Meteor developers !
2020-09-18 19:42:34 +03:00
Lauri Ojansivu 45b7365025 Update translations. 2020-09-18 19:34:56 +03:00
Lauri Ojansivu ed5f64ccd6 Update ChangeLog. 2020-09-18 19:23:16 +03:00
Lauri Ojansivu 3fc80e1145 Better translation: Target URL to Link URL. 2020-09-18 19:20:16 +03:00
Lauri Ojansivu 05e3fc31b4 Remove extra translation that is not used. 2020-09-18 19:06:02 +03:00
Lauri Ojansivu d5e1c4bfa5 Update ChangeLog. 2020-09-18 18:58:22 +03:00
Lauri Ojansivu a7c3317ed6 Custom Logo for Login and Top Left Corner. Optional link when clicking logo. Settings at Admin Panel / Layout.
Thanks to xet7 !

Fixes #1493,
fixes #2721,
fixes #2681,
fixes #1583,
fixes #1196,
fixes #336,
fixes wekan/wekan-snap#130
2020-09-18 18:45:48 +03:00
Lauri Ojansivu 7db08082bc v4.39 2020-09-17 00:19:45 +03:00
Lauri Ojansivu 32836d42c9 Update ChangeLog. 2020-09-16 23:26:38 +03:00
Lauri Ojansivu 789c4b480a Update translations. 2020-09-16 23:23:22 +03:00
Lauri Ojansivu abe291837a Merge branch 'Akuket-feature/impersonate-user' 2020-09-16 23:12:25 +03:00
Lauri Ojansivu 81ac0fdba9 Add translations strings for impersonate user feature.
Thanks to xet7 !
2020-09-16 23:11:43 +03:00
Guillaume d19cc972e0 Add admin ability : Impersonate one user. 2020-09-16 18:11:19 +00:00
Lauri Ojansivu 8f6c3550e3 v4.38 2020-09-16 05:52:19 +03:00
Lauri Ojansivu 40681ccda4 Update translations. 2020-09-16 05:43:58 +03:00
Lauri Ojansivu 4f76e1e1eb Update ChangeLog. 2020-09-16 05:42:15 +03:00
Lauri Ojansivu 5cd9f89b21 Upgrade to Node.js v12.18.4.
Thanks to Node developers !
2020-09-16 05:35:21 +03:00
Lauri Ojansivu b24685e38d v4.37 2020-09-15 23:19:51 +03:00
Lauri Ojansivu 5d7aa373fd Update translations. 2020-09-15 23:17:44 +03:00
Lauri Ojansivu e79b7fad0a Update release scripts. 2020-09-15 23:14:05 +03:00
Lauri Ojansivu e05541da88 Update translations. 2020-09-15 22:51:51 +03:00
Lauri Ojansivu 0ccbfcfc9e Merge branch 'master' of github.com:wekan/wekan 2020-09-15 22:39:29 +03:00
Lauri Ojansivu 8e6a570d47 Update ChangeLog. 2020-09-15 22:39:13 +03:00
Lauri Ojansivu 129a884a4e Merge branch 'helioguardabaxo-master' 2020-09-15 22:34:49 +03:00
Lauri Ojansivu 2d278f303a Fix linting.
Thanks to xet7 !
2020-09-15 22:34:19 +03:00
Lauri Ojansivu dd67bd4b5e Merge branch 'master' of https://github.com/helioguardabaxo/wekan into helioguardabaxo-master 2020-09-15 22:29:00 +03:00
Lauri Ojansivu 17239fe052 Merge pull request #3278 from devilmengcry/patch-1
Update docker-compose.yml
2020-09-15 22:26:01 +03:00
helioguardabaxo 389908be7c Adjut cardPanelWidth for card details 2020-09-15 16:00:23 -03:00
helioguardabaxo 33cf589c05 UI improvements in filter, multi-selection and rules 2020-09-15 12:47:07 -03:00
李李李 d961355016 Update docker-compose.yml
yaml.parser.ParserError
2020-09-15 20:16:42 +08:00
Lauri Ojansivu 9a72cf7ac2 v4.36 2020-09-15 04:32:12 +03:00
Lauri Ojansivu 53027559cd Update translations. 2020-09-15 04:27:59 +03:00
Lauri Ojansivu 2e5545491b Update ChangeLog. 2020-09-15 04:26:36 +03:00
Lauri Ojansivu f9b0da65f1 Added translations for date selection popups.
Thanks to xet7 !

Fixes #1670
2020-09-15 04:21:23 +03:00
Lauri Ojansivu 4c734ee70f v4.35 2020-09-14 21:29:59 +03:00
Lauri Ojansivu 7173e293ef Try to fix Snap. 2020-09-14 21:26:35 +03:00
Lauri Ojansivu 19ff17b3a5 v4.34 2020-09-14 21:04:01 +03:00
Lauri Ojansivu d2b84c7773 Try to fix Snap. 2020-09-14 20:55:04 +03:00
Lauri Ojansivu 623d6c09c4 v4.33 2020-09-14 20:31:24 +03:00
Lauri Ojansivu 8ae80138a0 Update ChangeLog. 2020-09-14 20:28:17 +03:00
Lauri Ojansivu cca041e21a Update dependencies.
Thanks to developers of dependencies !
2020-09-14 20:26:32 +03:00
Lauri Ojansivu b333061de7 Update translations. 2020-09-14 20:20:45 +03:00
Lauri Ojansivu abf4322b6c Add dot. 2020-09-14 20:17:36 +03:00
Lauri Ojansivu 4e1a73fa27 Update ChangeLog. 2020-09-14 20:17:02 +03:00
Lauri Ojansivu 214c86cc22 Added some CAS and SAML settings. Not tested. Please test and send pull requests if it does not work.
See https://github.com/wekan/wekan/wiki/SAML and https://github.com/wekan/wekan/wiki/CAS

Thanks to xet7 !

Related #3204,
related #708
2020-09-14 19:57:50 +03:00
Lauri Ojansivu e0192f570e Update translations. 2020-09-13 17:10:03 +03:00
Lauri Ojansivu f5b5ab6331 Update translations. 2020-09-13 12:57:34 +03:00
Lauri Ojansivu d1c83b28f3 Update translations. 2020-09-13 12:46:58 +03:00
Lauri Ojansivu aa12b3f162 v4.32 2020-09-13 12:31:56 +03:00
Lauri Ojansivu 754087b5cf v4.31 2020-09-13 11:58:54 +03:00
Lauri Ojansivu e656e36a92 Update translations. 2020-09-13 11:55:56 +03:00
Lauri Ojansivu 0bf138281e Update ChangeLog. 2020-09-13 11:53:58 +03:00
Lauri Ojansivu fe62e12ab4 Try to fix Snap.
Thanks to xet7 !
2020-09-13 11:51:56 +03:00
Lauri Ojansivu 3c64c504c8 Add missing text. 2020-09-13 11:17:03 +03:00
Lauri Ojansivu 479472c1d8 v4.30 2020-09-13 11:15:00 +03:00
Lauri Ojansivu c10c10c4a9 Update ChangeLog. 2020-09-13 11:07:48 +03:00
Lauri Ojansivu d8c515c858 Update translations. 2020-09-13 11:01:01 +03:00
Lauri Ojansivu 168a308f5f Merge branch 'helioguardabaxo-master' 2020-09-13 10:56:15 +03:00
Lauri Ojansivu fe40c5fd37 Update English text 2020-09-13 10:53:13 +03:00
Lauri Ojansivu c430e36357 Merge branch 'master' of https://github.com/helioguardabaxo/wekan into helioguardabaxo-master 2020-09-13 10:51:08 +03:00
Lauri Ojansivu 007bf743a6 Merge branch 'xoe-labs-da-use-grifs-stream-updated-fork' 2020-09-13 10:49:28 +03:00
Lauri Ojansivu 774f57f3f6 Merge branch 'da-use-grifs-stream-updated-fork' of https://github.com/xoe-labs/wekan into xoe-labs-da-use-grifs-stream-updated-fork 2020-09-13 09:57:37 +03:00
Lauri Ojansivu 044a64b964 Update ChangeLog. 2020-09-13 09:49:01 +03:00
Lauri Ojansivu f6bdb4d694 - Remove mouse scroll settings of already removed custom scrollbar.
- Add setting OAUTH2_ADFS_ENABLED=false
- Add testing for both string and boolean version of true

Thanks to xet7 !

Fixes #2949
2020-09-13 09:41:53 +03:00
helioguardabaxo 6a6b76e084 Bold minicard item title 2020-09-13 01:11:19 -03:00
helioguardabaxo 9357ce8a26 Card details layout improvements 2020-09-13 00:23:12 -03:00
helioguardabaxo 0aab2b3085 Put card custom field check in the same line 2020-09-12 16:11:54 -03:00
helioguardabaxo 3edafd6c67 This PR add 'Template' label and modify placeholder in template search 2020-09-12 13:33:29 -03:00
David Arnold 850ded2e17 Use forked & updated version of gridfs-stream 2020-09-11 12:43:01 -05:00
Lauri Ojansivu 67a58daaf3 Update ChangeLog. 2020-09-11 19:18:50 +03:00
Lauri Ojansivu 9fdafd2008 Update npm-mongo dependency.
Thanks to filipenevola.
2020-09-11 19:16:01 +03:00
Lauri Ojansivu 66c37ccd3e Update dependencies. 2020-09-11 14:35:50 +03:00
Lauri Ojansivu fd3139201a Merge pull request #3268 from blaggacao/patch-1
bump: mongodb -> 3.6.2
2020-09-11 14:16:49 +03:00
Lauri Ojansivu abfedf573b Merge pull request #3269 from phaseshift3r/patch-1
Update oidc_server.js
2020-09-11 14:10:14 +03:00
phaseshift3r a1f9536657 Update oidc_server.js
added hack for getting the claims in the accessToken instead of the /adfs/oauth2/userinfo endpoint 

https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/overview/ad-fs-faq#i-am-trying-to-get-additional-claims-on-the-user-info-endpoint-but-its-only-returning-subject-how-can-i-get-additional-claims

Environment variable needed set
OAUTH2_ADFS=true
2020-09-11 11:16:28 +02:00
David Arnold dec0563e3c bump: mongodb -> 3.6.2
https://github.com/mongodb/node-mongodb-native/releases
2020-09-10 20:44:22 -05:00
Lauri Ojansivu 9a4136399f v4.29 2020-09-11 02:18:40 +03:00
Lauri Ojansivu 20b0177105 Changed markdown from marked to markdown-it. Added emoji support https://github.com/wekan/wekan/wiki/Emoji
Thanks to xet7 !

Fixes #2696,
fixes #1537
2020-09-11 02:04:17 +03:00
Lauri Ojansivu e0957f70e6 v4.28 2020-09-11 00:53:50 +03:00
Lauri Ojansivu 125c4684bd Update dependencies.
Thanks to developers of dependencies!
2020-09-11 00:45:46 +03:00
Lauri Ojansivu 991d4909e1 Update ChangeLog. 2020-09-11 00:31:56 +03:00
Lauri Ojansivu f81fd8084f Try to fix language names.
Thanks to buplet, xoas and xet7.

Fixes #3265
2020-09-11 00:28:33 +03:00
Lauri Ojansivu 231137617f Update translations. 2020-09-10 17:11:55 +03:00
Lauri Ojansivu f6b4c0ab25 Update ChangeLog. 2020-09-10 15:57:00 +03:00
Lauri Ojansivu 30f2de151b Update translations. 2020-09-10 15:54:02 +03:00
Lauri Ojansivu 20fe8bc09b Merge pull request #3264 from tborychowski/master
fix(card): fix card scrollbar on windows
2020-09-10 15:33:21 +03:00
Tomasz Borychowski 2e715444ed fix(card): fix card scrollbar on windows 2020-09-10 09:15:45 +01:00
Lauri Ojansivu 1b13beb106 v4.27 2020-09-09 09:14:13 +03:00
Lauri Ojansivu 88213911fd Update translations. 2020-09-09 09:08:19 +03:00
Lauri Ojansivu 50f3957011 Update ChangeLog. 2020-09-09 09:03:18 +03:00
Lauri Ojansivu bf18792d77 Reverted incomplete fix for "Checklist + card title with starting number and point", because it disabled some markdown. Related #2696
More fixes to GFM checklist not displayed properly in card title, fixes #2818

Thanks to xet7 !
2020-09-09 08:52:37 +03:00
Lauri Ojansivu ca39fce578 Update translations. 2020-09-08 21:01:31 +03:00
Lauri Ojansivu f0df8dcdc7 v4.26 2020-09-05 03:54:35 +03:00
Lauri Ojansivu 7d594705fb Update translations. 2020-09-05 03:47:20 +03:00
Lauri Ojansivu fe5e124f93 Update ChangeLog. 2020-09-05 03:04:38 +03:00
Lauri Ojansivu 41b1c55988 Disable list formatting and converting to HTML.
Fixes:
- Checklist + card title with starting number and point #2696
- How to begin a card title with "3. "? #1421
- GFM checklist not displayed properly in card title #2818

Thanks to xet7 !

Fixes #2696,
fixes #1421,
fixes #2818
2020-09-05 02:50:36 +03:00
Lauri Ojansivu cfcbf640d6 Update dependencies.
Thanks to developers of dependencies.
2020-09-05 01:36:43 +03:00
Lauri Ojansivu d344c39d49 Delete markdown demo that is not in use.
Thanks to xet7 !
2020-09-04 22:44:40 +03:00
Lauri Ojansivu 22d07d7a65 Update translations. 2020-09-04 20:56:29 +03:00
Lauri Ojansivu 44fc7c0771 Merge pull request #3254 from wekan/dependabot/npm_and_yarn/bl-2.2.1
Bump bl from 2.2.0 to 2.2.1
2020-09-04 17:21:30 +03:00
dependabot[bot] 7ec671bb9f Bump bl from 2.2.0 to 2.2.1
Bumps [bl](https://github.com/rvagg/bl) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/rvagg/bl/releases)
- [Commits](https://github.com/rvagg/bl/compare/v2.2.0...v2.2.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-03 18:55:54 +00:00
Lauri Ojansivu df35683043 Create codeql-analysis.yml 2020-09-03 19:32:02 +03:00
164 changed files with 45854 additions and 56039 deletions

No files matched your search

+18 -5
View File
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND=noninteractive
ENV \
DEBUG=false \
NODE_VERSION=v12.18.3 \
NODE_VERSION=v12.19.0 \
METEOR_RELEASE=1.10.2 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
@@ -39,6 +39,7 @@ ENV \
TRUSTED_URL="" \
WEBHOOKS_ATTRIBUTES="" \
OAUTH2_ENABLED=false \
OAUTH2_ADFS_ENABLED=false \
OAUTH2_LOGIN_STYLE=redirect \
OAUTH2_CLIENT_ID="" \
OAUTH2_SECRET="" \
@@ -112,10 +113,22 @@ ENV \
CORS_ALLOW_HEADERS="" \
CORS_EXPOSE_HEADERS="" \
DEFAULT_AUTHENTICATION_METHOD="" \
SCROLLINERTIA="0" \
SCROLLAMOUNT="auto" \
SCROLLDELTAFACTOR="auto" \
PASSWORD_LOGIN_ENABLED=true
PASSWORD_LOGIN_ENABLED=true \
CAS_ENABLED=false \
CAS_BASE_URL="" \
CAS_LOGIN_URL="" \
CAS_VALIDATE_URL="" \
SAML_ENABLED=false \
SAML_PROVIDER="" \
SAML_ENTRYPOINT="" \
SAML_ISSUER="" \
SAML_CERT="" \
SAML_IDPSLO_REDIRECTURL="" \
SAML_PRIVATE_KEYFILE="" \
SAML_PUBLIC_CERTFILE="" \
SAML_IDENTIFIER_FORMAT="" \
SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE="" \
SAML_ATTRIBUTES=""
# Install OS
RUN set -o xtrace \
+1 -1
View File
@@ -81,7 +81,7 @@ parts:
wekan:
source: .
plugin: nodejs
node-engine: 12.18.3
node-engine: 12.19.0
node-packages:
- node-gyp
- node-pre-gyp
+1 -1
View File
@@ -83,7 +83,7 @@ parts:
wekan:
source: .
plugin: nodejs
node-engine: 12.18.3
node-engine: 12.19.0
node-packages:
- node-gyp
- node-pre-gyp
+62
View File
@@ -0,0 +1,62 @@
name: "CodeQL"
on:
push:
branches: [master]
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
schedule:
- cron: '0 16 * * 3'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# Override automatic language detection by changing the below list
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
language: ['javascript', 'python']
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
+1
View File
@@ -5,6 +5,7 @@
tmp/
node_modules/
npm-debug.log
.gitmodules
.vscode/
.idea/
.build/*
+54 -5
View File
@@ -6,8 +6,8 @@
meteor-base@1.4.0
# Build system
ecmascript@0.14.3
standard-minifier-css@1.6.0
ecmascript@0.15.0-beta200.3
standard-minifier-css@1.7.0-beta200.3
standard-minifier-js@2.6.0
mquandalle:jade
coffeescript@2.4.1!
@@ -72,8 +72,7 @@ simple:rest-accounts-password
useraccounts:core
email@2.0.0
horka:swipebox
dynamic-import@0.5.2
staringatlights:fast-render
dynamic-import@0.6.0-beta200.3
accounts-password@1.6.2
cfs:gridfs
@@ -95,5 +94,55 @@ konecty:mongo-counter
percolate:synced-cron
easylogic:summernote
cfs:filesystem
ostrio:cookies
tmeasday:check-npm-versions
steffo:meteor-accounts-saml
rajit:bootstrap3-datepicker-fi
rajit:bootstrap3-datepicker-ar
rajit:bootstrap3-datepicker-bg
rajit:bootstrap3-datepicker-br
rajit:bootstrap3-datepicker-ca
rajit:bootstrap3-datepicker-cs
rajit:bootstrap3-datepicker-da
rajit:bootstrap3-datepicker-de
rajit:bootstrap3-datepicker-el
rajit:bootstrap3-datepicker-en-gb
rajit:bootstrap3-datepicker-eo
rajit:bootstrap3-datepicker-es
rajit:bootstrap3-datepicker-eu
rajit:bootstrap3-datepicker-fa
rajit:bootstrap3-datepicker-fr
rajit:bootstrap3-datepicker-gl
rajit:bootstrap3-datepicker-he
rajit:bootstrap3-datepicker-hi
rajit:bootstrap3-datepicker-hu
rajit:bootstrap3-datepicker-hy
rajit:bootstrap3-datepicker-id
rajit:bootstrap3-datepicker-it
rajit:bootstrap3-datepicker-ja
rajit:bootstrap3-datepicker-ka
rajit:bootstrap3-datepicker-km
rajit:bootstrap3-datepicker-ko
rajit:bootstrap3-datepicker-lv
rajit:bootstrap3-datepicker-mk
rajit:bootstrap3-datepicker-mn
rajit:bootstrap3-datepicker-nb
rajit:bootstrap3-datepicker-nl
rajit:bootstrap3-datepicker-oc
rajit:bootstrap3-datepicker-pl
rajit:bootstrap3-datepicker-pt-br
rajit:bootstrap3-datepicker-pt
rajit:bootstrap3-datepicker-ro
rajit:bootstrap3-datepicker-ru
rajit:bootstrap3-datepicker-sl
rajit:bootstrap3-datepicker-sr
rajit:bootstrap3-datepicker-sv
rajit:bootstrap3-datepicker-sw
rajit:bootstrap3-datepicker-ta
rajit:bootstrap3-datepicker-th
rajit:bootstrap3-datepicker-tr
rajit:bootstrap3-datepicker-uk
rajit:bootstrap3-datepicker-vi
rajit:bootstrap3-datepicker-zh-cn
rajit:bootstrap3-datepicker-zh-tw
hot-module-replacement
staringatlights:fast-render
+1 -1
View File
@@ -1 +1 @@
METEOR@1.11
METEOR@2.0-beta.3
+64 -14
View File
@@ -10,14 +10,14 @@ aldeed:simple-schema@1.5.4
allow-deny@1.1.0
arillo:flow-router-helpers@0.5.2
audit-argument-checks@1.0.7
autoupdate@1.6.0
babel-compiler@7.5.3
autoupdate@1.7.0-beta200.3
babel-compiler@7.6.0-beta200.3
babel-runtime@1.5.0
base64@1.0.12
binary-heap@1.0.11
blaze@2.3.4
blaze-tools@1.0.10
boilerplate-generator@1.7.0
boilerplate-generator@1.7.1
browser-policy-common@1.0.11
browser-policy-framing@1.1.0
caching-compiler@1.2.2
@@ -55,9 +55,9 @@ ddp-rate-limiter@1.0.9
ddp-server@2.3.2
deps@1.0.12
diff-sequence@1.1.1
dynamic-import@0.5.2
dynamic-import@0.6.0-beta200.3
easylogic:summernote@0.8.8
ecmascript@0.14.3
ecmascript@0.15.0-beta200.3
ecmascript-runtime@0.7.0
ecmascript-runtime-client@0.11.0
ecmascript-runtime-server@0.10.0
@@ -70,6 +70,7 @@ fortawesome:fontawesome@4.7.0
geojson-utils@1.0.10
horka:swipebox@1.0.2
hot-code-push@1.0.4
hot-module-replacement@0.2.0-beta200.3
html-tools@1.0.11
htmljs@1.0.11
http@1.4.2
@@ -101,15 +102,16 @@ meteorhacks:collection-utils@1.2.0
meteorhacks:picker@1.0.3
meteorhacks:subs-manager@1.6.4
meteorspark:util@0.2.0
minifier-css@1.5.2
minifier-css@1.5.3
minifier-js@2.6.0
minifiers@1.1.8-faster-rebuild.0
minimongo@1.6.0
mobile-status-bar@1.1.0
modern-browsers@0.1.5
modules@0.15.0
modules@0.16.0-beta200.3
modules-runtime@0.12.0
momentjs:moment@2.27.0
modules-runtime-hot@0.13.0-beta200.3
momentjs:moment@2.29.1
mongo@1.10.0
mongo-decimal@0.1.1
mongo-dev-server@1.1.0
@@ -126,13 +128,12 @@ mquandalle:moment@1.0.1
mquandalle:mousetrap-bindglobal@0.0.1
msavin:usercache@1.8.0
npm-bcrypt@0.9.3
npm-mongo@3.8.0
oauth@1.3.0
npm-mongo@3.8.1
oauth@1.3.2
oauth2@1.3.0
observe-sequence@1.0.16
ongoworks:speakingurl@1.1.0
ordered-dict@1.1.0
ostrio:cookies@2.6.0
peerlibrary:assert@0.3.0
peerlibrary:base-component@0.16.0
peerlibrary:blaze-components@0.15.1
@@ -143,6 +144,54 @@ promise@0.11.2
raix:eventemitter@0.1.3
raix:handlebar-helpers@0.2.5
rajit:bootstrap3-datepicker@1.7.1_1
rajit:bootstrap3-datepicker-ar@1.7.1
rajit:bootstrap3-datepicker-bg@1.7.1
rajit:bootstrap3-datepicker-br@1.7.1
rajit:bootstrap3-datepicker-ca@1.7.1
rajit:bootstrap3-datepicker-cs@1.7.1
rajit:bootstrap3-datepicker-da@1.7.1
rajit:bootstrap3-datepicker-de@1.7.1
rajit:bootstrap3-datepicker-el@1.7.1
rajit:bootstrap3-datepicker-en-gb@1.7.1
rajit:bootstrap3-datepicker-eo@1.7.1
rajit:bootstrap3-datepicker-es@1.7.1
rajit:bootstrap3-datepicker-eu@1.7.1
rajit:bootstrap3-datepicker-fa@1.7.1
rajit:bootstrap3-datepicker-fi@1.7.1
rajit:bootstrap3-datepicker-fr@1.7.1
rajit:bootstrap3-datepicker-gl@1.7.1
rajit:bootstrap3-datepicker-he@1.7.1
rajit:bootstrap3-datepicker-hi@1.7.1
rajit:bootstrap3-datepicker-hu@1.7.1
rajit:bootstrap3-datepicker-hy@1.7.1
rajit:bootstrap3-datepicker-id@1.7.1
rajit:bootstrap3-datepicker-it@1.7.1
rajit:bootstrap3-datepicker-ja@1.7.1
rajit:bootstrap3-datepicker-ka@1.7.1
rajit:bootstrap3-datepicker-km@1.7.1
rajit:bootstrap3-datepicker-ko@1.7.1
rajit:bootstrap3-datepicker-lv@1.7.1
rajit:bootstrap3-datepicker-mk@1.7.1
rajit:bootstrap3-datepicker-mn@1.7.1
rajit:bootstrap3-datepicker-nb@1.7.1
rajit:bootstrap3-datepicker-nl@1.7.1
rajit:bootstrap3-datepicker-oc@1.7.1
rajit:bootstrap3-datepicker-pl@1.7.1
rajit:bootstrap3-datepicker-pt@1.7.1
rajit:bootstrap3-datepicker-pt-br@1.7.1
rajit:bootstrap3-datepicker-ro@1.7.1
rajit:bootstrap3-datepicker-ru@1.7.1
rajit:bootstrap3-datepicker-sl@1.7.1
rajit:bootstrap3-datepicker-sr@1.7.1
rajit:bootstrap3-datepicker-sv@1.7.1
rajit:bootstrap3-datepicker-sw@1.7.1
rajit:bootstrap3-datepicker-ta@1.7.1
rajit:bootstrap3-datepicker-th@1.7.1
rajit:bootstrap3-datepicker-tr@1.7.1
rajit:bootstrap3-datepicker-uk@1.7.1
rajit:bootstrap3-datepicker-vi@1.7.1
rajit:bootstrap3-datepicker-zh-cn@1.7.1
rajit:bootstrap3-datepicker-zh-tw@1.7.1
random@1.2.0
rate-limit@1.0.9
reactive-dict@1.3.0
@@ -166,10 +215,11 @@ softwarerero:accounts-t9n@1.3.11
spacebars@1.0.15
spacebars-compiler@1.1.3
srp@1.1.0
standard-minifier-css@1.6.0
standard-minifier-css@1.7.0-beta200.3
standard-minifier-js@2.6.0
staringatlights:fast-render@3.3.0
staringatlights:inject-data@2.3.0
steffo:meteor-accounts-saml@0.0.18
tap:i18n@1.8.2
templates:tabs@2.3.0
templating@1.3.2
@@ -186,8 +236,8 @@ useraccounts:core@1.14.2
useraccounts:flow-routing@1.14.2
useraccounts:unstyled@1.14.2
verron:autosize@3.0.8
webapp@1.9.1
webapp-hashing@1.0.9
webapp@1.10.0-beta200.3
webapp-hashing@1.1.0-beta200.3
wekan-accounts-cas@0.1.0
wekan-accounts-oidc@1.0.10
wekan-ldap@0.0.2
+1 -1
View File
@@ -3,7 +3,7 @@ sudo: required
env:
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
TRAVIS_NODE_VERSION: 12.18.3
TRAVIS_NODE_VERSION: 12.19.0
TRAVIS_NPM_VERSION: latest
before_install:
+285
View File
@@ -1,3 +1,288 @@
# v4.45 2020-10-30 Wekan release
This release fixes the following bugs:
- [Fix can not upload and download files, by changing back to Node.js 12.19.0 and adding
fast-render](https://github.com/wekan/wekan/commit/d2f434879caa20d69651f23fa2124074f55c9893).
Current file storing to MongoDB code was not yet compatible with newer Node.js.
Thanks to eskogito and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.44 2020-10-28 Wekan release
This release adds the following new features:
- For development, [add Meteor 2.0 Hot Module Replacement](https://github.com/wekan/wekan/commit/e6162472548d9dff497dd76e82d23044f779f757).
More info at https://forums.meteor.com/t/meteor-2-0-beta-with-hot-module-replacement-hmr/54313/8 .
Thanks to zodern.
and adds the following updates:
- [Upgrade to Node.js 14.15.0](https://github.com/wekan/wekan/commit/045e9db7b8f0de852ef4486cb1ad200d6ca7296d).
Thanks to Node.js and Meteor.js developers.
- [Upgrade to Meteor 2.0-beta.3. Removed fast-render and ostrio:cookies](https://github.com/wekan/wekan/commit/a463f2a855498935db5b66e5fad446ce465adab1).
Thanks to Meteor.js developers and xet7.
and fixes the following bugs:
- [Fixed: With ORACLE_OIM_ENABLED, allow setting OAUTH2_REQUEST_PERMISSIONS with environment variable](https://github.com/wekan/wekan/commit/1b429b3f99c32840ebb0ff9a29015aa8c28ec644).
Thanks to xet7.
- [Changed public board changing Swimlanes/Lists/Calendar view and changing Hide minicard label text
from using cookies to using browser localStorage](https://github.com/wekan/wekan/commit/460b1d3a664b648bc03c40422b9d175401e229c1),
to remove some errors from browser inspect console.
Thanks to xet7.
- [Fix Modern theme board canvas background](https://github.com/wekan/wekan/pull/3312).
Thanks to helioguardabaxo.
- [Fix: 1) Expose moving cards on mobile to workers. 2) Hide the move to another board functionality
in the submenu (only from the worker) so that the worker is still constrained to a single
board](https://github.com/wekan/wekan/pull/3315).
Thanks to jtbairdsr.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.43 2020-10-20 Wekan release
This release adds the following new features:
- [Allow more than one assignee](https://github.com/wekan/wekan/commit/acf9e7caeaf59e1030ae1014c0cb2fb7dae27147).
Thanks to xet7.
and fixes the following bugs:
- [Fixed CSV/TSV export](https://github.com/wekan/wekan/commit/d7333dec84328ca191f430d96aaf9e550840631a).
Please test and report any problems [at issue #3173](https://github.com/wekan/wekan/issues/3173).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.42 2020-10-14 Wekan release
This release adds the following updates:
- [Upgrade to Node.js 12.19.0](https://github.com/wekan/wekan/commit/b8a209249e968b90917af319adf24fedf2157396).
Thanks to Node.js developers.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.41 2020-10-03 Wekan release
This release adds the following new features:
- [Login with OIDC OAuth2 Oracle on premise identity manager OIM, with setting ORACLE_OIM_ENABLED=true](https://github.com/wekan/wekan/commit/ec8a78537f1dc40e967de36a02ea09cf7398318a).
More info [at wiki](https://github.com/wekan/wekan/wiki/Oracle-OIM).
Thanks to xet7.
- [At Admin Panel / Layout: Text below Custom Login Logo. Can have markdown formatting](https://github.com/wekan/wekan/commit/7223d6e75057d1412862a97b8a43c34ec23b16e9).
Thanks to xet7.
and adds the following updates:
- [Update dependencies](https://github.com/wekan/wekan/commit/b796a6cbf4911c14ff036a51db0252e08d3a5ef8).
Thanks to developers of dependencies.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.40 2020-09-18 Wekan release
This release adds the following new features:
- Custom Logo for Login and Top Left Corner. Optional link when clicking logo.
Settings at Admin Panel / Layout.
[Part 1](https://github.com/wekan/wekan/commit/a7c3317ed696fad8e211b22afbb3012f3a4f2ddb),
[Part 2](https://github.com/wekan/wekan/commit/05e3fc31b4633978a6b002a0325aad8e74d57ec4),
[Part 3](https://github.com/wekan/wekan/commit/3fc80e1145b23f8e6c7492ef4e3313b02f3d8772).
Thanks to xet7.
and adds the following updates:
- [Upgrade to Meteor v1.11.1](https://github.com/wekan/wekan/commit/185cf163b23280af5a7910381209984e2362a452).
Thanks to Meteor developers.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.39 2020-09-17 Wekan release
This release adds the following new features:
- [Impersonate one user](https://github.com/wekan/wekan/pull/3280) and
[related translatable strings](https://github.com/wekan/wekan/commit/81ac0fdba9b52477dbbe7b6ed01b6d299288bcca).
Thanks to Akuket and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.38 2020-09-16 Wekan release
This release fixes the following CRITICAL VULNERABILITIES:
- [Upgrade to Node.js v12.18.4](https://github.com/wekan/wekan/commit/5cd9f89b21e6f800c2b78da49a1c0cf7f6fba955).
Thanks to Node.js developers.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.37 2020-09-15 Wekan release
This release adds the following UI improvements:
- [UI improvements in filter, multi-selection and rules](https://github.com/wekan/wekan/pull/3279).
Thanks to helioguardabaxo and xet7.
and adds the following updates:
- [Update release scripts](https://github.com/wekan/wekan/commit/e79b7fad0a35f29020c48a4a4eedb435573c9bf1).
Thanks to xet7.
and fixes the following bugs:
- [Fix parse error in docker-compose.yml](https://github.com/wekan/wekan/pull/3278).
Thanks to devilmengcry.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.36 2020-09-15 Wekan release
This release adds the following new features:
- [Added translations for date selection popups](https://github.com/wekan/wekan/commit/f9b0da65f1de48a2af11aa7afbd767559ba95b79).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.35 2020-09-14 Wekan release
This release tries to fix the following bugs:
- [Try to fix Snap](https://github.com/wekan/wekan/commit/7173e293ef6b0d3c1fe82b5320340589c72c9326).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.34 2020-09-14 Wekan release
This release tries to fix the following bugs:
- [Try to fix Snap](https://github.com/wekan/wekan/commit/d2b84c7773f20b34bca8be23078469a8809005a6).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.33 2020-09-14 Wekan release
This release adds the following login settings:
- [Added some CAS and SAML settings](https://github.com/wekan/wekan/commit/214c86cc22f4c721a79ec0a4a4f3bbd90d673f93).
Not tested. Please test and send pull requests if it does not work.
See https://github.com/wekan/wekan/wiki/SAML and https://github.com/wekan/wekan/wiki/CAS .
Thanks to xet7.
and updates some dependencies:
- [Update dependencies](https://github.com/wekan/wekan/commit/cca041e21a66087ca4008a22cb0f5b4176801101).
Thanks to developers of dependencies.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.32 2020-09-13 Wekan release
This release tried to fix the following bugs:
- [Try to fix Snap](https://github.com/wekan/wekan/commit/).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.31 2020-09-13 Wekan release
This release tried to fix the following bugs:
- [Try to fix Snap](https://github.com/wekan/wekan/commit/fe62e12ab46c41ea30ba79795b0dc39b3451d4a2).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.30 2020-09-13 Wekan release
This release adds the following new features and improvements:
- [Add setting for OAUTH2_ADFS_ENABLED=true](https://github.com/wekan/wekan/pull/3269)
for [SSO Integration with ADFS 4.0 using OAuth 2 and OpenID](https://github.com/wekan/wekan/issues/3184).
Thanks to phaseshift3r.
- [Add setting OAUTH2_ADFS_ENABLED=false for most platforms. Remove mouse scroll settings of already removed custom scrollbar.
Add testing for both string and boolean version of true](https://github.com/wekan/wekan/commit/f6bdb4d694453d73f4bfa6a75814833594cf5000).
Thanks to xet7.
- [Design improvements in templates, card details and custom fields](https://github.com/wekan/wekan/pull/3271)
and [related change to translation](https://github.com/wekan/wekan/commit/fe40c5fd37a7c54240c080caf98b6130229f5d31).
Thanks to helioguardabaxo and xet7.
and adds the following updates:
- [Use forked & updated version of gridfs-stream](https://github.com/wekan/wekan/pull/3270).
Thanks to blaggacao.
- [Update dependencies](https://github.com/wekan/wekan/pull/3268).
Thanks to blaggacao.
- [Update npm-mongo dependency](https://github.com/wekan/wekan/commit/9fdafd20081b20302af3d1a6397fb840348f1209).
Thanks to filipenevola.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.29 2020-09-11 Wekan release
This release adds the following new features:
- [Changed markdown from marked to markdown-it](https://github.com/wekan/wekan/commit/20b01771055ca4d8871d13abb559ab92ecee10f4) and
added emoji support https://github.com/wekan/wekan/wiki/Emoji .
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.28 2020-09-11 Wekan release
This release updates some dependencies:
- [Update some dependencies](https://github.com/wekan/wekan/commit/125c4684bd6815a8f49241bc2663e82112afe67b).
Thanks to developers of dependencies.
and fixes the following bugs:
- [Fix card scrollbar on Windows](https://github.com/wekan/wekan/pull/3264).
Thanks to tborychowski.
- [Try to fix language names](https://github.com/wekan/wekan/commit/f81fd8084fd6cd1ad57daefcc22ed1fb0acaaeca).
Thanks to buplet, xoas and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.27 2020-09-09 Wekan release
This release fixes the following bugs:
- [Reverted incomplete fix for "Checklist + card title with starting number and point", because it disabled some markdown.
Also more fixes to GFM checklist not displayed properly](https://github.com/wekan/wekan/commit/bf18792d7733d6e6cfb61a8d6db4caafdcc19b34).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.26 2020-09-05 Wekan release
This release adds the following quality checks:
- [Added GitHub automatic code quality analysis](https://github.com/wekan/wekan/commit/df35683043603f6ecb9bd4f2a4b357e374397ad1).
Thanks to xet7.
and updates the following dependencies:
- [bl](https://github.com/wekan/wekan/commit/7ec671bb9f8a33c5eb28c26b98143f9b4cd9b958).
Thanks to developers of dependencies.
- [Delete markdown demo that is not in use](https://github.com/wekan/wekan/commit/d344c39d497cc291ee7927fdda900dc8bac22bc2).
Thanks to xet7.
- [Update markdown and xss](https://github.com/wekan/wekan/commit/cfcbf640d64bdfc4f3a482c32e35f396e1a22191)
Thanks to developers of dependencies.
and fixes the following bugs:
- [Disable list formatting and converting to HTML. This fixes markdown numbering and viewing bugs](https://github.com/wekan/wekan/commit/41b1c55988a9a65005ac0b9e1ddcc0596c047a49).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.25 2020-08-31 Wekan release
This release adds the following docker-compose.yml changes:
+19 -5
View File
@@ -8,7 +8,7 @@ ARG DEBIAN_FRONTEND=noninteractive
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
DEBUG=false \
NODE_VERSION=v12.18.3 \
NODE_VERSION=v12.19.0 \
METEOR_RELEASE=1.10.2 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
@@ -41,6 +41,7 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
TRUSTED_URL="" \
WEBHOOKS_ATTRIBUTES="" \
OAUTH2_ENABLED=false \
OAUTH2_ADFS_ENABLED=false \
OAUTH2_LOGIN_STYLE=redirect \
OAUTH2_CLIENT_ID="" \
OAUTH2_SECRET="" \
@@ -114,10 +115,23 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
CORS_ALLOW_HEADERS="" \
CORS_EXPOSE_HEADERS="" \
DEFAULT_AUTHENTICATION_METHOD="" \
SCROLLINERTIA="0" \
SCROLLAMOUNT="auto" \
SCROLLDELTAFACTOR="auto" \
PASSWORD_LOGIN_ENABLED=true
PASSWORD_LOGIN_ENABLED=true \
CAS_ENABLED=false \
CAS_BASE_URL="" \
CAS_LOGIN_URL="" \
CAS_VALIDATE_URL="" \
SAML_ENABLED=false \
SAML_PROVIDER="" \
SAML_ENTRYPOINT="" \
SAML_ISSUER="" \
SAML_CERT="" \
SAML_IDPSLO_REDIRECTURL="" \
SAML_PRIVATE_KEYFILE="" \
SAML_PUBLIC_CERTFILE="" \
SAML_IDENTIFIER_FORMAT="" \
SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE="" \
SAML_ATTRIBUTES="" \
ORACLE_OIM_ENABLED=false
# Copy the app to the image
COPY ${SRC_PATH} /home/wekan/app
+2 -2
View File
@@ -4,7 +4,7 @@ FROM amd64/alpine:3.7 AS builder
ENV QEMU_VERSION=v4.2.0-6 \
QEMU_ARCHITECTURE=aarch64 \
NODE_ARCHITECTURE=linux-arm64 \
NODE_VERSION=v12.18.3 \
NODE_VERSION=v12.19.0 \
WEKAN_VERSION=3.96 \
WEKAN_ARCHITECTURE=arm64
@@ -40,7 +40,7 @@ LABEL maintainer="wekan"
# Set the environment variables (defaults where required)
ENV QEMU_ARCHITECTURE=aarch64 \
NODE_ARCHITECTURE=linux-arm64 \
NODE_VERSION=v12.18.3 \
NODE_VERSION=v12.19.0 \
NODE_ENV=production \
NPM_VERSION=latest \
WITH_API=true \
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v4.25.0"
appVersion: "v4.45.0"
files:
userUploads:
- README.md
+7 -7
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const subManager = new SubsManager();
const { calculateIndex } = Utils;
const swimlaneWhileSortingHeight = 150;
@@ -197,7 +195,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
@@ -237,7 +235,9 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-swimlanes';
} else {
return cookies.get('boardView') === 'board-view-swimlanes';
return (
window.localStorage.getItem('boardView') === 'board-view-swimlanes'
);
}
},
@@ -246,7 +246,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-lists';
} else {
return cookies.get('boardView') === 'board-view-lists';
return window.localStorage.getItem('boardView') === 'board-view-lists';
}
},
@@ -255,7 +255,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-cal';
} else {
return cookies.get('boardView') === 'board-view-cal';
return window.localStorage.getItem('boardView') === 'board-view-cal';
}
},
@@ -417,7 +417,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-cal';
} else {
return cookies.get('boardView') === 'board-view-cal';
return window.localStorage.getItem('boardView') === 'board-view-cal';
}
},
}).register('calendarView');
+4 -1
View File
@@ -602,9 +602,12 @@ setBoardClear(color1,color2)
height: 21px
background: #f7f7f7
.board-canvas
background: #f5f5f5
/* Swimlane */
.swimlane
background: #f5f5f5
background: none
.swimlane .swimlane-header-wrap .swimlane-header
font-family: Poppins
@@ -4,8 +4,7 @@ template(name="cardCustomFieldsPopup")
li.item(class="")
a.name.js-select-field(href="#")
span.full-name
+viewer
= name
= name
if hasCustomField
i.fa.fa-check
hr
+67 -59
View File
@@ -42,12 +42,28 @@ template(name="cardDetails")
else
p.warning {{_ 'card-archived'}}
.card-details-items
.card-details-items
if currentBoard.allowsLabels
.card-details-item.card-details-item-labels
h3.card-details-item-title
i.fa.fa-tags
| {{_ 'labels'}}
a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
each labels
span.card-label(class="card-label-{{color}}" title=name)
+viewer
= name
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
i.fa.fa-plus
if currentBoard.allowsReceivedDate
hr
.card-details-item.card-details-item-received
h3
h3.card-details-item-title
i.fa.fa-sign-out
card-details-item-title {{_ 'card-received'}}
| {{_ 'card-received'}}
if getReceived
+cardReceivedDate
else
@@ -58,9 +74,9 @@ template(name="cardDetails")
if currentBoard.allowsStartDate
.card-details-item.card-details-item-start
h3
h3.card-details-item-title
i.fa.fa-hourglass-start
card-details-item-title {{_ 'card-start'}}
| {{_ 'card-start'}}
if getStart
+cardStartDate
else
@@ -71,9 +87,9 @@ template(name="cardDetails")
if currentBoard.allowsDueDate
.card-details-item.card-details-item-due
h3
h3.card-details-item-title
i.fa.fa-sign-in
card-details-item-title {{_ 'card-due'}}
| {{_ 'card-due'}}
if getDue
+cardDueDate
else
@@ -84,9 +100,9 @@ template(name="cardDetails")
if currentBoard.allowsEndDate
.card-details-item.card-details-item-end
h3
h3.card-details-item-title
i.fa.fa-hourglass-end
card-details-item-title {{_ 'card-end'}}
| {{_ 'card-end'}}
if getEnd
+cardEndDate
else
@@ -97,10 +113,11 @@ template(name="cardDetails")
//.card-details-items
if currentBoard.allowsMembers
hr
.card-details-item.card-details-item-members
h3
h3.card-details-item-title
i.fa.fa-users
card-details-item-title {{_ 'members'}}
| {{_ 'members'}}
each getMembers
+userAvatar(userId=this cardId=../_id)
| {{! XXX Hack to hide syntaxic coloration /// }}
@@ -112,9 +129,9 @@ template(name="cardDetails")
//if assigneeSelected
if currentBoard.allowsAssignee
.card-details-item.card-details-item-assignees
h3
h3.card-details-item-title
i.fa.fa-user
card-details-item-title {{_ 'assignee'}}
| {{_ 'assignee'}}
each getAssignees
+userAvatarAssignee(userId=this cardId=../_id)
| {{! XXX Hack to hide syntaxic coloration /// }}
@@ -126,44 +143,23 @@ template(name="cardDetails")
a.assignee.add-assignee.card-details-item-add-button.js-add-assignees(title="{{_ 'assignee'}}")
i.fa.fa-plus
if currentBoard.allowsLabels
.card-details-item.card-details-item-labels
h3
i.fa.fa-tags
card-details-item-title {{_ 'labels'}}
a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
each labels
span.card-label(class="card-label-{{color}}" title=name)
+viewer
= name
if canModifyCard
unless currentUser.isWorker
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
i.fa.fa-plus
//.card-details-items
each customFieldsWD
.card-details-item.card-details-item-customfield
h3.card-details-item-title
+viewer
= definition.name
+cardCustomField
//.card-details-items
if getSpentTime
.card-details-item.card-details-item-spent
if getIsOvertime
h3.card-details-item-title {{_ 'overtime-hours'}}
h3.card-details-item-title
| {{_ 'overtime-hours'}}
else
h3.card-details-item-title {{_ 'spent-time-hours'}}
h3.card-details-item-title
| {{_ 'spent-time-hours'}}
+cardSpentTime
//.card-details-items
if currentBoard.allowsRequestedBy
.card-details-item.card-details-item-name
h3
h3.card-details-item-title
i.fa.fa-shopping-cart
card-details-item-title {{_ 'requested-by'}}
| {{_ 'requested-by'}}
if canModifyCard
unless currentUser.isWorker
+inlinedForm(classNames="js-card-details-requester")
@@ -181,9 +177,9 @@ template(name="cardDetails")
if currentBoard.allowsAssignedBy
.card-details-item.card-details-item-name
h3
h3.card-details-item-title
i.fa.fa-user-plus
card-details-item-title {{_ 'assigned-by'}}
| {{_ 'assigned-by'}}
if canModifyCard
unless currentUser.isWorker
+inlinedForm(classNames="js-card-details-assigner")
@@ -199,6 +195,16 @@ template(name="cardDetails")
+viewer
= getAssignedBy
//.card-details-items
if customFieldsWD
hr
each customFieldsWD
.card-details-item.card-details-item-customfield
h3.card-details-item-title
i.fa.fa-list-alt
= definition.name
+cardCustomField
if getVoteQuestion
hr
.vote-title
@@ -234,9 +240,9 @@ template(name="cardDetails")
unless currentUser.isWorker
if currentBoard.allowsDescriptionTitle
hr
h3
h3.card-details-item-title
i.fa.fa-align-left
card-details-item-title {{_ 'description'}}
| {{_ 'description'}}
if currentBoard.allowsDescriptionText
+inlinedCardDescription(classNames="card-description js-card-description")
+editor(autofocus=true)
@@ -276,7 +282,7 @@ template(name="cardDetails")
+subtasks(cardId = _id)
if currentBoard.allowsAttachments
hr
h3
h3.card-details-item-title
i.fa.fa-paperclip
| {{_ 'attachments'}}
.card-checklist-attachmentGalery.card-attachmentGalery
@@ -285,7 +291,7 @@ template(name="cardDetails")
hr
unless currentUser.isNoComments
.activity-title
h3
h3.card-details-item-title
i.fa.fa-history
| {{ _ 'activity'}}
if currentUser.isBoardMember
@@ -375,17 +381,18 @@ template(name="cardDetailsActionsPopup")
a.js-move-card-to-bottom
i.fa.fa-arrow-down
| {{_ 'moveCardToBottom-title'}}
unless currentUser.isWorker
hr
ul.pop-over-list
li
a.js-move-card
i.fa.fa-arrow-right
| {{_ 'moveCardPopup-title'}}
ul.pop-over-list
li
a.js-move-card
i.fa.fa-arrow-right
| {{_ 'moveCardPopup-title'}}
unless currentUser.isWorker
li
a.js-copy-card
i.fa.fa-copy
| {{_ 'copyCardPopup-title'}}
unless currentUser.isWorker
hr
ul.pop-over-list
li
@@ -424,13 +431,14 @@ template(name="copyChecklistToManyCardsPopup")
+boardsAndLists
template(name="boardsAndLists")
label {{_ 'boards'}}:
select.js-select-boards(autofocus)
each boards
if $eq _id currentBoard._id
option(value="{{_id}}" selected) {{_ 'current'}}
else
option(value="{{_id}}") {{title}}
unless currentUser.isWorker
label {{_ 'boards'}}:
select.js-select-boards(autofocus)
each boards
if $eq _id currentBoard._id
option(value="{{_id}}" selected) {{_ 'current'}}
else
option(value="{{_id}}") {{title}}
label {{_ 'swimlanes'}}:
select.js-select-swimlanes
+1 -1
View File
@@ -57,7 +57,7 @@ BlazeComponent.extendComponent({
},
scrollParentContainer() {
const cardPanelWidth = 510;
const cardPanelWidth = 600;
const parentComponent = this.parentComponent();
// TODO sometimes parentComponent is not available, maybe because it's not
// yet created?!
+20 -11
View File
@@ -89,7 +89,7 @@ avatar-radius = 50%
.card-details
padding: 0
flex-shrink: 0
flex-basis: 510px
flex-basis: 600px
will-change: flex-basis
overflow-y: scroll
overflow-x: hidden
@@ -105,12 +105,12 @@ avatar-radius = 50%
padding-left: 0
.card-details-canvas
width: 470px
padding-left: 20px
width: auto
padding: 0 20px
.card-details-header
margin: 0 -20px 5px
padding 7px 16px
padding 7px 20px
background: darken(white, 7%)
border-bottom: 1px solid darken(white, 14%)
@@ -198,23 +198,32 @@ avatar-radius = 50%
margin-right: 0.5em
&:last-child
margin-right: 0
&.card-details-item-labels,
&.card-details-item-labels
display: block
word-wrap: break-word
max-width: 95%
flex-grow: 1
&.card-details-item-members,
&.card-details-item-assignees,
&.card-details-item-received,
&.card-details-item-start,
&.card-details-item-due,
&.card-details-item-end,
&.card-details-item-customfield,
&.card-details-item-name
display: block
word-wrap: break-word
max-width: 48%
max-width: 36%
flex-grow: 1
&.card-details-item-received,
&.card-details-item-start,
&.card-details-item-due,
&.card-details-item-end
display: block
word-wrap: break-word
max-width: 28%
flex-grow: 1
.card-details-item-title
font-size: 16px
color: #000
font-weight: bold
color: #4d4d4d
.card-label
padding-top: 5px
+1 -1
View File
@@ -1,6 +1,6 @@
template(name="checklists")
.checklists-title
h3
h3.card-details-item-title
i.fa.fa-check
| {{_ 'checklists'}}
if currentUser.isBoardMember
+5 -7
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
// Template.cards.events({
// 'click .member': Popup.open('cardMember')
// });
@@ -34,10 +32,10 @@ BlazeComponent.extendComponent({
},
{
'click .js-toggle-minicard-label-text'() {
if (cookies.has('hiddenMinicardLabelText')) {
cookies.remove('hiddenMinicardLabelText'); //true
if (window.localStorage.getItem('hiddenMinicardLabelText')) {
window.localStorage.removeItem('hiddenMinicardLabelText'); //true
} else {
cookies.set('hiddenMinicardLabelText', 'true'); //true
window.localStorage.setItem('hiddenMinicardLabelText', 'true'); //true
}
},
},
@@ -50,7 +48,7 @@ Template.minicard.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
@@ -60,7 +58,7 @@ Template.minicard.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hiddenMinicardLabelText;
} else if (cookies.has('hiddenMinicardLabelText')) {
} else if (window.localStorage.getItem('hiddenMinicardLabelText')) {
return true;
} else {
return false;
+1 -1
View File
@@ -1,5 +1,5 @@
template(name="subtasks")
h3
h3.card-details-item-title
i.fa.fa-sitemap
| {{_ 'subtasks'}}
if toggleDeleteDialog.get
+2 -4
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const { calculateIndex } = Utils;
BlazeComponent.extendComponent({
@@ -124,7 +122,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
@@ -185,7 +183,7 @@ Template.list.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
+2
View File
@@ -105,6 +105,8 @@ template(name="searchElementPopup")
each boards
option(value="{{_id}}") {{title}}
form.js-search-term-form
label
| {{_ 'template'}}
input(type="text" name="searchTerm" placeholder="{{_ 'search-example'}}" autofocus dir="auto")
.list-body.search-card-results
.minicards.clearfix.js-minicards
+1 -3
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
let listsColors;
Meteor.startup(() => {
listsColors = Lists.simpleSchema()._schema.color.allowedValues;
@@ -110,7 +108,7 @@ Template.listHeader.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
+13 -11
View File
@@ -19,6 +19,19 @@ template(name="header")
= title
#header-new-board-icon
else
//-
On sandstorm, the logo shouldn't be clickable, because we only have one
page/document on it, and we don't want to see the home page containing
the list of all boards.
unless currentSetting.hideLogo
if currentSetting.customTopLeftCornerLogoImageUrl
if currentSetting.customTopLeftCornerLogoLinkUrl
a(href="{{currentSetting.customTopLeftCornerLogoLinkUrl}}")
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="27" width="auto" margin="0" padding="0")
unless currentSetting.customTopLeftCornerLogoLinkUrl
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="27" width="auto" margin="0" padding="0")
unless currentSetting.customTopLeftCornerLogoImageUrl
img(src="{{pathFor '/logo-header.png'}}" alt="")
ul
li
a(href="{{pathFor 'home'}}")
@@ -52,17 +65,6 @@ template(name="header")
#header-main-bar(class="{{#if wrappedHeader}}wrapper{{/if}}")
+Template.dynamic(template=headerBar)
//unless hideLogo
//-
On sandstorm, the logo shouldn't be clickable, because we only have one
page/document on it, and we don't want to see the home page containing
the list of all boards.
// unless currentSetting.hideLogo
// a.wekan-logo(href="{{pathFor 'home'}}" title="{{_ 'header-logo-title'}}")
// img(src="{{pathFor '/logo-header.png'}}" alt="")
if appIsOffline
+offlineWarning
+21
View File
@@ -19,6 +19,27 @@ head
template(name="userFormsLayout")
section.auth-layout
if currentSetting.hideLogo
h1.at-form-landing-logo
br
br
unless currentSetting.hideLogo
h1.at-form-landing-logo
if currentSetting.customLoginLogoImageUrl
if currentSetting.customLoginLogoLinkUrl
a(href="{{currentSetting.customLoginLogoLinkUrl}}")
img(src="{{currentSetting.customLoginLogoImageUrl}}" width="300" height="auto")
br
unless currentSetting.customLoginLogoLinkUrl
img(src="{{currentSetting.customLoginLogoImageUrl}}" width="300" height="auto")
br
unless currentSetting.customLoginLogoImageUrl
img(src="{{pathFor '/wekan-logo.svg'}}" alt="" width="300" height="auto")
br
if currentSetting.textBelowCustomLoginLogo
+viewer
| {{currentSetting.textBelowCustomLoginLogo}}
br
section.auth-dialog
if isLoading
+loader
+37
View File
@@ -74,10 +74,34 @@ Template.userFormsLayout.helpers({
let name = lang.name;
if (lang.name === 'br') {
name = 'Brezhoneg';
} else if (lang.name === 'Español') {
name = 'español';
} else if (lang.name === 'Español de Argentina') {
name = 'español de Argentina';
} else if (lang.name === 'Español de Chile') {
name = 'español de Chile';
} else if (lang.name === 'Español de Colombia') {
name = 'español de Colombia';
} else if (lang.name === 'Español de México') {
name = 'español de México';
} else if (lang.name === 'Español de Puerto Rico') {
name = 'español de Puerto Rico';
} else if (lang.name === 'fr-BE') {
name = 'Français (Belgique)';
} else if (lang.name === 'fr-CA') {
name = 'Français (Canada)';
} else if (lang.name === 'fr-CA') {
name = 'Français (Canada)';
} else if (lang.name === 'ig') {
name = 'Igbo';
} else if (lang.name === 'lv') {
name = 'Latviešu';
} else if (lang.name === 'latviešu valoda') {
name = 'Latviešu';
} else if (lang.name === 'oc') {
name = 'Occitan';
} else if (lang.name === 'st') {
name = 'Sãotomense';
} else if (lang.name === '繁体中文(台湾)') {
name = '繁體中文(台灣)';
}
@@ -145,6 +169,19 @@ async function authentication(event, templateInstance) {
});
});
case 'saml':
return new Promise(resolve => {
const provider = Meteor.settings.public.SAML_PROVIDER;
Meteor.loginWithSaml(
{
provider,
},
function() {
resolve(FlowRouter.go('/'));
},
);
});
case 'cas':
return new Promise(resolve => {
Meteor.loginWithCas(match, password, function() {
-1
View File
@@ -447,7 +447,6 @@ a
flex-direction: column
align-items: center
justify-content: center
height: 100%
.auth-dialog
margin: 0 !important
+2
View File
@@ -2,10 +2,12 @@
overflow:hidden
overflow-y:scroll
max-height: 400px
padding-right: 5px
.rules-lists-item
display: block
position: relative
overflow: auto
border-bottom: 1px solid #bfbfbf
p
display: inline-block
float: left
@@ -104,6 +104,8 @@ template(name="peopleRow")
a.edit-user
i.fa.fa-edit
| {{_ 'edit'}}
a.more-settings-user
i.fa.fa-ellipsis-h
template(name="editUserPopup")
form
@@ -200,3 +202,10 @@ template(name="newUserPopup")
input.js-profile-password(type="password")
div.buttonsContainer
input.primary.wide(type="submit" value="{{_ 'save'}}")
template(name="settingsUserPopup")
ul.pop-over-list
li
a.impersonate-user
i.fa.fa-user
| {{_ 'impersonate-user'}}
+14
View File
@@ -194,6 +194,7 @@ BlazeComponent.extendComponent({
return [
{
'click a.edit-user': Popup.open('editUser'),
'click a.more-settings-user': Popup.open('settingsUser'),
},
];
},
@@ -343,3 +344,16 @@ Template.newUserPopup.events({
Popup.close();
},
});
Template.settingsUserPopup.events({
'click .impersonate-user'(event) {
event.preventDefault();
Meteor.call('impersonate', this.userId, err => {
if (!err) {
FlowRouter.go('/');
Meteor.connection.setUserId(this.userId);
}
});
},
});
@@ -46,3 +46,6 @@ table
div
margin: auto
.more-settings-user
margin-left: 10px;
+27 -8
View File
@@ -163,13 +163,6 @@ template(name='announcementSettings')
template(name='layoutSettings')
ul#layout-setting.setting-detail
//li.layout-form
.title {{_ 'hide-logo'}}
.form-group.flex
input.wekan-form-control#hide-logo(type="radio" name="hideLogo" value="true" checked="{{#if currentSetting.hideLogo}}checked{{/if}}")
span {{_ 'yes'}}
input.wekan-form-control#hide-logo(type="radio" name="hideLogo" value="false" checked="{{#unless currentSetting.hideLogo}}checked{{/unless}}")
span {{_ 'no'}}
li.layout-form
.title {{_ 'display-authentication-method'}}
.form-group.flex
@@ -184,10 +177,36 @@ template(name='layoutSettings')
.title {{_ 'custom-product-name'}}
.form-group
input.wekan-form-control#product-name(type="text", placeholder="" value="{{currentSetting.productName}}")
li.layout-form
.title {{_ 'hide-logo'}}
.form-group.flex
input.wekan-form-control#hide-logo(type="radio" name="hideLogo" value="true" checked="{{#if currentSetting.hideLogo}}checked{{/if}}")
span {{_ 'yes'}}
input.wekan-form-control#hide-logo(type="radio" name="hideLogo" value="false" checked="{{#unless currentSetting.hideLogo}}checked{{/unless}}")
span {{_ 'no'}}
li.layout-form
.title {{_ 'custom-login-logo-image-url'}}
.form-group
input.wekan-form-control#custom-login-logo-image-url(type="text", placeholder="" value="{{currentSetting.customLoginLogoImageUrl}}")
li.layout-form
.title {{_ 'custom-login-logo-link-url'}}
.form-group
input.wekan-form-control#custom-login-logo-link-url(type="text", placeholder="" value="{{currentSetting.customLoginLogoLinkUrl}}")
li.layout-form
.title {{_ 'text-below-custom-login-logo'}}
.form-group
textarea#text-below-custom-login-logo.wekan-form-control= currentSetting.textBelowCustomLoginLogo
li.layout-form
.title {{_ 'custom-top-left-corner-logo-image-url'}}
.form-group
input.wekan-form-control#custom-top-left-corner-logo-image-url(type="text", placeholder="" value="{{currentSetting.customTopLeftCornerLogoImageUrl}}")
li.layout-form
.title {{_ 'custom-top-left-corner-logo-link-url'}}
.form-group
input.wekan-form-control#custom-top-left-corner-logo-link-url(type="text", placeholder="" value="{{currentSetting.customTopLeftCornerLogoLinkUrl}}")
li
button.js-save-layout.primary {{_ 'save'}}
template(name='selectAuthenticationMethod')
select#defaultAuthenticationMethod
each authentications
+24
View File
@@ -167,6 +167,25 @@ BlazeComponent.extendComponent({
const productName = $('#product-name')
.val()
.trim();
const customLoginLogoImageUrl = $('#custom-login-logo-image-url')
.val()
.trim();
const customLoginLogoLinkUrl = $('#custom-login-logo-link-url')
.val()
.trim();
const textBelowCustomLoginLogo = $('#text-below-custom-login-logo')
.val()
.trim();
const customTopLeftCornerLogoImageUrl = $(
'#custom-top-left-corner-logo-image-url',
)
.val()
.trim();
const customTopLeftCornerLogoLinkUrl = $(
'#custom-top-left-corner-logo-link-url',
)
.val()
.trim();
const hideLogoChange = $('input[name=hideLogo]:checked').val() === 'true';
const displayAuthenticationMethod =
$('input[name=displayAuthenticationMethod]:checked').val() === 'true';
@@ -177,6 +196,11 @@ BlazeComponent.extendComponent({
$set: {
productName,
hideLogo: hideLogoChange,
customLoginLogoImageUrl,
customLoginLogoLinkUrl,
textBelowCustomLoginLogo,
customTopLeftCornerLogoImageUrl,
customTopLeftCornerLogoLinkUrl,
displayAuthenticationMethod,
defaultAuthenticationMethod,
},
+8 -8
View File
@@ -366,14 +366,14 @@ template(name="exportBoard")
a.download-json-link(href="{{exportUrl}}", download="{{exportJsonFilename}}")
i.fa.fa-share-alt
| {{_ 'export-board-json'}}
//li
// a(href="{{exportCsvUrl}}", download="{{exportCsvFilename}}")
// i.fa.fa-share-alt
// | {{_ 'export-board-csv'}}
//li
// a(href="{{exportTsvUrl}}", download="{{exportTsvFilename}}")
// i.fa.fa-share-alt
// | {{_ 'export-board-tsv'}}
li
a(href="{{exportCsvUrl}}", download="{{exportCsvFilename}}")
i.fa.fa-share-alt
| {{_ 'export-board-csv'}}
li
a(href="{{exportTsvUrl}}", download="{{exportTsvFilename}}")
i.fa.fa-share-alt
| {{_ 'export-board-tsv'}}
li
a.html-export-board
i.fa.fa-archive
+6 -6
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
Sidebar = null;
const defaultView = 'home';
@@ -112,10 +110,12 @@ BlazeComponent.extendComponent({
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleMinicardLabelText');
} else if (cookies.has('hiddenMinicardLabelText')) {
cookies.remove('hiddenMinicardLabelText');
} else if (window.localStorage.getItem('hiddenMinicardLabelText')) {
window.localStorage.removeItem('hiddenMinicardLabelText');
location.reload();
} else {
cookies.set('hiddenMinicardLabelText', 'true');
window.localStorage.setItem('hiddenMinicardLabelText', 'true');
location.reload();
}
},
'click .js-shortcuts'() {
@@ -133,7 +133,7 @@ Template.homeSidebar.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hiddenMinicardLabelText;
} else if (cookies.has('hiddenMinicardLabelText')) {
} else if (window.localStorage.getItem('hiddenMinicardLabelText')) {
return true;
} else {
return false;
+3 -2
View File
@@ -34,6 +34,7 @@
color: darken(white, 50%)
font-size: 1em
margin-bottom: 10px
font-weight: bold
i.fa
margin-right: 3px
@@ -167,8 +168,8 @@
button
float: right
margin: 0
margin-bottom: 5px
padding: 0 2px 0 10px
margin: 0 0 5px 5px
padding: 0 10px 0 10px
@media screen and (max-width: 800px)
.board-sidebar
+23 -3
View File
@@ -4,10 +4,14 @@
and #each x in y constructors to fix this.
template(name="filterSidebar")
h3 {{_ 'list-filter-label'}}
ul.sidebar-list
span {{_ 'list-filter-label'}}
form.js-list-filter
input(type="text")
hr
h3
i.fa.fa-tags
| {{_ 'filter-labels-label'}}
ul.sidebar-list
li(class="{{#if Filter.labelIds.isSelected undefined}}active{{/if}}")
a.name.js-toggle-label-filter
@@ -27,6 +31,9 @@ template(name="filterSidebar")
if Filter.labelIds.isSelected _id
i.fa.fa-check
hr
h3
i.fa.fa-users
| {{_ 'filter-member-label'}}
ul.sidebar-list
li(class="{{#if Filter.members.isSelected undefined}}active{{/if}}")
a.name.js-toggle-member-filter
@@ -45,6 +52,9 @@ template(name="filterSidebar")
if Filter.members.isSelected _id
i.fa.fa-check
hr
h3
i.fa.fa-user
| {{_ 'filter-assignee-label'}}
ul.sidebar-list
li(class="{{#if Filter.assignees.isSelected undefined}}active{{/if}}")
a.name.js-toggle-assignee-filter
@@ -63,6 +73,9 @@ template(name="filterSidebar")
if Filter.assignees.isSelected _id
i.fa.fa-check
hr
h3
i.fa.fa-list-alt
| {{_ 'filter-custom-fields-label'}}
ul.sidebar-list
li(class="{{#if Filter.customFields.isSelected undefined}}active{{/if}}")
a.name.js-toggle-custom-fields-filter
@@ -78,6 +91,8 @@ template(name="filterSidebar")
if Filter.customFields.isSelected _id
i.fa.fa-check
hr
h3
| {{_ 'other-filters-label'}}
ul.sidebar-list
li(class="{{#if Filter.archive.isSelected _id}}active{{/if}}")
a.name.js-toggle-archive-filter
@@ -85,7 +100,6 @@ template(name="filterSidebar")
| {{_ 'filter-show-archive'}}
if Filter.archive.isSelected _id
i.fa.fa-check
hr
ul.sidebar-list
li(class="{{#if Filter.hideEmpty.isSelected _id}}active{{/if}}")
a.name.js-toggle-hideEmpty-filter
@@ -94,7 +108,7 @@ template(name="filterSidebar")
if Filter.hideEmpty.isSelected _id
i.fa.fa-check
hr
span {{_ 'advanced-filter-label'}}
h3 {{_ 'advanced-filter-label'}}
input.js-field-advanced-filter(type="text")
span {{_ 'advanced-filter-description'}}
if Filter.isActive
@@ -107,6 +121,9 @@ template(name="filterSidebar")
span {{_ 'filter-to-selection'}}
template(name="multiselectionSidebar")
h3
i.fa.fa-tags
| {{_ 'multi-selection-label'}}
ul.sidebar-list
each currentBoard.labels
li
@@ -122,6 +139,9 @@ template(name="multiselectionSidebar")
else if someSelectedElementHave 'label' _id
i.fa.fa-ellipsis-h
hr
h3
i.fa.fa-users
| {{_ 'multi-selection-member'}}
ul.sidebar-list
each currentBoard.activeMembers
with getUser userId
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const { calculateIndexData } = Utils;
let swimlaneColors;
@@ -35,7 +33,7 @@ Template.swimlaneHeader.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
+3 -5
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const { calculateIndex } = Utils;
function currentListIsInThisSwimlane(swimlaneId) {
@@ -102,7 +100,7 @@ function initSortable(boardComponent, $listsDom) {
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
@@ -178,7 +176,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
@@ -269,7 +267,7 @@ Template.swimlane.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
+12 -15
View File
@@ -1,6 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
Template.headerUserBar.events({
'click .js-open-header-member-menu': Popup.open('memberMenu'),
'click .js-change-avatar': Popup.open('changeAvatar'),
@@ -200,7 +197,7 @@ Template.changeSettingsPopup.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
@@ -210,7 +207,7 @@ Template.changeSettingsPopup.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hasHiddenSystemMessages;
} else if (cookies.has('hasHiddenSystemMessages')) {
} else if (window.localStorage.getItem('hasHiddenSystemMessages')) {
return true;
} else {
return false;
@@ -221,7 +218,7 @@ Template.changeSettingsPopup.helpers({
if (currentUser) {
return Meteor.user().getLimitToShowCardsCount();
} else {
return cookies.get('limitToShowCardsCount');
return window.localStorage.getItem('limitToShowCardsCount');
}
},
weekDays(startDay) {
@@ -242,7 +239,7 @@ Template.changeSettingsPopup.helpers({
if (currentUser) {
return currentUser.getStartDayOfWeek();
} else {
return cookies.get('startDayOfWeek');
return window.localStorage.getItem('startDayOfWeek');
}
},
});
@@ -252,20 +249,20 @@ Template.changeSettingsPopup.events({
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleDesktopDragHandles');
} else if (cookies.has('showDesktopDragHandles')) {
cookies.remove('showDesktopDragHandles');
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
window.localStorage.removeItem('showDesktopDragHandles');
} else {
cookies.set('showDesktopDragHandles', 'true');
window.localStorage.setItem('showDesktopDragHandles', 'true');
}
},
'click .js-toggle-system-messages'() {
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleSystemMessages');
} else if (cookies.has('hasHiddenSystemMessages')) {
cookies.remove('hasHiddenSystemMessages');
} else if (window.localStorage.getItem('hasHiddenSystemMessages')) {
window.localStorage.removeItem('hasHiddenSystemMessages');
} else {
cookies.set('hasHiddenSystemMessages', 'true');
window.localStorage.setItem('hasHiddenSystemMessages', 'true');
}
},
'click .js-apply-user-settings'(event, templateInstance) {
@@ -283,14 +280,14 @@ Template.changeSettingsPopup.events({
if (currentUser) {
Meteor.call('changeLimitToShowCardsCount', minLimit);
} else {
cookies.set('limitToShowCardsCount', minLimit);
window.localStorage.setItem('limitToShowCardsCount', minLimit);
}
}
if (!isNaN(startDay)) {
if (currentUser) {
Meteor.call('changeStartDayOfWeek', startDay);
} else {
cookies.set('startDayOfWeek', startDay);
window.localStorage.setItem('startDayOfWeek', startDay);
}
}
Popup.back();
+14 -13
View File
@@ -1,43 +1,44 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
Utils = {
setBoardView(view) {
currentUser = Meteor.user();
if (currentUser) {
Meteor.user().setBoardView(view);
} else if (view === 'board-view-swimlanes') {
cookies.set('boardView', 'board-view-swimlanes'); //true
window.localStorage.setItem('boardView', 'board-view-swimlanes'); //true
location.reload();
} else if (view === 'board-view-lists') {
cookies.set('boardView', 'board-view-lists'); //true
window.localStorage.setItem('boardView', 'board-view-lists'); //true
location.reload();
} else if (view === 'board-view-cal') {
cookies.set('boardView', 'board-view-cal'); //true
window.localStorage.setItem('boardView', 'board-view-cal'); //true
location.reload();
} else {
cookies.set('boardView', 'board-view-swimlanes'); //true
window.localStorage.setItem('boardView', 'board-view-swimlanes'); //true
location.reload();
}
},
unsetBoardView() {
cookies.remove('boardView');
cookies.remove('collapseSwimlane');
window.localStorage.removeItem('boardView');
window.localStorage.removeItem('collapseSwimlane');
},
boardView() {
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).boardView;
} else if (cookies.get('boardView') === 'board-view-swimlanes') {
} else if (
window.localStorage.getItem('boardView') === 'board-view-swimlanes'
) {
return 'board-view-swimlanes';
} else if (cookies.get('boardView') === 'board-view-lists') {
} else if (
window.localStorage.getItem('boardView') === 'board-view-lists'
) {
return 'board-view-lists';
} else if (cookies.get('boardView') === 'board-view-cal') {
} else if (window.localStorage.getItem('boardView') === 'board-view-cal') {
return 'board-view-cal';
} else {
cookies.set('boardView', 'board-view-swimlanes'); //true
window.localStorage.setItem('boardView', 'board-view-swimlanes'); //true
location.reload();
return 'board-view-swimlanes';
}
+22 -6
View File
@@ -242,12 +242,6 @@ services:
# https://github.com/wekan/wekan/pull/2560
- RICHER_CARD_COMMENT_EDITOR=false
#---------------------------------------------------------------
# ==== MOUSE SCROLL ====
# https://github.com/wekan/wekan/issues/2949
- SCROLLINERTIA=0
- SCROLLAMOUNT=auto
- SCROLLDELTAFACTOR=auto
#---------------------------------------------------------------
# ==== CARD OPENED, SEND WEBHOOK MESSAGE ====
# https://github.com/wekan/wekan/issues/2518
- CARD_OPENED_WEBHOOK_ENABLED=false
@@ -329,6 +323,9 @@ services:
# ==== Debug OIDC OAuth2 etc ====
#- DEBUG=true
#-----------------------------------------------------------------
# ==== OAUTH2 ORACLE on premise identity manager OIM ====
#- ORACLE_OIM_ENABLED=true
#-----------------------------------------------------------------
# ==== OAUTH2 AZURE ====
# https://github.com/wekan/wekan/wiki/Azure
# 1) Register the application with Azure. Make sure you capture
@@ -336,6 +333,8 @@ services:
# 2) Configure the environment variables. This differs slightly
# by installation type, but make sure you have the following:
#- OAUTH2_ENABLED=true
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
#- OAUTH2_ADFS_ENABLED=false
# OAuth2 login style: popup or redirect.
#- OAUTH2_LOGIN_STYLE=redirect
# Application GUID captured during app registration:
@@ -605,6 +604,23 @@ services:
# Hide password login form
# - PASSWORD_LOGIN_ENABLED=true
#-------------------------------------------------------------------
#- CAS_ENABLED=true
#- CAS_BASE_URL=https://cas.example.com/cas
#- CAS_LOGIN_URL=https://cas.example.com/login
#- CAS_VALIDATE_URL=https://cas.example.com/cas/p3/serviceValidate
#---------------------------------------------------------------------
#- SAML_ENABLED=true
#- SAML_PROVIDER=
#- SAML_ENTRYPOINT=
#- SAML_ISSUER=
#- SAML_CERT=
#- SAML_IDPSLO_REDIRECTURL=
#- SAML_PRIVATE_KEYFILE=
#- SAML_PUBLIC_CERTFILE=
#- SAML_IDENTIFIER_FORMAT=
#- SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE=
#- SAML_ATTRIBUTES=
#---------------------------------------------------------------------
depends_on:
- wekandb
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+15 -1
View File
@@ -337,15 +337,20 @@
"filter-cards": "Filter Cards or Lists",
"list-filter-label": "Filter List by Title",
"filter-clear": "Clear filter",
"filter-labels-label": "Filter by label",
"filter-no-label": "No label",
"filter-member-label": "Filter by member",
"filter-no-member": "No member",
"filter-assignee-label": "Filter by assignee",
"filter-no-assignee": "No assignee",
"filter-custom-fields-label": "Filter by Custom Fields",
"filter-no-custom-fields": "No Custom Fields",
"filter-show-archive": "Show archived lists",
"filter-hide-empty": "Hide empty lists",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"other-filters-label": "Other Filters",
"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": "Full Name",
@@ -354,6 +359,7 @@
"headerBarCreateBoardPopup-title": "Create Board",
"home": "Home",
"import": "Import",
"impersonate-user": "Impersonate user",
"link": "Link",
"import-board": "import board",
"import-board-c": "Import board",
@@ -398,6 +404,7 @@
"list-select-cards": "Select all cards in this list",
"set-color-list": "Set Color",
"listActionPopup-title": "List Actions",
"settingsUserPopup-title": "User Settings",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
@@ -420,6 +427,8 @@
"moveCardToTop-title": "Move to Top",
"moveSelectionPopup-title": "Move selection",
"multi-selection": "Multi-Selection",
"multi-selection-label": "Set label for selection",
"multi-selection-member": "Set member for selection",
"multi-selection-on": "Multi-Selection is on",
"muted": "Muted",
"muted-info": "You will never be notified of any changes in this board",
@@ -465,7 +474,7 @@
"search": "Search",
"rules": "Rules",
"search-cards": "Search from card/list titles, descriptions and custom fields on this board",
"search-example": "Text to search for?",
"search-example": "Write text you search and press Enter",
"select-color": "Select Color",
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
"setWipLimitPopup-title": "Set WIP Limit",
@@ -505,6 +514,11 @@
"upload": "Upload",
"upload-avatar": "Upload an avatar",
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
"username": "Username",
"view-it": "View it",
"warn-list-archived": "warning: this card is in an list at Archive",
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+828 -814
View File
File diff suppressed because it is too large. Load diff
+12 -3
View File
@@ -1412,15 +1412,24 @@ Cards.mutations({
assignAssignee(assigneeId) {
// If there is not any assignee, allow one assignee, not more.
/*
if (this.getAssignees().length === 0) {
return {
$addToSet: {
assignees: assigneeId,
},
};
} else {
return false;
}
*/
// Allow more that one assignee:
// https://github.com/wekan/wekan/issues/3302
return {
$addToSet: {
assignees: assigneeId,
},
};
//} else {
// return false,
//}
},
unassignMember(memberId) {
+39 -22
View File
@@ -1,4 +1,4 @@
//const stringify = require('csv-stringify');
const Papa = require('papaparse');
// exporter maybe is broken since Gridfs introduced, add fs and path
export class Exporter {
@@ -192,6 +192,40 @@ export class Exporter {
const result = this.build();
const columnHeaders = [];
const cardRows = [];
const papaconfig = {
delimiter, // get parameter (was: auto-detect)
worker: true,
};
/*
newline: "", // auto-detect
quoteChar: '"',
escapeChar: '"',
header: true,
transformHeader: undefined,
dynamicTyping: false,
preview: 0,
encoding: "",
comments: false,
step: undefined,
complete: undefined,
error: undefined,
download: false,
downloadRequestHeaders: undefined,
downloadRequestBody: undefined,
skipEmptyLines: false,
chunk: undefined,
chunkSize: undefined,
fastMode: undefined,
beforeFirstChunk: undefined,
withCredentials: undefined,
transform: undefined
};
*/
//delimitersToGuess: [',', '\t', '|', ';', Papa.RECORD_SEP, Papa.UNIT_SEP]
columnHeaders.push(
'Title',
'Description',
@@ -240,6 +274,7 @@ export class Exporter {
}
i++;
});
cardRows.push([[columnHeaders]]);
/* TODO: Try to get translations working.
These currently only bring English translations.
TAPi18n.__('title'),
@@ -264,24 +299,6 @@ export class Exporter {
TAPi18n.__('archived'),
*/
const stringifier = stringify({
header: true,
delimiter,
columns: columnHeaders,
});
stringifier.on('readable', function() {
let row;
while ((row = stringifier.read())) {
cardRows.push(row);
}
});
stringifier.on('error', function(err) {
// eslint-disable-next-line no-console
console.error(err.message);
});
result.cards.forEach(card => {
const currentRow = [];
currentRow.push(card.title);
@@ -385,10 +402,10 @@ export class Exporter {
currentRow.push(customFieldValuesToPush[valueIndex]);
}
}
stringifier.write(currentRow);
cardRows.push([[currentRow]]);
});
stringifier.end();
return cardRows[0];
return Papa.unparse(cardRows, papaconfig);
}
canExport(user) {
Loaded 100 of 164 files, more files were not shown because too many files have changed in this diff. Show more