Compare commits

...
48 Commits
Author SHA1 Message Date
Lauri Ojansivu a74bc81ff8 v4.48 2020-11-02 23:47:50 +02:00
Lauri Ojansivu b10b7a713e Update translations. 2020-11-02 22:13:30 +02:00
Lauri Ojansivu c9a2120c54 Update ChangeLog. 2020-11-02 22:03:56 +02:00
Lauri Ojansivu 4e2d337620 When RICHER_CARD_COMMENT_EDITOR=true, use richer editor
also when editing card description.

Thanks to xet7 !
2020-11-02 21:58:13 +02:00
Lauri Ojansivu ec33cdcb29 Update ChangeLog. 2020-11-02 17:55:28 +02:00
Lauri Ojansivu 4cfddf1d8d Admin Panel / Settings / Layout / Custom Top Left Corner Logo Height.
Thanks to xet7 !
2020-11-02 17:53:01 +02:00
Lauri Ojansivu 3f9b86d8e7 Update ChangeLog. 2020-11-02 16:28:43 +02:00
Lauri Ojansivu f4fdb94a3f Fix Clone Board.
Thanks to e-gaulue and xet7 !

Fixes #3326
2020-11-02 16:25:01 +02:00
Lauri Ojansivu 02856877a6 Update ChangeLog. 2020-11-02 15:53:27 +02:00
Lauri Ojansivu 0a5f9307d2 Smaller board icons to All Boards Page, and use full page width, so more board icons fit visible at once.
Removed variable height, because different heights made it look a little unbalanced.

Thanks to xet7 !
2020-11-02 15:47:00 +02:00
Lauri Ojansivu 579968143c Update ChangeLog. 2020-11-02 15:46:29 +02:00
Lauri Ojansivu aa454a5542 Removed hot-module-replacement and mdg:meteor-apm-agent.
Thanks to xet7 !
2020-11-02 15:43:52 +02:00
Lauri Ojansivu ce563085b5 v4.47 2020-11-01 23:24:24 +02:00
Lauri Ojansivu 6f99b22dc6 Update translations. 2020-11-01 23:22:09 +02:00
Lauri Ojansivu b08f228191 Update ChangeLog. 2020-11-01 23:20:02 +02:00
Lauri Ojansivu 55252300c6 Add settings for OAUTH2_CA_CERT that is
Optional OAuth2 CA Cert, see https://github.com/wekan/wekan/issues/3299

Thanks to xet7 !

Related #3299 ,
related https://github.com/wekan/wekan/pull/3325
2020-11-01 23:14:20 +02:00
Lauri Ojansivu f99934b994 Update ChangeLog. 2020-11-01 23:02:17 +02:00
Lauri Ojansivu cd16fa43a0 Merge pull request #3325 from faust64/oidc-custom-ca
fix(oidc): wekan/wekan#3299
2020-11-01 22:53:43 +02:00
Samuel MARTIN MORO ae9d82430a fix(oidc): wekan/wekan#3299 2020-11-01 20:48:50 +01:00
Lauri Ojansivu d75ca0c8f0 Added Thanks. 2020-10-31 00:20:36 +02:00
Lauri Ojansivu 66a4b1c2df v4.46 2020-10-30 22:53:06 +02:00
Lauri Ojansivu 6fe39d99ac Update translations. 2020-10-30 22:42:44 +02:00
Lauri Ojansivu 388c249212 Update ChangeLog. 2020-10-30 22:39:37 +02:00
Lauri Ojansivu af583145ed Upgrade to Meteor 2.0-beta.4 .
Thanks to Meteor developers!
2020-10-30 22:37:11 +02:00
Lauri Ojansivu 9c8b7b324f Update ChangeLog. 2020-10-30 22:34:57 +02:00
Lauri Ojansivu a3f5ef1a54 Merge pull request #3323 from jtbairdsr/master
fix: use current boardId when a worker moves a card
2020-10-30 22:32:53 +02:00
Jonathan Baird 305658da3a fix: use current boardId when a worker moves a card 2020-10-30 13:20:29 -06:00
Lauri Ojansivu 2b24ebf539 v4.45 2020-10-30 13:16:18 +02:00
Lauri Ojansivu 13d5015fc3 Update translations. 2020-10-30 13:02:55 +02:00
Lauri Ojansivu 13cf1a687e Update ChangeLog. 2020-10-30 13:00:35 +02:00
Lauri Ojansivu d2f434879c Fix can not upload and download files, by changing back to Node.js 12.19.0 and adding fast-render.
Current file storing to MongoDB code was not yet compatible with newer Node.js.

Thanks to eskogito and xet7 !

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

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

Thanks to xet7 !
2020-10-28 15:45:37 +02:00
Lauri Ojansivu a463f2a855 Upgrade to Meteor 2.0-beta.3. Removed fast-render and ostrio:cookies.
Thanks to xet7 !
2020-10-28 15:44:47 +02:00
helioguardabaxo 8b3399b8f6 Fix Moder theme board canvas background 2020-10-26 19:58:51 -03:00
Lauri Ojansivu ef59d6dcb9 Update ChangeLog. 2020-10-21 19:30:38 +03:00
Lauri Ojansivu 1b429b3f99 Fixed: With ORACLE_OIM_ENABLED, allow setting OAUTH2_REQUEST_PERMISSIONS with environment variable.
Thanks to xet7 !
2020-10-21 19:20:48 +03:00
99 changed files with 552 additions and 264 deletions

No files matched your search

