mirror of
https://github.com/wekan/wekan.git
synced 2026-11-08 11:25:19 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
38a8fcb69a | ||
|
|
64592d734c | ||
|
|
abddc8a864 | ||
|
|
09b45aca4f | ||
|
|
f624211620 | ||
|
|
c19cde53d6 | ||
|
|
cf8694fcd1 | ||
|
|
28d640afb4 | ||
|
|
7b432078a0 | ||
|
|
19703fed31 | ||
|
|
b01e127cc3 | ||
|
|
f0c2d81352 | ||
|
|
67896adefc | ||
|
|
d1b29b6e61 | ||
|
|
ef93aad659 | ||
|
|
616b433409 | ||
|
|
515d96eef0 | ||
|
|
85963cc58d | ||
|
|
e15611a0ea | ||
|
|
f89a2ab91d | ||
|
|
18d3fb75ac | ||
|
|
f5bc2b08f9 | ||
|
|
80e5916394 | ||
|
|
48c47f9911 | ||
|
|
c3f5849f11 | ||
|
|
c73346eda0 | ||
|
|
d976455a12 | ||
|
|
f10f80f655 | ||
|
|
b680d03da2 | ||
|
|
9590fec3fc | ||
|
|
e9fc5537e4 | ||
|
|
8ae47cb2f8 | ||
|
|
2fefaf1b5b | ||
|
|
5554cd7567 | ||
|
|
442ea7595a | ||
|
|
0e6d83c085 | ||
|
|
3199da4b3d | ||
|
|
23c2a2bc22 | ||
|
|
554bec4f1e | ||
|
|
4d6e6a85e0 | ||
|
|
fe887b7b5e | ||
|
|
d954b97aac | ||
|
|
374e673107 | ||
|
|
68c0d3fbe5 | ||
|
|
335f0451e0 | ||
|
|
b5a071f51e | ||
|
|
805458a763 | ||
|
|
4f8e711a5f | ||
|
|
06397e9e11 | ||
|
|
94be762f68 | ||
|
|
ccb48d0711 | ||
|
|
b6014ca992 | ||
|
|
02c5f2e3cf | ||
|
|
84a228fc1a | ||
|
|
356fddc182 | ||
|
|
c4853b9aa7 | ||
|
|
d6cb460186 | ||
|
|
a0f9b81113 | ||
|
|
15b9497a72 | ||
|
|
93be112a94 | ||
|
|
5a9a5df448 | ||
|
|
75383fe477 | ||
|
|
3f0109e810 | ||
|
|
c21db857fb | ||
|
|
e3a0a480ed | ||
|
|
3917d8c4a3 | ||
|
|
6a3b8a668b | ||
|
|
edfa9783c3 | ||
|
|
b4c9c1df9a | ||
|
|
85353d9f90 | ||
|
|
905f0316b6 | ||
|
|
b3961609e1 |
No files matched your search
@@ -54,6 +54,7 @@ ENV \
|
||||
OAUTH2_ENABLED=false \
|
||||
OAUTH2_CA_CERT="" \
|
||||
OAUTH2_ADFS_ENABLED=false \
|
||||
OAUTH2_B2C_ENABLED=false \
|
||||
OAUTH2_LOGIN_STYLE=redirect \
|
||||
OAUTH2_CLIENT_ID="" \
|
||||
OAUTH2_SECRET="" \
|
||||
|
||||
@@ -11,4 +11,4 @@ jobs:
|
||||
- name: 'Checkout Repository'
|
||||
uses: actions/checkout@v4
|
||||
- name: 'Dependency Review'
|
||||
uses: actions/dependency-review-action@v3
|
||||
uses: actions/dependency-review-action@v4
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
# https://github.com/docker/metadata-action
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934
|
||||
uses: docker/metadata-action@dbef88086f6cef02e264edb7dbf63250c17cef6c
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ jobs:
|
||||
# CACHING
|
||||
- name: Install Meteor
|
||||
id: cache-meteor-install
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.meteor
|
||||
key: v1-meteor-${{ hashFiles('.meteor/versions') }}
|
||||
@@ -104,7 +104,7 @@ jobs:
|
||||
|
||||
- name: Cache NPM dependencies
|
||||
id: cache-meteor-npm
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: v1-npm-${{ hashFiles('package-lock.json') }}
|
||||
@@ -113,7 +113,7 @@ jobs:
|
||||
|
||||
- name: Cache Meteor build
|
||||
id: cache-meteor-build
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
.meteor/local/resolver-result-cache.json
|
||||
@@ -136,7 +136,7 @@ jobs:
|
||||
run: sh ./test-wekan.sh -cv
|
||||
|
||||
- name: Upload coverage
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: coverage-folder
|
||||
path: .coverage/
|
||||
@@ -150,7 +150,7 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Download coverage
|
||||
uses: actions/download-artifact@v3
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: coverage-folder
|
||||
path: .coverage/
|
||||
|
||||
+6
-6
@@ -6,7 +6,7 @@
|
||||
meteor-base@1.5.1
|
||||
|
||||
# Build system
|
||||
ecmascript@0.16.8-beta2140.4
|
||||
ecmascript@0.16.8
|
||||
standard-minifier-js@2.8.1
|
||||
mquandalle:jade
|
||||
coffeescript@2.4.1!
|
||||
@@ -20,11 +20,11 @@ cottz:publish-relations
|
||||
dburles:collection-helpers
|
||||
idmontie:migrations
|
||||
easy:search
|
||||
mongo@1.16.8-beta2140.4
|
||||
mongo@1.16.8
|
||||
mquandalle:collection-mutations
|
||||
|
||||
# Account system
|
||||
accounts-password@2.4.0-beta2140.4
|
||||
accounts-password@2.4.0
|
||||
useraccounts:core
|
||||
useraccounts:flow-routing
|
||||
useraccounts:unstyled
|
||||
@@ -42,7 +42,7 @@ jquery@3.0.0!
|
||||
random@1.2.1
|
||||
reactive-dict@1.3.1
|
||||
session@1.2.1
|
||||
tracker@1.3.2
|
||||
tracker@1.3.3
|
||||
underscore@1.0.13
|
||||
arillo:flow-router-helpers
|
||||
audit-argument-checks@1.0.7
|
||||
@@ -83,14 +83,14 @@ matb33:collection-hooks
|
||||
simple:json-routes
|
||||
kadira:flow-router
|
||||
spacebars
|
||||
service-configuration@1.3.2-beta2140.4
|
||||
service-configuration@1.3.2
|
||||
communitypackages:picker
|
||||
minifier-css@1.6.4
|
||||
blaze
|
||||
kadira:blaze-layout
|
||||
peerlibrary:blaze-components
|
||||
ejson@1.1.3
|
||||
logging@1.3.3-beta2140.4
|
||||
logging@1.3.3
|
||||
wekan-fullcalendar
|
||||
momentjs:moment@2.29.3
|
||||
wekan-fontawesome
|
||||
+1
-1
@@ -1 +1 @@
|
||||
METEOR@2.14-beta.4
|
||||
METEOR@2.14.1-beta.0
|
||||
+23
-23
@@ -1,6 +1,6 @@
|
||||
accounts-base@2.2.9-beta2140.4
|
||||
accounts-oauth@1.4.3-beta2140.4
|
||||
accounts-password@2.4.0-beta2140.4
|
||||
accounts-base@2.2.9
|
||||
accounts-oauth@1.4.3
|
||||
accounts-password@2.4.0
|
||||
aldeed:collection2@2.10.0
|
||||
aldeed:collection2-core@1.2.0
|
||||
aldeed:schema-deny@1.1.0
|
||||
@@ -10,13 +10,13 @@ allow-deny@1.1.1
|
||||
arillo:flow-router-helpers@0.5.2
|
||||
audit-argument-checks@1.0.7
|
||||
autoupdate@1.8.0
|
||||
babel-compiler@7.10.5-beta2140.4
|
||||
babel-compiler@7.10.5
|
||||
babel-runtime@1.5.1
|
||||
base64@1.0.12
|
||||
binary-heap@1.0.11
|
||||
blaze@2.7.1
|
||||
blaze-tools@1.1.3
|
||||
boilerplate-generator@1.7.2-beta2140.4
|
||||
boilerplate-generator@1.7.2
|
||||
caching-compiler@1.2.2
|
||||
caching-html-compiler@1.2.1
|
||||
callback-hook@1.5.1
|
||||
@@ -29,22 +29,22 @@ dburles:collection-helpers@1.1.0
|
||||
ddp@1.4.1
|
||||
ddp-client@2.6.1
|
||||
ddp-common@1.4.0
|
||||
ddp-rate-limiter@1.2.1-beta2140.4
|
||||
ddp-server@2.7.0-beta2140.4
|
||||
ddp-rate-limiter@1.2.1
|
||||
ddp-server@2.7.0
|
||||
deps@1.0.12
|
||||
diff-sequence@1.1.2
|
||||
dynamic-import@0.7.3
|
||||
easy:search@2.2.1
|
||||
easysearch:components@2.2.2
|
||||
easysearch:core@2.2.2
|
||||
ecmascript@0.16.8-beta2140.4
|
||||
ecmascript@0.16.8
|
||||
ecmascript-runtime@0.8.1
|
||||
ecmascript-runtime-client@0.12.1
|
||||
ecmascript-runtime-server@0.11.0
|
||||
ejson@1.1.3
|
||||
email@2.2.5
|
||||
es5-shim@4.8.0
|
||||
fetch@0.1.4-beta2140.4
|
||||
fetch@0.1.4
|
||||
geojson-utils@1.0.11
|
||||
hot-code-push@1.0.4
|
||||
html-tools@1.1.3
|
||||
@@ -60,10 +60,10 @@ kadira:flow-router@2.12.1
|
||||
konecty:mongo-counter@0.0.5_3
|
||||
lmieulet:meteor-coverage@1.1.4
|
||||
localstorage@1.2.0
|
||||
logging@1.3.3-beta2140.4
|
||||
logging@1.3.3
|
||||
matb33:collection-hooks@1.3.0
|
||||
mdg:validation-error@0.5.1
|
||||
meteor@1.11.4-beta2140.4
|
||||
meteor@1.11.4
|
||||
meteor-autosize@5.0.1
|
||||
meteor-base@1.5.1
|
||||
meteorhacks:aggregate@1.3.0
|
||||
@@ -77,11 +77,11 @@ minifier-css@1.6.4
|
||||
minifier-js@2.7.5
|
||||
minifiers@1.1.8-faster-rebuild.0
|
||||
minimongo@1.9.3
|
||||
modern-browsers@0.1.10-beta2140.4
|
||||
modules@0.20.0-beta2140.4
|
||||
modern-browsers@0.1.10
|
||||
modules@0.20.0
|
||||
modules-runtime@0.13.1
|
||||
momentjs:moment@2.29.3
|
||||
mongo@1.16.8-beta2140.4
|
||||
mongo@1.16.8
|
||||
mongo-decimal@0.1.3
|
||||
mongo-dev-server@1.1.0
|
||||
mongo-id@1.0.8
|
||||
@@ -94,8 +94,8 @@ mquandalle:jade-compiler@0.4.5
|
||||
mquandalle:jquery-textcomplete@0.8.0_1
|
||||
mquandalle:mousetrap-bindglobal@0.0.1
|
||||
msavin:usercache@1.8.0
|
||||
npm-mongo@4.17.0-beta2140.4
|
||||
oauth@2.2.1-beta2140.4
|
||||
npm-mongo@4.17.2
|
||||
oauth@2.2.1
|
||||
oauth2@1.3.2
|
||||
observe-sequence@1.0.21
|
||||
ongoworks:speakingurl@1.1.0
|
||||
@@ -111,19 +111,19 @@ peerlibrary:blaze-components@0.23.0
|
||||
peerlibrary:computed-field@0.10.0
|
||||
peerlibrary:data-lookup@0.3.0
|
||||
peerlibrary:reactive-field@0.6.0
|
||||
percolate:synced-cron@1.3.2
|
||||
percolate:synced-cron@1.5.2
|
||||
promise@0.12.2
|
||||
raix:eventemitter@0.1.3
|
||||
raix:handlebar-helpers@0.2.5
|
||||
random@1.2.1
|
||||
rate-limit@1.1.1
|
||||
react-fast-refresh@0.2.8-beta2140.4
|
||||
react-fast-refresh@0.2.8
|
||||
reactive-dict@1.3.1
|
||||
reactive-var@1.0.12
|
||||
reload@1.3.1
|
||||
retry@1.1.0
|
||||
routepolicy@1.1.1
|
||||
service-configuration@1.3.2-beta2140.4
|
||||
service-configuration@1.3.2
|
||||
session@1.2.1
|
||||
sha@1.0.9
|
||||
shell-server@0.5.0
|
||||
@@ -132,7 +132,7 @@ simple:json-routes@2.3.1
|
||||
simple:rest-accounts-password@1.2.2
|
||||
simple:rest-bearer-token-parser@1.1.1
|
||||
simple:rest-json-error-handler@1.1.1
|
||||
socket-stream-client@0.5.2-beta2140.4
|
||||
socket-stream-client@0.5.2
|
||||
spacebars@1.4.1
|
||||
spacebars-compiler@1.3.1
|
||||
standard-minifier-js@2.8.1
|
||||
@@ -141,15 +141,15 @@ templating@1.4.1
|
||||
templating-compiler@1.4.1
|
||||
templating-runtime@1.5.0
|
||||
templating-tools@1.2.2
|
||||
tracker@1.3.2
|
||||
typescript@4.9.5-beta2140.4
|
||||
tracker@1.3.3
|
||||
typescript@4.9.5
|
||||
ui@1.0.13
|
||||
underscore@1.0.13
|
||||
url@1.3.2
|
||||
useraccounts:core@1.16.2
|
||||
useraccounts:flow-routing@1.15.0
|
||||
useraccounts:unstyled@1.14.2
|
||||
webapp@1.13.5
|
||||
webapp@1.13.6
|
||||
webapp-hashing@1.1.1
|
||||
wekan-accounts-cas@0.1.0
|
||||
wekan-accounts-lockout@1.0.0
|
||||
|
||||
+121
-1
@@ -11,10 +11,130 @@ Fixing other platforms In Progress.
|
||||
|
||||
- Install info at Server part of webpage https://wekan.github.io
|
||||
- Newest Node.js is at https://github.com/wekan/node-v14-esm/releases/tag/v14.21.4
|
||||
- MongoDB 6.x
|
||||
- MongoDB 7.x
|
||||
|
||||
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
|
||||
|
||||
# v7.30 2024-01-28 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Back to MongoDB 6.0.13](https://github.com/wekan/wekan/commit/64592d734cfdbe10b48c3aa3ea74e0ba35903976).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.29 2024-01-27 WeKan ® release
|
||||
|
||||
This release removes the following features:
|
||||
|
||||
- [Removed markdown-it-mathjax3](https://github.com/wekan/wekan/commit/19703fed311c894b61e9269cc0b973d0b0275a6a).
|
||||
Thanks to Dexus and xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Updated to Meteor 2.14.1-beta.0](https://github.com/wekan/wekan/commit/28d640afb40f4d7c9070fa514c910fbf7065a724).
|
||||
Thanks to Meteor developers.
|
||||
- [Updated to MongoDB 7.0.5 at Snap Candidate and Docker](https://github.com/wekan/wekan/commit/f624211620c5e42ccdd6f931ba473be62437a62c).
|
||||
Thanks to MongoDB developers.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.28 2024-01-23 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Added archive option to of Wekan API](https://github.com/wekan/wekan/pull/5265).
|
||||
Thanks to gustavengstrom.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- Updated dependencies.
|
||||
[Part 1](https://github.com/wekan/wekan/pull/5270),
|
||||
[Part 2](https://github.com/wekan/wekan/pull/5271),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/67896adefc4a12a93fed7575f621f8aa924a2ab8).
|
||||
Thanks to developers of dependencies.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.27 2024-01-02 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix missing maximize card](https://github.com/wekan/wekan/commit/f10f80f6559a6cdee020d5ca34fd5991e07617cf).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.26 2024-01-02 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
-[Fix some public board buttons](https://github.com/wekan/wekan/commit/8ae47cb2f82bcc2078cc9c9987f7d7b7f6394493).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.25 2023-12-30 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Snap: Organized file locations](https://github.com/wekan/wekan/commit/84a228fc1a7ced2b8b146795acc13eb5abb13d24).
|
||||
Thanks to xet7.
|
||||
- Updated GitHub Actions.
|
||||
[Part 1](https://github.com/wekan/wekan/pulls/5243),
|
||||
[Part 2](https://github.com/wekan/wekan/pulls/5244),
|
||||
[Part 3](https://github.com/wekan/wekan/pulls/5245).
|
||||
- [Updated percolate:synced-cron](https://github.com/wekan/wekan/commit/06397e9e11a689a0a2e6a95ae785749d5a6a695b).
|
||||
Thanks to developers of percolate:synced-cron.
|
||||
- Snap: Added MongoDB 3 binaries for migrating to MongoDB 6.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/805458a7638ff6213929bfa70a46b5afeacaedf1),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/335f0451e07d6ff924c0af3e5a934676c8e69f4c),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/374e67310723f3c0d3ab20f6b2e4bd0b273bce2b).
|
||||
Thanks to xet7.
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/0e6d83c0852b2da4430f9c902b84c16f5c2ee8bc).
|
||||
Thanks to developers of dependencies.
|
||||
|
||||
and adds the following translations:
|
||||
|
||||
- [Translations: Added German (Germany) (de_DE) and Odia (India) (or_IN)](https://github.com/wekan/wekan/commit/23c2a2bc224e2def4722a35c20f32a21062b4154).
|
||||
Thanks to translators.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix: Export HTML popup](https://github.com/wekan/wekan/pull/5252).
|
||||
Thanks to Lewiscowles1986.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.24 2023-12-17 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Azure AD B2C login using OAuth2](https://github.com/wekan/wekan/commit/93be112a9454c894c1ce3146ed377e6a6aeca64a).
|
||||
https://github.com/wekan/wekan/wiki/B2C .
|
||||
Thanks to snowsky and xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Upgrade to Meteor 2.14](https://github.com/wekan/wekan/commit/75383fe477874a7aaf5caa3b913e2173694efe13).
|
||||
Thanks to Meteor developers.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.23 2023-12-11 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Updated security.md about mitm](https://github.com/wekan/wekan/commit/b4c9c1df9a7e89d263b1864407a7007338ce770d).
|
||||
Thanks to xet7.
|
||||
- [Upgraded to Meteor 2.14-rc.3](https://github.com/wekan/wekan/commit/6a3b8a668bc84c89714e44c3865168be81c8e2ed).
|
||||
Thanks to Meteor developers.
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/e3a0a480ed960d30fc80f7c7c1a6c7471368d0e8).
|
||||
Thanks to developers of dependencies.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.22 2023-12-01 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
@@ -69,6 +69,7 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
|
||||
OIDC_REDIRECTION_ENABLED=false \
|
||||
OAUTH2_CA_CERT="" \
|
||||
OAUTH2_ADFS_ENABLED=false \
|
||||
OAUTH2_B2C_ENABLED=false \
|
||||
OAUTH2_LOGIN_STYLE=redirect \
|
||||
OAUTH2_CLIENT_ID="" \
|
||||
OAUTH2_SECRET="" \
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ and by by companies that have 30k users.
|
||||
## SSL/TLS
|
||||
|
||||
- SSL/TLS encrypts traffic between webbrowser and webserver.
|
||||
- If you are thinking about TLS MITM, look at Caddy 2 webserver MITM detections.
|
||||
- If you are thinking about TLS MITM, look at https://github.com/caddyserver/caddy/issues/2530
|
||||
- Let's Encrypt TLS requires publicly accessible webserver, that Let's Encrypt TLS validation servers check.
|
||||
- If firewall limits to only allowed IP addresses, you may need non-Let's Encrypt TLS cert.
|
||||
- For On Premise:
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v7.22.0"
|
||||
appVersion: "v7.30.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -51,8 +51,9 @@ template(name="attachmentGallery")
|
||||
|
||||
.attachment-gallery
|
||||
|
||||
a.attachment-item.add-attachment.js-add-attachment
|
||||
i.fa.fa-plus.icon
|
||||
if canModifyCard
|
||||
a.attachment-item.add-attachment.js-add-attachment
|
||||
i.fa.fa-plus.icon
|
||||
|
||||
each attachments
|
||||
|
||||
|
||||
@@ -13,11 +13,12 @@ template(name="cardDetails")
|
||||
unless isMiniScreen
|
||||
unless isPopup
|
||||
a.fa.fa-times-thin.close-card-details.js-close-card-details(title="{{_ 'close-card'}}")
|
||||
if cardMaximized
|
||||
a.fa.fa-window-minimize.minimize-card-details.js-minimize-card-details(title="{{_ 'minimize-card'}}")
|
||||
else
|
||||
a.fa.fa-window-maximize.maximize-card-details.js-maximize-card-details(title="{{_ 'maximize-card'}}")
|
||||
if currentUser.isBoardMember
|
||||
if canModifyCard
|
||||
if cardMaximized
|
||||
a.fa.fa-window-minimize.minimize-card-details.js-minimize-card-details(title="{{_ 'minimize-card'}}")
|
||||
else
|
||||
a.fa.fa-window-maximize.maximize-card-details.js-maximize-card-details(title="{{_ 'maximize-card'}}")
|
||||
if canModifyCard
|
||||
a.fa.fa-navicon.card-details-menu.js-open-card-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
|
||||
a.fa.fa-link.card-copy-button.js-copy-link(
|
||||
id="cardURL_copy"
|
||||
@@ -29,7 +30,7 @@ template(name="cardDetails")
|
||||
else
|
||||
unless isPopup
|
||||
a.fa.fa-times-thin.close-card-details.js-close-card-details(title="{{_ 'close-card'}}")
|
||||
if currentUser.isBoardMember
|
||||
if canModifyCard
|
||||
a.fa.fa-navicon.card-details-menu-mobile-web.js-open-card-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
|
||||
a.fa.fa-link.card-copy-mobile-button.js-copy-link(
|
||||
id="cardURL_copy"
|
||||
|
||||
@@ -3,12 +3,13 @@ template(name="minicard")
|
||||
class="{{#if isLinkedCard}}linked-card{{/if}}"
|
||||
class="{{#if isLinkedBoard}}linked-board{{/if}}"
|
||||
class="{{#if colorClass}}minicard-{{colorClass}}{{/if}}")
|
||||
if isTouchScreenOrShowDesktopDragHandles
|
||||
a.fa.fa-navicon.minicard-details-menu-with-handle.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
|
||||
.handle
|
||||
.fa.fa-arrows
|
||||
else
|
||||
a.fa.fa-navicon.minicard-details-menu.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
|
||||
if canModifyCard
|
||||
if isTouchScreenOrShowDesktopDragHandles
|
||||
a.fa.fa-navicon.minicard-details-menu-with-handle.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
|
||||
.handle
|
||||
.fa.fa-arrows
|
||||
else
|
||||
a.fa.fa-navicon.minicard-details-menu.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
|
||||
.dates
|
||||
if getReceived
|
||||
unless getStart
|
||||
@@ -134,7 +135,7 @@ template(name="minicard")
|
||||
+userAvatar(userId=this.userId noRemove=true)
|
||||
|
||||
.badges
|
||||
unless currentUser.isNoComments
|
||||
if canModifyCard
|
||||
if comments.length
|
||||
.badge(title="{{_ 'card-comments-title' comments.length }}")
|
||||
span.badge-icon.fa.fa-comment-o.badge-comment.badge-text
|
||||
@@ -189,12 +190,11 @@ template(name="editCardSortOrderPopup")
|
||||
|
||||
template(name="minicardDetailsActionsPopup")
|
||||
ul.pop-over-list
|
||||
if currentUser.isBoardAdmin
|
||||
if canModifyCard
|
||||
li
|
||||
a.js-move-card
|
||||
i.fa.fa-arrow-right
|
||||
| {{_ 'moveCardPopup-title'}}
|
||||
unless currentUser.isWorker
|
||||
li
|
||||
a.js-copy-card
|
||||
i.fa.fa-copy
|
||||
|
||||
@@ -57,6 +57,9 @@ window.ExportHtml = Popup => {
|
||||
Array.from(
|
||||
document.querySelectorAll('#header-main-bar .board-header-btns'),
|
||||
).forEach(elem => elem.remove());
|
||||
Array.from(
|
||||
document.querySelectorAll('.js-pop-over, .pop-over'),
|
||||
).forEach(elem => elem.remove());
|
||||
Array.from(document.querySelectorAll('.list-composer')).forEach(elem =>
|
||||
elem.remove(),
|
||||
);
|
||||
@@ -152,6 +155,50 @@ window.ExportHtml = Popup => {
|
||||
);
|
||||
};
|
||||
|
||||
const getWebFonts = () => {
|
||||
fontUrls = [];
|
||||
|
||||
for (let sheet of document.styleSheets) {
|
||||
// Get the base URL of the stylesheet
|
||||
let baseUrl = sheet.href ? new URL(sheet.href).origin : window.location.origin;
|
||||
|
||||
try {
|
||||
for (let rule of sheet.cssRules) {
|
||||
if (rule.type === CSSRule.FONT_FACE_RULE) {
|
||||
let src = rule.style.getPropertyValue('src');
|
||||
let urlMatch = src.match(/url\(["']?(.+?)["']?\)/);
|
||||
if (urlMatch) {
|
||||
let fontUrl = urlMatch[1];
|
||||
|
||||
// Resolve the URL relative to the stylesheet's base URL
|
||||
let resolvedUrl = new URL(fontUrl, baseUrl);
|
||||
fontUrls.push(resolvedUrl.href); // Using .href to get the absolute URL
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log('Access to stylesheet blocked:', e);
|
||||
}
|
||||
}
|
||||
|
||||
return fontUrls;
|
||||
};
|
||||
|
||||
const downloadFonts = async(elements, zip) => {
|
||||
await asyncForEach(elements, async elem => {
|
||||
const response = await fetch(elem);
|
||||
const responseBody = await response.blob();
|
||||
const filename = elem.split('/')
|
||||
.pop()
|
||||
.split('?')
|
||||
.shift()
|
||||
.split('#')
|
||||
.shift();
|
||||
const fileFullPath = `webfonts/${filename}`;
|
||||
zip.file(fileFullPath, responseBody);
|
||||
});
|
||||
}
|
||||
|
||||
const downloadCardCovers = async (elements, zip, boardSlug) => {
|
||||
await asyncForEach(elements, async elem => {
|
||||
const response = await fetch(
|
||||
@@ -194,6 +241,7 @@ window.ExportHtml = Popup => {
|
||||
await downloadStylesheets(getStylesheetList(), zip);
|
||||
await downloadSrcAttached(getSrcAttached(), zip, boardSlug);
|
||||
await downloadCardCovers(getCardCovers(), zip, boardSlug);
|
||||
await downloadFonts(getWebFonts(), zip);
|
||||
|
||||
addBoardHTMLToZip(boardSlug, zip);
|
||||
|
||||
|
||||
@@ -391,6 +391,8 @@ services:
|
||||
#- OAUTH2_CA_CERT=ABCD1234
|
||||
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
|
||||
#- OAUTH2_ADFS_ENABLED=false
|
||||
# Azure AD B2C. https://github.com/wekan/wekan/issues/5242
|
||||
#- OAUTH2_B2C_ENABLED=false
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#- OAUTH2_LOGIN_STYLE=redirect
|
||||
# Application GUID captured during app registration:
|
||||
|
||||
@@ -85,14 +85,14 @@
|
||||
"add-card": "Tilføj kort",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
"setListWidthPopup-title": "Set List Width",
|
||||
"set-list-width": "Set List Width",
|
||||
"set-list-width-value": "List Width (pixels)",
|
||||
"list-width-error-message": "List width must be a positive integer",
|
||||
"setSwimlaneHeightPopup-title": "Set Swimlane Height",
|
||||
"set-swimlane-height": "Set Swimlane Height",
|
||||
"set-swimlane-height-value": "Swimlane Height (pixels)",
|
||||
"swimlane-height-error-message": "Swimlane height must be a positive integer",
|
||||
"setListWidthPopup-title": "Angiv bredde på lister",
|
||||
"set-list-width": "Angiv bredde på lister",
|
||||
"set-list-width-value": "Bredde på lister (pixels)",
|
||||
"list-width-error-message": "Listens bredde skal være et positivt heltal",
|
||||
"setSwimlaneHeightPopup-title": "Angiv højde på svømmebane",
|
||||
"set-swimlane-height": "Angiv højde på svømmebane",
|
||||
"set-swimlane-height-value": "Svømmebanes bredde (pixels)",
|
||||
"swimlane-height-error-message": "Svømmebreddes højde skal være et positivt heltal",
|
||||
"add-swimlane": "Tilføj svømmebane",
|
||||
"add-subtask": "Tilføj delopgave",
|
||||
"add-checklist": "Tilføj tjekliste",
|
||||
@@ -100,10 +100,10 @@
|
||||
"close-add-checklist-item": "Close add an item to checklist form",
|
||||
"close-edit-checklist-item": "Close edit an item to checklist form",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add cover image to minicard",
|
||||
"add-cover": "Tilføj coverbillede til minikort",
|
||||
"add-label": "Tilføj etikette",
|
||||
"add-list": "Tilføj liste",
|
||||
"add-after-list": "Add After List",
|
||||
"add-after-list": "Tilføj efter liste",
|
||||
"add-members": "Tilføj medlemmer",
|
||||
"added": "Tilføjet",
|
||||
"addMemberPopup-title": "Medlemmer",
|
||||
@@ -143,10 +143,10 @@
|
||||
"attachmentDeletePopup-title": "Slet vedhæftning?",
|
||||
"attachments": "Vedhæftninger",
|
||||
"auto-watch": "Følg automatisk tavler når de oprettes",
|
||||
"avatar-too-big": "The avatar is too large (__size__ max)",
|
||||
"avatar-too-big": "Avataren er for stor (__size__ max)",
|
||||
"back": "Tilbage",
|
||||
"board-change-color": "Skift farve",
|
||||
"board-change-background-image": "Change Background Image",
|
||||
"board-change-background-image": "Skift baggrundsbillede",
|
||||
"board-background-image-url": "Background Image URL",
|
||||
"add-background-image": "Add Background Image",
|
||||
"remove-background-image": "Remove Background Image",
|
||||
@@ -162,9 +162,9 @@
|
||||
"board-public-info": "Denne tavle vil være <strong>offentlig</strong>.",
|
||||
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
|
||||
"boardChangeColorPopup-title": "Skift tavlens baggrund",
|
||||
"boardChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"boardChangeBackgroundImagePopup-title": "Skift baggrundsbillede",
|
||||
"allBoardsChangeColorPopup-title": "Skift farve",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "Skift baggrundsbillede",
|
||||
"boardChangeTitlePopup-title": "Omdøb tavle",
|
||||
"boardChangeVisibilityPopup-title": "Tilpas synlighed",
|
||||
"boardChangeWatchPopup-title": "Tilpas følgefunktion",
|
||||
@@ -819,7 +819,7 @@
|
||||
"r-item": "element",
|
||||
"r-of-checklist": "fra tjekliste",
|
||||
"r-send-email": "Send en e-mail",
|
||||
"r-to": "to",
|
||||
"r-to": "til",
|
||||
"r-of": "af",
|
||||
"r-subject": "emne",
|
||||
"r-rule-details": "Detaljer for regel",
|
||||
@@ -828,7 +828,7 @@
|
||||
"r-d-move-to-bottom-gen": "Flyt kortet til bunden af dens liste",
|
||||
"r-d-move-to-bottom-spec": "Flyt kortet til bunden af listen",
|
||||
"r-d-send-email": "Send e-mail",
|
||||
"r-d-send-email-to": "to",
|
||||
"r-d-send-email-to": "til",
|
||||
"r-d-send-email-subject": "emne",
|
||||
"r-d-send-email-message": "besked",
|
||||
"r-d-archive": "Flyt kortet til arkiv",
|
||||
@@ -854,7 +854,7 @@
|
||||
"r-items-list": "element1,element2,element3",
|
||||
"r-add-swimlane": "Tilføj svømmebane",
|
||||
"r-swimlane-name": "navn på svømmebane",
|
||||
"r-board-note": "Note: leave a field empty to match every possible value. ",
|
||||
"r-board-note": "Bemærk: lad et felt stå tomt for at matche alle værdier.",
|
||||
"r-checklist-note": "Bemærk: tjeklistens elementer skal skrives som en kommaadskilte værdier.",
|
||||
"r-when-a-card-is-moved": "Når et kort flyttes til en anden liste.",
|
||||
"r-set": "Angiv",
|
||||
@@ -1099,7 +1099,7 @@
|
||||
"label-names": "Label Names",
|
||||
"archived-at": "archived at",
|
||||
"sort-cards": "Sort Cards",
|
||||
"sort-is-on": "Sort is on",
|
||||
"sort-is-on": "Sortering er slået til",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"server-error": "Server Error",
|
||||
@@ -1238,11 +1238,11 @@
|
||||
"newTranslationPopup-title": "New custom translation string",
|
||||
"editTranslationPopup-title": "Edit custom translation string",
|
||||
"settingsTranslationPopup-title": "Delete this custom translation string?",
|
||||
"translation": "Translation",
|
||||
"translation": "Oversæt",
|
||||
"text": "Tekst",
|
||||
"translation-text": "Translation text",
|
||||
"show-at-minicard": "Show at minicard",
|
||||
"show-checklist-at-minicard": "Show checklist at minicard",
|
||||
"show-subtasks-field": "Show subtasks field",
|
||||
"convert-to-markdown": "Convert to markdown"
|
||||
"translation-text": "Oversættelsestekst",
|
||||
"show-at-minicard": "Vis et minikort",
|
||||
"show-checklist-at-minicard": "Vis tjekliste på minikort",
|
||||
"show-subtasks-field": "Vis felt med underopgaver",
|
||||
"convert-to-markdown": "Konvertér til markdown"
|
||||
}
|
||||
@@ -962,7 +962,7 @@
|
||||
"teams": "Teams",
|
||||
"displayName": "Anzeigename",
|
||||
"shortName": "Kurzname",
|
||||
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
|
||||
"autoAddUsersWithDomainName": "Automatisch Benutzer über den Domainnamen hinzufügen",
|
||||
"website": "Webseite",
|
||||
"person": "Person",
|
||||
"my-cards": "Meine Karten",
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"custom-field-stringtemplate-separator": "Trenner (verwende   oder für einen Leerschritt)",
|
||||
"custom-field-stringtemplate-item-placeholder": "Drücke die Eingabetaste, um weitere Einträge hinzuzufügen",
|
||||
"creator": "Ersteller",
|
||||
"creator-on-minicard": "Creator on minicard",
|
||||
"creator-on-minicard": "Ersteller auf Minikarte",
|
||||
"filesReportTitle": "Dateien-Bericht",
|
||||
"reports": "Berichte",
|
||||
"rulesReportTitle": "Regeln-Bericht",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -738,7 +738,7 @@
|
||||
"deposit-subtasks-board": "Ipini azpiatazak arbel honetan:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Erakutsi gurasoa minitxartelean:",
|
||||
"description-on-minicard": "Description on minicard",
|
||||
"description-on-minicard": "Deskribapena minitxartelean",
|
||||
"cover-attachment-on-minicard": "minitxartelaren azalaren irudia",
|
||||
"badge-attachment-on-minicard": "Eranskinen kopurua minitxartelean",
|
||||
"card-sorting-by-number-on-minicard": "Txartelak zenbakien arabera ordenatzea minitxartelean",
|
||||
@@ -962,7 +962,7 @@
|
||||
"teams": "Teams",
|
||||
"displayName": "Display Name",
|
||||
"shortName": "Short Name",
|
||||
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
|
||||
"autoAddUsersWithDomainName": "Gehitu automatikoki domeinu-izena duten erabiltzaileak",
|
||||
"website": "Website",
|
||||
"person": "Person",
|
||||
"my-cards": "Nire txartelak",
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"custom-field-stringtemplate-separator": "Separator (use   or for a space)",
|
||||
"custom-field-stringtemplate-item-placeholder": "Press enter to add more items",
|
||||
"creator": "Creator",
|
||||
"creator-on-minicard": "Creator on minicard",
|
||||
"creator-on-minicard": "Sortzailea minitxartelean",
|
||||
"filesReportTitle": "Files Report",
|
||||
"reports": "Reports",
|
||||
"rulesReportTitle": "Rules Report",
|
||||
|
||||
@@ -962,7 +962,7 @@
|
||||
"teams": "Équipes",
|
||||
"displayName": "Nom d'Affichage",
|
||||
"shortName": "Nom Court",
|
||||
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
|
||||
"autoAddUsersWithDomainName": "Ajouter automatiquement les utilisateurs avec le nom de domaine",
|
||||
"website": "Site Web",
|
||||
"person": "Personne",
|
||||
"my-cards": "Mes Cartes",
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"custom-field-stringtemplate-separator": "Séparateur (utiliser   ou pour un espace)",
|
||||
"custom-field-stringtemplate-item-placeholder": "Appuyez sur Entrée pour ajouter plus d'éléments",
|
||||
"creator": "Créateur",
|
||||
"creator-on-minicard": "Creator on minicard",
|
||||
"creator-on-minicard": "Créateur sur la mini-carte",
|
||||
"filesReportTitle": "Rapports sur les fichiers",
|
||||
"reports": "Rapports",
|
||||
"rulesReportTitle": "Rapports sur les règles",
|
||||
|
||||
@@ -731,10 +731,10 @@
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Paramètres des sous-tâches",
|
||||
"card-settings": "Paramètres de la carte",
|
||||
"minicard-settings": "Paramètres de la minicarte",
|
||||
"minicard-settings": "Paramètres de la mini-carte",
|
||||
"boardSubtaskSettingsPopup-title": "Paramètres des sous-tâches du tableau",
|
||||
"boardCardSettingsPopup-title": "Paramètres de la carte",
|
||||
"boardMinicardSettingsPopup-title": "Paramètres de la minicarte",
|
||||
"boardMinicardSettingsPopup-title": "Paramètres de la mini-carte",
|
||||
"deposit-subtasks-board": "Déposer des sous-tâches dans ce tableau :",
|
||||
"deposit-subtasks-list": "Liste de destination pour les sous-tâches déposées ici :",
|
||||
"show-parent-in-minicard": "Voir la carte parente dans la mini-carte :",
|
||||
@@ -921,7 +921,7 @@
|
||||
"cardAssigneesPopup-title": "Personne assignée",
|
||||
"addmore-detail": "Ajouter une description plus détaillée",
|
||||
"show-on-card": "Afficher sur la carte",
|
||||
"show-on-minicard": "Afficher sur la minicarte",
|
||||
"show-on-minicard": "Afficher sur la mini-carte",
|
||||
"new": "Nouveau",
|
||||
"editOrgPopup-title": "Éditer l'organisation",
|
||||
"newOrgPopup-title": "Nouvelle organisation",
|
||||
@@ -962,7 +962,7 @@
|
||||
"teams": "Équipes",
|
||||
"displayName": "Nom d'Affichage",
|
||||
"shortName": "Nom Court",
|
||||
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
|
||||
"autoAddUsersWithDomainName": "Ajouter automatiquement les utilisateurs avec le nom de domaine",
|
||||
"website": "Site Web",
|
||||
"person": "Personne",
|
||||
"my-cards": "Mes Cartes",
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"custom-field-stringtemplate-separator": "Séparateur (utiliser   ou pour un espace)",
|
||||
"custom-field-stringtemplate-item-placeholder": "Appuyez sur Entrée pour ajouter plus d'éléments",
|
||||
"creator": "Créateur",
|
||||
"creator-on-minicard": "Creator on minicard",
|
||||
"creator-on-minicard": "Créateur sur la mini-carte",
|
||||
"filesReportTitle": "Rapports sur les fichiers",
|
||||
"reports": "Rapports",
|
||||
"rulesReportTitle": "Rapports sur les règles",
|
||||
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"custom-field-stringtemplate-separator": "מפריד (להשתמש ב־  או ב־ כרווח)",
|
||||
"custom-field-stringtemplate-item-placeholder": "יש ללחוץ על enter כדי להוסיף עוד פריטים",
|
||||
"creator": "יוצר",
|
||||
"creator-on-minicard": "Creator on minicard",
|
||||
"creator-on-minicard": "יוצר בכרטיסון",
|
||||
"filesReportTitle": "דוח קבצים",
|
||||
"reports": "דוחות",
|
||||
"rulesReportTitle": "דוח כללים",
|
||||
|
||||
@@ -81,10 +81,10 @@
|
||||
"activity-endDate": "終了日を %s に変更しました / %s",
|
||||
"add-attachment": "添付ファイルを追加",
|
||||
"add-board": "ボードを追加",
|
||||
"add-template": "Add Template",
|
||||
"add-template": "テンプレートを追加",
|
||||
"add-card": "カードを追加",
|
||||
"add-card-to-top-of-list": "カードをリストの先頭に追加",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
"add-card-to-bottom-of-list": "カードをリストの末尾に追加",
|
||||
"setListWidthPopup-title": "リストの幅を設定",
|
||||
"set-list-width": "リストの幅を設定",
|
||||
"set-list-width-value": "リストの幅(ピクセル)",
|
||||
@@ -97,13 +97,13 @@
|
||||
"add-subtask": "サブタスクを追加",
|
||||
"add-checklist": "チェックリストを追加",
|
||||
"add-checklist-item": "チェックリストに項目を追加",
|
||||
"close-add-checklist-item": "チェックリストフォームの項目の追加を終了する",
|
||||
"close-edit-checklist-item": "チェックリストフォームの項目の編集を終了する",
|
||||
"close-add-checklist-item": "Close add an item to checklist form",
|
||||
"close-edit-checklist-item": "Close edit an item to checklist form",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "ミニカードに表紙画像を追加する",
|
||||
"add-cover": "Add cover image to minicard",
|
||||
"add-label": "ラベルを追加",
|
||||
"add-list": "リストを追加",
|
||||
"add-after-list": "リストの最後に追加",
|
||||
"add-after-list": "Add After List",
|
||||
"add-members": "メンバーの追加",
|
||||
"added": "追加しました",
|
||||
"addMemberPopup-title": "メンバー",
|
||||
@@ -113,7 +113,7 @@
|
||||
"admin-announcement": "アナウンス",
|
||||
"admin-announcement-active": "システム全体アナウンスを有効化",
|
||||
"admin-announcement-title": "管理者からのアナウンス",
|
||||
"all-boards": "All Boards",
|
||||
"all-boards": "全てのボード",
|
||||
"and-n-other-card": "And __count__ other card",
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "適用",
|
||||
@@ -143,13 +143,13 @@
|
||||
"attachmentDeletePopup-title": "添付ファイルを削除しますか?",
|
||||
"attachments": "添付ファイル",
|
||||
"auto-watch": "作成されたボードを自動的にウォッチする",
|
||||
"avatar-too-big": "アバターが大きすぎます(最大520KB)",
|
||||
"avatar-too-big": "The avatar is too large (__size__ max)",
|
||||
"back": "戻る",
|
||||
"board-change-color": "色の変更",
|
||||
"board-change-background-image": "背景画像を変更",
|
||||
"board-background-image-url": "背景画像のURL",
|
||||
"add-background-image": "背景画像を追加",
|
||||
"remove-background-image": "背景画像を削除",
|
||||
"board-change-background-image": "Change Background Image",
|
||||
"board-background-image-url": "Background Image URL",
|
||||
"add-background-image": "Add Background Image",
|
||||
"remove-background-image": "Remove Background Image",
|
||||
"show-at-all-boards-page" : "Show at All Boards page",
|
||||
"board-info-on-my-boards" : "All Boards Settings",
|
||||
"boardInfoOnMyBoardsPopup-title" : "All Boards Settings",
|
||||
@@ -162,9 +162,9 @@
|
||||
"board-public-info": "ボードは公開されます。",
|
||||
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
|
||||
"boardChangeColorPopup-title": "ボードの背景を変更",
|
||||
"boardChangeBackgroundImagePopup-title": "背景画像を変更",
|
||||
"boardChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"allBoardsChangeColorPopup-title": "色の変更",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "背景画像を変更",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"boardChangeTitlePopup-title": "ボード名の変更",
|
||||
"boardChangeVisibilityPopup-title": "公開範囲の変更",
|
||||
"boardChangeWatchPopup-title": "ウォッチの変更",
|
||||
@@ -314,7 +314,7 @@
|
||||
"linkCardPopup-title": "カードをリンク",
|
||||
"searchElementPopup-title": "検索",
|
||||
"copyCardPopup-title": "カードをコピー",
|
||||
"copyManyCardsPopup-title": "テンプレートから複数カードにコピー",
|
||||
"copyManyCardsPopup-title": "Copy Template to Many Cards",
|
||||
"copyManyCardsPopup-instructions": "作成されるカードのタイトルと説明をJSON形式で指定",
|
||||
"copyManyCardsPopup-format": "[ {\"title\": \"1つ目のカードタイトル\", \"description\":\"1つ目のカードの説明\"}, {\"title\":\"2つ目のカードタイトル\",\"description\":\"2つ目のカードの説明\"},{\"title\":\"最後のカードタイトル\",\"description\":\"最後のカードの説明\"} ]",
|
||||
"create": "作成",
|
||||
@@ -382,7 +382,7 @@
|
||||
"error-board-notAMember": "操作にはボードメンバーである必要があります",
|
||||
"error-json-malformed": "このテキストは、有効なJSON形式ではありません",
|
||||
"error-json-schema": "JSONデータが不正な値を含んでいます",
|
||||
"error-csv-schema": "CSV(カンマ区切り)/TSV(タブ区切り)の書式が不正です",
|
||||
"error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format ",
|
||||
"error-list-doesNotExist": "このリストは存在しません",
|
||||
"error-user-doesNotExist": "ユーザーが存在しません",
|
||||
"error-user-notAllowSelf": "自分を招待することはできません。",
|
||||
@@ -396,7 +396,7 @@
|
||||
"export-board-csv": "ボードをCSVにエクスポート",
|
||||
"export-board-tsv": "ボードをTSVにエクスポート",
|
||||
"export-board-excel": "ボードをExcelにエクスポート",
|
||||
"user-can-not-export-excel": "ユーザーはExcelにエクスポートできません",
|
||||
"user-can-not-export-excel": "ユーザーはExcelにエクスポートできません ",
|
||||
"export-board-html": "ボードをHTMLにエクスポート",
|
||||
"export-card": "Export card",
|
||||
"export-card-pdf": "Export card to PDF",
|
||||
@@ -421,7 +421,7 @@
|
||||
"filter-overdue": "期限切れ",
|
||||
"filter-due-today": "本日期限",
|
||||
"filter-due-this-week": "今週期限",
|
||||
"filter-due-next-week": "来週期限",
|
||||
"filter-due-next-week": "Due next week",
|
||||
"filter-due-tomorrow": "明日期限",
|
||||
"list-filter-label": "タイトルでリストをフィルタ",
|
||||
"filter-clear": "フィルターの解除",
|
||||
@@ -440,7 +440,7 @@
|
||||
"filter-to-selection": "フィルターした項目を全選択",
|
||||
"other-filters-label": "その他のフィルタ",
|
||||
"advanced-filter-label": "高度なフィルター",
|
||||
"advanced-filter-description": "高度なフィルタでは次のような演算子を使用できます:== != <= >= && || ( )\n半角スペースは演算子の区切り文字として使用します。\n\nフィールド名や値を使用したフィルタが可能です。\n例:Field1 == Value1\n\n注意:フィールド名や値にスペースが含まれる場合、それらをシングルクォーテーションで囲む必要があります。\n例:'Field 1' == 'Value 1'\n\n単体の制御文字 (' \\\\/) は無視されますので、\\\\を使用することができます。\n例:Field1 == I\\\\'m\n\n複数の条件を組み合わせることもできます。\n例:F1 == V1 || F1 == V2\n\n基本的にすべての演算子は左から右に評価されます。\n丸カッコを使用することで順序を変更できます。\n例:F1 == V1 && ( F2 == V2 || F2 == V3 )\n\nテキストフィールドでは正規表現を使用した検索もできます。\n例:F1 == /Tes.*/i",
|
||||
"advanced-filter-description": "高度なフィルタでは次のような演算子を使用できます:== != <= >= && || ( )\n半角スペースは演算子の区切り文字として使用します。\n\nフィールド名や値を使用したフィルタが可能です。\n例:Field1 == Value1\n\n注意:フィールド名や値にスペースが含まれる場合、それらをシングルクォーテーションで囲む必要があります。\n例:'Field 1' == 'Value 1'\n\n単体の制御文字 (' /) は無視されますので、\\\\を使用することができます。\n例:Field1 == I\\\\'m\n\n複数の条件を組み合わせることもできます。\n例:F1 == V1 || F1 == V2\n\n基本的にすべての演算子は左から右に評価されます。\n丸カッコを使用することで順序を変更できます。\n例:F1 == V1 && ( F2 == V2 || F2 == V3 )\n\nテキストフィールドでは正規表現を使用した検索もできます。\n例:F1 == /Tes.*/i",
|
||||
"fullname": "フルネーム",
|
||||
"header-logo-title": "自分のボードページに戻る。",
|
||||
"hide-system-messages": "システムメッセージを隠す",
|
||||
@@ -532,7 +532,7 @@
|
||||
"normal": "通常",
|
||||
"normal-desc": "カードの閲覧と編集が可能。設定変更不可。",
|
||||
"not-accepted-yet": "招待はアクセプトされていません",
|
||||
"notify-participate": "作成した、またはメンバーとなったカードの更新情報を受け取る",
|
||||
"notify-participate": "Receive updates to any cards you participate as creator or member",
|
||||
"notify-watch": "ウォッチしているすべてのボード、リスト、カードの更新情報を受け取る",
|
||||
"optional": "任意",
|
||||
"or": "or",
|
||||
@@ -550,7 +550,7 @@
|
||||
"public": "公開",
|
||||
"public-desc": "このボードはパブリックです。リンクを知っていれば誰でもアクセス可能でGoogleのような検索エンジンの結果に表示されます。このボードに追加されている人だけがカード追加が可能です。",
|
||||
"quick-access-description": "ボードにスターをつけると、ここににショートカットができます。",
|
||||
"remove-cover": "ミニカードから表紙画像を削除する",
|
||||
"remove-cover": "Remove cover image from minicard",
|
||||
"remove-from-board": "ボードから外す",
|
||||
"remove-label": "ラベルの削除",
|
||||
"listDeletePopup-title": "リストを削除しますか?",
|
||||
@@ -561,8 +561,8 @@
|
||||
"rename": "名前変更",
|
||||
"rename-board": "ボード名の変更",
|
||||
"restore": "リストア",
|
||||
"rescue-card-description": "未保存のカードの説明を閉じる前に確認ダイアログを表示する",
|
||||
"rescue-card-description-dialogue": "カードの説明を変更内容で上書きしますか?",
|
||||
"rescue-card-description": "Show rescue dialogue before closing for unsaved card descriptions",
|
||||
"rescue-card-description-dialogue": "Overwrite current card description with your changes?",
|
||||
"save": "保存",
|
||||
"search": "検索",
|
||||
"rules": "ルール",
|
||||
@@ -616,7 +616,7 @@
|
||||
"custom-top-left-corner-logo-height": "カスタムの左上ロゴイメージの高さ。デフォルト:27",
|
||||
"custom-login-logo-image-url": "カスタムのログインロゴイメージのURL",
|
||||
"custom-login-logo-link-url": "カスタムのログインロゴイメージのリンクURL",
|
||||
"custom-help-link-url": "ヘルプのリンクURLを変更する",
|
||||
"custom-help-link-url": "Custom Help Link URL",
|
||||
"text-below-custom-login-logo": "カスタムログインロゴイメージの下のテキスト",
|
||||
"automatic-linked-url-schemes": "Custom URL Schemes which should automatically be clickable. One URL Scheme per line",
|
||||
"username": "ユーザー名",
|
||||
@@ -664,15 +664,15 @@
|
||||
"email-smtp-test-text": "メールを送信しました",
|
||||
"error-invitation-code-not-exist": "招待コードが存在しません",
|
||||
"error-notAuthorized": "このページを参照する権限がありません。",
|
||||
"webhook-title": "Webフック名",
|
||||
"webhook-title": "Webhook Name",
|
||||
"webhook-token": "トークン(認証用オプション)",
|
||||
"outgoing-webhooks": "発信Webフック",
|
||||
"outgoing-webhooks": "Outgoing Webhooks",
|
||||
"bidirectional-webhooks": "双方向Webフック",
|
||||
"outgoingWebhooksPopup-title": "発信Webフック",
|
||||
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
|
||||
"boardCardTitlePopup-title": "カード名フィルタ",
|
||||
"disable-webhook": "このWebフックを無効化",
|
||||
"global-webhook": "グローバルWebフック",
|
||||
"new-outgoing-webhook": "発信Webフックの作成",
|
||||
"new-outgoing-webhook": "New Outgoing Webhook",
|
||||
"no-name": "(名前なし)",
|
||||
"Node_version": "Nodeバージョン",
|
||||
"Meteor_version": "Meteor バージョン",
|
||||
@@ -731,17 +731,17 @@
|
||||
"queue": "キュー",
|
||||
"subtask-settings": "サブタスク設定",
|
||||
"card-settings": "カード設定",
|
||||
"minicard-settings": "ミニカード設定",
|
||||
"minicard-settings": "Minicard Settings",
|
||||
"boardSubtaskSettingsPopup-title": "ボードのサブタスク設定",
|
||||
"boardCardSettingsPopup-title": "カード設定",
|
||||
"boardMinicardSettingsPopup-title": "ミニカード設定",
|
||||
"boardMinicardSettingsPopup-title": "Minicard Settings",
|
||||
"deposit-subtasks-board": "サブタスクの作成先ボード:",
|
||||
"deposit-subtasks-list": "サブタスクの作成先リスト:",
|
||||
"show-parent-in-minicard": "ミニカード上の親表示",
|
||||
"description-on-minicard": "ミニカードの説明",
|
||||
"cover-attachment-on-minicard": "ミニカードの表紙画像",
|
||||
"badge-attachment-on-minicard": "ミニカードの添付ファイル数",
|
||||
"card-sorting-by-number-on-minicard": "ミニカードの番号順でソートする",
|
||||
"description-on-minicard": "Description on minicard",
|
||||
"cover-attachment-on-minicard": "Cover image on minicard",
|
||||
"badge-attachment-on-minicard": "Count of attachments on minicard",
|
||||
"card-sorting-by-number-on-minicard": "Card sorting by number on minicard",
|
||||
"prefix-with-full-path": "タイトルの前に親をフル表示",
|
||||
"prefix-with-parent": "タイトルの前に親を表示",
|
||||
"subtext-with-full-path": "タイトルの後ろに親をフル表示",
|
||||
@@ -854,7 +854,7 @@
|
||||
"r-items-list": "アイテム1、アイテム2、アイテム3",
|
||||
"r-add-swimlane": "スイムレーンを追加",
|
||||
"r-swimlane-name": "スイムレーン名",
|
||||
"r-board-note": "注意:フィールドを空にするとすべての値に一致します",
|
||||
"r-board-note": "Note: leave a field empty to match every possible value. ",
|
||||
"r-checklist-note": "注意:チェックリスト項目はカンマ区切りで記述する必要があります。",
|
||||
"r-when-a-card-is-moved": "カードが別のリストに移動したとき",
|
||||
"r-set": "設定する",
|
||||
@@ -866,7 +866,7 @@
|
||||
"r-df-received-at": "受付",
|
||||
"r-to-current-datetime": "現在日時に",
|
||||
"r-remove-value-from": "次の値を削除:",
|
||||
"r-link-card": "カードをリンクする",
|
||||
"r-link-card": "Link card to",
|
||||
"ldap": "LDAP",
|
||||
"oauth2": "OAuth2",
|
||||
"cas": "CAS",
|
||||
@@ -875,8 +875,8 @@
|
||||
"custom-product-name": "カスタム製品名",
|
||||
"layout": "レイアウト",
|
||||
"hide-logo": "ロゴを隠す",
|
||||
"hide-card-counter-list": "すべてのボードからカードカウンタリストを非表示にする。",
|
||||
"hide-board-member-list": "すべてのボードからボードメンバリストを非表示にする。",
|
||||
"hide-card-counter-list": "Hide card counter list on All Boards",
|
||||
"hide-board-member-list": "Hide board member list on All Boards",
|
||||
"add-custom-html-after-body-start": "<body> の開始直後にカスタムHTMLを追加する",
|
||||
"add-custom-html-before-body-end": "</body> の終了直前にカスタムHTMLを追加する",
|
||||
"error-undefined": "何らかの問題が発生しています",
|
||||
@@ -885,9 +885,9 @@
|
||||
"oidc-button-text": "Customize the OIDC button text",
|
||||
"default-authentication-method": "デフォルトの認証方式",
|
||||
"duplicate-board": "ボードの複製",
|
||||
"org-number": "組織数:",
|
||||
"team-number": "チーム数: ",
|
||||
"people-number": "人数:",
|
||||
"org-number": "The number of organizations is: ",
|
||||
"team-number": "The number of teams is: ",
|
||||
"people-number": "The number of people is: ",
|
||||
"swimlaneDeletePopup-title": "スイムレーンを削除しますか?",
|
||||
"swimlane-delete-pop": "すべての内容がアクティビティから削除されます。この削除は元に戻すことができません。",
|
||||
"restore-all": "全てをリストアする",
|
||||
@@ -905,7 +905,7 @@
|
||||
"almostdue": "期限 %s が近づいています",
|
||||
"pastdue": "期限 %s が過ぎています",
|
||||
"duenow": "期限 %s は本日です",
|
||||
"act-newDue": "__list __ / __ card__に1回目の有効期限アラートがあります [__board__]",
|
||||
"act-newDue": "__list__/__card__ has 1st due reminder [__board__]",
|
||||
"act-withDue": "__list __ / __ card__ の有効期限のアラート [__board__]",
|
||||
"act-almostdue": "__card__ の期限日時 (__timeValue__) が近づいています",
|
||||
"act-pastdue": "__card__ の期限日時 (__timeValue__) が過ぎています",
|
||||
@@ -930,7 +930,7 @@
|
||||
"editUserPopup-title": "ユーザーを編集",
|
||||
"newUserPopup-title": "新規ユーザー",
|
||||
"notifications": "通知",
|
||||
"help": "ヘルプ",
|
||||
"help": "Help",
|
||||
"view-all": "全てを表示",
|
||||
"filter-by-unread": "未読でフィルタ",
|
||||
"mark-all-as-read": "全て既読にする",
|
||||
@@ -1057,7 +1057,7 @@
|
||||
"operator-debug-invalid": "%s is not a valid debug predicate",
|
||||
"next-page": "次のページ",
|
||||
"previous-page": "前のページ",
|
||||
"heading-notes": "注意",
|
||||
"heading-notes": "注意\n ",
|
||||
"globalSearch-instructions-heading": "検索手順",
|
||||
"globalSearch-instructions-description": "検索は演算子を含めた絞り込みが可能です。演算子は、演算子の名前と値を半角コロンで区切った記述で指定します。例えば、`リスト:対応不可`と指定すると、*対応不可*という名前のリストに含まれるカードという制約で検索します。値にスペースや特殊文字が含まれる場合は引用符で囲む必要があります(例:`__operator_list__:\"レビュー 本日中\"`)。",
|
||||
"globalSearch-instructions-operators": "有効な演算子:",
|
||||
@@ -1085,13 +1085,13 @@
|
||||
"globalSearch-instructions-status-private": "`__predicate_private__` - 非公開のボードにあるカード",
|
||||
"globalSearch-instructions-operator-has": "`__operator_has__:<field>` - *<field>* は`__predicate_attachment__`、`__predicate_checklist__`、`__predicate_description__`、`__predicate_start__`、`__predicate_due__`、`__predicate_end__`、`__predicate_assignee__`、`__predicate_member__` のいずれかを指定します。*<field>* の前に「`-`」を記述すると、そのフィールドに値がないものを検索します(例:「`所有:-期限日`」は期限日がないカードを検索します)。",
|
||||
"globalSearch-instructions-operator-sort": "`__operator_sort__:<sort-name>` - *<sort-name>* は `__predicate_due__`、`__predicate_created__`、`__predicate_modified__` のいずれかを指定します。降順にする場合は、並べ替え名の前に「`-`」を記述します。",
|
||||
"globalSearch-instructions-operator-limit": "`__operator_limit__:<n>` - 「*<n>*」には、ページごとに表示されるカードの数を表す正の整数を指定します。",
|
||||
"globalSearch-instructions-operator-limit": "`__operator_limit__:<n>` - 「*<n>*」には、ページごとに表示されるカードの数を表す正の整数を指定します。 ",
|
||||
"globalSearch-instructions-notes-1": "複数の演算子を指定できます。",
|
||||
"globalSearch-instructions-notes-2": "同じ演算子はOR条件になります。複数の条件のいずれかに一致したカードが検索されます。`__operator_list__:有効 __operator_list__:対応不要` の場合、リスト名が *有効* または *対応不要* のカードが検索されます。",
|
||||
"globalSearch-instructions-notes-3": "異なる演算子はAND条件になります。異なる演算子すべてに一致したカードのみが検索されます。`__operator_list__:有効 __operator_label__:赤` は、*有効* のリストの中の *赤* のラベルのカードのみが検索されます。",
|
||||
"globalSearch-instructions-notes-3-2": "日付には正負の整数や、現在からの期間として `__predicate_week__`、`__predicate_month__`、`__predicate_quarter__`、`__predicate_year__` を指定できます。",
|
||||
"globalSearch-instructions-notes-4": "テキスト検索では大文字と小文字は区別されません。",
|
||||
"globalSearch-instructions-notes-5": "デフォルトではアーカイブされたカードは検索されません。",
|
||||
"globalSearch-instructions-notes-5": "デフォルトではアーカイブされたカードは検索されません。 ",
|
||||
"link-to-search": "この検索へのリンク",
|
||||
"excel-font": "Arial",
|
||||
"number": "数値",
|
||||
@@ -1099,7 +1099,7 @@
|
||||
"label-names": "ラベル名",
|
||||
"archived-at": "アーカイブされた:",
|
||||
"sort-cards": "カードの並び替え",
|
||||
"sort-is-on": "ソートが有効",
|
||||
"sort-is-on": "Sort is on",
|
||||
"cardsSortPopup-title": "カードの並び替え",
|
||||
"due-date": "期限日",
|
||||
"server-error": "サーバーエラー",
|
||||
@@ -1200,14 +1200,14 @@
|
||||
"attachmentActionsPopup-title": "Attachment Actions",
|
||||
"attachment-move-storage-fs": "Move attachment to filesystem",
|
||||
"attachment-move-storage-gridfs": "Move attachment to GridFS",
|
||||
"attachment-move-storage-s3": "添付ファイルを S3 に移動する",
|
||||
"attachment-move-storage-s3": "Move attachment to S3",
|
||||
"attachment-move": "Move Attachment",
|
||||
"move-all-attachments-to-fs": "Move all attachments to filesystem",
|
||||
"move-all-attachments-to-gridfs": "Move all attachments to GridFS",
|
||||
"move-all-attachments-to-s3": "複数の添付ファイルを S3 に移動する",
|
||||
"move-all-attachments-to-s3": "Move all attachments to S3",
|
||||
"move-all-attachments-of-board-to-fs": "Move all attachments of board to filesystem",
|
||||
"move-all-attachments-of-board-to-gridfs": "Move all attachments of board to GridFS",
|
||||
"move-all-attachments-of-board-to-s3": "ボードのすべての添付ファイルを S3 に移動する",
|
||||
"move-all-attachments-of-board-to-s3": "Move all attachments of board to S3",
|
||||
"path": "Path",
|
||||
"version-name": "Version-Name",
|
||||
"size": "Size",
|
||||
@@ -1215,24 +1215,24 @@
|
||||
"action": "操作",
|
||||
"board-title": "Board Title",
|
||||
"attachmentRenamePopup-title": "名前変更",
|
||||
"uploading": "アップグレード中",
|
||||
"remaining_time": "残り時間",
|
||||
"speed": "速度",
|
||||
"progress": "進捗",
|
||||
"password-again": "パスワード(再入力)",
|
||||
"if-you-already-have-an-account": "すでにアカウントを持っている場合",
|
||||
"register": "登録",
|
||||
"forgot-password": "パスワードを忘れた",
|
||||
"uploading": "Uploading",
|
||||
"remaining_time": "Remaining time",
|
||||
"speed": "Speed",
|
||||
"progress": "Progress",
|
||||
"password-again": "Password (again)",
|
||||
"if-you-already-have-an-account": "If you already have an account",
|
||||
"register": "Register",
|
||||
"forgot-password": "Forgot password",
|
||||
"minicardDetailsActionsPopup-title": "Card Details",
|
||||
"Mongo_sessions_count": "Mongo セッション数",
|
||||
"Mongo_sessions_count": "Mongo sessions count",
|
||||
"change-visibility": "公開範囲の変更",
|
||||
"max-upload-filesize": "バイト単位の最大アップロードサイズ: ",
|
||||
"allowed-upload-filetypes": "アップロードできるファイルタイプ",
|
||||
"max-avatar-filesize": "バイト単位の最大アバターファイルサイズ:",
|
||||
"allowed-avatar-filetypes": "アバターに使用できるファイルタイプ",
|
||||
"invalid-file": "無効なファイル名の場合アップロードまたは名前の変更は取り消されます。",
|
||||
"preview-pdf-not-supported": "この端末はPDFのプレビューに対応していません。他の端末でダウンロードしてください。",
|
||||
"drag-board": "ドラッグボード",
|
||||
"max-upload-filesize": "Max upload filesize in bytes:",
|
||||
"allowed-upload-filetypes": "Allowed upload filetypes:",
|
||||
"max-avatar-filesize": "Max avatar filesize in bytes:",
|
||||
"allowed-avatar-filetypes": "Allowed avatar filetypes:",
|
||||
"invalid-file": "If filename is invalid, upload or rename is cancelled.",
|
||||
"preview-pdf-not-supported": "Your device does not support previewing PDF. Try downloading instead.",
|
||||
"drag-board": "Drag board",
|
||||
"translation-number": "The number of custom translation strings is:",
|
||||
"delete-translation-confirm-popup": "Are you sure you want to delete this custom translation string? There is no undo.",
|
||||
"newTranslationPopup-title": "New custom translation string",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -76,7 +76,7 @@ export default {
|
||||
code: "br",
|
||||
tag: "br",
|
||||
name: "Brezhoneg",
|
||||
load: () => import('./data/xxx.i18n.json'),
|
||||
load: () => import('./data/br.i18n.json'),
|
||||
},
|
||||
"ca": {
|
||||
code: "ca",
|
||||
@@ -88,7 +88,7 @@ export default {
|
||||
code: "ca",
|
||||
tag: "ca-ES",
|
||||
name: "català (Espanya)",
|
||||
load: () => import('./data/ca-ES.i18n.json'),
|
||||
load: () => import('./data/ca_ES.i18n.json'),
|
||||
},
|
||||
"cmn": {
|
||||
code: "cn",
|
||||
@@ -138,6 +138,12 @@ export default {
|
||||
name: "Deutsch (Schweiz)",
|
||||
load: () => import('./data/de-CH.i18n.json'),
|
||||
},
|
||||
"de-DE": {
|
||||
code: "de",
|
||||
tag: "de-DE",
|
||||
name: "Deutsch (Deutschland)",
|
||||
load: () => import('./data/de_DE.i18n.json'),
|
||||
},
|
||||
"de": {
|
||||
code: "de",
|
||||
tag: "de",
|
||||
@@ -508,6 +514,12 @@ export default {
|
||||
name: "Occitan",
|
||||
load: () => import('./data/oc.i18n.json'),
|
||||
},
|
||||
"or-IN": {
|
||||
code: "or",
|
||||
tag: "or-IN",
|
||||
name: "ଓଡିଆ (ଭାରତ)",
|
||||
load: () => import('./data/or_IN.i18n.json'),
|
||||
},
|
||||
"pa": {
|
||||
code: "pa",
|
||||
tag: "pa",
|
||||
|
||||
@@ -3860,6 +3860,25 @@ JsonRoutes.add('GET', '/api/boards/:boardId/cards_count', function(
|
||||
newBoardId,
|
||||
);
|
||||
}
|
||||
if (req.body.archive) {
|
||||
function isTrue(data) {
|
||||
return String(data).toLowerCase() === 'true';
|
||||
}
|
||||
var archive = isTrue(req.body.archive);
|
||||
Cards.direct.update(
|
||||
{
|
||||
_id: paramCardId,
|
||||
listId: paramListId,
|
||||
boardId: paramBoardId,
|
||||
archived: !archive,
|
||||
},
|
||||
{
|
||||
$set: {
|
||||
archived: archive,
|
||||
},
|
||||
},
|
||||
);
|
||||
}
|
||||
JsonRoutes.sendResult(res, {
|
||||
code: 200,
|
||||
data: {
|
||||
|
||||
Generated
+23
-284
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v7.22.0",
|
||||
"version": "v7.30.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": {
|
||||
"version": "7.23.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.4.tgz",
|
||||
"integrity": "sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==",
|
||||
"version": "7.23.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz",
|
||||
"integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==",
|
||||
"requires": {
|
||||
"regenerator-runtime": "^0.14.0"
|
||||
}
|
||||
@@ -164,11 +164,6 @@
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"ansi-colors": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
|
||||
"integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
@@ -267,9 +262,9 @@
|
||||
"integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw=="
|
||||
},
|
||||
"async": {
|
||||
"version": "3.2.4",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
|
||||
"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
|
||||
"version": "3.2.5",
|
||||
"resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
|
||||
"integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg=="
|
||||
},
|
||||
"available-typed-arrays": {
|
||||
"version": "1.0.5",
|
||||
@@ -336,11 +331,6 @@
|
||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
|
||||
"integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA=="
|
||||
},
|
||||
"boolbase": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
|
||||
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
@@ -410,32 +400,6 @@
|
||||
"traverse": ">=0.3.0 <0.4"
|
||||
}
|
||||
},
|
||||
"cheerio": {
|
||||
"version": "1.0.0-rc.10",
|
||||
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz",
|
||||
"integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==",
|
||||
"requires": {
|
||||
"cheerio-select": "^1.5.0",
|
||||
"dom-serializer": "^1.3.2",
|
||||
"domhandler": "^4.2.0",
|
||||
"htmlparser2": "^6.1.0",
|
||||
"parse5": "^6.0.1",
|
||||
"parse5-htmlparser2-tree-adapter": "^6.0.1",
|
||||
"tslib": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"cheerio-select": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz",
|
||||
"integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==",
|
||||
"requires": {
|
||||
"css-select": "^4.3.0",
|
||||
"css-what": "^6.0.1",
|
||||
"domelementtype": "^2.2.0",
|
||||
"domhandler": "^4.3.1",
|
||||
"domutils": "^2.8.0"
|
||||
}
|
||||
},
|
||||
"chownr": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
|
||||
@@ -451,11 +415,6 @@
|
||||
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
|
||||
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
|
||||
},
|
||||
"commander": {
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
|
||||
"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA=="
|
||||
},
|
||||
"compress-commons": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz",
|
||||
@@ -496,23 +455,6 @@
|
||||
"readable-stream": "^3.4.0"
|
||||
}
|
||||
},
|
||||
"css-select": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
|
||||
"integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
|
||||
"requires": {
|
||||
"boolbase": "^1.0.0",
|
||||
"css-what": "^6.0.1",
|
||||
"domhandler": "^4.3.1",
|
||||
"domutils": "^2.8.0",
|
||||
"nth-check": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"css-what": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
|
||||
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
|
||||
},
|
||||
"dayjs": {
|
||||
"version": "1.11.10",
|
||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
|
||||
@@ -557,44 +499,11 @@
|
||||
"integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
|
||||
"dev": true
|
||||
},
|
||||
"dom-serializer": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
|
||||
"integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.0.1",
|
||||
"domhandler": "^4.2.0",
|
||||
"entities": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"domelementtype": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
|
||||
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
|
||||
},
|
||||
"domhandler": {
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
|
||||
"integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"dompurify": {
|
||||
"version": "2.4.7",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.7.tgz",
|
||||
"integrity": "sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ=="
|
||||
},
|
||||
"domutils": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
|
||||
"integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
|
||||
"requires": {
|
||||
"dom-serializer": "^1.0.1",
|
||||
"domelementtype": "^2.2.0",
|
||||
"domhandler": "^4.2.0"
|
||||
}
|
||||
},
|
||||
"duplexer2": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
|
||||
@@ -655,23 +564,13 @@
|
||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
|
||||
"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
|
||||
},
|
||||
"escape-goat": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-3.0.0.tgz",
|
||||
"integrity": "sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw=="
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
|
||||
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="
|
||||
},
|
||||
"esm": {
|
||||
"version": "3.2.25",
|
||||
"resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
|
||||
"integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="
|
||||
},
|
||||
"exceljs": {
|
||||
"version": "git+https://github.com/exceljs/exceljs.git#ddab279a882aba8f18fc5127c6d59e3aa9f596c7",
|
||||
"version": "git+https://github.com/exceljs/exceljs.git#5bed18b45e824f409b08456b59b87430ded023ab",
|
||||
"from": "git+https://github.com/exceljs/exceljs.git",
|
||||
"requires": {
|
||||
"archiver": "^5.0.0",
|
||||
@@ -926,17 +825,6 @@
|
||||
"function-bind": "^1.1.2"
|
||||
}
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
|
||||
"integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.0.1",
|
||||
"domhandler": "^4.0.0",
|
||||
"domutils": "^2.5.2",
|
||||
"entities": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"https-proxy-agent": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||
@@ -1091,18 +979,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"juice": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/juice/-/juice-8.1.0.tgz",
|
||||
"integrity": "sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==",
|
||||
"requires": {
|
||||
"cheerio": "1.0.0-rc.10",
|
||||
"commander": "^6.1.0",
|
||||
"mensch": "^0.3.4",
|
||||
"slick": "^1.12.2",
|
||||
"web-resource-inliner": "^6.0.1"
|
||||
}
|
||||
},
|
||||
"just-extend": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
|
||||
@@ -1328,36 +1204,11 @@
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz",
|
||||
"integrity": "sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ=="
|
||||
},
|
||||
"markdown-it-mathjax3": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-mathjax3/-/markdown-it-mathjax3-4.3.2.tgz",
|
||||
"integrity": "sha512-TX3GW5NjmupgFtMJGRauioMbbkGsOXAAt1DZ/rzzYmTHqzkO1rNAdiMD4NiruurToPApn2kYy76x02QN26qr2w==",
|
||||
"requires": {
|
||||
"juice": "^8.0.0",
|
||||
"mathjax-full": "^3.2.0"
|
||||
}
|
||||
},
|
||||
"mathjax-full": {
|
||||
"version": "3.2.2",
|
||||
"resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz",
|
||||
"integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==",
|
||||
"requires": {
|
||||
"esm": "^3.2.25",
|
||||
"mhchemparser": "^4.1.0",
|
||||
"mj-context-menu": "^0.6.1",
|
||||
"speech-rule-engine": "^4.0.6"
|
||||
}
|
||||
},
|
||||
"mdurl": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
|
||||
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
|
||||
},
|
||||
"mensch": {
|
||||
"version": "0.3.4",
|
||||
"resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz",
|
||||
"integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g=="
|
||||
},
|
||||
"message-box": {
|
||||
"version": "0.2.7",
|
||||
"resolved": "https://registry.npmjs.org/message-box/-/message-box-0.2.7.tgz",
|
||||
@@ -1372,9 +1223,9 @@
|
||||
"integrity": "sha512-SBbbYWvFYvsxHVL+q6ZB8lT3rp2LSvfALD2V52H+MGH2IgJsevy0VtXRkRG0EsUewwOaDTIKBn9DlD8HQ3GSwg=="
|
||||
},
|
||||
"meteor-node-stubs": {
|
||||
"version": "1.2.5",
|
||||
"resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-1.2.5.tgz",
|
||||
"integrity": "sha512-FLlOFZx3KnZ5s3yPCK+x58DyX9ewN+oQ12LcpwBXMLtzJ/YyprMQVivd6KIrahZbKJrNenPNUGuDS37WUFg+Mw==",
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-1.2.7.tgz",
|
||||
"integrity": "sha512-20bAFUhEIOD/Cos2nmvhqf2NOKpTf63WVQ+nwuaX2OFj31sU6GL4KkNylkWum8McwsH0LsMr/F+UHhduTX7KRg==",
|
||||
"requires": {
|
||||
"assert": "^2.0.0",
|
||||
"browserify-zlib": "^0.2.0",
|
||||
@@ -2148,16 +1999,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"mhchemparser": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz",
|
||||
"integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ=="
|
||||
},
|
||||
"mime": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
|
||||
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.52.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||
@@ -2229,20 +2070,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"mj-context-menu": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz",
|
||||
"integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA=="
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
|
||||
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
|
||||
},
|
||||
"moment": {
|
||||
"version": "2.29.4",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
|
||||
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
|
||||
"version": "2.30.1",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
|
||||
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how=="
|
||||
},
|
||||
"mongo-object": {
|
||||
"version": "0.1.4",
|
||||
@@ -2322,9 +2158,9 @@
|
||||
}
|
||||
},
|
||||
"nodemailer": {
|
||||
"version": "6.9.7",
|
||||
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.7.tgz",
|
||||
"integrity": "sha512-rUtR77ksqex/eZRLmQ21LKVH5nAAsVicAtAYudK7JgwenEDZ0UIQ1adUGqErz7sMkWYxWTTU1aeP2Jga6WQyJw=="
|
||||
"version": "6.9.8",
|
||||
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.8.tgz",
|
||||
"integrity": "sha512-cfrYUk16e67Ks051i4CntM9kshRYei1/o/Gi8K1d+R34OIs21xdFnW7Pt7EucmVKA0LKtqUGNcjMZ7ehjl49mQ=="
|
||||
},
|
||||
"nopt": {
|
||||
"version": "5.0.0",
|
||||
@@ -2350,14 +2186,6 @@
|
||||
"set-blocking": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"nth-check": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
|
||||
"integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
|
||||
"requires": {
|
||||
"boolbase": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
@@ -2404,19 +2232,6 @@
|
||||
"resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
|
||||
"integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA=="
|
||||
},
|
||||
"parse5": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
|
||||
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
|
||||
},
|
||||
"parse5-htmlparser2-tree-adapter": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
|
||||
"integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
|
||||
"requires": {
|
||||
"parse5": "^6.0.1"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
@@ -2461,9 +2276,9 @@
|
||||
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
|
||||
},
|
||||
"punycode": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
|
||||
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
|
||||
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.11.2",
|
||||
@@ -2529,9 +2344,9 @@
|
||||
}
|
||||
},
|
||||
"regenerator-runtime": {
|
||||
"version": "0.14.0",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
|
||||
"integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
|
||||
"version": "0.14.1",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
|
||||
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "3.0.2",
|
||||
@@ -2632,11 +2447,6 @@
|
||||
"supports-color": "^7.2.0"
|
||||
}
|
||||
},
|
||||
"slick": {
|
||||
"version": "1.12.2",
|
||||
"resolved": "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz",
|
||||
"integrity": "sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A=="
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
@@ -2651,23 +2461,6 @@
|
||||
"source-map": "^0.6.0"
|
||||
}
|
||||
},
|
||||
"speech-rule-engine": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz",
|
||||
"integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==",
|
||||
"requires": {
|
||||
"commander": "9.2.0",
|
||||
"wicked-good-xpath": "1.3.0",
|
||||
"xmldom-sre": "0.1.31"
|
||||
},
|
||||
"dependencies": {
|
||||
"commander": {
|
||||
"version": "9.2.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz",
|
||||
"integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"split-on-first": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
|
||||
@@ -2787,11 +2580,6 @@
|
||||
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
|
||||
"integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ=="
|
||||
},
|
||||
"tslib": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
|
||||
},
|
||||
"type-detect": {
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
|
||||
@@ -2879,11 +2667,6 @@
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
||||
},
|
||||
"valid-data-url": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-3.0.1.tgz",
|
||||
"integrity": "sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA=="
|
||||
},
|
||||
"vasync": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/vasync/-/vasync-2.2.1.tgz",
|
||||
@@ -2935,40 +2718,6 @@
|
||||
"util": "^0.12.3"
|
||||
}
|
||||
},
|
||||
"web-resource-inliner": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-6.0.1.tgz",
|
||||
"integrity": "sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==",
|
||||
"requires": {
|
||||
"ansi-colors": "^4.1.1",
|
||||
"escape-goat": "^3.0.0",
|
||||
"htmlparser2": "^5.0.0",
|
||||
"mime": "^2.4.6",
|
||||
"node-fetch": "^2.6.0",
|
||||
"valid-data-url": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"domhandler": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
|
||||
"integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz",
|
||||
"integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.0.1",
|
||||
"domhandler": "^3.3.0",
|
||||
"domutils": "^2.4.2",
|
||||
"entities": "^2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
@@ -2995,11 +2744,6 @@
|
||||
"has-tostringtag": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"wicked-good-xpath": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz",
|
||||
"integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw=="
|
||||
},
|
||||
"wide-align": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
|
||||
@@ -3037,11 +2781,6 @@
|
||||
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
|
||||
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
|
||||
},
|
||||
"xmldom-sre": {
|
||||
"version": "0.1.31",
|
||||
"resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz",
|
||||
"integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw=="
|
||||
},
|
||||
"yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
|
||||
+4
-5
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v7.22.0",
|
||||
"version": "v7.30.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"repository": {
|
||||
@@ -17,7 +17,7 @@
|
||||
"sinon": "^13.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.23.4",
|
||||
"@babel/runtime": "^7.23.8",
|
||||
"@mapbox/node-pre-gyp": "^1.0.10",
|
||||
"@rwap/jquery-ui-touch-punch": "^1.0.11",
|
||||
"@wekanteam/html-to-markdown": "^1.0.2",
|
||||
@@ -41,12 +41,11 @@
|
||||
"ldapjs": "^2.3.3",
|
||||
"markdown-it": "^12.3.2",
|
||||
"markdown-it-emoji": "^2.0.0",
|
||||
"markdown-it-mathjax3": "^4.3.1",
|
||||
"meteor-accounts-t9n": "^2.6.0",
|
||||
"meteor-node-stubs": "^1.2.5",
|
||||
"meteor-node-stubs": "^1.2.7",
|
||||
"minio": "^7.1.3",
|
||||
"moment": "^2.29.4",
|
||||
"nodemailer": "^6.6.3",
|
||||
"nodemailer": "^6.9.8",
|
||||
"os": "^0.1.2",
|
||||
"page": "^1.11.6",
|
||||
"papaparse": "^5.3.1",
|
||||
|
||||
@@ -36,9 +36,10 @@ for(var i=0; i<urlschemes.length;i++){
|
||||
}
|
||||
|
||||
var emoji = require('markdown-it-emoji');
|
||||
var mathjax = require('markdown-it-mathjax3');
|
||||
Markdown.use(emoji);
|
||||
Markdown.use(mathjax);
|
||||
|
||||
//var mathjax = require('markdown-it-mathjax3');
|
||||
//Markdown.use(mathjax);
|
||||
|
||||
// Try to fix Mermaid Diagram error: Maximum call stack size exceeded.
|
||||
// Added bigger text size for Diagram.
|
||||
|
||||
@@ -27,11 +27,14 @@ OAuth.registerService('oidc', 2, null, function (query) {
|
||||
var accessToken = token.access_token || token.id_token;
|
||||
var expiresAt = (+new Date) + (1000 * parseInt(token.expires_in, 10));
|
||||
|
||||
var claimsInAccessToken = (process.env.OAUTH2_ADFS_ENABLED === 'true' || process.env.OAUTH2_ADFS_ENABLED === true) || false;
|
||||
var claimsInAccessToken = (process.env.OAUTH2_ADFS_ENABLED === 'true' ||
|
||||
process.env.OAUTH2_ADFS_ENABLED === true ||
|
||||
process.env.OAUTH2_B2C_ENABLED === 'true' ||
|
||||
process.env.OAUTH2_B2C_ENABLED === true) || false;
|
||||
|
||||
if(claimsInAccessToken)
|
||||
{
|
||||
// hack when using custom claims in the accessToken. On premise ADFS
|
||||
// hack when using custom claims in the accessToken. On premise ADFS. And Azure AD B2C.
|
||||
userinfo = getTokenContent(accessToken);
|
||||
}
|
||||
else
|
||||
@@ -64,6 +67,10 @@ OAuth.registerService('oidc', 2, null, function (query) {
|
||||
serviceData.email = userinfo[process.env.OAUTH2_EMAIL_MAP]; // || userinfo["email"];
|
||||
}
|
||||
|
||||
if (process.env.OAUTH2_B2C_ENABLED === 'true' || process.env.OAUTH2_B2C_ENABLED === true) {
|
||||
serviceData.email = userinfo["emails"][0];
|
||||
}
|
||||
|
||||
if (accessToken) {
|
||||
var tokenContent = getTokenContent(accessToken);
|
||||
var fields = _.pick(tokenContent, getConfiguration().idTokenWhitelistFields);
|
||||
@@ -76,6 +83,11 @@ OAuth.registerService('oidc', 2, null, function (query) {
|
||||
|
||||
profile.name = userinfo[process.env.OAUTH2_FULLNAME_MAP]; // || userinfo["displayName"];
|
||||
profile.email = userinfo[process.env.OAUTH2_EMAIL_MAP]; // || userinfo["email"];
|
||||
|
||||
if (process.env.OAUTH2_B2C_ENABLED === 'true' || process.env.OAUTH2_B2C_ENABLED === true) {
|
||||
profile.email = userinfo["emails"][0];
|
||||
}
|
||||
|
||||
if (debug) console.log('XXX: profile:', profile);
|
||||
|
||||
|
||||
|
||||
+15
-5
@@ -7,7 +7,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>Wekan REST API v7.22</title>
|
||||
<title>Wekan REST API v7.30</title>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -1548,7 +1548,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<ul class="toc-list-h1">
|
||||
|
||||
<li>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.22">Wekan REST API v7.22</a>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.30">Wekan REST API v7.30</a>
|
||||
|
||||
</li>
|
||||
|
||||
@@ -2057,7 +2057,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<div class="page-wrapper">
|
||||
<div class="dark-box"></div>
|
||||
<div class="content">
|
||||
<h1 id="wekan-rest-api">Wekan REST API v7.22</h1>
|
||||
<h1 id="wekan-rest-api">Wekan REST API v7.30</h1>
|
||||
<blockquote>
|
||||
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
|
||||
</blockquote>
|
||||
@@ -9670,7 +9670,8 @@ Accept: application/json
|
||||
"assignees": "string",
|
||||
"swimlaneId": "string",
|
||||
"listId": "string",
|
||||
"authorId": "string"
|
||||
"authorId": "string",
|
||||
"archive": "string"
|
||||
}'</span>;
|
||||
<span class="hljs-keyword">const</span> headers = {
|
||||
<span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
|
||||
@@ -9717,7 +9718,8 @@ fetch(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{ca
|
||||
<span class="hljs-string">"assignees"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-string">"swimlaneId"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-string">"listId"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-string">"authorId"</span>: <span class="hljs-string">"string"</span>
|
||||
<span class="hljs-string">"authorId"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-string">"archive"</span>: <span class="hljs-string">"string"</span>
|
||||
};
|
||||
<span class="hljs-keyword">const</span> headers = {
|
||||
<span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
|
||||
@@ -9870,6 +9872,7 @@ System.out.println(response.toString());
|
||||
<span class="hljs-attr">swimlaneId:</span> <span class="hljs-string">string</span>
|
||||
<span class="hljs-attr">listId:</span> <span class="hljs-string">string</span>
|
||||
<span class="hljs-attr">authorId:</span> <span class="hljs-string">string</span>
|
||||
<span class="hljs-attr">archive:</span> <span class="hljs-string">string</span>
|
||||
|
||||
</code></pre>
|
||||
<h3 id="edit_card-parameters">Parameters</h3>
|
||||
@@ -10087,6 +10090,13 @@ System.out.println(response.toString());
|
||||
<td>false</td>
|
||||
<td>change the owner of the card</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>» archive</td>
|
||||
<td>body</td>
|
||||
<td>string</td>
|
||||
<td>true</td>
|
||||
<td>the archive value</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-26">Detailed descriptions</h4>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
swagger: '2.0'
|
||||
info:
|
||||
title: Wekan REST API
|
||||
version: v7.22
|
||||
version: v7.30
|
||||
description: |
|
||||
The REST API allows you to control and extend Wekan with ease.
|
||||
|
||||
@@ -2077,6 +2077,11 @@ paths:
|
||||
change the owner of the card
|
||||
type: string
|
||||
required: false
|
||||
- name: archive
|
||||
in: formData
|
||||
description: the archive value
|
||||
type: string
|
||||
required: true
|
||||
- name: board
|
||||
in: path
|
||||
description: |
|
||||
|
||||
@@ -154,6 +154,8 @@
|
||||
#export OAUTH2_ENABLED=true
|
||||
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
|
||||
#export OAUTH2_ADFS_ENABLED=false
|
||||
# Azure AD B2C. https://github.com/wekan/wekan/issues/5242
|
||||
#- OAUTH2_B2C_ENABLED=false
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#export OAUTH2_LOGIN_STYLE=redirect
|
||||
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 722,
|
||||
appVersion = 730,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "7.22.0~2023-12-01"),
|
||||
appMarketingVersion = (defaultText = "7.30.0~2024-01-28"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
@@ -258,6 +258,7 @@ const myCommand :Spk.Manifest.Command = (
|
||||
(key = "OAUTH2_ENABLED", value="false"),
|
||||
(key = "OAUTH2_CA_CERT", value=""),
|
||||
(key = "OAUTH2_ADFS_ENABLED", value="false"),
|
||||
(key = "OAUTH2_B2C_ENABLED", value="false"),
|
||||
(key = "OAUTH2_CLIENT_ID", value="false"),
|
||||
(key = "OAUTH2_SECRET", value=""),
|
||||
(key = "OAUTH2_SERVER_URL", value=""),
|
||||
|
||||
+5
-1
@@ -3,7 +3,7 @@
|
||||
# All supported keys are defined here together with descriptions and default values
|
||||
|
||||
# list of supported keys
|
||||
keys="DEBUG S3 MONGO_LOG_DESTINATION MONGO_URL MONGODB_BIND_UNIX_SOCKET MONGO_URL MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM MAIL_SERVICE MAIL_SERVICE_USER MAIL_SERVICE_PASSWORD ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API RICHER_CARD_COMMENT_EDITOR CARD_OPENED_WEBHOOK_ENABLED ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS ATTACHMENTS_UPLOAD_EXTERNAL_PROGRAM ATTACHMENTS_UPLOAD_MIME_TYPES ATTACHMENTS_UPLOAD_MAX_SIZE AVATARS_UPLOAD_EXTERNAL_PROGRAM AVATARS_UPLOAD_MIME_TYPES AVATARS_UPLOAD_MAX_SIZE MAX_IMAGE_PIXEL IMAGE_COMPRESS_RATIO BIGEVENTS_PATTERN NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE NOTIFY_DUE_DAYS_BEFORE_AND_AFTER NOTIFY_DUE_AT_HOUR_OF_DAY DEFAULT_BOARD_ID EMAIL_NOTIFICATION_TIMEOUT CORS CORS_ALLOW_HEADERS CORS_EXPOSE_HEADERS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME METRICS_ALLOWED_IP_ADDRESSES BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OIDC_REDIRECTION_ENABLED OAUTH2_CA_CERT OAUTH2_LOGIN_STYLE OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT OAUTH2_ID_MAP OAUTH2_USERNAME_MAP OAUTH2_FULLNAME_MAP OAUTH2_ID_TOKEN_WHITELIST_FIELDS OAUTH2_EMAIL_MAP OAUTH2_REQUEST_PERMISSIONS OAUTH2_ADFS_ENABLED LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_AD_SIMPLE_AUTH LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_AUTHENTICATION LDAP_USER_AUTHENTICATION_FIELD LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LDAP_EMAIL_MATCH_ENABLE LDAP_EMAIL_MATCH_REQUIRE LDAP_EMAIL_MATCH_VERIFIED LDAP_EMAIL_FIELD LDAP_SYNC_ADMIN_STATUS LDAP_SYNC_ADMIN_GROUPS HEADER_LOGIN_ID HEADER_LOGIN_FIRSTNAME HEADER_LOGIN_LASTNAME HEADER_LOGIN_EMAIL LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD PASSWORD_LOGIN_ENABLED CAS_ENABLED CAS_BASE_URL CAS_LOGIN_URL CAS_VALIDATE_URL SAML_ENABLED 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 RESULTS_PER_PAGE WAIT_SPINNER NODE_OPTIONS"
|
||||
keys="DEBUG S3 MONGO_LOG_DESTINATION MONGO_URL MONGODB_BIND_UNIX_SOCKET MONGO_URL MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM MAIL_SERVICE MAIL_SERVICE_USER MAIL_SERVICE_PASSWORD ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API RICHER_CARD_COMMENT_EDITOR CARD_OPENED_WEBHOOK_ENABLED ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS ATTACHMENTS_UPLOAD_EXTERNAL_PROGRAM ATTACHMENTS_UPLOAD_MIME_TYPES ATTACHMENTS_UPLOAD_MAX_SIZE AVATARS_UPLOAD_EXTERNAL_PROGRAM AVATARS_UPLOAD_MIME_TYPES AVATARS_UPLOAD_MAX_SIZE MAX_IMAGE_PIXEL IMAGE_COMPRESS_RATIO BIGEVENTS_PATTERN NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE NOTIFY_DUE_DAYS_BEFORE_AND_AFTER NOTIFY_DUE_AT_HOUR_OF_DAY DEFAULT_BOARD_ID EMAIL_NOTIFICATION_TIMEOUT CORS CORS_ALLOW_HEADERS CORS_EXPOSE_HEADERS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME METRICS_ALLOWED_IP_ADDRESSES BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OIDC_REDIRECTION_ENABLED OAUTH2_CA_CERT OAUTH2_LOGIN_STYLE OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT OAUTH2_ID_MAP OAUTH2_USERNAME_MAP OAUTH2_FULLNAME_MAP OAUTH2_ID_TOKEN_WHITELIST_FIELDS OAUTH2_EMAIL_MAP OAUTH2_REQUEST_PERMISSIONS OAUTH2_ADFS_ENABLED OAUTH2_B2C_ENABLED LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_AD_SIMPLE_AUTH LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_AUTHENTICATION LDAP_USER_AUTHENTICATION_FIELD LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LDAP_EMAIL_MATCH_ENABLE LDAP_EMAIL_MATCH_REQUIRE LDAP_EMAIL_MATCH_VERIFIED LDAP_EMAIL_FIELD LDAP_SYNC_ADMIN_STATUS LDAP_SYNC_ADMIN_GROUPS HEADER_LOGIN_ID HEADER_LOGIN_FIRSTNAME HEADER_LOGIN_LASTNAME HEADER_LOGIN_EMAIL LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD PASSWORD_LOGIN_ENABLED CAS_ENABLED CAS_BASE_URL CAS_LOGIN_URL CAS_VALIDATE_URL SAML_ENABLED 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 RESULTS_PER_PAGE WAIT_SPINNER NODE_OPTIONS"
|
||||
|
||||
DESCRIPTION_S3='AWS S3 for files. Example: {"s3":{"key": "xxx", "secret": "xxx", "bucket": "xxx", "region": "eu-west-1"}}'
|
||||
DEFAULT_S3=""
|
||||
@@ -267,6 +267,10 @@ DESCRIPTION_OAUTH2_ADFS_ENABLED="Enable OAuth2 ADFS. Default: false"
|
||||
DEFAULT_OAUTH2_ADFS_ENABLED="false"
|
||||
KEY_OAUTH2_ADFS_ENABLED="oauth2-adfs-enabled"
|
||||
|
||||
DESCRIPTION_OAUTH2_B2C_ENABLED="Enable OAuth2 Azure AD B2C https://github.com/wekan/wekan/issues/5242. Default: false"
|
||||
DEFAULT_OAUTH2_B2C_ENABLED="false"
|
||||
KEY_OAUTH2_B2C_ENABLED="oauth2-b2c-enabled"
|
||||
|
||||
DESCRIPTION_OAUTH2_LOGIN_STYLE="OAuth2 login style: popup or redirect. Default: redirect"
|
||||
DEFAULT_OAUTH2_LOGIN_STYLE="redirect"
|
||||
KEY_OAUTH2_LOGIN_STYLE="oauth2-login-style"
|
||||
|
||||
@@ -9,7 +9,8 @@ if [ -z "$LANG" ]; then
|
||||
fi
|
||||
|
||||
export LC_ALL=C
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/wekan/current/lib/x86_64-linux-gnu
|
||||
export PATH=/snap/${SNAP_NAME}/current/usr/bin:/snap/${SNAP_NAME}/current/bin:$PATH
|
||||
export LD_LIBRARY_PATH=/snap/${SNAP_NAME}/current/lib:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
|
||||
|
||||
if [ -z $1 ]; then
|
||||
DATE=`/bin/date +%Y%m%dT%H%M%S`
|
||||
|
||||
@@ -15,54 +15,55 @@ if [ -z "$LANG" ]; then
|
||||
fi
|
||||
|
||||
export LC_ALL=C
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu
|
||||
export PATH=/snap/${SNAP_NAME}/current/usr/bin:/snap/${SNAP_NAME}/current/bin:$PATH
|
||||
export LD_LIBRARY_PATH=/snap/${SNAP_NAME}/current/lib:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
|
||||
|
||||
if test -f "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"; then
|
||||
touch "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"
|
||||
# Stop MongoDB
|
||||
touch "$SNAP_COMMON/02-disable-mongo.txt"
|
||||
snapctl stop --disable ${SNAP_NAME}.mongodb
|
||||
touch "$SNAP_COMMON/03-eval-stop-mongo.txt"
|
||||
mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
# Start MongoDB 4.4
|
||||
touch "$SNAP_COMMON/04-start-mongo44.txt"
|
||||
$SNAP/mongo44bin/mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/02_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
|
||||
# Wait MongoDB 4.4 to start
|
||||
touch "$SNAP_COMMON/05-wait-2s-mongo44-start.txt"
|
||||
sleep 2s
|
||||
# Dump Old MongoDB 3.x database
|
||||
touch "$SNAP_COMMON/06-dump-database.txt"
|
||||
(cd $SNAP_COMMON && mongodump --port ${MONGODB_PORT})
|
||||
# Stop MongoDB 4.4
|
||||
touch "$SNAP_COMMON/07-stop-mongo44.txt"
|
||||
$SNAP/mongo44bin/mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
# Wait MongoDB 4.4 to stop
|
||||
touch "$SNAP_COMMON/08-wait-2s-mongo44-stop.txt"
|
||||
sleep 2s
|
||||
# Start MongoDB 5
|
||||
touch "$SNAP_COMMON/09-start-mongo5.txt"
|
||||
mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/10_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
|
||||
# Restore database
|
||||
touch "$SNAP_COMMON/11-mongorestore-to-mongo5.txt"
|
||||
(cd $SNAP_COMMON && mongorestore --port ${MONGODB_PORT})
|
||||
# Wait 5s
|
||||
touch "$SNAP_COMMON/12-wait-5s-after-restore.txt"
|
||||
sleep 5s
|
||||
# Shutdown mongodb
|
||||
touch "$SNAP_COMMON/13-shutdown-mongodb.txt"
|
||||
mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
touch "$SNAP_COMMON/14-wait-5s-after-mongo5-shutdown.txt"
|
||||
sleep 5s
|
||||
# Enable MongoDB 5
|
||||
touch "$SNAP_COMMON/15-enable-mongo-5.txt"
|
||||
snapctl start --enable ${SNAP_NAME}.mongodb
|
||||
fi
|
||||
#if test -f "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"; then
|
||||
# touch "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"
|
||||
# # Stop MongoDB
|
||||
# touch "$SNAP_COMMON/02-disable-mongo.txt"
|
||||
# snapctl stop --disable ${SNAP_NAME}.mongodb
|
||||
# touch "$SNAP_COMMON/03-eval-stop-mongo.txt"
|
||||
# mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
# # Start MongoDB 4.4
|
||||
# touch "$SNAP_COMMON/04-start-mongo44.txt"
|
||||
# $SNAP/mongo44bin/mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/02_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
|
||||
# # Wait MongoDB 4.4 to start
|
||||
# touch "$SNAP_COMMON/05-wait-2s-mongo44-start.txt"
|
||||
# sleep 2s
|
||||
# # Dump Old MongoDB 3.x database
|
||||
# touch "$SNAP_COMMON/06-dump-database.txt"
|
||||
# (cd $SNAP_COMMON && mongodump --port ${MONGODB_PORT})
|
||||
# # Stop MongoDB 4.4
|
||||
# touch "$SNAP_COMMON/07-stop-mongo44.txt"
|
||||
# $SNAP/mongo44bin/mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
# # Wait MongoDB 4.4 to stop
|
||||
# touch "$SNAP_COMMON/08-wait-2s-mongo44-stop.txt"
|
||||
# sleep 2s
|
||||
# # Start MongoDB 5
|
||||
# touch "$SNAP_COMMON/09-start-mongo5.txt"
|
||||
# mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/10_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
|
||||
# # Restore database
|
||||
# touch "$SNAP_COMMON/11-mongorestore-to-mongo5.txt"
|
||||
# (cd $SNAP_COMMON && mongorestore --port ${MONGODB_PORT})
|
||||
# # Wait 5s
|
||||
# touch "$SNAP_COMMON/12-wait-5s-after-restore.txt"
|
||||
# sleep 5s
|
||||
# # Shutdown mongodb
|
||||
# touch "$SNAP_COMMON/13-shutdown-mongodb.txt"
|
||||
# mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
# touch "$SNAP_COMMON/14-wait-5s-after-mongo5-shutdown.txt"
|
||||
# sleep 5s
|
||||
# # Enable MongoDB 5
|
||||
# touch "$SNAP_COMMON/15-enable-mongo-5.txt"
|
||||
# snapctl start --enable ${SNAP_NAME}.mongodb
|
||||
#fi
|
||||
# When starting MongoDB, if logfile exist, delete it, because now uses syslog instead of logfile,
|
||||
# because syslog usually already has log rotation.
|
||||
# https://github.com/wekan/wekan-snap/issues/92
|
||||
if test -f "$SNAP_COMMON/mongodb.log"; then
|
||||
rm -f "$SNAP_COMMON/mongodb.log"
|
||||
fi
|
||||
#if test -f "$SNAP_COMMON/mongodb.log"; then
|
||||
# rm -f "$SNAP_COMMON/mongodb.log"
|
||||
#fi
|
||||
|
||||
# Alternative: When starting MongoDB, and using logfile, truncate log to last 1000 lines of text.
|
||||
# 1) If file exists:
|
||||
@@ -77,13 +78,6 @@ fi
|
||||
|
||||
if [ -z "$MONGO_URL" ]; then
|
||||
|
||||
# Disable MongoDB telemetry and free monitoring
|
||||
mongo --eval "disableTelemetry()"
|
||||
mongo --eval "db.disableFreeMonitoring()"
|
||||
# Snap: Disable apparmor="DENIED" at syslog
|
||||
# https://github.com/wekan/wekan/issues/4855
|
||||
mongo wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
|
||||
|
||||
# start mongo deamon
|
||||
BIND_OPTIONS=""
|
||||
if [ "nill" != "$MONGODB_BIND_UNIX_SOCKET" ] && [ "x" != "x${MONGODB_BIND_UNIX_SOCKET}" ]; then
|
||||
@@ -113,20 +107,20 @@ if [ -z "$MONGO_URL" ]; then
|
||||
mongod --dbpath $SNAP_COMMON --logpath /dev/null --journal $BIND_OPTIONS --quiet
|
||||
fi
|
||||
|
||||
# Drop indexes on database upgrade, when starting MongoDB
|
||||
#mongo wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
|
||||
mongo wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.4" });' $BIND_OPTIONS
|
||||
# Delete incomplete uploads so that they would not prevent starting WeKan
|
||||
mongo wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
|
||||
|
||||
else
|
||||
|
||||
# Disable MongoDB telemetry and free monitoring
|
||||
mongo --eval "disableTelemetry()"
|
||||
mongo --eval "db.disableFreeMonitoring()"
|
||||
mongosh wekan --eval 'disableTelemetry();' $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.disableFreeMonitoring();' $BIND_OPTIONS
|
||||
# Snap: Disable apparmor="DENIED" at syslog
|
||||
# https://github.com/wekan/wekan/issues/4855
|
||||
mongo wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
|
||||
# Drop indexes on database upgrade, when starting MongoDB
|
||||
#mongosh wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.4" });' $BIND_OPTIONS
|
||||
# Delete incomplete uploads so that they would not prevent starting WeKan
|
||||
mongosh wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
|
||||
|
||||
else
|
||||
|
||||
if [ "syslog" == "${MONGO_LOG_DESTINATION}" ]; then
|
||||
echo "Sending mongodb logs to syslog"
|
||||
@@ -143,10 +137,16 @@ else
|
||||
mongod --dbpath $SNAP_COMMON --logpath /dev/null --journal $MONGO_URL --quiet
|
||||
fi
|
||||
|
||||
# Disable MongoDB telemetry and free monitoring
|
||||
mongosh wekan --eval 'disableTelemetry();' $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.disableFreeMonitoring();' $BIND_OPTIONS
|
||||
# Snap: Disable apparmor="DENIED" at syslog
|
||||
# https://github.com/wekan/wekan/issues/4855
|
||||
mongosh wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
|
||||
# Drop indexes on database upgrade, when starting MongoDB
|
||||
#mongo wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
|
||||
mongo wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.2" });' $BIND_OPTIONS
|
||||
#mongosh wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.2" });' $BIND_OPTIONS
|
||||
# Delete incomplete uploads so that they would not prevent starting WeKan
|
||||
mongo wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
|
||||
|
||||
fi
|
||||
@@ -9,7 +9,8 @@ if [ -z "$LANG" ]; then
|
||||
fi
|
||||
|
||||
export LC_ALL=C
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/wekan/current/lib/x86_64-linux-gnu
|
||||
export PATH=/snap/${SNAP_NAME}/current/usr/bin:/snap/${SNAP_NAME}/current/bin:$PATH
|
||||
export LD_LIBRARY_PATH=/snap/${SNAP_NAME}/current/lib:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
|
||||
|
||||
# start mongodb backup
|
||||
[ "x" == "x${MONGODB_BIND_IP}" ] && MONGODB_BIND_IP="127.0.0.1"
|
||||
|
||||
@@ -310,6 +310,12 @@ echo -e "\t$ snap set $SNAP_NAME oauth2-adfs-enabled='true'"
|
||||
echo -e "\t-Disable the OAuth2 ADFS of Wekan:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME oauth2-adfs-enabled"
|
||||
echo -e "\n"
|
||||
echo -e "OAuth2 Azure AD B2C Enabled. Also requires oauth2-enabled='true' . https://github.com/wekan/wekan/issues/5242."
|
||||
echo -e "To enable the OAuth2 Azure AD B2C of Wekan:"
|
||||
echo -e "\t$ snap set $SNAP_NAME oauth2-b2c-enabled='true'"
|
||||
echo -e "\t-Disable the OAuth2 Azure AD B2C of Wekan:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME oauth2-b2c-enabled"
|
||||
echo -e "\n"
|
||||
echo -e "OAuth2 Client ID."
|
||||
echo -e "To enable the OAuth2 Client ID of Wekan:"
|
||||
echo -e "\t$ snap set $SNAP_NAME oauth2-client-id='54321abcde'"
|
||||
|
||||
+16
-9
@@ -1,5 +1,5 @@
|
||||
name: wekan
|
||||
version: '7.22'
|
||||
version: '7.30'
|
||||
base: core20
|
||||
summary: Open Source kanban
|
||||
description: |
|
||||
@@ -65,7 +65,7 @@ apps:
|
||||
|
||||
parts:
|
||||
mongodb:
|
||||
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.12.tgz
|
||||
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-7.0.5.tgz
|
||||
plugin: dump
|
||||
stage-packages:
|
||||
- libssl1.1
|
||||
@@ -170,9 +170,9 @@ parts:
|
||||
# Cleanup
|
||||
mkdir .build
|
||||
cd .build
|
||||
wget https://github.com/wekan/wekan/releases/download/v7.22/wekan-7.22-amd64.zip
|
||||
unzip wekan-7.22-amd64.zip
|
||||
rm wekan-7.22-amd64.zip
|
||||
wget https://github.com/wekan/wekan/releases/download/v7.30/wekan-7.30-amd64.zip
|
||||
unzip wekan-7.30-amd64.zip
|
||||
rm wekan-7.30-amd64.zip
|
||||
cd ..
|
||||
##cd .build/bundle
|
||||
##find . -type d -name '*-garbage*' | xargs rm -rf
|
||||
@@ -196,6 +196,13 @@ parts:
|
||||
cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
|
||||
cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
|
||||
# Migrate MongoDB 3 to 6
|
||||
wget https://github.com/wekan/migratemongo/archive/refs/heads/main.zip
|
||||
unzip main.zip
|
||||
mv migratemongo-main migratemongo
|
||||
cp -pR migratemongo $SNAPCRAFT_PART_INSTALL/
|
||||
rm -rf migratemongo
|
||||
rm main.zip
|
||||
#rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
|
||||
# Delete phantomjs that is in accounts-lockout
|
||||
#rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/lucasantoniassi_accounts-lockout/node_modules/phantomjs-prebuilt
|
||||
@@ -233,9 +240,9 @@ parts:
|
||||
source-type: 7z
|
||||
organize:
|
||||
caddy: bin/caddy
|
||||
CHANGES.txt: CADDY_CHANGES.txt
|
||||
EULA.txt: CADDY_EULA.txt
|
||||
LICENSES.txt: CADDY_LICENSES.txt
|
||||
README.txt: CADDY_README.txt
|
||||
CHANGES.txt: license/CADDY_CHANGES.txt
|
||||
EULA.txt: license/CADDY_EULA.txt
|
||||
LICENSES.txt: license/CADDY_LICENSES.txt
|
||||
README.txt: license/CADDY_README.txt
|
||||
stage:
|
||||
- -init
|
||||
@@ -194,6 +194,9 @@ REM SET OAUTH2_CA_CERT=ABCD1234
|
||||
REM # Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
|
||||
REM SET OAUTH2_ADFS_ENABLED=false
|
||||
|
||||
REM # Use OAuth2 Azure AD B2C. Also requires OAUTH2_ENABLED=true setting . https://github.com/wekan/wekan/issues/5242
|
||||
REM SET DEFAULT_OAUTH2_B2C_ENABLED=false
|
||||
|
||||
REM # OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
|
||||
REM # example: OAUTH2_CLIENT_ID=abcde12345
|
||||
REM SET OAUTH2_CLIENT_ID=
|
||||
|
||||
@@ -195,6 +195,9 @@
|
||||
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
|
||||
#export OAUTH2_ADFS_ENABLED=false
|
||||
#
|
||||
# Azure AD B2C. https://github.com/wekan/wekan/issues/5242
|
||||
#export OAUTH2_B2C_ENABLED=false
|
||||
#
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#export OAUTH2_LOGIN_STYLE=redirect
|
||||
|
||||
@@ -394,6 +394,8 @@ services:
|
||||
#- OAUTH2_CA_CERT=ABCD1234
|
||||
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
|
||||
#- OAUTH2_ADFS_ENABLED=false
|
||||
# Azure AD B2C. https://github.com/wekan/wekan/issues/5242
|
||||
#- OAUTH2_B2C_ENABLED=false
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
|
||||
# example: OAUTH2_CLIENT_ID=abcde12345
|
||||
|
||||
Reference in new issue
Block a user