+1
View File
@@ -39,6 +39,7 @@ ENV \
TRUSTED_URL="" \
WEBHOOKS_ATTRIBUTES="" \
OAUTH2_ENABLED=false \
OAUTH2_CA_CERT="" \
OAUTH2_ADFS_ENABLED=false \
OAUTH2_LOGIN_STYLE=redirect \
OAUTH2_CLIENT_ID="" \
+4 -6
View File
@@ -6,8 +6,8 @@
meteor-base@1.4.0
# Build system
ecmascript@0.14.3
standard-minifier-css@1.6.1
ecmascript@0.15.0-beta200.4
standard-minifier-css@1.7.0-beta200.4
standard-minifier-js@2.6.0
mquandalle:jade
coffeescript@2.4.1!
@@ -72,8 +72,7 @@ simple:rest-accounts-password
useraccounts:core
email@2.0.0
horka:swipebox
dynamic-import@0.5.2
staringatlights:fast-render
dynamic-import@0.6.0-beta200.4
accounts-password@1.6.2
cfs:gridfs
@@ -82,7 +81,6 @@ momentjs:moment@2.22.2
browser-policy-framing@1.1.0
mquandalle:moment
msavin:usercache
mdg:meteor-apm-agent@3.2.0-rc.0!
# Keep stylus in 1.1.0, because building v2 takes extra 52 minutes.
coagmano:stylus@1.1.0!
lucasantoniassi:accounts-lockout
@@ -95,7 +93,6 @@ konecty:mongo-counter
percolate:synced-cron
easylogic:summernote
cfs:filesystem
ostrio:cookies
tmeasday:check-npm-versions
steffo:meteor-accounts-saml
rajit:bootstrap3-datepicker-fi
@@ -146,3 +143,4 @@ rajit:bootstrap3-datepicker-uk
rajit:bootstrap3-datepicker-vi
rajit:bootstrap3-datepicker-zh-cn
rajit:bootstrap3-datepicker-zh-tw
staringatlights:fast-render
+1 -1
View File
@@ -1 +1 @@
METEOR@1.11.1
METEOR@2.0-beta.4
+9 -11
View File
@@ -10,8 +10,8 @@ aldeed:simple-schema@1.5.4
allow-deny@1.1.0
arillo:flow-router-helpers@0.5.2
audit-argument-checks@1.0.7
autoupdate@1.6.0
babel-compiler@7.5.3
autoupdate@1.7.0-beta200.4
babel-compiler@7.6.0-beta200.4
babel-runtime@1.5.0
base64@1.0.12
binary-heap@1.0.11
@@ -49,15 +49,15 @@ coffeescript-compiler@2.4.1
cottz:publish-relations@2.0.8
dburles:collection-helpers@1.1.0
ddp@1.4.0
ddp-client@2.3.3
ddp-client@2.4.0-beta200.4
ddp-common@1.4.0
ddp-rate-limiter@1.0.9
ddp-server@2.3.2
deps@1.0.12
diff-sequence@1.1.1
dynamic-import@0.5.3
dynamic-import@0.6.0-beta200.4
easylogic:summernote@0.8.8
ecmascript@0.14.3
ecmascript@0.15.0-beta200.4
ecmascript-runtime@0.7.0
ecmascript-runtime-client@0.11.0
ecmascript-runtime-server@0.10.0
@@ -91,7 +91,6 @@ logging@1.1.20
lucasantoniassi:accounts-lockout@1.0.0
matb33:collection-hooks@0.9.1
matteodem:easy-search@1.6.4
mdg:meteor-apm-agent@3.3.0
mdg:validation-error@0.5.1
meteor@1.9.3
meteor-base@1.4.0
@@ -107,7 +106,7 @@ minifiers@1.1.8-faster-rebuild.0
minimongo@1.6.0
mobile-status-bar@1.1.0
modern-browsers@0.1.5
modules@0.15.0
modules@0.16.0-beta200.4
modules-runtime@0.12.0
momentjs:moment@2.29.1
mongo@1.10.0
@@ -132,7 +131,6 @@ oauth2@1.3.0
observe-sequence@1.0.16
ongoworks:speakingurl@1.1.0
ordered-dict@1.1.0
ostrio:cookies@2.6.1
peerlibrary:assert@0.3.0
peerlibrary:base-component@0.16.0
peerlibrary:blaze-components@0.15.1
@@ -214,7 +212,7 @@ softwarerero:accounts-t9n@1.3.11
spacebars@1.0.15
spacebars-compiler@1.1.3
srp@1.1.0
standard-minifier-css@1.6.1
standard-minifier-css@1.7.0-beta200.4
standard-minifier-js@2.6.0
staringatlights:fast-render@3.3.0
staringatlights:inject-data@2.3.0
@@ -235,8 +233,8 @@ useraccounts:core@1.14.2
useraccounts:flow-routing@1.14.2
useraccounts:unstyled@1.14.2
verron:autosize@3.0.8
webapp@1.9.1
webapp-hashing@1.0.9
webapp@1.10.0-beta200.4
webapp-hashing@1.1.0-beta200.4
wekan-accounts-cas@0.1.0
wekan-accounts-oidc@1.0.10
wekan-ldap@0.0.2
+92 -1
View File
@@ -1,3 +1,94 @@
# v4.48 2020-11-02 Wekan release
This release adds the following new features:
- [Smaller board icons to All Boards Page, and use full page width, so more board icons fit visible at once.
Removed variable height, because different heights made it look a little unbalanced](https://github.com/wekan/wekan/commit/0a5f9307d27a4b77aa7ff005701fea8ce0d50ec8).
Thanks to xet7.
- [Admin Panel / Settings / Layout / Custom Top Left Corner Logo Height](https://github.com/wekan/wekan/commit/4cfddf1d8d37bdbbb58c050333ee6ea2afc3e6f9).
Thanks to xet7.
- [When RICHER_CARD_COMMENT_EDITOR=true, use richer editor also when editing card description](https://github.com/wekan/wekan/commit/4e2d337620ac490b8e99ee968e6f92477e09b900).
Thanks to xet7.
and removes the following dependencies:
- [Removed hot-module-replacement and mdg:meteor-apm-agent](https://github.com/wekan/wekan/commit/aa454a5542e5ab1d581eef50cdb5c96ac2ada940).
Thanks to xet7.
and fixes the following bugs:
- [Fix Clone Board](https://github.com/wekan/wekan/commit/f4fdb94a3fcd63432ef7ded4df970b3491700020).
Thanks to e-gaulue and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.47 2020-11-01 Wekan release
This release fixes the following bugs:
- [Fix: OAuth2 fails with self-signed server certificate](https://github.com/wekan/wekan/pull/3325) and
[Added related settings for OAUTH2_CA_CERT that is optional OAuth2 CA Cert](https://github.com/wekan/wekan/commit/55252300c601ea40dc8adad1887397b31ceb0bb2).
Thanks to faust64 and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.46 2020-10-30 Wekan release
This release adds the following updates:
- [Upgrade to Meteor 2.0-beta.4](https://github.com/wekan/wekan/commit/af583145ed2b36af8e6c72765fd35d70a292fad6).
Thanks to Meteor developers.
and fixes the following bugs:
- [Fix: Use current boardId when a worker moves a card](https://github.com/wekan/wekan/pull/3323).
Thanks to jtbairdsr.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.45 2020-10-30 Wekan release
This release fixes the following bugs:
- [Fix can not upload and download files, by changing back to Node.js 12.19.0 and adding
fast-render](https://github.com/wekan/wekan/commit/d2f434879caa20d69651f23fa2124074f55c9893).
Current file storing to MongoDB code was not yet compatible with newer Node.js.
Thanks to eskogito and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.44 2020-10-28 Wekan release
This release adds the following new features:
- For development, [add Meteor 2.0 Hot Module Replacement](https://github.com/wekan/wekan/commit/e6162472548d9dff497dd76e82d23044f779f757).
More info at https://forums.meteor.com/t/meteor-2-0-beta-with-hot-module-replacement-hmr/54313/8 .
Thanks to zodern.
and adds the following updates:
- [Upgrade to Node.js 14.15.0](https://github.com/wekan/wekan/commit/045e9db7b8f0de852ef4486cb1ad200d6ca7296d).
Thanks to Node.js and Meteor.js developers.
- [Upgrade to Meteor 2.0-beta.3. Removed fast-render and ostrio:cookies](https://github.com/wekan/wekan/commit/a463f2a855498935db5b66e5fad446ce465adab1).
Thanks to Meteor.js developers and xet7.
and fixes the following bugs:
- [Fixed: With ORACLE_OIM_ENABLED, allow setting OAUTH2_REQUEST_PERMISSIONS with environment variable](https://github.com/wekan/wekan/commit/1b429b3f99c32840ebb0ff9a29015aa8c28ec644).
Thanks to xet7.
- [Changed public board changing Swimlanes/Lists/Calendar view and changing Hide minicard label text
from using cookies to using browser localStorage](https://github.com/wekan/wekan/commit/460b1d3a664b648bc03c40422b9d175401e229c1),
to remove some errors from browser inspect console.
Thanks to xet7.
- [Fix Modern theme board canvas background](https://github.com/wekan/wekan/pull/3312).
Thanks to helioguardabaxo.
- [Fix: 1) Expose moving cards on mobile to workers. 2) Hide the move to another board functionality
in the submenu (only from the worker) so that the worker is still constrained to a single
board](https://github.com/wekan/wekan/pull/3315).
Thanks to jtbairdsr.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.43 2020-10-20 Wekan release
This release adds the following new features:
@@ -10,7 +101,7 @@ and fixes the following bugs:
- [Fixed CSV/TSV export](https://github.com/wekan/wekan/commit/d7333dec84328ca191f430d96aaf9e550840631a).
Please test and report any problems [at issue #3173](https://github.com/wekan/wekan/issues/3173).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v4.42 2020-10-14 Wekan release
+1
View File
@@ -41,6 +41,7 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
TRUSTED_URL="" \
WEBHOOKS_ATTRIBUTES="" \
OAUTH2_ENABLED=false \
OAUTH2_CA_CERT="" \
OAUTH2_ADFS_ENABLED=false \
OAUTH2_LOGIN_STYLE=redirect \
OAUTH2_CLIENT_ID="" \
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v4.43.0"
appVersion: "v4.48.0"
files:
userUploads:
- README.md
+7 -7
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const subManager = new SubsManager();
const { calculateIndex } = Utils;
const swimlaneWhileSortingHeight = 150;
@@ -197,7 +195,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
@@ -237,7 +235,9 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-swimlanes';
} else {
return cookies.get('boardView') === 'board-view-swimlanes';
return (
window.localStorage.getItem('boardView') === 'board-view-swimlanes'
);
}
},
@@ -246,7 +246,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-lists';
} else {
return cookies.get('boardView') === 'board-view-lists';
return window.localStorage.getItem('boardView') === 'board-view-lists';
}
},
@@ -255,7 +255,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-cal';
} else {
return cookies.get('boardView') === 'board-view-cal';
return window.localStorage.getItem('boardView') === 'board-view-cal';
}
},
@@ -417,7 +417,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-cal';
} else {
return cookies.get('boardView') === 'board-view-cal';
return window.localStorage.getItem('boardView') === 'board-view-cal';
}
},
}).register('calendarView');
+4 -1
View File
@@ -602,9 +602,12 @@ setBoardClear(color1,color2)
height: 21px
background: #f7f7f7
.board-canvas
background: #f5f5f5
/* Swimlane */
.swimlane
background: #f5f5f5
background: none
.swimlane .swimlane-header-wrap .swimlane-header
font-family: Poppins
+2 -2
View File
@@ -7,7 +7,7 @@ $spaceBetweenTiles = 16px
li
float: left
width: 25%
width: 10%
box-sizing: border-box
position: relative
@@ -33,7 +33,7 @@ $spaceBetweenTiles = 16px
overflow: hidden;
background-color: #999
color: #f6f6f6
height: auto
height: 80px
font-size: 16px
line-height: 22px
border-radius: 3px
@@ -0,0 +1,7 @@
template(name="descriptionForm")
.new-description.js-new-description(
class="{{#if descriptionFormIsOpen}}is-open{{/if}}")
form.js-new-description-form
+editor(class="js-new-description-input" data-meteor-emoji-large="true")
| {{getUnsavedValue 'cardDescription' _id getDescription}}
@@ -0,0 +1,33 @@
const descriptionFormIsOpen = new ReactiveVar(false);
BlazeComponent.extendComponent({
onDestroyed() {
descriptionFormIsOpen.set(false);
},
descriptionFormIsOpen() {
return descriptionFormIsOpen.get();
},
getInput() {
return this.$('.js-new-description-input');
},
events() {
return [
{
'submit .js-card-description'(event) {
event.preventDefault();
const description = this.currentComponent().getValue();
this.data().setDescription(description);
},
// Pressing Ctrl+Enter should submit the form
'keydown form textarea'(evt) {
if (evt.keyCode === 13 && (evt.metaKey || evt.ctrlKey)) {
this.find('button[type=submit]').click();
}
},
},
];
},
}).register('descriptionForm');
@@ -0,0 +1,60 @@
@import 'nib'
.new-description
position: relative
margin: 0 0 20px 0
&.is-open
.helper
display: inline-block
textarea
min-height: 100px
color: #4d4d4d
cursor: auto
overflow: hidden
word-wrap: break-word
.too-long
margin-top: 8px
textarea
background-color: #fff
border: 0
box-shadow: 0 1px 2px rgba(0, 0, 0, .23)
color: #8c8c8c
height: 36px
margin: 4px 4px 6px 0
padding: 9px 11px
width: 100%
&:hover,
&:is-open
background-color: #fff
box-shadow: 0 1px 3px rgba(0, 0, 0, .33)
border: 0
cursor: pointer
&:is-open
cursor: auto
.description-item
background-color: #fff
border: 0
box-shadow: 0 1px 2px rgba(0, 0, 0, .23)
color: #8c8c8c
height: 36px
margin: 4px 4px 6px 0
width: 92%
&:hover
background: darken(white, 12%)
&.add-description
display: flex
margin: 5px
a
display: block
margin: auto
+19 -18
View File
@@ -42,12 +42,12 @@ template(name="cardDetails")
else
p.warning {{_ 'card-archived'}}
.card-details-items
.card-details-items
if currentBoard.allowsLabels
.card-details-item.card-details-item-labels
h3.card-details-item-title
i.fa.fa-tags
| {{_ 'labels'}}
| {{_ 'labels'}}
a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
each labels
span.card-label(class="card-label-{{color}}" title=name)
@@ -57,7 +57,7 @@ template(name="cardDetails")
unless currentUser.isWorker
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
i.fa.fa-plus
if currentBoard.allowsReceivedDate
hr
.card-details-item.card-details-item-received
@@ -245,8 +245,7 @@ template(name="cardDetails")
| {{_ 'description'}}
if currentBoard.allowsDescriptionText
+inlinedCardDescription(classNames="card-description js-card-description")
+editor(autofocus=true)
| {{getUnsavedValue 'cardDescription' _id getDescription}}
+descriptionForm
.edit-controls.clearfix
button.primary(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
@@ -381,17 +380,18 @@ template(name="cardDetailsActionsPopup")
a.js-move-card-to-bottom
i.fa.fa-arrow-down
| {{_ 'moveCardToBottom-title'}}
unless currentUser.isWorker
hr
ul.pop-over-list
li
a.js-move-card
i.fa.fa-arrow-right
| {{_ 'moveCardPopup-title'}}
ul.pop-over-list
li
a.js-move-card
i.fa.fa-arrow-right
| {{_ 'moveCardPopup-title'}}
unless currentUser.isWorker
li
a.js-copy-card
i.fa.fa-copy
| {{_ 'copyCardPopup-title'}}
unless currentUser.isWorker
hr
ul.pop-over-list
li
@@ -430,13 +430,14 @@ template(name="copyChecklistToManyCardsPopup")
+boardsAndLists
template(name="boardsAndLists")
label {{_ 'boards'}}:
select.js-select-boards(autofocus)
each boards
if $eq _id currentBoard._id
option(value="{{_id}}" selected) {{_ 'current'}}
else
option(value="{{_id}}") {{title}}
unless currentUser.isWorker
label {{_ 'boards'}}:
select.js-select-boards(autofocus)
each boards
if $eq _id currentBoard._id
option(value="{{_id}}" selected) {{_ 'current'}}
else
option(value="{{_id}}") {{title}}
label {{_ 'swimlanes'}}:
select.js-select-swimlanes
+5 -1
View File
@@ -668,7 +668,11 @@ Template.moveCardPopup.events({
// instead from a “component” state.
const card = Cards.findOne(Session.get('currentCard'));
const bSelect = $('.js-select-boards')[0];
const boardId = bSelect.options[bSelect.selectedIndex].value;
let boardId;
// if we are a worker, we won't have a board select so we just use the
// current boardId of the card.
if (bSelect) boardId = bSelect.options[bSelect.selectedIndex].value;
else boardId = card.boardId;
const lSelect = $('.js-select-lists')[0];
const listId = lSelect.options[lSelect.selectedIndex].value;
const slSelect = $('.js-select-swimlanes')[0];
+5 -7
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
// Template.cards.events({
// 'click .member': Popup.open('cardMember')
// });
@@ -34,10 +32,10 @@ BlazeComponent.extendComponent({
},
{
'click .js-toggle-minicard-label-text'() {
if (cookies.has('hiddenMinicardLabelText')) {
cookies.remove('hiddenMinicardLabelText'); //true
if (window.localStorage.getItem('hiddenMinicardLabelText')) {
window.localStorage.removeItem('hiddenMinicardLabelText'); //true
} else {
cookies.set('hiddenMinicardLabelText', 'true'); //true
window.localStorage.setItem('hiddenMinicardLabelText', 'true'); //true
}
},
},
@@ -50,7 +48,7 @@ Template.minicard.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
@@ -60,7 +58,7 @@ Template.minicard.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hiddenMinicardLabelText;
} else if (cookies.has('hiddenMinicardLabelText')) {
} else if (window.localStorage.getItem('hiddenMinicardLabelText')) {
return true;
} else {
return false;
+2 -4
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const { calculateIndex } = Utils;
BlazeComponent.extendComponent({
@@ -124,7 +122,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
@@ -185,7 +183,7 @@ Template.list.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
+1 -3
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
let listsColors;
Meteor.startup(() => {
listsColors = Lists.simpleSchema()._schema.color.allowedValues;
@@ -110,7 +108,7 @@ Template.listHeader.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
-1
View File
@@ -3,7 +3,6 @@ template(name="editor")
dir="auto"
class="{{class}}"
id=id
autofocus=autofocus
placeholder="{{_ 'comment-placeholder'}}")
+Template.contentBlock
+1
View File
@@ -91,6 +91,7 @@ Template.editor.onRendered(() => {
};
const editor = '.editor';
const selectors = [
`.js-new-description-form ${editor}`,
`.js-new-comment-form ${editor}`,
`.js-edit-comment ${editor}`,
].join(','); // only new comment and edit comment
+2 -2
View File
@@ -27,9 +27,9 @@ template(name="header")
if currentSetting.customTopLeftCornerLogoImageUrl
if currentSetting.customTopLeftCornerLogoLinkUrl
a(href="{{currentSetting.customTopLeftCornerLogoLinkUrl}}")
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="27" width="auto" margin="0" padding="0")
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="{{#if currentSetting.customTopLeftCornerLogoHeight}}#{currentSetting.customTopLeftCornerLogoHeight}{{else}}27{{/if}}" width="auto" margin="0" padding="0")
unless currentSetting.customTopLeftCornerLogoLinkUrl
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="27" width="auto" margin="0" padding="0")
img(src="{{currentSetting.customTopLeftCornerLogoImageUrl}}" height="{{#if currentSetting.customTopLeftCornerLogoHeight}}#{currentSetting.customTopLeftCornerLogoHeight}{{else}}27{{/if}}" width="auto" margin="0" padding="0")
unless currentSetting.customTopLeftCornerLogoImageUrl
img(src="{{pathFor '/logo-header.png'}}" alt="")
ul
+1 -1
View File
@@ -276,7 +276,7 @@ kbd
padding-bottom: 0
.wrapper
max-width: 1200px
width: calc(100% - 20px)
margin: 0 auto
.relative
@@ -204,6 +204,10 @@ template(name='layoutSettings')
.title {{_ 'custom-top-left-corner-logo-link-url'}}
.form-group
input.wekan-form-control#custom-top-left-corner-logo-link-url(type="text", placeholder="" value="{{currentSetting.customTopLeftCornerLogoLinkUrl}}")
li.layout-form
.title {{_ 'custom-top-left-corner-logo-height'}}
.form-group
input.wekan-form-control#custom-top-left-corner-logo-height(type="text", placeholder="" value="{{currentSetting.customTopLeftCornerLogoHeight}}")
li
button.js-save-layout.primary {{_ 'save'}}
@@ -186,6 +186,11 @@ BlazeComponent.extendComponent({
)
.val()
.trim();
const customTopLeftCornerLogoHeight = $(
'#custom-top-left-corner-logo-height',
)
.val()
.trim();
const hideLogoChange = $('input[name=hideLogo]:checked').val() === 'true';
const displayAuthenticationMethod =
$('input[name=displayAuthenticationMethod]:checked').val() === 'true';
@@ -201,6 +206,7 @@ BlazeComponent.extendComponent({
textBelowCustomLoginLogo,
customTopLeftCornerLogoImageUrl,
customTopLeftCornerLogoLinkUrl,
customTopLeftCornerLogoHeight,
displayAuthenticationMethod,
defaultAuthenticationMethod,
},
+6 -6
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
Sidebar = null;
const defaultView = 'home';
@@ -112,10 +110,12 @@ BlazeComponent.extendComponent({
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleMinicardLabelText');
} else if (cookies.has('hiddenMinicardLabelText')) {
cookies.remove('hiddenMinicardLabelText');
} else if (window.localStorage.getItem('hiddenMinicardLabelText')) {
window.localStorage.removeItem('hiddenMinicardLabelText');
location.reload();
} else {
cookies.set('hiddenMinicardLabelText', 'true');
window.localStorage.setItem('hiddenMinicardLabelText', 'true');
location.reload();
}
},
'click .js-shortcuts'() {
@@ -133,7 +133,7 @@ Template.homeSidebar.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hiddenMinicardLabelText;
} else if (cookies.has('hiddenMinicardLabelText')) {
} else if (window.localStorage.getItem('hiddenMinicardLabelText')) {
return true;
} else {
return false;
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const { calculateIndexData } = Utils;
let swimlaneColors;
@@ -35,7 +33,7 @@ Template.swimlaneHeader.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
+3 -5
View File
@@ -1,5 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const { calculateIndex } = Utils;
function currentListIsInThisSwimlane(swimlaneId) {
@@ -102,7 +100,7 @@ function initSortable(boardComponent, $listsDom) {
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
@@ -178,7 +176,7 @@ BlazeComponent.extendComponent({
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
@@ -269,7 +267,7 @@ Template.swimlane.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
+12 -15
View File
@@ -1,6 +1,3 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
Template.headerUserBar.events({
'click .js-open-header-member-menu': Popup.open('memberMenu'),
'click .js-change-avatar': Popup.open('changeAvatar'),
@@ -200,7 +197,7 @@ Template.changeSettingsPopup.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
return true;
} else {
return false;
@@ -210,7 +207,7 @@ Template.changeSettingsPopup.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hasHiddenSystemMessages;
} else if (cookies.has('hasHiddenSystemMessages')) {
} else if (window.localStorage.getItem('hasHiddenSystemMessages')) {
return true;
} else {
return false;
@@ -221,7 +218,7 @@ Template.changeSettingsPopup.helpers({
if (currentUser) {
return Meteor.user().getLimitToShowCardsCount();
} else {
return cookies.get('limitToShowCardsCount');
return window.localStorage.getItem('limitToShowCardsCount');
}
},
weekDays(startDay) {
@@ -242,7 +239,7 @@ Template.changeSettingsPopup.helpers({
if (currentUser) {
return currentUser.getStartDayOfWeek();
} else {
return cookies.get('startDayOfWeek');
return window.localStorage.getItem('startDayOfWeek');
}
},
});
@@ -252,20 +249,20 @@ Template.changeSettingsPopup.events({
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleDesktopDragHandles');
} else if (cookies.has('showDesktopDragHandles')) {
cookies.remove('showDesktopDragHandles');
} else if (window.localStorage.getItem('showDesktopDragHandles')) {
window.localStorage.removeItem('showDesktopDragHandles');
} else {
cookies.set('showDesktopDragHandles', 'true');
window.localStorage.setItem('showDesktopDragHandles', 'true');
}
},
'click .js-toggle-system-messages'() {
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleSystemMessages');
} else if (cookies.has('hasHiddenSystemMessages')) {
cookies.remove('hasHiddenSystemMessages');
} else if (window.localStorage.getItem('hasHiddenSystemMessages')) {
window.localStorage.removeItem('hasHiddenSystemMessages');
} else {
cookies.set('hasHiddenSystemMessages', 'true');
window.localStorage.setItem('hasHiddenSystemMessages', 'true');
}
},
'click .js-apply-user-settings'(event, templateInstance) {
@@ -283,14 +280,14 @@ Template.changeSettingsPopup.events({
if (currentUser) {
Meteor.call('changeLimitToShowCardsCount', minLimit);
} else {
cookies.set('limitToShowCardsCount', minLimit);
window.localStorage.setItem('limitToShowCardsCount', minLimit);
}
}
if (!isNaN(startDay)) {
if (currentUser) {
Meteor.call('changeStartDayOfWeek', startDay);
} else {
cookies.set('startDayOfWeek', startDay);
window.localStorage.setItem('startDayOfWeek', startDay);
}
}
Popup.back();
+14 -13
View File
@@ -1,43 +1,44 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
Utils = {
setBoardView(view) {
currentUser = Meteor.user();
if (currentUser) {
Meteor.user().setBoardView(view);
} else if (view === 'board-view-swimlanes') {
cookies.set('boardView', 'board-view-swimlanes'); //true
window.localStorage.setItem('boardView', 'board-view-swimlanes'); //true
location.reload();
} else if (view === 'board-view-lists') {
cookies.set('boardView', 'board-view-lists'); //true
window.localStorage.setItem('boardView', 'board-view-lists'); //true
location.reload();
} else if (view === 'board-view-cal') {
cookies.set('boardView', 'board-view-cal'); //true
window.localStorage.setItem('boardView', 'board-view-cal'); //true
location.reload();
} else {
cookies.set('boardView', 'board-view-swimlanes'); //true
window.localStorage.setItem('boardView', 'board-view-swimlanes'); //true
location.reload();
}
},
unsetBoardView() {
cookies.remove('boardView');
cookies.remove('collapseSwimlane');
window.localStorage.removeItem('boardView');
window.localStorage.removeItem('collapseSwimlane');
},
boardView() {
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).boardView;
} else if (cookies.get('boardView') === 'board-view-swimlanes') {
} else if (
window.localStorage.getItem('boardView') === 'board-view-swimlanes'
) {
return 'board-view-swimlanes';
} else if (cookies.get('boardView') === 'board-view-lists') {
} else if (
window.localStorage.getItem('boardView') === 'board-view-lists'
) {
return 'board-view-lists';
} else if (cookies.get('boardView') === 'board-view-cal') {
} else if (window.localStorage.getItem('boardView') === 'board-view-cal') {
return 'board-view-cal';
} else {
cookies.set('boardView', 'board-view-swimlanes'); //true
window.localStorage.setItem('boardView', 'board-view-swimlanes'); //true
location.reload();
return 'board-view-swimlanes';
}
+2
View File
@@ -333,6 +333,8 @@ services:
# 2) Configure the environment variables. This differs slightly
# by installation type, but make sure you have the following:
#- OAUTH2_ENABLED=true
# Optional OAuth2 CA Cert, see https://github.com/wekan/wekan/issues/3299
#- OAUTH2_CA_CERT=ABCD1234
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
#- OAUTH2_ADFS_ENABLED=false
# OAuth2 login style: popup or redirect.
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "تم رفع الصورة الشخصية",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Качихте аватар",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Avatar actualitzat",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Avatar nahrán",
"custom-top-left-corner-logo-image-url": "URL obrázku vlastního loga v levém horním rohu",
"custom-top-left-corner-logo-link-url": "URL odkazu vlastního loga v levém horním rohu",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "URL vlastního loga přihlášení",
"custom-login-logo-link-url": "URL odkazu vlastního loga přihlášení",
"text-below-custom-login-logo": "Text pod vlastním logem přihlášení",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Overførte en avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+3 -2
View File
@@ -337,9 +337,9 @@
"filter-cards": "Karten oder Listen filtern",
"list-filter-label": "Liste nach Titel filtern",
"filter-clear": "Filter entfernen",
"filter-labels-label": "Filter by label",
"filter-labels-label": "Nach Label filtern",
"filter-no-label": "Kein Label",
"filter-member-label": "Filter by member",
"filter-member-label": "Nach Nutzer filtern",
"filter-no-member": "Kein Mitglied",
"filter-assignee-label": "Filter by assignee",
"filter-no-assignee": "Nicht zugewiesen",
@@ -516,6 +516,7 @@
"uploaded-avatar": "Profilbild hochgeladen",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Cargado un avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Avatar cargado",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+8 -7
View File
@@ -359,7 +359,7 @@
"headerBarCreateBoardPopup-title": "Crear tablero",
"home": "Inicio",
"import": "Importar",
"impersonate-user": "Impersonate user",
"impersonate-user": "Impersonar usuario",
"link": "Enlace",
"import-board": "importar un tablero",
"import-board-c": "Importar un tablero",
@@ -404,7 +404,7 @@
"list-select-cards": "Seleccionar todas las tarjetas de esta lista",
"set-color-list": "Cambiar el color",
"listActionPopup-title": "Acciones de la lista",
"settingsUserPopup-title": "User Settings",
"settingsUserPopup-title": "Configuración de usuario",
"swimlaneActionPopup-title": "Acciones del carril «swimlane»",
"swimlaneAddPopup-title": "Agregar un carril «swimlane» debajo",
"listImportCardPopup-title": "Importar una tarjeta de Trello",
@@ -514,11 +514,12 @@
"upload": "Cargar",
"upload-avatar": "Cargar un avatar",
"uploaded-avatar": "Avatar cargado",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
"custom-top-left-corner-logo-image-url": "URL de imagen del logo personalizado de la esquina superior izquierda",
"custom-top-left-corner-logo-link-url": "URL de enlace del logo personalizado de la esquina superior izquierda",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "URL de imagen del logo personalizado de inicio de sesión",
"custom-login-logo-link-url": "URL de enlace del logo personalizado de inicio de sesión",
"text-below-custom-login-logo": "Texto debajo del logo personalizado de inicio de sesión",
"username": "Nombre de usuario",
"view-it": "Verla",
"warn-list-archived": "advertencia: esta tarjeta está en una lista en el archivo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Avatar cargado",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Avatar bat igo da",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "آواتار آپلود شد",
"custom-top-left-corner-logo-image-url": "آدرس تصویر لوگوی سفارشی در گوشه چپ و بالا",
"custom-top-left-corner-logo-link-url": "آدرس لینک لوگوی سفارشی در گوشه چپ و بالا",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "آدرس تصویر لوگوی سفارشی در لاگین",
"custom-login-logo-link-url": "آدرس لینک لوگوی سفارشی در لاگین",
"text-below-custom-login-logo": "متن پایین لوگوی سفارشی در فرم لاگین",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Profiilikuva lähetetty",
"custom-top-left-corner-logo-image-url": "Mukautettu oikean yläkulman logo kuvan URL",
"custom-top-left-corner-logo-link-url": "Mukautettu oikean yläkulma logon linkki URL",
"custom-top-left-corner-logo-height": "Mukautettu oikean yläkulman logokuvan korkeus. Oletus: 27",
"custom-login-logo-image-url": "Mukautettu kirjautumis logo kuvan URL",
"custom-login-logo-link-url": "Mukautettu kirjautumis logon linkki URL",
"text-below-custom-login-logo": "Teksti mukautetun kirjautumis logon alla",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Avatar téléchargé",
"custom-top-left-corner-logo-image-url": "URL de l'Image du logo personnalisé dans le coin supérieur gauche",
"custom-top-left-corner-logo-link-url": "Lien URL du logo personnalisé dans le coin supérieur gauche",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "URL de l'image du logo de connexion personnalisé",
"custom-login-logo-link-url": "Lien URL du logo de connexion personnalisé",
"text-below-custom-login-logo": "Texte sous le logo de connexion personnalisé",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "הועלתה תמונה משתמש",
"custom-top-left-corner-logo-image-url": "כתובת תמונת לוגו משלך לפינה הימנית העליונה",
"custom-top-left-corner-logo-link-url": "כתובת קישור לוגו משלך לפינה הימנית העליונה",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "כתובת תמונת לוגו משלך לכניסה",
"custom-login-logo-link-url": "כתובת קישור לוגו משלך לכניסה",
"text-below-custom-login-logo": "טקסט מתחת לשיטת כניסה מותאמת",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Egy avatár feltöltve",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Avatar diunggah",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Avatar caricato",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+2 -1
View File
@@ -516,9 +516,10 @@
"uploaded-avatar": "アップロードされたアバター",
"custom-top-left-corner-logo-image-url": "カスタムの左上ロゴイメージのURL",
"custom-top-left-corner-logo-link-url": "カスタムの左上ロゴイメージのリンクURL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "カスタムのログインロゴイメージのURL",
"custom-login-logo-link-url": "カスタムのログインロゴイメージのリンクURL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
"text-below-custom-login-logo": "カスタムログインロゴイメージの下のテキスト",
"username": "ユーザー名",
"view-it": "見る",
"warn-list-archived": "警告:このカードはアーカイブされたリスト内にあります",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "სურათი ატვირთულია",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "업로드한 아바타",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Attēls augšuplādēts",
"custom-top-left-corner-logo-image-url": "Logo attēls augšējā kreisā stūrī - URL",
"custom-top-left-corner-logo-link-url": "Logo saite augšējā kreisajā stūrī - URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Logo pierakstīšanās ekrānā - URL",
"custom-login-logo-link-url": "Logo saite pierakstīšanās ekrānā - URL",
"text-below-custom-login-logo": "Teksts zem logo pierakstīšanās lapā",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Качихте аватар",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Avatar is geüpload",
"custom-top-left-corner-logo-image-url": "URL Voor Maatwerk Logo Afbeelding In Linker Bovenhoek ",
"custom-top-left-corner-logo-link-url": "URL Voor Maatwerk Logo Link In Linker Bovenhoek",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "URL Voor Maatwerk Login Logo Afbeelding",
"custom-login-logo-link-url": "URL Voor Maatwerk Login Logo Link",
"text-below-custom-login-logo": "Tekst onder Maatwerk Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Avatar telecargat",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Wysłany avatar",
"custom-top-left-corner-logo-image-url": "URL obrazu logo w lewym górnym rogu",
"custom-top-left-corner-logo-link-url": "URL linku logo w lewym górnym rogu",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "URL obrazu logo ekranu logowania",
"custom-login-logo-link-url": "URL linku logo ekranu logowania",
"text-below-custom-login-logo": "Tekst pod logo na ekranie logowania",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Avatar carregado",
"custom-top-left-corner-logo-image-url": "URL da imagem do logo customizado do canto superior esquerdo",
"custom-top-left-corner-logo-link-url": "URL do link do logo customizado do canto superior esquerdo",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "URL da Imagem do logo customizado de login",
"custom-login-logo-link-url": "URL do link do logo customizado de login",
"text-below-custom-login-logo": "Texto abaixo do logo customizado de login",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Enviado um avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Загруженный аватар",
"custom-top-left-corner-logo-image-url": "URL пользовательского изображения в левом верхнем углу",
"custom-top-left-corner-logo-link-url": "URL ссылки с пользовательского изображения в левом верхнем углу",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "URL пользовательского изображения при входе",
"custom-login-logo-link-url": "URL ссылки с пользовательского изображения при входе",
"text-below-custom-login-logo": "Текст под пользовательским изображением при входе",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Naložil avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Laddade upp en avatar",
"custom-top-left-corner-logo-image-url": "Länk till anpassad logotypbild",
"custom-top-left-corner-logo-link-url": "Länk för anpassad logotyp",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Länk till bild för anpassad logotyp på inloggningssidan",
"custom-login-logo-link-url": "Länk för anpassad logotyp på inloggningssidan",
"text-below-custom-login-logo": "Text under anpassad logga för inloggning",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "ภาพอัพโหลดแล้ว",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+106 -105
View File
@@ -213,19 +213,19 @@
"color-indigo": "çivit",
"color-lime": "misket limonu",
"color-magenta": "magenta",
"color-mistyrose": "mistyrose",
"color-mistyrose": "sisli",
"color-navy": "koyu lacivert",
"color-orange": "turuncu",
"color-paleturquoise": "soluk turkuvaz",
"color-peachpuff": "peachpuff",
"color-peachpuff": "şeftali",
"color-pink": "pembe",
"color-plum": "erik moru",
"color-purple": "mor",
"color-red": "kırmızı",
"color-saddlebrown": "saddlebrown",
"color-saddlebrown": "eyer kahverengi",
"color-silver": "gümüş rengi",
"color-sky": "açık mavi",
"color-slateblue": "slateblue",
"color-slateblue": "kurşun mavisi",
"color-white": "beyaz",
"color-yellow": "sarı",
"unset-color": "Seçilmemiş",
@@ -235,8 +235,8 @@
"comment-only-desc": "Sadece kartlara yorum yazabilir.",
"no-comments": "Yorum Yok",
"no-comments-desc": "Yorumlar ve aktiviteleri göremiyorum.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"worker": "Çalışan",
"worker-desc": "Yalnızca kartları taşıyabilir, kendisini karta atayabilir ve yorum yapabilir.",
"computer": "Bilgisayar",
"confirm-subtask-delete-dialog": "Alt görevi silmek istediğinizden emin misiniz?",
"confirm-checklist-delete-dialog": "Kontrol listesini silmek istediğinden emin misin?",
@@ -311,7 +311,7 @@
"error-board-notAMember": "Bu işlemi yapmak için panoya üye olmalısın.",
"error-json-malformed": "Girilen metin geçerli bir JSON formatında değil",
"error-json-schema": "Girdiğin JSON metni tüm bilgileri doğru biçimde barındırmıyor",
"error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
"error-csv-schema": "CSV'niz (Virgülle Ayrılmış Değerler) / TSV'niz (Sekmeyle Ayrılmış Değerler) doğru formatta uygun bilgileri içermiyor",
"error-list-doesNotExist": "Liste bulunamadı",
"error-user-doesNotExist": "Kullanıcı bulunamadı",
"error-user-notAllowSelf": "Kendi kendini davet edemezsin",
@@ -325,32 +325,32 @@
"export-board-html": "Panoyu HTML olarak dışarı aktar",
"exportBoardPopup-title": "Panoyu dışarı aktar",
"sort": "Sırala",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
"sort-desc": "Listeyi Sıralamak için Tıklayın",
"list-sort-by": "Listeyi Sırala:",
"list-label-modifiedAt": "Son Erişim Zamanı...",
"list-label-title": "Listenin Adı...",
"list-label-sort": "Your Manual Order",
"list-label-short-modifiedAt": "(L)",
"list-label-short-title": "(N)",
"list-label-sort": "Manuel Siparişiniz",
"list-label-short-modifiedAt": "(S)",
"list-label-short-title": "(A)",
"list-label-short-sort": "(M)",
"filter": "Filtre",
"filter-cards": "Filter Cards or Lists",
"list-filter-label": "Filter List by Title",
"filter-cards": "Kartları veya Listeleri Filtrele",
"list-filter-label": "Listeyi Başlığa Göre Filtrele",
"filter-clear": "Filtreyi temizle",
"filter-labels-label": "Filter by label",
"filter-labels-label": "Etikete göre filtrele",
"filter-no-label": "Etiket yok",
"filter-member-label": "Filter by member",
"filter-member-label": "Üyeye göre filtrele",
"filter-no-member": "Üyesi olmayan",
"filter-assignee-label": "Filter by assignee",
"filter-assignee-label": "Atanana göre filtrele",
"filter-no-assignee": "Atanmayan",
"filter-custom-fields-label": "Filter by Custom Fields",
"filter-custom-fields-label": "Özel alanlara göre filtrele",
"filter-no-custom-fields": "Hiç özel alan yok",
"filter-show-archive": "Arşivlenmiş listeleri göster",
"filter-hide-empty": "Boş listeleri gizle",
"filter-on": "Filtre aktif",
"filter-on-desc": "Bu panodaki kartları filtreliyorsunuz. Fitreyi düzenlemek için tıklayın.",
"filter-to-selection": "Seçime göre filtreleme yap",
"other-filters-label": "Other Filters",
"other-filters-label": "Diğer Filtreler",
"advanced-filter-label": "Gelişmiş Filtreleme",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Ad Soyad",
@@ -359,24 +359,24 @@
"headerBarCreateBoardPopup-title": "Pano Oluşturma",
"home": "Ana Sayfa",
"import": "İçeri aktar",
"impersonate-user": "Impersonate user",
"impersonate-user": "Kullanıcının kimliğine bürün",
"link": "Bağlantı",
"import-board": "panoyu içe aktar",
"import-board-c": "Panoyu içe aktar",
"import-board-title-trello": "Trello'dan panoyu içeri aktar",
"import-board-title-wekan": "Import board from previous export",
"import-board-title-wekan": "Önceki dışa aktarımdaki panoyu içe aktar",
"import-board-title-csv": "CSV/TSV formatındaki panoyu içeri aktar",
"from-trello": "Trello'dan",
"from-wekan": "From previous export",
"from-wekan": "Önceki dışa aktarımdan",
"from-csv": "CSV/TSV'den",
"import-board-instruction-trello": "Trello panonuzda 'Menü'ye gidip 'Daha fazlası'na tıklayın, ardından 'Yazdır ve Çıktı Al'ı seçip 'JSON biçiminde çıktı al' diyerek çıkan metni buraya kopyalayın.",
"import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-board-instruction-csv": "Virgülle Ayrılmış Değerlerinizi (CSV) / Sekmeyle Ayrılmış Değerlerinizi (TSV) yapıştırın.",
"import-board-instruction-wekan": "Panonuzda \"Menü\" ye, ardından \"Panoyu dışa aktar\" a gidin ve indirilen dosyadaki metni kopyalayın.",
"import-board-instruction-about-errors": "Panoyu içe aktarırken hata alıyorsanız, içe alma hala devam ediyor olabilir ya da Tüm Panolar sayfasında yer alıyor olabilir.",
"import-json-placeholder": "Geçerli JSON verisini buraya yapıştırın",
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
"import-csv-placeholder": "Geçerli CSV / TSV verilerinizi buraya yapıştırın",
"import-map-members": "Üyeleri eşleştirme",
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-members-map": "İçe aktarılan panonuzda bazı üyeler var. Lütfen kullanıcılarınıza aktarmak istediğiniz üyeleri eşleyin",
"import-show-user-mapping": "Üye eşleştirmesini kontrol et",
"import-user-select": "Bu üye olarak kullanmak istediğiniz mevcut kullanıcınızı seçin",
"importMapMembersAddPopup-title": "Üye seç",
@@ -399,12 +399,12 @@
"leaveBoardPopup-title": "Panodan ayrılmak istediğinize emin misiniz?",
"link-card": "Bu kartın bağlantısı",
"list-archive-cards": "Bu listedeki tüm kartları arşive taşı",
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Archive and bring them back to the board, click “Menu” > “Archive”.",
"list-archive-cards-pop": "Bu eylem bu listedeki tüm kartları panodan kaldıracaktır. Arşivdeki kartları görüntülemek ve panoya geri getirmek için \"Menü\"> \"Arşiv\"i tıklayın.",
"list-move-cards": "Listedeki tüm kartları taşı",
"list-select-cards": "Listedeki tüm kartları seç",
"set-color-list": "Rengi Ayarla",
"listActionPopup-title": "Liste İşlemleri",
"settingsUserPopup-title": "User Settings",
"settingsUserPopup-title": "Kullanıcı Ayarları",
"swimlaneActionPopup-title": "Kulvar İşlemleri",
"swimlaneAddPopup-title": "Aşağı kulvar ekle",
"listImportCardPopup-title": "Bir Trello kartını içeri aktar",
@@ -427,8 +427,8 @@
"moveCardToTop-title": "Yukarı taşı",
"moveSelectionPopup-title": "Seçimi taşı",
"multi-selection": "Çoklu seçim",
"multi-selection-label": "Set label for selection",
"multi-selection-member": "Set member for selection",
"multi-selection-label": "Seçim için etiket belirle",
"multi-selection-member": "Seçim için üye belirle",
"multi-selection-on": "Çoklu seçim açık",
"muted": "Sessiz",
"muted-info": "Bu panodaki hiçbir değişiklik hakkında bildirim almayacaksınız",
@@ -474,7 +474,7 @@
"search": "Arama",
"rules": "Kurallar",
"search-cards": "Bu panodaki kart / liste başlıkları, açıklamalar ve özel alanlarda arama yapın",
"search-example": "Write text you search and press Enter",
"search-example": "Aradığınız metni yazın ve Enter tuşuna basın",
"select-color": "Renk Seç",
"set-wip-limit-value": "Bu listedeki en fazla öğe sayısı için bir sınır belirleyin",
"setWipLimitPopup-title": "Devam Eden İş Sınırı Belirle",
@@ -514,11 +514,12 @@
"upload": "Yükle",
"upload-avatar": "Avatar yükle",
"uploaded-avatar": "Avatar yüklendi",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
"custom-top-left-corner-logo-image-url": "Özel Sol Üst Köşe Logo Resmi URL'si",
"custom-top-left-corner-logo-link-url": "Özel Sol Üst Köşe Logo Bağlantı URL'si",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Özel Oturum Açma Logosu Resmi URL'si",
"custom-login-logo-link-url": "Özel Oturum Açma Logosu Bağlantı URL'si",
"text-below-custom-login-logo": "Özel Oturum Açma Logosunun altındaki metin",
"username": "Kullanıcı adı",
"view-it": "Görüntüle",
"warn-list-archived": "Uyarı: Bu kart arşivdeki bir listede",
@@ -652,18 +653,18 @@
"r-delete-rule": "Kuralı sil",
"r-new-rule-name": "Yeni kural başlığı",
"r-no-rules": "Kural yok",
"r-trigger": "Trigger",
"r-action": "Action",
"r-trigger": "Tetikleyici",
"r-action": "Aksiyon",
"r-when-a-card": "Kart eklendiğinde",
"r-is": "is",
"r-is-moved": "taşındı",
"r-added-to": "Added to",
"r-removed-from": "Removed from",
"r-added-to": "Eklendi:",
"r-removed-from": "Çıkarıldı:",
"r-the-board": "pano",
"r-list": "liste",
"set-filter": "Filtrele",
"r-moved-to": "Moved to",
"r-moved-from": "Moved from",
"r-moved-to": "Şuraya taşındı:",
"r-moved-from": "Şuradan taşındı:",
"r-archived": "Arşive taşındı",
"r-unarchived": "Arşivden geri çıkarıldı",
"r-a-card": "Kart",
@@ -673,13 +674,13 @@
"r-when-a-member": "When a member is",
"r-when-the-member": "When the member",
"r-name": "isim",
"r-when-a-attach": "When an attachment",
"r-when-a-checklist": "When a checklist is",
"r-when-the-checklist": "When the checklist",
"r-when-a-attach": "Bir ek olduğunda",
"r-when-a-checklist": "Bir kontrol listesi şu olduğunda:",
"r-when-the-checklist": "Bir kontrol listesine şu olduğunda:",
"r-completed": "Tamamlandı",
"r-made-incomplete": "Tamamlanmamış",
"r-when-a-item": "When a checklist item is",
"r-when-the-item": "When the checklist item",
"r-when-a-item": "Bir kontrol listesi öğesi şu olduğunda:",
"r-when-the-item": "Bir kontrol listesi öğesine şu olduğunda:",
"r-checked": "İşaretlendi",
"r-unchecked": "İşaret Kaldırıldı",
"r-move-card-to": "Kartı taşı",
@@ -694,7 +695,7 @@
"r-label": "etiket",
"r-member": "üye",
"r-remove-all": "Tüm üyeleri karttan çıkarın",
"r-set-color": "Set color to",
"r-set-color": "Rengi şu değere ayarla:",
"r-checklist": "Kontrol Listesi",
"r-check-all": "Tümünü işaretle",
"r-uncheck-all": "Tüm işaretleri kaldır",
@@ -726,10 +727,10 @@
"r-d-add-member": "Üye Ekle",
"r-d-remove-member": "Üye Sil",
"r-d-remove-all-member": "Tüm Üyeleri Sil",
"r-d-check-all": "Check all items of a list",
"r-d-uncheck-all": "Uncheck all items of a list",
"r-d-check-all": "Listenin tüm öğelerini kontrol et",
"r-d-uncheck-all": "Listedeki tüm öğelerin işaretini kaldır",
"r-d-check-one": "Ögeyi kontrol et",
"r-d-uncheck-one": "Uncheck item",
"r-d-uncheck-one": "Öğenin işaretini kaldır",
"r-d-check-of-list": "of checklist",
"r-d-add-checklist": "Kontrol listesine ekle",
"r-d-remove-checklist": "Kontrol listesini kaldır",
@@ -742,15 +743,15 @@
"r-board-note": "Not: Her olası değere uyması için bir alanı boş bırakın.",
"r-checklist-note": "Not: kontrol listesindeki öğelerin virgülle ayrılmış değerler olarak yazılması gerekir.",
"r-when-a-card-is-moved": "Bir kart başka bir listeye taşındığında",
"r-set": "Set",
"r-set": "Ayarla",
"r-update": "Güncelle",
"r-datefield": "date field",
"r-df-start-at": "start",
"r-df-due-at": "due",
"r-df-end-at": "end",
"r-df-received-at": "received",
"r-datefield": "tarih alanı",
"r-df-start-at": "başlangıç",
"r-df-due-at": "vade",
"r-df-end-at": "bitiş",
"r-df-received-at": "alındı",
"r-to-current-datetime": "to current date/time",
"r-remove-value-from": "Remove value from",
"r-remove-value-from": "Değeri şuradan kaldır:",
"ldap": "LDAP",
"oauth2": "Oauth2",
"cas": "CAS",
@@ -759,71 +760,71 @@
"custom-product-name": "Özel Ürün Adı",
"layout": "Düzen",
"hide-logo": "Logoyu Gizle",
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"add-custom-html-after-body-start": "<body>'den sonra Özel HTML Ekle",
"add-custom-html-before-body-end": "</body>'den önce Özel HTML Ekle",
"error-undefined": "Bir şeyler yanlış gitti",
"error-ldap-login": "Giriş yapmaya çalışırken bir hata oluştu",
"display-authentication-method": "Display Authentication Method",
"default-authentication-method": "Default Authentication Method",
"duplicate-board": "Duplicate Board",
"people-number": "The number of people is:",
"display-authentication-method": "Kimlik Doğrulama Yöntemini Görüntüle",
"default-authentication-method": "Varsayılan Kimlik Doğrulama Yöntemi",
"duplicate-board": "Panoyu Çoğalt",
"people-number": "Kişi sayısı:",
"swimlaneDeletePopup-title": "Kulvar silinsin mi?",
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
"swimlane-delete-pop": "Tüm eylemler etkinlik akışından kaldırılacak ve kulvarınızı kurtaramayacaksınız. Geri alınamaz.",
"restore-all": "Her şeyi eski haline getir",
"delete-all": "Hepsini sil",
"loading": "Yükleniyor, lütfen bekleyiniz",
"previous_as": "last time was",
"previous_as": "son kez",
"act-a-dueAt": "modified due time to \nWhen: __timeValue__\nWhere: __card__\n previous due was __timeOldValue__",
"act-a-endAt": "modified ending time to __timeValue__ from (__timeOldValue__)",
"act-a-startAt": "modified starting time to __timeValue__ from (__timeOldValue__)",
"act-a-receivedAt": "modified received time to __timeValue__ from (__timeOldValue__)",
"a-dueAt": "modified due time to be",
"a-endAt": "modified ending time to be",
"a-startAt": "modified starting time to be",
"a-receivedAt": "modified received time to be",
"almostdue": "current due time %s is approaching",
"pastdue": "current due time %s is past",
"duenow": "current due time %s is today",
"a-dueAt": "son tarih değiştirildi",
"a-endAt": "bitiş zamanı değiştirildi",
"a-startAt": "başlangıç zamanı değiştirildi",
"a-receivedAt": "alınma zamanı değiştirildi",
"almostdue": "%s'in vadesi yaklaşıyor",
"pastdue": "%s'in vadesi geçti",
"duenow": "%s'in vadesi bugün",
"act-newDue": "__list__/__card__ has 1st due reminder [__board__]",
"act-withDue": "__list__/__card__ due reminders [__board__]",
"act-almostdue": "was reminding the current due (__timeValue__) of __card__ is approaching",
"act-pastdue": "was reminding the current due (__timeValue__) of __card__ is past",
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
"act-atUserComment": "[__board__] __list__/__card__ içinde bahsedildiniz",
"delete-user-confirm-popup": "Bu kullanıcı hesabını silmek istediğinize emin misiniz? Bu işlemi geri alamazsınız.",
"accounts-allowUserDelete": "Kullanıcılara hesaplarını silmek için izin ver.",
"hide-minicard-label-text": "Mini kart etiklerini gizle",
"show-desktop-drag-handles": "Show desktop drag handles",
"show-desktop-drag-handles": "Masaüstü sürükleme tutamaçlarını göster",
"assignee": "Atanan",
"cardAssigneesPopup-title": "Atanan",
"addmore-detail": "Add a more detailed description",
"show-on-card": "Show on Card",
"new": "New",
"editUserPopup-title": "Edit User",
"newUserPopup-title": "New User",
"addmore-detail": "Daha ayrıntılı bir açıklama ekle",
"show-on-card": "Kartta Göster",
"new": "Yeni",
"editUserPopup-title": "Kullanıcıyı Düzenle",
"newUserPopup-title": "Yeni Kullanıcı",
"notifications": "Bildirim",
"view-all": "View All",
"filter-by-unread": "Filter by Unread",
"mark-all-as-read": "Mark all as read",
"remove-all-read": "Remove all read",
"allow-rename": "Allow Rename",
"allowRenamePopup-title": "Allow Rename",
"start-day-of-week": "Set day of the week start",
"monday": "Monday",
"tuesday": "Tuesday",
"wednesday": "Wednesday",
"thursday": "Thursday",
"friday": "Friday",
"saturday": "Saturday",
"sunday": "Sunday",
"status": "Status",
"swimlane": "Swimlane",
"owner": "Owner",
"last-modified-at": "Last modified at",
"last-activity": "Last activity",
"voting": "Voting",
"archived": "Archived",
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
"hide-checked-items": "Hide checked items"
"view-all": "Tümünü gör",
"filter-by-unread": "Okunmamışlara göre filtrele",
"mark-all-as-read": "Tümünü okundu olarak işaretle",
"remove-all-read": "Okunanların tümünü kaldır",
"allow-rename": "Yeniden Adlandırmaya İzin Ver",
"allowRenamePopup-title": "Yeniden Adlandırmaya İzin Ver",
"start-day-of-week": "Haftanın başlangıç gününü ayarla",
"monday": "Pazartesi",
"tuesday": "Salı",
"wednesday": "Çarşamba",
"thursday": "Perşembe",
"friday": "Cuma",
"saturday": "Cumartesi",
"sunday": "Pazar",
"status": "Durum",
"swimlane": "Kulvar",
"owner": "Sahibi",
"last-modified-at": "Son değiştirilme",
"last-activity": "Son aktivite",
"voting": "Oylama",
"archived": "Arşivlendi",
"delete-linked-card-before-this-card": "Bu kartı, sahip olan bağlantılı kartı silmeden önce silemezsiniz.",
"delete-linked-cards-before-this-list": "Bu listedeki kartlara işaret eden bağlantılı kartları silmeden önce bu listeyi silemezsiniz.",
"hide-checked-items": "İşaretli öğeleri gizle"
}
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "头像已经上传",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "通过连接上传logo",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+1
View File
@@ -516,6 +516,7 @@
"uploaded-avatar": "Uploaded an avatar",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
+15 -14
View File
@@ -337,20 +337,20 @@
"filter-cards": "篩選卡片或清單",
"list-filter-label": "篩選清單依據標題",
"filter-clear": "清除篩選條件",
"filter-labels-label": "Filter by label",
"filter-labels-label": "篩選: 標籤",
"filter-no-label": "沒有標籤",
"filter-member-label": "Filter by member",
"filter-member-label": "篩選: 成員",
"filter-no-member": "沒有成員",
"filter-assignee-label": "Filter by assignee",
"filter-assignee-label": "篩選: 受讓人",
"filter-no-assignee": "沒有代理人",
"filter-custom-fields-label": "Filter by Custom Fields",
"filter-custom-fields-label": "篩選: 自訂欄位",
"filter-no-custom-fields": "沒有自訂欄位",
"filter-show-archive": "顯示封存的清單",
"filter-hide-empty": "隱藏空清單",
"filter-on": "篩選器已開啟",
"filter-on-desc": "你正在篩選該看板上的卡片,點此編輯篩選條件。",
"filter-to-selection": "選擇的篩選條件",
"other-filters-label": "Other Filters",
"other-filters-label": "其他過濾器",
"advanced-filter-label": "進階篩選",
"advanced-filter-description": "進階篩選可以使用包含如下運算子的字串進行過濾:== != <= >= && || ( ) 。運算子之間用空格隔開。輸入文字和數值就可以過濾所有自訂內容。例如:Field1 == Value1。注意:如果內容或數值包含空格,需要用單引號。例如: 'Field 1' == 'Value 1'。要跳過單個控制字元(' \\/),請使用 \\ 跳脫字元。例如: Field1 = I\\'m。支援組合使用多個條件,例如: F1 == V1 || F1 == V2。通常以從左到右的順序進行判斷。可以透過括號修改順序,例如:F1 == V1 && ( F2 == V2 || F2 == V3 )。也支援使用 正規表示式 (Regex) 搜尋內容。",
"fullname": "全稱",
@@ -359,7 +359,7 @@
"headerBarCreateBoardPopup-title": "建立看板",
"home": "首頁",
"import": "匯入",
"impersonate-user": "Impersonate user",
"impersonate-user": "模擬使用者",
"link": "連結",
"import-board": "匯入看板",
"import-board-c": "匯入看板",
@@ -404,7 +404,7 @@
"list-select-cards": "選擇清單中的所有卡片",
"set-color-list": "設定顏色",
"listActionPopup-title": "清單操作",
"settingsUserPopup-title": "User Settings",
"settingsUserPopup-title": "使用者設定",
"swimlaneActionPopup-title": "泳道動作",
"swimlaneAddPopup-title": "在下面新增泳道",
"listImportCardPopup-title": "匯入 Trello 卡片",
@@ -427,8 +427,8 @@
"moveCardToTop-title": "移至最上面",
"moveSelectionPopup-title": "移動選取的項目",
"multi-selection": "多選",
"multi-selection-label": "Set label for selection",
"multi-selection-member": "Set member for selection",
"multi-selection-label": "設定標籤到選擇項目",
"multi-selection-member": "設定成員到選擇項目",
"multi-selection-on": "多選啟用",
"muted": "取消任何通知",
"muted-info": "您將不會收到有關這個看板的任何訊息",
@@ -514,11 +514,12 @@
"upload": "上傳",
"upload-avatar": "上傳大頭貼",
"uploaded-avatar": "大頭貼已經上傳",
"custom-top-left-corner-logo-image-url": "Custom Top Left Corner Logo Image URL",
"custom-top-left-corner-logo-link-url": "Custom Top Left Corner Logo Link URL",
"custom-login-logo-image-url": "Custom Login Logo Image URL",
"custom-login-logo-link-url": "Custom Login Logo Link URL",
"text-below-custom-login-logo": "Text below Custom Login Logo",
"custom-top-left-corner-logo-image-url": "自訂左上商標圖示網址",
"custom-top-left-corner-logo-link-url": "自訂左上商標連結網址",
"custom-top-left-corner-logo-height": "Custom Top Left Corner Logo Height. Default: 27",
"custom-login-logo-image-url": "自訂登入商標圖示網址",
"custom-login-logo-link-url": "自訂登入商標連結網址",
"text-below-custom-login-logo": "登入商標下方文字",
"username": "使用者名稱",
"view-it": "檢視",
"warn-list-archived": "警告: 卡片位在封存的清單中",
+2 -2
View File
@@ -2,7 +2,7 @@ import { TrelloCreator } from './trelloCreator';
import { WekanCreator } from './wekanCreator';
import { CsvCreator } from './csvCreator';
import { Exporter } from './exporter';
import wekanMembersMapper from './wekanmapper';
import { getMembersToMap } from './wekanmapper';
Meteor.methods({
importBoard(board, data, importSource, currentBoard) {
@@ -43,7 +43,7 @@ Meteor.methods({
const exporter = new Exporter(sourceBoardId);
const data = exporter.build();
const addData = {};
addData.membersMapping = wekanMembersMapper.getMembersToMap(data);
addData.membersMapping = getMembersToMap(data);
const creator = new WekanCreator(addData);
//data.title = `${data.title } - ${ TAPi18n.__('copy-tag')}`;
data.title = `${data.title}`;
+4
View File
@@ -65,6 +65,10 @@ Settings.attachSchema(
type: String,
optional: true,
},
customTopLeftCornerLogoHeight: {
type: String,
optional: true,
},
createdAt: {
type: Date,
denyUpdate: true,
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v4.43.0",
"version": "v4.48.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v4.43.0",
"version": "v4.48.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
+29 -15
View File
@@ -1,4 +1,15 @@
Oidc = {};
httpCa = false;
if (process.env.OAUTH2_CA_CERT !== undefined) {
try {
const fs = Npm.require('fs');
httpCa = fs.readFileSync(process.env.OAUTH2_CA_CERT);
} catch(e) {
console.log('WARNING: failed loading: ' + process.env.OAUTH2_CA_CERT);
console.log(e);
}
}
OAuth.registerService('oidc', 2, null, function (query) {
@@ -86,9 +97,7 @@ if (process.env.ORACLE_OIM_ENABLED !== 'true' && process.env.ORACLE_OIM_ENABLED
var response;
try {
response = HTTP.post(
serverTokenEndpoint,
{
var postOptions = {
headers: {
Accept: 'application/json',
"User-Agent": userAgent
@@ -101,8 +110,11 @@ if (process.env.ORACLE_OIM_ENABLED !== 'true' && process.env.ORACLE_OIM_ENABLED
grant_type: 'authorization_code',
state: query.state
}
}
);
};
if (httpCa) {
postOptions['npmRequestOptions'] = { ca: httpCa };
}
response = HTTP.post(serverTokenEndpoint, postOptions);
} catch (err) {
throw _.extend(new Error("Failed to get token from OIDC " + serverTokenEndpoint + ": " + err.message),
{ response: err.response });
@@ -143,9 +155,7 @@ if (process.env.ORACLE_OIM_ENABLED === 'true' || process.env.ORACLE_OIM_ENABLED
if (debug) console.log('Basic Token: ', strBasicToken64);
try {
response = HTTP.post(
serverTokenEndpoint,
{
var postOptions = {
headers: {
Accept: 'application/json',
"User-Agent": userAgent,
@@ -159,8 +169,11 @@ if (process.env.ORACLE_OIM_ENABLED === 'true' || process.env.ORACLE_OIM_ENABLED
grant_type: 'authorization_code',
state: query.state
}
}
);
};
if (httpCa) {
postOptions['npmRequestOptions'] = { ca: httpCa };
}
response = HTTP.post(serverTokenEndpoint, postOptions);
} catch (err) {
throw _.extend(new Error("Failed to get token from OIDC " + serverTokenEndpoint + ": " + err.message),
{ response: err.response });
@@ -188,15 +201,16 @@ var getUserInfo = function (accessToken) {
}
var response;
try {
response = HTTP.get(
serverUserinfoEndpoint,
{
var getOptions = {
headers: {
"User-Agent": userAgent,
"Authorization": "Bearer " + accessToken
}
}
);
};
if (httpCa) {
getOptions['npmRequestOptions'] = { ca: httpCa };
}
response = HTTP.get(serverUserinfoEndpoint, getOptions);
} catch (err) {
throw _.extend(new Error("Failed to fetch userinfo from OIDC " + serverUserinfoEndpoint + ": " + err.message),
{response: err.response});
+2 -2
View File
@@ -1524,7 +1524,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 v4.43">Wekan REST API v4.43</a>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v4.48">Wekan REST API v4.48</a>
</li>
@@ -2027,7 +2027,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 v4.43</h1>
<h1 id="wekan-rest-api">Wekan REST API v4.48</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>
+1 -1
View File
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
version: v4.43
version: v4.48
description: |
The REST API allows you to control and extend Wekan with ease.
+3 -2
View File
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
appVersion = 443,
appVersion = 448,
# Increment this for every release.
appMarketingVersion = (defaultText = "4.43.0~2020-10-20"),
appMarketingVersion = (defaultText = "4.48.0~2020-11-02"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
@@ -250,6 +250,7 @@ const myCommand :Spk.Manifest.Command = (
(key = "TRUSTED_URL", value=""),
(key = "WEBHOOKS_ATTRIBUTES", value=""),
(key = "OAUTH2_ENABLED", value="false"),
(key = "OAUTH2_CA_CERT", value=""),
(key = "OAUTH2_ADFS_ENABLED", value="false"),
(key = "OAUTH2_CLIENT_ID", value="false"),
(key = "OAUTH2_SECRET", value=""),
+1 -1
View File
@@ -81,7 +81,7 @@ Meteor.startup(() => {
tokenEndpoint: process.env.OAUTH2_TOKEN_ENDPOINT,
idTokenWhitelistFields:
process.env.OAUTH2_ID_TOKEN_WHITELIST_FIELDS || [],
requestPermissions: 'BDFUserProfile.me',
requestPermissions: process.env.OAUTH2_REQUEST_PERMISSIONS,
},
},
);
+1
View File
@@ -17,6 +17,7 @@ Meteor.publish('setting', () => {
textBelowCustomLoginLogo: 1,
customTopLeftCornerLogoImageUrl: 1,
customTopLeftCornerLogoLinkUrl: 1,
customTopLeftCornerLogoHeight: 1,
customHTMLafterBodyStart: 1,
customHTMLbeforeBodyEnd: 1,
displayAuthenticationMethod: 1,
+5 -1
View File
@@ -3,7 +3,7 @@
# All supported keys are defined here together with descriptions and default values
# list of supported keys
keys="DEBUG MONGO_URL MONGODB_BIND_UNIX_SOCKET MONGO_URL MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM 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 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 EMAIL_NOTIFICATION_TIMEOUT CORS CORS_ALLOW_HEADERS CORS_EXPOSE_HEADERS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED 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_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 ATTACHMENTS_STORE_PATH 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"
keys="DEBUG MONGO_URL MONGODB_BIND_UNIX_SOCKET MONGO_URL MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM 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 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 EMAIL_NOTIFICATION_TIMEOUT CORS CORS_ALLOW_HEADERS CORS_EXPOSE_HEADERS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_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_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 ATTACHMENTS_STORE_PATH 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"
# default values
DESCRIPTION_DEBUG="Debug OIDC OAuth2 etc. Example: sudo snap set wekan debug='true'"
@@ -176,6 +176,10 @@ DESCRIPTION_OAUTH2_ENABLED="Enable the OAuth2 connection. Default: false"
DEFAULT_OAUTH2_ENABLED="false"
KEY_OAUTH2_ENABLED="oauth2-enabled"
DESCRIPTION_OAUTH2_CA_CERT="Optional OAuth2 CA Cert, see https://github.com/wekan/wekan/issues/3299."
DEFAULT_OAUTH2_CA_CERT=""
KEY_OAUTH2_CA_CERT="oauth2-ca-cert"
DESCRIPTION_OAUTH2_ADFS_ENABLED="Enable OAuth2 ADFS. Default: false"
DEFAULT_OAUTH2_ADFS_ENABLED="false"
KEY_OAUTH2_ADFS_ENABLED="oauth2-adfs-enabled"
+6
View File
@@ -182,6 +182,12 @@ echo -e "\t$ snap set $SNAP_NAME oauth2-enabled='true'"
echo -e "\t-Disable the OAuth2 of Wekan:"
echo -e "\t$ snap unset $SNAP_NAME oauth2-enabled"
echo -e "\n"
echo -e "Optional OAuth2 CA Cert, see https://github.com/wekan/wekan/issues/3299"
echo -e "To enable the OAuth2 of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oauth2-ca-cert='ABCD134'"
echo -e "\t-Disable the OAuth2 of Wekan:"
echo -e "\t$ snap unset $SNAP_NAME oauth2-ca-cert"
echo -e "\n"
echo -e "Enable OAuth2 Oracle on premise identity manager OIM. Default: false"
echo -e "To enable the OAuth2 Oracle OIM of Wekan:"
echo -e "\t$ snap set $SNAP_NAME oracle-oim-enabled='true'"
+3
View File
@@ -124,6 +124,9 @@ REM # OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
REM # example: OAUTH2_ENABLED=true
REM SET OAUTH2_ENABLED=false
REM # Optional OAuth2 CA Cert, see https://github.com/wekan/wekan/issues/3299
REM SET OAUTH2_CA_CERT=ABCD1234
REM # Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
REM SET OAUTH2_ADFS_ENABLED=false
+2
View File
@@ -130,6 +130,8 @@
# 2) Configure the environment variables. This differs slightly
# by installation type, but make sure you have the following:
#export OAUTH2_ENABLED=true
# Optional OAuth2 CA Cert, see https://github.com/wekan/wekan/issues/3299
#export OAUTH2_CA_CERT=ABCD1234
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
#export OAUTH2_ADFS_ENABLED=false
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
+2
View File
@@ -318,6 +318,8 @@ services:
# Enable the OAuth2 connection
# example: OAUTH2_ENABLED=true
#- OAUTH2_ENABLED=false
# Optional OAuth2 CA Cert, see https://github.com/wekan/wekan/issues/3299
#- OAUTH2_CA_CERT=ABCD1234
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
#- OAUTH2_ADFS_ENABLED=false
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2