Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b143fc9297 | ||
|
|
dd10f78401 | ||
|
|
90208b774a | ||
|
|
bc35d9fe1a | ||
|
|
472d637c9f | ||
|
|
20c86613a7 | ||
|
|
5ac69ed7de | ||
|
|
0620fe5e11 | ||
|
|
44a819226f | ||
|
|
cf2cf7898a | ||
|
|
ee212b69a9 | ||
|
|
87d91560f8 | ||
|
|
bccca00aaf | ||
|
|
d6e36ed50a | ||
|
|
83f7fa768d | ||
|
|
2d49006aee | ||
|
|
c2e58dcb62 | ||
|
|
f154c5e521 | ||
|
|
eadbebb4fa | ||
|
|
40cf1c7549 | ||
|
|
9c4e305a84 | ||
|
|
167197fcda | ||
|
|
e3a40aca6f | ||
|
|
0611e0c4bd | ||
|
|
d6857693bb | ||
|
|
b5ccf7a58f | ||
|
|
bfca1822a0 | ||
|
|
30151de269 | ||
|
|
fe7c4528d7 | ||
|
|
40367995e7 | ||
|
|
b75fafc5f2 | ||
|
|
b788deb002 | ||
|
|
fa6b2e5679 | ||
|
|
70fd1ce57d | ||
|
|
97158de70f | ||
|
|
926faf0031 | ||
|
|
228996412c | ||
|
|
c9c1464c79 | ||
|
|
30c80f167c | ||
|
|
af9ca9b6c4 | ||
|
|
3e03f557cf | ||
|
|
f19dc77d2c | ||
|
|
1bad630641 | ||
|
|
8a9a82fc80 | ||
|
|
745bd7e806 | ||
|
|
cdb44da71e | ||
|
|
064a2deaaf | ||
|
|
a085ed1e1b | ||
|
|
f23448be33 |
No files matched your search
+1
-1
@@ -63,7 +63,6 @@ mousetrap:mousetrap
|
||||
mquandalle:jquery-textcomplete
|
||||
mquandalle:jquery-ui-drag-drop-sort
|
||||
mquandalle:mousetrap-bindglobal
|
||||
mquandalle:perfect-scrollbar
|
||||
peerlibrary:blaze-components@=0.15.1
|
||||
perak:markdown
|
||||
templates:tabs
|
||||
@@ -89,3 +88,4 @@ mquandalle:moment
|
||||
msavin:usercache
|
||||
wekan:wekan-ldap
|
||||
wekan:accounts-cas
|
||||
maazalik:malihu-jquery-custom-scrollbar
|
||||
+1
-1
@@ -82,6 +82,7 @@ launch-screen@1.1.1
|
||||
livedata@1.0.18
|
||||
localstorage@1.2.0
|
||||
logging@1.1.19
|
||||
maazalik:malihu-jquery-custom-scrollbar@3.0.6
|
||||
matb33:collection-hooks@0.8.4
|
||||
matteodem:easy-search@1.6.4
|
||||
mdg:validation-error@0.5.1
|
||||
@@ -116,7 +117,6 @@ mquandalle:jquery-textcomplete@0.8.0_1
|
||||
mquandalle:jquery-ui-drag-drop-sort@0.2.0
|
||||
mquandalle:moment@1.0.1
|
||||
mquandalle:mousetrap-bindglobal@0.0.1
|
||||
mquandalle:perfect-scrollbar@0.6.5_2
|
||||
msavin:usercache@1.0.0
|
||||
npm-bcrypt@0.9.3
|
||||
npm-mongo@2.2.33
|
||||
|
||||
+85
-2
@@ -1,3 +1,84 @@
|
||||
# v1.85 2018-12-09 Wekan release
|
||||
|
||||
- Fix [Clicking the scrollbar closes the card on Chrome](https://github.com/wekan/wekan/issues/1404)
|
||||
by changing [mquandalle:perfect-scrollbar to malihu-jquery-custom-scrollbar](https://github.com/wekan/wekan/pull/2050).
|
||||
that works also when clicking scrollbar in Chrome. Also added back required packages that were removed in PR.
|
||||
|
||||
Thanks to GitHub users hupptechnologies and xet7 for their contributions.
|
||||
|
||||
# v1.84 2018-12-07 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Fix 2/8: IFTTT Rule action/trigger ["Remove all members from the card"](https://github.com/wekan/wekan/issues/1972).
|
||||
|
||||
Thanks to GitHub user BurakTuran9 for contributions.
|
||||
|
||||
# v1.83 2018-12-06 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Fix 1/8: IFTTT Rule action/trigger [When a checklist is completed](https://github.com/wekan/wekan/issues/1972).
|
||||
And partial incomplete fix to when all of checklist is set as uncompleted. Help in fixing welcome.
|
||||
|
||||
Thanks to GitHub users BurakTuran9 and xet7 for their contributions.
|
||||
|
||||
# v1.82 2018-12-05 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Partially #2045 revert [Improve authentication](https://github.com/wekan/wekan/issues/2016),
|
||||
adding back password/LDAP dropdown, because login did now work.
|
||||
NOTE: This was added in v1.71, reverted at v1.73 because login did not work, added back at v1.79,
|
||||
and then reverted partially at v1.82 because login did not work.
|
||||
Related LDAP logout timer does not work yet.
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.81 2018-12-04 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Remove extra commas `,` and add missing backslash `\`.
|
||||
Maybe after that login, logout and CORS works.
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
Related #2045,
|
||||
related wekan/wekan-snap#69
|
||||
|
||||
# v1.80 2018-12-03 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- Upgrade Node from v8.12 to v8.14
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- Revert non-working architectures that were added at v1.79, so now Wekan is just amd64 as before.
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.79 2018-12-03 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Improve authentication, removing Login password/LDAP dropdown](https://github.com/wekan/wekan/issues/2016).
|
||||
NOTE: This was added in v1.71, then reverted at v1.73 because login did not work, and after fix added back at v1.79.
|
||||
Thanks to Akuket.
|
||||
- Thanks to xet7:
|
||||
- Build snap also on i386, armhf and arm64. Ignore if it fails. More fixes will be added later.
|
||||
- Add CORS https://enable-cors.org/server_meteor.html to Standalone Wekan settings.
|
||||
- Add missing LDAP and TIMER environment variables.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- Fix: Message box for deleting subtask unreachable.
|
||||
Thanks to hupptechnologies. Closes #1800
|
||||
- Fix wrong dates in ChangeLog. Thanks to kelvinhammond.
|
||||
|
||||
Thanks to above GitHub users for their contributions.
|
||||
|
||||
# v1.78 2018-11-20 Wekan release
|
||||
|
||||
- Update translations (de).
|
||||
@@ -50,6 +131,7 @@ Thanks to GitHub user alkemyst for contributions.
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Revert Improve authentication to [fix Login failure](https://github.com/wekan/wekan/issues/2004).
|
||||
NOTE: This was added in v1.71, then reverted at v1.73 because login did not work, and after fix added back at v1.79.
|
||||
|
||||
Thanks to GitHub users Broxxx3 and xet7 for their contributions.
|
||||
|
||||
@@ -71,6 +153,7 @@ This release adds the following new features and bugfixes:
|
||||
- Adding an option to choose the default authentication method with env var.
|
||||
- Bug fix that allowed a user to connect with the password method while his user.authenticationMethod is "ldap" for example.
|
||||
- Adding a server-side method which allows disconnecting a user after a delay defined by env vars.
|
||||
- NOTE: This was added in v1.71, then reverted at v1.73 because login did not work, and after fix added back at v1.79.
|
||||
- [Improve shell scripts](https://github.com/wekan/wekan/pull/2002). Thanks to warnerjon12.
|
||||
|
||||
Thanks to above GitHub users and translators for their contributions.
|
||||
@@ -176,11 +259,11 @@ REST API: [Allow to remove the full list of labels/members through the API](http
|
||||
|
||||
Thanks to GitHub user bentiss for contributions.
|
||||
|
||||
# v1.62 2018-20-24 Wekan release
|
||||
# v1.62 2018-10-24 Wekan release
|
||||
|
||||
- Fix missing dropdown arrow on Chrome. Thanks to xet7. Closes #1964
|
||||
|
||||
# v1.61 2018-20-24 Wekan release
|
||||
# v1.61 2018-10-24 Wekan release
|
||||
|
||||
- Fix lint error. Thanks to xet7.
|
||||
|
||||
|
||||
+12
-2
@@ -65,12 +65,17 @@ ARG LDAP_SYNC_USER_DATA
|
||||
ARG LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
ARG LDAP_SYNC_GROUP_ROLES
|
||||
ARG LDAP_DEFAULT_DOMAIN
|
||||
ARG LOGOUT_WITH_TIMER
|
||||
ARG LOGOUT_IN
|
||||
ARG LOGOUT_ON_HOURS
|
||||
ARG LOGOUT_ON_MINUTES
|
||||
ARG CORS
|
||||
|
||||
# Set the environment variables (defaults where required)
|
||||
# DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
|
||||
# ENV BUILD_DEPS="paxctl"
|
||||
ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential python git ca-certificates gcc-7" \
|
||||
NODE_VERSION=v8.12.0 \
|
||||
NODE_VERSION=v8.14.0 \
|
||||
METEOR_RELEASE=1.6.0.1 \
|
||||
USE_EDGE=false \
|
||||
METEOR_EDGE=1.5-beta.17 \
|
||||
@@ -132,7 +137,12 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential pyth
|
||||
LDAP_SYNC_USER_DATA=false \
|
||||
LDAP_SYNC_USER_DATA_FIELDMAP="" \
|
||||
LDAP_SYNC_GROUP_ROLES="" \
|
||||
LDAP_DEFAULT_DOMAIN=""
|
||||
LDAP_DEFAULT_DOMAIN="" \
|
||||
LOGOUT_WITH_TIMER=false \
|
||||
LOGOUT_IN="" \
|
||||
LOGOUT_ON_HOURS="" \
|
||||
LOGOUT_ON_MINUTES="" \
|
||||
CORS=""
|
||||
|
||||
# Copy the app to the image
|
||||
COPY ${SRC_PATH} /home/wekan/app
|
||||
|
||||
@@ -112,6 +112,7 @@ BlazeComponent.extendComponent({
|
||||
onRendered() {
|
||||
if (!Utils.isMiniScreen()) {
|
||||
Meteor.setTimeout(() => {
|
||||
$('.card-details').mCustomScrollbar({theme:'minimal-dark', setWidth: false, setLeft: 0, scrollbarPosition: 'outside', mouseWheel: true });
|
||||
this.scrollParentContainer();
|
||||
}, 500);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
@import 'nib'
|
||||
|
||||
.card-details
|
||||
padding: 0 20px
|
||||
padding: 0
|
||||
flex-shrink: 0
|
||||
flex-basis: 470px
|
||||
flex-basis: 510px
|
||||
will-change: flex-basis
|
||||
overflow-y: scroll
|
||||
overflow-x: hidden
|
||||
@@ -14,8 +14,16 @@
|
||||
box-shadow: 0 0 7px 0 darken(white, 30%)
|
||||
transition: flex-basis 0.1s
|
||||
|
||||
.mCustomScrollBox
|
||||
padding-left: 0
|
||||
|
||||
.ps-scrollbar-y-rail
|
||||
pointer-event: all
|
||||
position: absolute;
|
||||
|
||||
.card-details-canvas
|
||||
width: 470px
|
||||
padding-left: 20px;
|
||||
|
||||
.card-details-header
|
||||
margin: 0 -20px 5px
|
||||
|
||||
@@ -45,6 +45,8 @@ services:
|
||||
# Wekan Export Board works when WITH_API=true.
|
||||
# If you disable Wekan API with false, Export Board does not work.
|
||||
- WITH_API=true
|
||||
# CORS: Set Access-Control-Allow-Origin header. Example: *
|
||||
#- CORS=*
|
||||
# Optional: Integration with Matomo https://matomo.org that is installed to your server
|
||||
# The address of the server where Matomo is hosted.
|
||||
# example: - MATOMO_ADDRESS=https://example.com/matomo
|
||||
@@ -209,6 +211,18 @@ services:
|
||||
# LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
# example :
|
||||
#- LDAP_DEFAULT_DOMAIN=
|
||||
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
|
||||
# example : LOGOUT_WITH_TIMER=true
|
||||
#- LOGOUT_WITH_TIMER=
|
||||
# LOGOUT_IN : The number of days
|
||||
# example : LOGOUT_IN=1
|
||||
#- LOGOUT_IN=
|
||||
# LOGOUT_ON_HOURS : The number of hours
|
||||
# example : LOGOUT_ON_HOURS=9
|
||||
#- LOGOUT_ON_HOURS=
|
||||
# LOGOUT_ON_MINUTES : The number of minutes
|
||||
# example : LOGOUT_ON_MINUTES=55
|
||||
#- LOGOUT_ON_MINUTES=
|
||||
|
||||
depends_on:
|
||||
- wekandb
|
||||
|
||||
@@ -67,6 +67,8 @@ services:
|
||||
# Wekan Export Board works when WITH_API='true'.
|
||||
# If you disable Wekan API, Export Board does not work.
|
||||
- WITH_API=true
|
||||
# CORS: Set Access-Control-Allow-Origin header. Example: *
|
||||
#- CORS=*
|
||||
# Optional: Integration with Matomo https://matomo.org that is installed to your server
|
||||
# The address of the server where Matomo is hosted.
|
||||
# example: - MATOMO_ADDRESS=https://example.com/matomo
|
||||
@@ -231,7 +233,18 @@ services:
|
||||
# LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
# example :
|
||||
#- LDAP_DEFAULT_DOMAIN=
|
||||
|
||||
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
|
||||
# example : LOGOUT_WITH_TIMER=true
|
||||
#- LOGOUT_WITH_TIMER=
|
||||
# LOGOUT_IN : The number of days
|
||||
# example : LOGOUT_IN=1
|
||||
#- LOGOUT_IN=
|
||||
# LOGOUT_ON_HOURS : The number of hours
|
||||
# example : LOGOUT_ON_HOURS=9
|
||||
#- LOGOUT_ON_HOURS=
|
||||
# LOGOUT_ON_MINUTES : The number of minutes
|
||||
# example : LOGOUT_ON_MINUTES=55
|
||||
#- LOGOUT_ON_MINUTES=
|
||||
|
||||
depends_on:
|
||||
- mongodb
|
||||
|
||||
@@ -34,6 +34,8 @@ services:
|
||||
# Wekan Export Board works when WITH_API=true.
|
||||
# If you disable Wekan API with false, Export Board does not work.
|
||||
- WITH_API=true
|
||||
# CORS: Set Access-Control-Allow-Origin header. Example: *
|
||||
#- CORS=*
|
||||
# Optional: Integration with Matomo https://matomo.org that is installed to your server
|
||||
# The address of the server where Matomo is hosted.
|
||||
# example: - MATOMO_ADDRESS=https://example.com/matomo
|
||||
@@ -198,6 +200,18 @@ services:
|
||||
# LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
# example :
|
||||
#- LDAP_DEFAULT_DOMAIN=
|
||||
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
|
||||
# example : LOGOUT_WITH_TIMER=true
|
||||
#- LOGOUT_WITH_TIMER=
|
||||
# LOGOUT_IN : The number of days
|
||||
# example : LOGOUT_IN=1
|
||||
#- LOGOUT_IN=
|
||||
# LOGOUT_ON_HOURS : The number of hours
|
||||
# example : LOGOUT_ON_HOURS=9
|
||||
#- LOGOUT_ON_HOURS=
|
||||
# LOGOUT_ON_MINUTES : The number of minutes
|
||||
# example : LOGOUT_ON_MINUTES=55
|
||||
#- LOGOUT_ON_MINUTES=
|
||||
|
||||
depends_on:
|
||||
- wekandb
|
||||
|
||||
+2
-2
@@ -565,8 +565,8 @@
|
||||
"r-checked": "Ruksattu",
|
||||
"r-unchecked": "Poistettu ruksi",
|
||||
"r-move-card-to": "Siirrä kortti kohteeseen",
|
||||
"r-top-of": "Päällä kohteen",
|
||||
"r-bottom-of": "Pohjalla kohteen",
|
||||
"r-top-of": "Ylimmäiseksi",
|
||||
"r-bottom-of": "Alimmaiseksi",
|
||||
"r-its-list": "sen lista",
|
||||
"r-archive": "Siirrä Arkistoon",
|
||||
"r-unarchive": "Palauta Arkistosta",
|
||||
|
||||
+7
-7
@@ -123,7 +123,7 @@
|
||||
"card-comments-title": "Cette carte a %s commentaires.",
|
||||
"card-delete-notice": "La suppression est permanente. Vous perdrez toutes les actions associées à cette carte.",
|
||||
"card-delete-pop": "Toutes les actions vont être supprimées du suivi d'activités et vous ne pourrez plus utiliser cette carte. Cette action est irréversible.",
|
||||
"card-delete-suggest-archive": "You can move a card to Archive to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "Vous pouvez déplacer une carte vers les archives afin de l'enlever du tableau tout en préservant l'activité.",
|
||||
"card-due": "À échéance",
|
||||
"card-due-on": "Échéance le",
|
||||
"card-spent": "Temps passé",
|
||||
@@ -166,7 +166,7 @@
|
||||
"clipboard": "Presse-papier ou glisser-déposer",
|
||||
"close": "Fermer",
|
||||
"close-board": "Fermer le tableau",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
|
||||
"close-board-pop": "Vous pouvez restaurer le tableau en cliquant sur le bouton « Archives » depuis le menu en entête.",
|
||||
"color-black": "noir",
|
||||
"color-blue": "bleu",
|
||||
"color-green": "vert",
|
||||
@@ -284,13 +284,13 @@
|
||||
"import-board-c": "Importer un tableau",
|
||||
"import-board-title-trello": "Importer le tableau depuis Trello",
|
||||
"import-board-title-wekan": "Importer un tableau depuis Wekan",
|
||||
"import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
|
||||
"import-sandstorm-backup-warning": "Ne supprimez pas les données que vous importez du Wekan ou Trello original avant de vérifier que la graine peut se fermer et s'ouvrir à nouveau, ou qu'une erreur \"Tableau introuvable\" survient, sinon vous perdrez vos données.",
|
||||
"import-sandstorm-warning": "Le tableau importé supprimera toutes les données du tableau et les remplacera avec celles du tableau importé.",
|
||||
"from-trello": "Depuis Trello",
|
||||
"from-wekan": "Depuis Wekan",
|
||||
"import-board-instruction-trello": "Dans votre tableau Trello, allez sur 'Menu', puis sur 'Plus', 'Imprimer et exporter', 'Exporter en JSON' et copiez le texte du résultat",
|
||||
"import-board-instruction-wekan": "Dans votre tableau Wekan, allez dans 'Menu', puis 'Exporter un tableau', et copier le texte du fichier téléchargé.",
|
||||
"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-about-errors": "Si une erreur survient en important le tableau, il se peut que l'import ait fonctionné, et que le tableau se trouve sur la page \"Tous les tableaux\".",
|
||||
"import-json-placeholder": "Collez ici les données JSON valides",
|
||||
"import-map-members": "Faire correspondre aux membres",
|
||||
"import-members-map": "Le tableau que vous venez d'importer contient des membres. Veuillez associer les membres que vous souhaitez importer à des utilisateurs de Wekan.",
|
||||
@@ -315,8 +315,8 @@
|
||||
"leave-board-pop": "Êtes-vous sur de vouloir quitter __boardTitle__ ? Vous ne serez plus associé aux cartes de ce tableau.",
|
||||
"leaveBoardPopup-title": "Quitter le tableau",
|
||||
"link-card": "Lier à cette carte",
|
||||
"list-archive-cards": "Move all cards in this list to Archive",
|
||||
"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": "Déplacer toutes les cartes de cette liste vers les archives",
|
||||
"list-archive-cards-pop": "Cela supprimera du tableau toutes les cartes de cette liste. Pour voir les cartes archivées et les renvoyer vers le tableau, cliquez sur « Menu » puis « Archives ».",
|
||||
"list-move-cards": "Déplacer toutes les cartes de cette liste",
|
||||
"list-select-cards": "Sélectionner toutes les cartes de cette liste",
|
||||
"listActionPopup-title": "Actions sur la liste",
|
||||
@@ -618,5 +618,5 @@
|
||||
"authentication-type": "Type d'authentification",
|
||||
"custom-product-name": "Nom personnalisé",
|
||||
"layout": "Interface",
|
||||
"hide-logo": "Hide Logo"
|
||||
"hide-logo": "Cacher le logo"
|
||||
}
|
||||
+4
-4
@@ -598,7 +598,7 @@
|
||||
"r-d-send-email-message": "message",
|
||||
"r-d-archive": "Move card to Archive",
|
||||
"r-d-unarchive": "Restore card from Archive",
|
||||
"r-d-add-label": "Add label",
|
||||
"r-d-add-label": "Tambahkan label",
|
||||
"r-d-remove-label": "Remove label",
|
||||
"r-d-add-member": "Add member",
|
||||
"r-d-remove-member": "Remove member",
|
||||
@@ -614,9 +614,9 @@
|
||||
"ldap": "LDAP",
|
||||
"oauth2": "OAuth2",
|
||||
"cas": "CAS",
|
||||
"authentication-method": "Authentication method",
|
||||
"authentication-type": "Authentication type",
|
||||
"authentication-method": "Metode Autentikasi",
|
||||
"authentication-type": "Tipe Autentikasi",
|
||||
"custom-product-name": "Custom Product Name",
|
||||
"layout": "Layout",
|
||||
"hide-logo": "Hide Logo"
|
||||
"hide-logo": "Sembunyikan Logo"
|
||||
}
|
||||
+174
-174
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"accept": "Принять",
|
||||
"act-activity-notify": "[Wekan] Уведомление о действиях участников",
|
||||
"act-addAttachment": "вложено __attachment__ в __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addAttachment": "прикрепил __attachment__ в __card__",
|
||||
"act-addSubtask": "добавил подзадачу __checklist__ в __card__",
|
||||
"act-addChecklist": "добавил контрольный список __checklist__ в __card__",
|
||||
"act-addChecklistItem": "добавил __checklistItem__ в контрольный список __checklist__ в __card__",
|
||||
"act-addComment": "прокомментировал __card__: __comment__",
|
||||
@@ -11,10 +11,10 @@
|
||||
"act-createCustomField": "создано настраиваемое поле __customField__",
|
||||
"act-createList": "добавил __list__ на __board__",
|
||||
"act-addBoardMember": "добавил __member__ на __board__",
|
||||
"act-archivedBoard": "__board__ moved to Archive",
|
||||
"act-archivedCard": "__card__ moved to Archive",
|
||||
"act-archivedList": "__list__ moved to Archive",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Archive",
|
||||
"act-archivedBoard": "Доска __board__ перемещена в архив",
|
||||
"act-archivedCard": "Карточка __card__ перемещена в архив",
|
||||
"act-archivedList": "Список __list__ перемещён в архив",
|
||||
"act-archivedSwimlane": "Дорожка __swimlane__ перемещена в архив",
|
||||
"act-importBoard": "__board__ импортирована",
|
||||
"act-importCard": "__card__ импортирована",
|
||||
"act-importList": "__list__ импортирован",
|
||||
@@ -29,10 +29,10 @@
|
||||
"activities": "История действий",
|
||||
"activity": "Действия участников",
|
||||
"activity-added": "добавил %s на %s",
|
||||
"activity-archived": "%s moved to Archive",
|
||||
"activity-archived": "%s теперь в Архиве",
|
||||
"activity-attached": "прикрепил %s к %s",
|
||||
"activity-created": "создал %s",
|
||||
"activity-customfield-created": "создать настраиваемое поле",
|
||||
"activity-customfield-created": "создал настраиваемое поле %s",
|
||||
"activity-excluded": "исключил %s из %s",
|
||||
"activity-imported": "импортировал %s в %s из %s",
|
||||
"activity-imported-board": "импортировал %s из %s",
|
||||
@@ -43,22 +43,22 @@
|
||||
"activity-sent": "отправил %s в %s",
|
||||
"activity-unjoined": "вышел из %s",
|
||||
"activity-subtask-added": "добавил подзадачу в %s",
|
||||
"activity-checked-item": "checked %s in checklist %s of %s",
|
||||
"activity-unchecked-item": "unchecked %s in checklist %s of %s",
|
||||
"activity-checked-item": "отметил %s в контрольном списке %s в %s",
|
||||
"activity-unchecked-item": "снял %s в контрольном списке %s в %s",
|
||||
"activity-checklist-added": "добавил контрольный список в %s",
|
||||
"activity-checklist-removed": "удалил контрольный список из %s",
|
||||
"activity-checklist-completed": "completed the checklist %s of %s",
|
||||
"activity-checklist-uncompleted": "uncompleted the checklist %s of %s",
|
||||
"activity-checklist-item-added": "добавил пункт контрольного списка в '%s' в карточке %s",
|
||||
"activity-checklist-item-removed": "removed a checklist item from '%s' in %s",
|
||||
"activity-checklist-completed": "завершил контрольный список %s в %s",
|
||||
"activity-checklist-uncompleted": "вновь открыл контрольный список %s в %s",
|
||||
"activity-checklist-item-added": "добавил пункт в контрольный список '%s' в карточке %s",
|
||||
"activity-checklist-item-removed": "удалил пункт из контрольного списка '%s' в карточке %s",
|
||||
"add": "Создать",
|
||||
"activity-checked-item-card": "checked %s in checklist %s",
|
||||
"activity-unchecked-item-card": "unchecked %s in checklist %s",
|
||||
"activity-checklist-completed-card": "completed the checklist %s",
|
||||
"activity-checklist-uncompleted-card": "uncompleted the checklist %s",
|
||||
"activity-checked-item-card": "отметил %s в контрольном списке %s",
|
||||
"activity-unchecked-item-card": "снял %s в контрольном списке %s",
|
||||
"activity-checklist-completed-card": "завершил контрольный список %s",
|
||||
"activity-checklist-uncompleted-card": "вновь открыл контрольный список %s",
|
||||
"add-attachment": "Добавить вложение",
|
||||
"add-board": "Добавить доску",
|
||||
"add-card": "Добавить карту",
|
||||
"add-card": "Добавить карточку",
|
||||
"add-swimlane": "Добавить дорожку",
|
||||
"add-subtask": "Добавить подзадачу",
|
||||
"add-checklist": "Добавить контрольный список",
|
||||
@@ -79,19 +79,19 @@
|
||||
"and-n-other-card_plural": "И __count__ другие карточки",
|
||||
"apply": "Применить",
|
||||
"app-is-offline": "Wekan загружается, пожалуйста подождите. Обновление страницы может привести к потере данных. Если Wekan не загрузился, пожалуйста проверьте что связь с сервером доступна.",
|
||||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
"archive-selection": "Move selection to Archive",
|
||||
"archiveBoardPopup-title": "Move Board to Archive?",
|
||||
"archived-items": "Архивировать",
|
||||
"archived-boards": "Boards in Archive",
|
||||
"archive": "Переместить в архив",
|
||||
"archive-all": "Переместить всё в архив",
|
||||
"archive-board": "Переместить доску в архив",
|
||||
"archive-card": "Переместить карточку в архив",
|
||||
"archive-list": "Переместить список в архив",
|
||||
"archive-swimlane": "Переместить дорожку в архив",
|
||||
"archive-selection": "Переместить выбранное в архив",
|
||||
"archiveBoardPopup-title": "Переместить доску в архив?",
|
||||
"archived-items": "Архив",
|
||||
"archived-boards": "Доски в архиве",
|
||||
"restore-board": "Востановить доску",
|
||||
"no-archived-boards": "No Boards in Archive.",
|
||||
"archives": "Архивировать",
|
||||
"no-archived-boards": "Нет досок в архиве.",
|
||||
"archives": "Архив",
|
||||
"assign-member": "Назначить участника",
|
||||
"attached": "прикреплено",
|
||||
"attachment": "Вложение",
|
||||
@@ -118,12 +118,12 @@
|
||||
"board-view-lists": "Списки",
|
||||
"bucket-example": "Например “Список дел”",
|
||||
"cancel": "Отмена",
|
||||
"card-archived": "This card is moved to Archive.",
|
||||
"board-archived": "This board is moved to Archive.",
|
||||
"card-archived": "Эта карточка перемещена в архив",
|
||||
"board-archived": "Эта доска перемещена в архив.",
|
||||
"card-comments-title": "Комментарии (%s)",
|
||||
"card-delete-notice": "Это действие невозможно будет отменить. Все изменения, которые вы вносили в карточку будут потеряны.",
|
||||
"card-delete-pop": "Все действия будут удалены из ленты активности участников и вы не сможете заново открыть карточку. Действие необратимо",
|
||||
"card-delete-suggest-archive": "You can move a card to Archive to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "Вы можете переместить карточку в архив, чтобы убрать ее с доски, сохранив всю историю действий участников.",
|
||||
"card-due": "Выполнить к",
|
||||
"card-due-on": "Выполнить до",
|
||||
"card-spent": "Затраченное время",
|
||||
@@ -145,10 +145,10 @@
|
||||
"cardMorePopup-title": "Поделиться",
|
||||
"cards": "Карточки",
|
||||
"cards-count": "Карточки",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"cardType-card": "Card",
|
||||
"cardType-linkedCard": "Linked Card",
|
||||
"cardType-linkedBoard": "Linked Board",
|
||||
"casSignIn": "Войти через CAS",
|
||||
"cardType-card": "Карточка",
|
||||
"cardType-linkedCard": "Связанная карточка",
|
||||
"cardType-linkedBoard": "Связанная доска",
|
||||
"change": "Изменить",
|
||||
"change-avatar": "Изменить аватар",
|
||||
"change-password": "Изменить пароль",
|
||||
@@ -166,7 +166,7 @@
|
||||
"clipboard": "Буфер обмена или drag & drop",
|
||||
"close": "Закрыть",
|
||||
"close-board": "Закрыть доску",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
|
||||
"close-board-pop": "Вы сможете восстановить доску, нажав \"Архив\" в заголовке домашней страницы.",
|
||||
"color-black": "черный",
|
||||
"color-blue": "синий",
|
||||
"color-green": "зеленый",
|
||||
@@ -181,18 +181,18 @@
|
||||
"comment-placeholder": "Написать комментарий",
|
||||
"comment-only": "Только комментирование",
|
||||
"comment-only-desc": "Может комментировать только карточки.",
|
||||
"no-comments": "No comments",
|
||||
"no-comments-desc": "Can not see comments and activities.",
|
||||
"no-comments": "Без комментариев",
|
||||
"no-comments-desc": "Не видит комментарии и историю действий.",
|
||||
"computer": "Загрузить с компьютера",
|
||||
"confirm-subtask-delete-dialog": "Вы уверены, что хотите удалить подзадачу?",
|
||||
"confirm-checklist-delete-dialog": "Вы уверены, что хотите удалить чеклист?",
|
||||
"confirm-checklist-delete-dialog": "Вы уверены, что хотите удалить контрольный список?",
|
||||
"copy-card-link-to-clipboard": "Копировать ссылку на карточку в буфер обмена",
|
||||
"linkCardPopup-title": "Link Card",
|
||||
"searchCardPopup-title": "Search Card",
|
||||
"linkCardPopup-title": "Карточка-ссылка",
|
||||
"searchCardPopup-title": "Найти карточку",
|
||||
"copyCardPopup-title": "Копировать карточку",
|
||||
"copyChecklistToManyCardsPopup-title": "Копировать шаблон контрольного списка в несколько карточек",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Названия и описания целевых карт в формате JSON",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Заголовок первой карточки\", \"description\":\"Описание первой карточки\"}, {\"title\":\"Заголовок второй карточки\",\"description\":\"Описание второй карточки\"},{\"title\":\"Заголовок последней карточки\",\"description\":\"Описание последней карточки\"} ]",
|
||||
"create": "Создать",
|
||||
"createBoardPopup-title": "Создать доску",
|
||||
"chooseBoardSourcePopup-title": "Импортировать доску",
|
||||
@@ -227,7 +227,7 @@
|
||||
"edit-avatar": "Изменить аватар",
|
||||
"edit-profile": "Изменить профиль",
|
||||
"edit-wip-limit": " Изменить лимит на кол-во задач",
|
||||
"soft-wip-limit": "Мягкий лимит на кол-во задач",
|
||||
"soft-wip-limit": "Мягкий лимит",
|
||||
"editCardStartDatePopup-title": "Изменить дату начала",
|
||||
"editCardDueDatePopup-title": "Изменить дату выполнения",
|
||||
"editCustomFieldPopup-title": "Редактировать поле",
|
||||
@@ -240,7 +240,7 @@
|
||||
"email-enrollAccount-text": "Привет __user__,\n\nДля того, чтобы начать использовать сервис, просто нажми на ссылку ниже.\n\n__url__\n\nСпасибо.",
|
||||
"email-fail": "Отправка письма на EMail не удалась",
|
||||
"email-fail-text": "Ошибка при попытке отправить письмо",
|
||||
"email-invalid": "Неверный адрес электронной почти",
|
||||
"email-invalid": "Неверный адрес электронной почты",
|
||||
"email-invite": "Пригласить по электронной почте",
|
||||
"email-invite-subject": "__inviter__ прислал вам приглашение",
|
||||
"email-invite-text": "Дорогой __user__,\n\n__inviter__ пригласил вас присоединиться к доске \"__board__\" для сотрудничества.\n\nПожалуйста проследуйте по ссылке ниже:\n\n__url__\n\nСпасибо.",
|
||||
@@ -279,18 +279,18 @@
|
||||
"headerBarCreateBoardPopup-title": "Создать доску",
|
||||
"home": "Главная",
|
||||
"import": "Импорт",
|
||||
"link": "Link",
|
||||
"link": "Ссылка",
|
||||
"import-board": "импортировать доску",
|
||||
"import-board-c": "Импортировать доску",
|
||||
"import-board-title-trello": "Импортировать доску из Trello",
|
||||
"import-board-title-wekan": "Импортировать доску из Wekan",
|
||||
"import-sandstorm-backup-warning": "Do not delete data you import from original Wekan or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
|
||||
"import-sandstorm-backup-warning": "Не удаляйте импортируемые данные из источника (Wekan или Trello), пока не убедитесь, что импорт завершился успешно – удается закрыть и снова открыть доску, и не появляется ошибка «Доска не найдена»",
|
||||
"import-sandstorm-warning": "Импортированная доска удалит все существующие данные на текущей доске и заменит её импортированной доской.",
|
||||
"from-trello": "Из Trello",
|
||||
"from-wekan": "Из Wekan",
|
||||
"import-board-instruction-trello": "На вашей Trello доске нажмите “Menu” - “More” - “Print and export - “Export JSON” и скопируйте полученный текст",
|
||||
"import-board-instruction-wekan": "На вашей Wekan доске, перейдите в “Меню”, далее “Экспортировать доску” и скопируйте текст из скачаного файла",
|
||||
"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-about-errors": "Даже если при импорте возникли ошибки, иногда импортирование проходит успешно – тогда доска появится на странице «Все доски».",
|
||||
"import-json-placeholder": "Вставьте JSON сюда",
|
||||
"import-map-members": "Составить карту участников",
|
||||
"import-members-map": "Вы импортировали доску с участниками. Пожалуйста, составьте карту участников, которых вы хотите импортировать в качестве пользователей Wekan",
|
||||
@@ -306,7 +306,7 @@
|
||||
"just-invited": "Вас только что пригласили на эту доску",
|
||||
"keyboard-shortcuts": "Сочетания клавиш",
|
||||
"label-create": "Создать метку",
|
||||
"label-default": "%sметка (по умолчанию)",
|
||||
"label-default": "%s (по умолчанию)",
|
||||
"label-delete-pop": "Это действие невозможно будет отменить. Эта метка будут удалена во всех карточках. Также будет удалена вся история этой метки.",
|
||||
"labels": "Метки",
|
||||
"language": "Язык",
|
||||
@@ -315,8 +315,8 @@
|
||||
"leave-board-pop": "Вы уверенны, что хотите покинуть __boardTitle__? Вы будете удалены из всех карточек на этой доске.",
|
||||
"leaveBoardPopup-title": "Покинуть доску?",
|
||||
"link-card": "Доступна по ссылке",
|
||||
"list-archive-cards": "Move all cards in this list to Archive",
|
||||
"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": "Переместить все карточки в этом списке в Архив",
|
||||
"list-archive-cards-pop": "Это действие удалит все карточки из этого списка с доски. Чтобы просмотреть карточки в Архиве и вернуть их на доску, нажмите “Меню” > “Архив”.",
|
||||
"list-move-cards": "Переместить все карточки в этом списке",
|
||||
"list-select-cards": "Выбрать все карточки в этом списке",
|
||||
"listActionPopup-title": "Список действий",
|
||||
@@ -325,7 +325,7 @@
|
||||
"listMorePopup-title": "Поделиться",
|
||||
"link-list": "Ссылка на список",
|
||||
"list-delete-pop": "Все действия будут удалены из ленты активности участников и вы не сможете восстановить список. Данное действие необратимо.",
|
||||
"list-delete-suggest-archive": "You can move a list to Archive to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "Вы можете отправить список в Архив, чтобы убрать его с доски и при этом сохранить результаты.",
|
||||
"lists": "Списки",
|
||||
"swimlanes": "Дорожки",
|
||||
"log-out": "Выйти",
|
||||
@@ -345,9 +345,9 @@
|
||||
"muted-info": "Вы НИКОГДА не будете уведомлены ни о каких изменениях в этой доске.",
|
||||
"my-boards": "Мои доски",
|
||||
"name": "Имя",
|
||||
"no-archived-cards": "No cards in Archive.",
|
||||
"no-archived-lists": "No lists in Archive.",
|
||||
"no-archived-swimlanes": "No swimlanes in Archive.",
|
||||
"no-archived-cards": "Нет карточек в Архиве",
|
||||
"no-archived-lists": "Нет списков в Архиве",
|
||||
"no-archived-swimlanes": "Нет дорожек в Архиве",
|
||||
"no-results": "Ничего не найдено",
|
||||
"normal": "Обычный",
|
||||
"normal-desc": "Может редактировать карточки. Не может управлять настройками.",
|
||||
@@ -383,7 +383,7 @@
|
||||
"restore": "Восстановить",
|
||||
"save": "Сохранить",
|
||||
"search": "Поиск",
|
||||
"rules": "Rules",
|
||||
"rules": "Правила",
|
||||
"search-cards": "Искать в названиях и описаниях карточек на этой доске",
|
||||
"search-example": "Искать текст?",
|
||||
"select-color": "Выбрать цвет",
|
||||
@@ -427,7 +427,7 @@
|
||||
"uploaded-avatar": "Загруженный аватар",
|
||||
"username": "Имя пользователя",
|
||||
"view-it": "Просмотреть",
|
||||
"warn-list-archived": "warning: this card is in an list at Archive",
|
||||
"warn-list-archived": "внимание: эта карточка из списка, который находится в Архиве",
|
||||
"watch": "Следить",
|
||||
"watching": "Отслеживается",
|
||||
"watching-info": "Вы будете уведомлены об любых изменениях в этой доске.",
|
||||
@@ -483,16 +483,16 @@
|
||||
"hours": "часы",
|
||||
"minutes": "минуты",
|
||||
"seconds": "секунды",
|
||||
"show-field-on-card": "Показать это поле на карте",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"show-field-on-card": "Показать это поле на карточке",
|
||||
"automatically-field-on-card": "Cоздавать поле во всех новых карточках",
|
||||
"showLabel-field-on-card": "Показать имя поля на карточке",
|
||||
"yes": "Да",
|
||||
"no": "Нет",
|
||||
"accounts": "Учетные записи",
|
||||
"accounts-allowEmailChange": "Разрешить изменение электронной почты",
|
||||
"accounts-allowUserNameChange": "Разрешить изменение имени пользователя",
|
||||
"createdAt": "Создано на",
|
||||
"verified": "Проверено",
|
||||
"createdAt": "Создан",
|
||||
"verified": "Подтвержден",
|
||||
"active": "Действующий",
|
||||
"card-received": "Получено",
|
||||
"card-received-on": "Получено с",
|
||||
@@ -500,123 +500,123 @@
|
||||
"card-end-on": "Завершится до",
|
||||
"editCardReceivedDatePopup-title": "Изменить дату получения",
|
||||
"editCardEndDatePopup-title": "Изменить дату завершения",
|
||||
"assigned-by": "Назначено",
|
||||
"requested-by": "Запрошен",
|
||||
"assigned-by": "Поручил",
|
||||
"requested-by": "Запросил",
|
||||
"board-delete-notice": "Удаление является постоянным. Вы потеряете все списки, карты и действия, связанные с этой доской.",
|
||||
"delete-board-confirm-popup": "Все списки, карточки, ярлыки и действия будут удалены, и вы не сможете восстановить содержимое доски. Отменить нельзя.",
|
||||
"delete-board-confirm-popup": "Все списки, карточки, метки и действия будут удалены, и вы не сможете восстановить содержимое доски. Отменить нельзя.",
|
||||
"boardDeletePopup-title": "Удалить доску?",
|
||||
"delete-board": "Удалить доску",
|
||||
"default-subtasks-board": "Подзадача для доски __board__ ",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"default": "По умолчанию",
|
||||
"queue": "Очередь",
|
||||
"subtask-settings": "Настройки подзадач",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent",
|
||||
"activity-added-label": "added label '%s' to %s",
|
||||
"activity-removed-label": "removed label '%s' from %s",
|
||||
"activity-delete-attach": "deleted an attachment from %s",
|
||||
"activity-added-label-card": "added label '%s'",
|
||||
"activity-removed-label-card": "removed label '%s'",
|
||||
"activity-delete-attach-card": "deleted an attachment",
|
||||
"r-rule": "Rule",
|
||||
"r-add-trigger": "Add trigger",
|
||||
"r-add-action": "Add action",
|
||||
"r-board-rules": "Board rules",
|
||||
"r-add-rule": "Add rule",
|
||||
"r-view-rule": "View rule",
|
||||
"r-delete-rule": "Delete rule",
|
||||
"r-new-rule-name": "New rule title",
|
||||
"r-no-rules": "No rules",
|
||||
"r-when-a-card-is": "When a card is",
|
||||
"r-added-to": "Added to",
|
||||
"r-removed-from": "Removed from",
|
||||
"r-the-board": "the board",
|
||||
"r-list": "list",
|
||||
"r-moved-to": "Moved to",
|
||||
"r-moved-from": "Moved from",
|
||||
"r-archived": "Moved to Archive",
|
||||
"r-unarchived": "Restored from Archive",
|
||||
"r-a-card": "a card",
|
||||
"r-when-a-label-is": "When a label is",
|
||||
"r-when-the-label-is": "When the label is",
|
||||
"r-list-name": "List name",
|
||||
"r-when-a-member": "When a member is",
|
||||
"r-when-the-member": "When the member",
|
||||
"r-name": "name",
|
||||
"r-is": "is",
|
||||
"r-when-a-attach": "When an attachment",
|
||||
"r-when-a-checklist": "When a checklist is",
|
||||
"r-when-the-checklist": "When the checklist",
|
||||
"r-completed": "Completed",
|
||||
"r-made-incomplete": "Made incomplete",
|
||||
"r-when-a-item": "When a checklist item is",
|
||||
"r-when-the-item": "When the checklist item",
|
||||
"r-checked": "Checked",
|
||||
"r-unchecked": "Unchecked",
|
||||
"r-move-card-to": "Move card to",
|
||||
"r-top-of": "Top of",
|
||||
"r-bottom-of": "Bottom of",
|
||||
"r-its-list": "its list",
|
||||
"r-archive": "Move to Archive",
|
||||
"r-unarchive": "Restore from Archive",
|
||||
"r-card": "card",
|
||||
"boardSubtaskSettingsPopup-title": "Настройки подзадач для доски",
|
||||
"show-subtasks-field": "Разрешить подзадачи",
|
||||
"deposit-subtasks-board": "Отправлять подзадачи на доску:",
|
||||
"deposit-subtasks-list": "Размещать подзадачи, отправленные на эту доску, в списке:",
|
||||
"show-parent-in-minicard": "Указывать исходную карточку:",
|
||||
"prefix-with-full-path": "Cверху, полный путь",
|
||||
"prefix-with-parent": "Сверху, только имя",
|
||||
"subtext-with-full-path": "Cнизу, полный путь",
|
||||
"subtext-with-parent": "Снизу, только имя",
|
||||
"change-card-parent": "Сменить исходную карточку",
|
||||
"parent-card": "Исходная карточка",
|
||||
"source-board": "Исходная доска",
|
||||
"no-parent": "Не указывать",
|
||||
"activity-added-label": "добавил метку '%s' на %s",
|
||||
"activity-removed-label": "удалил метку '%s' с %s",
|
||||
"activity-delete-attach": "удалил вложение из %s",
|
||||
"activity-added-label-card": "добавил метку '%s'",
|
||||
"activity-removed-label-card": "удалил метку '%s'",
|
||||
"activity-delete-attach-card": "удалил вложение",
|
||||
"r-rule": "Правило",
|
||||
"r-add-trigger": "Задать условие",
|
||||
"r-add-action": "Задать действие",
|
||||
"r-board-rules": "Правила доски",
|
||||
"r-add-rule": "Добавить правило",
|
||||
"r-view-rule": "Показать правило",
|
||||
"r-delete-rule": "Удалить правило",
|
||||
"r-new-rule-name": "Имя нового правила",
|
||||
"r-no-rules": "Нет правил",
|
||||
"r-when-a-card-is": "Когда карточка",
|
||||
"r-added-to": "Добавлен(а) в/на",
|
||||
"r-removed-from": "Покидает",
|
||||
"r-the-board": "доску",
|
||||
"r-list": "список",
|
||||
"r-moved-to": "Перемещается в",
|
||||
"r-moved-from": "Покидает",
|
||||
"r-archived": "Перемещена в архив",
|
||||
"r-unarchived": "Восстановлена из архива",
|
||||
"r-a-card": "карточку",
|
||||
"r-when-a-label-is": "Когда метка",
|
||||
"r-when-the-label-is": "Когда метка",
|
||||
"r-list-name": "Имя списка",
|
||||
"r-when-a-member": "Когда участник",
|
||||
"r-when-the-member": "Когда участник",
|
||||
"r-name": "имя",
|
||||
"r-is": " ",
|
||||
"r-when-a-attach": "Когда вложение",
|
||||
"r-when-a-checklist": "Когда контрольный список",
|
||||
"r-when-the-checklist": "Когда контрольный список",
|
||||
"r-completed": "Завершен",
|
||||
"r-made-incomplete": "Вновь открыт",
|
||||
"r-when-a-item": "Когда пункт контрольного списка",
|
||||
"r-when-the-item": "Когда пункт контрольного списка",
|
||||
"r-checked": "Отмечен",
|
||||
"r-unchecked": "Снят",
|
||||
"r-move-card-to": "Переместить карточку в",
|
||||
"r-top-of": "Начало",
|
||||
"r-bottom-of": "Конец",
|
||||
"r-its-list": "текущего списка",
|
||||
"r-archive": "Переместить в архив",
|
||||
"r-unarchive": "Восстановить из Архива",
|
||||
"r-card": "карточку",
|
||||
"r-add": "Создать",
|
||||
"r-remove": "Remove",
|
||||
"r-label": "label",
|
||||
"r-member": "member",
|
||||
"r-remove-all": "Remove all members from the card",
|
||||
"r-checklist": "checklist",
|
||||
"r-check-all": "Check all",
|
||||
"r-uncheck-all": "Uncheck all",
|
||||
"r-items-check": "items of checklist",
|
||||
"r-check": "Check",
|
||||
"r-uncheck": "Uncheck",
|
||||
"r-item": "item",
|
||||
"r-of-checklist": "of checklist",
|
||||
"r-send-email": "Send an email",
|
||||
"r-to": "to",
|
||||
"r-subject": "subject",
|
||||
"r-rule-details": "Rule details",
|
||||
"r-d-move-to-top-gen": "Move card to top of its list",
|
||||
"r-d-move-to-top-spec": "Move card to top of list",
|
||||
"r-d-move-to-bottom-gen": "Move card to bottom of its list",
|
||||
"r-d-move-to-bottom-spec": "Move card to bottom of list",
|
||||
"r-d-send-email": "Send email",
|
||||
"r-d-send-email-to": "to",
|
||||
"r-d-send-email-subject": "subject",
|
||||
"r-d-send-email-message": "message",
|
||||
"r-d-archive": "Move card to Archive",
|
||||
"r-d-unarchive": "Restore card from Archive",
|
||||
"r-d-add-label": "Add label",
|
||||
"r-d-remove-label": "Remove label",
|
||||
"r-d-add-member": "Add member",
|
||||
"r-d-remove-member": "Remove member",
|
||||
"r-d-remove-all-member": "Remove all member",
|
||||
"r-d-check-all": "Check all items of a list",
|
||||
"r-d-uncheck-all": "Uncheck all items of a list",
|
||||
"r-d-check-one": "Check item",
|
||||
"r-d-uncheck-one": "Uncheck item",
|
||||
"r-d-check-of-list": "of checklist",
|
||||
"r-d-add-checklist": "Add checklist",
|
||||
"r-d-remove-checklist": "Remove checklist",
|
||||
"r-when-a-card-is-moved": "When a card is moved to another list",
|
||||
"r-remove": "Удалить",
|
||||
"r-label": "метку",
|
||||
"r-member": "участника",
|
||||
"r-remove-all": "Удалить всех участников из карточки",
|
||||
"r-checklist": "контрольный список",
|
||||
"r-check-all": "Отметить все",
|
||||
"r-uncheck-all": "Снять все",
|
||||
"r-items-check": "пункты контрольного списка",
|
||||
"r-check": "Отметить",
|
||||
"r-uncheck": "Снять",
|
||||
"r-item": "пункт",
|
||||
"r-of-checklist": "контрольного списка",
|
||||
"r-send-email": "Отправить письмо",
|
||||
"r-to": "кому",
|
||||
"r-subject": "тема",
|
||||
"r-rule-details": "Содержание правила",
|
||||
"r-d-move-to-top-gen": "Переместить карточку в начало текущего списка",
|
||||
"r-d-move-to-top-spec": "Переместить карточку в начало списка",
|
||||
"r-d-move-to-bottom-gen": "Переместить карточку в конец текущего списка",
|
||||
"r-d-move-to-bottom-spec": "Переместить карточку в конец списка",
|
||||
"r-d-send-email": "Отправить письмо",
|
||||
"r-d-send-email-to": "кому",
|
||||
"r-d-send-email-subject": "тема",
|
||||
"r-d-send-email-message": "сообщение",
|
||||
"r-d-archive": "Переместить карточку в Архив",
|
||||
"r-d-unarchive": "Восстановить карточку из Архива",
|
||||
"r-d-add-label": "Добавить метку",
|
||||
"r-d-remove-label": "Удалить метку",
|
||||
"r-d-add-member": "Добавить участника",
|
||||
"r-d-remove-member": "Удалить участника",
|
||||
"r-d-remove-all-member": "Удалить всех участников",
|
||||
"r-d-check-all": "Отметить все пункты в списке",
|
||||
"r-d-uncheck-all": "Снять все пункты в списке",
|
||||
"r-d-check-one": "Отметить пункт",
|
||||
"r-d-uncheck-one": "Снять пункт",
|
||||
"r-d-check-of-list": "контрольного списка",
|
||||
"r-d-add-checklist": "Добавить контрольный список",
|
||||
"r-d-remove-checklist": "Удалить контрольный список",
|
||||
"r-when-a-card-is-moved": "Когда карточка перемещена в другой список",
|
||||
"ldap": "LDAP",
|
||||
"oauth2": "OAuth2",
|
||||
"cas": "CAS",
|
||||
"authentication-method": "Authentication method",
|
||||
"authentication-type": "Authentication type",
|
||||
"custom-product-name": "Custom Product Name",
|
||||
"layout": "Layout",
|
||||
"hide-logo": "Hide Logo"
|
||||
"authentication-method": "Способ авторизации",
|
||||
"authentication-type": "Тип авторизации",
|
||||
"custom-product-name": "Собственное наименование",
|
||||
"layout": "Внешний вид",
|
||||
"hide-logo": "Скрыть логотип"
|
||||
}
|
||||
+14
-14
@@ -11,10 +11,10 @@
|
||||
"act-createCustomField": "skapa anpassat fält __customField__",
|
||||
"act-createList": "lade till __list__ to __board__",
|
||||
"act-addBoardMember": "lade till __member__ to __board__",
|
||||
"act-archivedBoard": "__board__ moved to Archive",
|
||||
"act-archivedCard": "__card__ moved to Archive",
|
||||
"act-archivedList": "__list__ moved to Archive",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Archive",
|
||||
"act-archivedBoard": "__board__ flyttades till Arkiv",
|
||||
"act-archivedCard": "__card__ flyttades till Arkiv",
|
||||
"act-archivedList": "__list__ flyttades till Arkiv",
|
||||
"act-archivedSwimlane": "__swimlane__ flyttades till Arkiv",
|
||||
"act-importBoard": "importerade __board__",
|
||||
"act-importCard": "importerade __card__",
|
||||
"act-importList": "importerade __list__",
|
||||
@@ -29,7 +29,7 @@
|
||||
"activities": "Aktiviteter",
|
||||
"activity": "Aktivitet",
|
||||
"activity-added": "Lade %s till %s",
|
||||
"activity-archived": "%s moved to Archive",
|
||||
"activity-archived": "%s flyttades till Arkiv",
|
||||
"activity-attached": "bifogade %s to %s",
|
||||
"activity-created": "skapade %s",
|
||||
"activity-customfield-created": "skapa anpassat fält %s",
|
||||
@@ -79,8 +79,8 @@
|
||||
"and-n-other-card_plural": "Och __count__ andra kort",
|
||||
"apply": "Tillämpa",
|
||||
"app-is-offline": "Wekan läses in, var god vänta. Uppdatering av sidan kommer att leda till förlust av data. Om Wekan inte läses in, kontrollera att Wekan-servern inte har stoppats.",
|
||||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive": "Flytta till Arkiv",
|
||||
"archive-all": "Flytta alla till Arkiv",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
@@ -558,7 +558,7 @@
|
||||
"r-when-a-attach": "When an attachment",
|
||||
"r-when-a-checklist": "When a checklist is",
|
||||
"r-when-the-checklist": "When the checklist",
|
||||
"r-completed": "Completed",
|
||||
"r-completed": "Avslutad",
|
||||
"r-made-incomplete": "Made incomplete",
|
||||
"r-when-a-item": "When a checklist item is",
|
||||
"r-when-the-item": "When the checklist item",
|
||||
@@ -568,8 +568,8 @@
|
||||
"r-top-of": "Top of",
|
||||
"r-bottom-of": "Bottom of",
|
||||
"r-its-list": "its list",
|
||||
"r-archive": "Move to Archive",
|
||||
"r-unarchive": "Restore from Archive",
|
||||
"r-archive": "Flytta till Arkiv",
|
||||
"r-unarchive": "Återställ från Arkiv",
|
||||
"r-card": "kort",
|
||||
"r-add": "Lägg till",
|
||||
"r-remove": "Ta bort",
|
||||
@@ -614,9 +614,9 @@
|
||||
"ldap": "LDAP",
|
||||
"oauth2": "OAuth2",
|
||||
"cas": "CAS",
|
||||
"authentication-method": "Authentication method",
|
||||
"authentication-type": "Authentication type",
|
||||
"custom-product-name": "Custom Product Name",
|
||||
"authentication-method": "Autentiseringsmetod",
|
||||
"authentication-type": "Autentiseringstyp",
|
||||
"custom-product-name": "Anpassat produktnamn",
|
||||
"layout": "Layout",
|
||||
"hide-logo": "Hide Logo"
|
||||
"hide-logo": "Dölj logotypen"
|
||||
}
|
||||
+100
-100
@@ -29,7 +29,7 @@
|
||||
"activities": "Etkinlikler",
|
||||
"activity": "Etkinlik",
|
||||
"activity-added": "%s içine %s ekledi",
|
||||
"activity-archived": "%s moved to Archive",
|
||||
"activity-archived": "%s arşive taşındı",
|
||||
"activity-attached": "%s içine %s ekledi",
|
||||
"activity-created": "%s öğesini oluşturdu",
|
||||
"activity-customfield-created": "%s adlı özel alan yaratıldı",
|
||||
@@ -79,18 +79,18 @@
|
||||
"and-n-other-card_plural": "Ve __count__ diğer kart",
|
||||
"apply": "Uygula",
|
||||
"app-is-offline": "Wekan yükleniyor, lütfen bekleyin. Sayfayı yenilemek veri kaybına sebep olabilir. Eğer Wekan yüklenmezse, lütfen Wekan sunucusunun çalıştığından emin olun.",
|
||||
"archive": "Move to Archive",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
"archive-selection": "Move selection to Archive",
|
||||
"archiveBoardPopup-title": "Move Board to Archive?",
|
||||
"archive": "Arşive Taşı",
|
||||
"archive-all": "Hepsini Arşive Taşı",
|
||||
"archive-board": "Panoyu Arşive Taşı",
|
||||
"archive-card": "Kartı Arşive Taşı",
|
||||
"archive-list": "Listeyi Arşive Taşı",
|
||||
"archive-swimlane": "Kulvarı Arşive Taşı",
|
||||
"archive-selection": "Seçimi arşive taşı",
|
||||
"archiveBoardPopup-title": "Panoyu arşive taşı?",
|
||||
"archived-items": "Arşivle",
|
||||
"archived-boards": "Boards in Archive",
|
||||
"archived-boards": "Panolar Arşivde",
|
||||
"restore-board": "Panoyu Geri Getir",
|
||||
"no-archived-boards": "No Boards in Archive.",
|
||||
"no-archived-boards": "Arşivde Pano Yok.",
|
||||
"archives": "Arşivle",
|
||||
"assign-member": "Üye ata",
|
||||
"attached": "dosya(sı) eklendi",
|
||||
@@ -118,8 +118,8 @@
|
||||
"board-view-lists": "Listeler",
|
||||
"bucket-example": "Örn: \"Marketten Alacaklarım\"",
|
||||
"cancel": "İptal",
|
||||
"card-archived": "This card is moved to Archive.",
|
||||
"board-archived": "This board is moved to Archive.",
|
||||
"card-archived": "Bu kart arşive taşındı.",
|
||||
"board-archived": "Bu pano arşive taşındı.",
|
||||
"card-comments-title": "Bu kartta %s yorum var.",
|
||||
"card-delete-notice": "Silme işlemi kalıcıdır. Bu kartla ilişkili tüm eylemleri kaybedersiniz.",
|
||||
"card-delete-pop": "Son hareketler alanındaki tüm veriler silinecek, ayrıca bu kartı yeniden açamayacaksın. Bu işlemin geri dönüşü yok.",
|
||||
@@ -147,8 +147,8 @@
|
||||
"cards-count": "Kartlar",
|
||||
"casSignIn": "CAS ile giriş yapın",
|
||||
"cardType-card": "Kart",
|
||||
"cardType-linkedCard": "Linked Card",
|
||||
"cardType-linkedBoard": "Linked Board",
|
||||
"cardType-linkedCard": "Bağlantılı kart",
|
||||
"cardType-linkedBoard": "Bağlantılı Pano",
|
||||
"change": "Değiştir",
|
||||
"change-avatar": "Avatar Değiştir",
|
||||
"change-password": "Parola Değiştir",
|
||||
@@ -181,14 +181,14 @@
|
||||
"comment-placeholder": "Yorum Yaz",
|
||||
"comment-only": "Sadece yorum",
|
||||
"comment-only-desc": "Sadece kartlara yorum yazabilir.",
|
||||
"no-comments": "No comments",
|
||||
"no-comments-desc": "Can not see comments and activities.",
|
||||
"no-comments": "Yorum Yok",
|
||||
"no-comments-desc": "Yorumlar ve aktiviteleri göremiyorum.",
|
||||
"computer": "Bilgisayar",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"confirm-subtask-delete-dialog": "Alt görevi silmek istediğinizden emin misiniz?",
|
||||
"confirm-checklist-delete-dialog": "Kontrol listesini silmek istediğinden emin misin?",
|
||||
"copy-card-link-to-clipboard": "Kartın linkini kopyala",
|
||||
"linkCardPopup-title": "Link Card",
|
||||
"searchCardPopup-title": "Search Card",
|
||||
"linkCardPopup-title": "Bağlantı kartı",
|
||||
"searchCardPopup-title": "Kart Ara",
|
||||
"copyCardPopup-title": "Kartı Kopyala",
|
||||
"copyChecklistToManyCardsPopup-title": "Yapılacaklar Listesi şemasını birden çok karta kopyala",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Hedef Kart Başlıkları ve Açıklamaları bu JSON formatında",
|
||||
@@ -271,7 +271,7 @@
|
||||
"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",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"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",
|
||||
"header-logo-title": "Panolar sayfanıza geri dön.",
|
||||
@@ -315,7 +315,7 @@
|
||||
"leave-board-pop": "__boardTitle__ panosundan ayrılmak istediğinize emin misiniz? Panodaki tüm kartlardan kaldırılacaksınız.",
|
||||
"leaveBoardPopup-title": "Panodan ayrılmak istediğinize emin misiniz?",
|
||||
"link-card": "Bu kartın bağlantısı",
|
||||
"list-archive-cards": "Move all cards in this list to Archive",
|
||||
"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-move-cards": "Listedeki tüm kartları taşı",
|
||||
"list-select-cards": "Listedeki tüm kartları seç",
|
||||
@@ -345,9 +345,9 @@
|
||||
"muted-info": "Bu panodaki hiçbir değişiklik hakkında bildirim almayacaksınız",
|
||||
"my-boards": "Panolarım",
|
||||
"name": "Adı",
|
||||
"no-archived-cards": "No cards in Archive.",
|
||||
"no-archived-lists": "No lists in Archive.",
|
||||
"no-archived-swimlanes": "No swimlanes in Archive.",
|
||||
"no-archived-cards": "Arşivde kart yok",
|
||||
"no-archived-lists": "Arşivde liste yok",
|
||||
"no-archived-swimlanes": "Arşivde kulvar yok",
|
||||
"no-results": "Sonuç yok",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Kartları görüntüleyebilir ve düzenleyebilir. Ayarları değiştiremez.",
|
||||
@@ -383,7 +383,7 @@
|
||||
"restore": "Geri Getir",
|
||||
"save": "Kaydet",
|
||||
"search": "Arama",
|
||||
"rules": "Rules",
|
||||
"rules": "Kurallar",
|
||||
"search-cards": "Bu tahta da ki kart başlıkları ve açıklamalarında arama yap",
|
||||
"search-example": "Aranılacak metin?",
|
||||
"select-color": "Renk Seç",
|
||||
@@ -427,7 +427,7 @@
|
||||
"uploaded-avatar": "Avatar yüklendi",
|
||||
"username": "Kullanıcı adı",
|
||||
"view-it": "Görüntüle",
|
||||
"warn-list-archived": "warning: this card is in an list at Archive",
|
||||
"warn-list-archived": "Uyarı: Bu kart arşivdeki bir listede",
|
||||
"watch": "Takip Et",
|
||||
"watching": "Takip Ediliyor",
|
||||
"watching-info": "Bu pano hakkındaki tüm değişiklikler hakkında bildirim alacaksınız",
|
||||
@@ -484,8 +484,8 @@
|
||||
"minutes": "dakika",
|
||||
"seconds": "saniye",
|
||||
"show-field-on-card": "Bu alanı kartta göster",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"automatically-field-on-card": "Tüm kartlara otomatik alan oluştur",
|
||||
"showLabel-field-on-card": "Minikard üzerindeki alan etiketini göster",
|
||||
"yes": "Evet",
|
||||
"no": "Hayır",
|
||||
"accounts": "Hesaplar",
|
||||
@@ -504,119 +504,119 @@
|
||||
"requested-by": "Talep Eden",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"boardDeletePopup-title": "Panoyu Sil?",
|
||||
"delete-board": "Panoyu Sil",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Varsayılan",
|
||||
"queue": "Sıra",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"subtask-settings": "Alt Görev ayarları",
|
||||
"boardSubtaskSettingsPopup-title": "Pano alt görev ayarları",
|
||||
"show-subtasks-field": "Kartların alt görevleri olabilir",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"deposit-subtasks-list": "Alt görevlerin açılacağı liste:",
|
||||
"show-parent-in-minicard": "Mini kart içinde üst kartı göster",
|
||||
"prefix-with-full-path": "Tam yolunu önüne ekle",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent",
|
||||
"subtext-with-full-path": "Tam yolu ile alt metin",
|
||||
"subtext-with-parent": "üst öge ile alt metin",
|
||||
"change-card-parent": "Kartın üst kartını değiştir",
|
||||
"parent-card": "Ana kart",
|
||||
"source-board": "Kaynak panosu",
|
||||
"no-parent": "Üst ögeyi gösterme",
|
||||
"activity-added-label": "added label '%s' to %s",
|
||||
"activity-removed-label": "removed label '%s' from %s",
|
||||
"activity-delete-attach": "deleted an attachment from %s",
|
||||
"activity-added-label-card": "added label '%s'",
|
||||
"activity-removed-label-card": "removed label '%s'",
|
||||
"activity-delete-attach-card": "deleted an attachment",
|
||||
"r-rule": "Rule",
|
||||
"r-add-trigger": "Add trigger",
|
||||
"r-add-action": "Add action",
|
||||
"r-board-rules": "Board rules",
|
||||
"r-add-rule": "Add rule",
|
||||
"r-view-rule": "View rule",
|
||||
"r-delete-rule": "Delete rule",
|
||||
"r-new-rule-name": "New rule title",
|
||||
"r-no-rules": "No rules",
|
||||
"activity-delete-attach-card": "Ek silindi",
|
||||
"r-rule": "Kural",
|
||||
"r-add-trigger": "Tetikleyici ekle",
|
||||
"r-add-action": "Eylem ekle",
|
||||
"r-board-rules": "Pano Kuralları",
|
||||
"r-add-rule": "Kural ekle",
|
||||
"r-view-rule": "Kuralı göster",
|
||||
"r-delete-rule": "Kuralı sil",
|
||||
"r-new-rule-name": "Yeni kural başlığı",
|
||||
"r-no-rules": "Kural yok",
|
||||
"r-when-a-card-is": "When a card is",
|
||||
"r-added-to": "Added to",
|
||||
"r-removed-from": "Removed from",
|
||||
"r-the-board": "the board",
|
||||
"r-list": "list",
|
||||
"r-the-board": "pano",
|
||||
"r-list": "liste",
|
||||
"r-moved-to": "Moved to",
|
||||
"r-moved-from": "Moved from",
|
||||
"r-archived": "Moved to Archive",
|
||||
"r-unarchived": "Restored from Archive",
|
||||
"r-a-card": "a card",
|
||||
"r-archived": "Arşive taşındı",
|
||||
"r-unarchived": "Arşivden geri çıkarıldı",
|
||||
"r-a-card": "Kart",
|
||||
"r-when-a-label-is": "When a label is",
|
||||
"r-when-the-label-is": "When the label is",
|
||||
"r-list-name": "List name",
|
||||
"r-list-name": "Liste İsmi",
|
||||
"r-when-a-member": "When a member is",
|
||||
"r-when-the-member": "When the member",
|
||||
"r-name": "name",
|
||||
"r-name": "isim",
|
||||
"r-is": "is",
|
||||
"r-when-a-attach": "When an attachment",
|
||||
"r-when-a-checklist": "When a checklist is",
|
||||
"r-when-the-checklist": "When the checklist",
|
||||
"r-completed": "Completed",
|
||||
"r-made-incomplete": "Made incomplete",
|
||||
"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-checked": "Checked",
|
||||
"r-unchecked": "Unchecked",
|
||||
"r-move-card-to": "Move card to",
|
||||
"r-top-of": "Top of",
|
||||
"r-bottom-of": "Bottom of",
|
||||
"r-checked": "İşaretlendi",
|
||||
"r-unchecked": "İşaret Kaldırıldı",
|
||||
"r-move-card-to": "Kartı taşı",
|
||||
"r-top-of": "En üst",
|
||||
"r-bottom-of": "En alt",
|
||||
"r-its-list": "its list",
|
||||
"r-archive": "Move to Archive",
|
||||
"r-unarchive": "Restore from Archive",
|
||||
"r-card": "card",
|
||||
"r-archive": "Arşive Taşı",
|
||||
"r-unarchive": "Arşivden Geri Yükle",
|
||||
"r-card": "Kart",
|
||||
"r-add": "Ekle",
|
||||
"r-remove": "Remove",
|
||||
"r-remove": "Kaldır",
|
||||
"r-label": "label",
|
||||
"r-member": "member",
|
||||
"r-member": "üye",
|
||||
"r-remove-all": "Remove all members from the card",
|
||||
"r-checklist": "checklist",
|
||||
"r-check-all": "Check all",
|
||||
"r-uncheck-all": "Uncheck all",
|
||||
"r-items-check": "items of checklist",
|
||||
"r-check": "Check",
|
||||
"r-uncheck": "Uncheck",
|
||||
"r-checklist": "Kontrol Listesi",
|
||||
"r-check-all": "Tümünü işaretle",
|
||||
"r-uncheck-all": "Tüm işaretleri kaldır",
|
||||
"r-items-check": "Kontrol Listesi maddeleri",
|
||||
"r-check": "işaretle",
|
||||
"r-uncheck": "İşareti Kaldır",
|
||||
"r-item": "item",
|
||||
"r-of-checklist": "of checklist",
|
||||
"r-send-email": "Send an email",
|
||||
"r-send-email": "E-Posta Gönder",
|
||||
"r-to": "to",
|
||||
"r-subject": "subject",
|
||||
"r-rule-details": "Rule details",
|
||||
"r-subject": "Konu",
|
||||
"r-rule-details": "Kural Detayları",
|
||||
"r-d-move-to-top-gen": "Move card to top of its list",
|
||||
"r-d-move-to-top-spec": "Move card to top of list",
|
||||
"r-d-move-to-bottom-gen": "Move card to bottom of its list",
|
||||
"r-d-move-to-bottom-spec": "Move card to bottom of list",
|
||||
"r-d-send-email": "Send email",
|
||||
"r-d-send-email": "E-Posta gönder",
|
||||
"r-d-send-email-to": "to",
|
||||
"r-d-send-email-subject": "subject",
|
||||
"r-d-send-email-message": "message",
|
||||
"r-d-archive": "Move card to Archive",
|
||||
"r-d-unarchive": "Restore card from Archive",
|
||||
"r-d-add-label": "Add label",
|
||||
"r-d-remove-label": "Remove label",
|
||||
"r-d-add-member": "Add member",
|
||||
"r-d-remove-member": "Remove member",
|
||||
"r-d-remove-all-member": "Remove all member",
|
||||
"r-d-send-email-subject": "Konu",
|
||||
"r-d-send-email-message": "mesaj",
|
||||
"r-d-archive": "Kartı Arşive Taşı",
|
||||
"r-d-unarchive": "Kartı arşivden geri yükle",
|
||||
"r-d-add-label": "Etiket ekle",
|
||||
"r-d-remove-label": "Etiketi kaldır",
|
||||
"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-one": "Check item",
|
||||
"r-d-uncheck-one": "Uncheck item",
|
||||
"r-d-check-of-list": "of checklist",
|
||||
"r-d-add-checklist": "Add checklist",
|
||||
"r-d-remove-checklist": "Remove checklist",
|
||||
"r-d-add-checklist": "Kontrol listesine ekle",
|
||||
"r-d-remove-checklist": "Kontrol listesini kaldır",
|
||||
"r-when-a-card-is-moved": "When a card is moved to another list",
|
||||
"ldap": "LDAP",
|
||||
"oauth2": "OAuth2",
|
||||
"oauth2": "Oauth2",
|
||||
"cas": "CAS",
|
||||
"authentication-method": "Authentication method",
|
||||
"authentication-type": "Authentication type",
|
||||
"custom-product-name": "Custom Product Name",
|
||||
"layout": "Layout",
|
||||
"hide-logo": "Hide Logo"
|
||||
"authentication-method": "Kimlik doğrulama yöntemi",
|
||||
"authentication-type": "Kimlik doğrulama türü",
|
||||
"custom-product-name": "Özel Ürün Adı",
|
||||
"layout": "Düzen",
|
||||
"hide-logo": "Logoyu Gizle"
|
||||
}
|
||||
@@ -11,10 +11,10 @@
|
||||
"act-createCustomField": "创建了自定义字段 __customField__",
|
||||
"act-createList": "添加列表 __list__ 至看板 __board__",
|
||||
"act-addBoardMember": "添加成员 __member__ 至看板 __board__",
|
||||
"act-archivedBoard": "__board__ moved to Archive",
|
||||
"act-archivedCard": "__card__ moved to Archive",
|
||||
"act-archivedList": "__list__ moved to Archive",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Archive",
|
||||
"act-archivedBoard": "__board__ 已被移入归档",
|
||||
"act-archivedCard": "__card__ 已被移入归档",
|
||||
"act-archivedList": "__list__ 已被移入归档",
|
||||
"act-archivedSwimlane": "__swimlane__ 已被移入归档",
|
||||
"act-importBoard": "导入看板 __board__",
|
||||
"act-importCard": "导入卡片 __card__",
|
||||
"act-importList": "导入列表 __list__",
|
||||
@@ -29,7 +29,7 @@
|
||||
"activities": "活动",
|
||||
"activity": "活动",
|
||||
"activity-added": "添加 %s 至 %s",
|
||||
"activity-archived": "%s moved to Archive",
|
||||
"activity-archived": "%s 已被移入归档",
|
||||
"activity-attached": "添加附件 %s 至 %s",
|
||||
"activity-created": "创建 %s",
|
||||
"activity-customfield-created": "创建了自定义字段 %s",
|
||||
@@ -79,7 +79,7 @@
|
||||
"and-n-other-card_plural": "和其他 __count__ 个卡片",
|
||||
"apply": "应用",
|
||||
"app-is-offline": "Wekan 正在加载,请稍等。刷新页面将导致数据丢失。如果 Wekan 无法加载,请检查 Wekan 服务器是否已经停止。",
|
||||
"archive": "Move to Archive",
|
||||
"archive": "归档",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-card": "Move Card to Archive",
|
||||
@@ -568,7 +568,7 @@
|
||||
"r-top-of": "的顶部",
|
||||
"r-bottom-of": "的尾部",
|
||||
"r-its-list": "其清单",
|
||||
"r-archive": "Move to Archive",
|
||||
"r-archive": "归档",
|
||||
"r-unarchive": "Restore from Archive",
|
||||
"r-card": "卡片",
|
||||
"r-add": "添加",
|
||||
|
||||
@@ -126,7 +126,7 @@ function publishChekListCompleted(userId, doc){
|
||||
if(checkList.isFinished()){
|
||||
const act = {
|
||||
userId,
|
||||
activityType: 'checklistCompleted',
|
||||
activityType: 'completeChecklist',
|
||||
cardId: doc.cardId,
|
||||
boardId,
|
||||
checklistId: doc.checklistId,
|
||||
@@ -141,10 +141,23 @@ function publishChekListUncompleted(userId, doc){
|
||||
const boardId = card.boardId;
|
||||
const checklistId = doc.checklistId;
|
||||
const checkList = Checklists.findOne({_id:checklistId});
|
||||
// BUGS in IFTTT Rules: https://github.com/wekan/wekan/issues/1972
|
||||
// Currently in checklist all are set as uncompleted/not checked,
|
||||
// IFTTT Rule does not move card to other list.
|
||||
// If following line is negated/changed to:
|
||||
// if(!checkList.isFinished()){
|
||||
// then unchecking of any checkbox will move card to other list,
|
||||
// even when all checkboxes are not yet unchecked.
|
||||
// What is correct code for only moving when all in list is unchecked?
|
||||
// TIPS: Finding files, ignoring some directories with grep -v:
|
||||
// cd wekan
|
||||
// find . | xargs grep 'count' -sl | grep -v .meteor | grep -v node_modules | grep -v .build
|
||||
// Maybe something related here?
|
||||
// wekan/client/components/rules/triggers/checklistTriggers.js
|
||||
if(checkList.isFinished()){
|
||||
const act = {
|
||||
userId,
|
||||
activityType: 'checklistUncompleted',
|
||||
activityType: 'uncompleteChecklist',
|
||||
cardId: doc.cardId,
|
||||
boardId,
|
||||
checklistId: doc.checklistId,
|
||||
|
||||
+4
-4
@@ -520,10 +520,10 @@ if (Meteor.isServer) {
|
||||
}
|
||||
|
||||
const disableRegistration = Settings.findOne().disableRegistration;
|
||||
// If ldap, bypass the inviation code if the self registration isn't allowed.
|
||||
// TODO : pay attention if ldap field in the user model change to another content ex : ldap field to connection_type
|
||||
if (options.ldap || !disableRegistration) {
|
||||
user.authenticationMethod = 'ldap';
|
||||
if (!disableRegistration) {
|
||||
if (options.ldap) {
|
||||
user.authenticationMethod = 'ldap';
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
|
||||
@@ -749,7 +749,8 @@ export class WekanCreator {
|
||||
});
|
||||
}
|
||||
|
||||
check(board) {
|
||||
//check(board) {
|
||||
check() {
|
||||
//try {
|
||||
// check(data, {
|
||||
// membersMapping: Match.Optional(Object),
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v1.78.0",
|
||||
"version": "v1.85.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ echo "Note: If you use other locale than en_US.UTF-8 , you need to additionally
|
||||
echo " with 'sudo dpkg-reconfigure locales' , so that MongoDB works correctly."
|
||||
echo " You can still use any other locale as your main locale."
|
||||
|
||||
X64NODE="https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.gz"
|
||||
X64NODE="https://nodejs.org/dist/v8.14.0/node-v8.14.0-linux-x64.tar.gz"
|
||||
|
||||
function pause(){
|
||||
read -p "$*"
|
||||
@@ -74,7 +74,7 @@ do
|
||||
sudo apt install -y build-essential git curl wget
|
||||
# sudo apt -y install nodejs npm
|
||||
# npm_call -g install n
|
||||
# sudo n 8.12.0
|
||||
# sudo n 8.14.0
|
||||
fi
|
||||
|
||||
# if [ "$(grep -Ei 'debian' /etc/*release)" ]; then
|
||||
|
||||
@@ -4,7 +4,7 @@ echo "Note: If you use other locale than en_US.UTF-8 , you need to additionally
|
||||
echo " with 'sudo dpkg-reconfigure locales' , so that MongoDB works correctly."
|
||||
echo " You can still use any other locale as your main locale."
|
||||
|
||||
X64NODE="https://releases.wekan.team/node-v8.11.3-linux-x64.tar.gz"
|
||||
X64NODE="https://releases.wekan.team/node-v8.14.0-linux-x64.tar.gz"
|
||||
|
||||
function pause(){
|
||||
read -p "$*"
|
||||
@@ -25,7 +25,7 @@ do
|
||||
sudo apt install -y build-essential git curl wget
|
||||
sudo apt -y install nodejs npm
|
||||
sudo npm -g install n
|
||||
sudo n 8.11.3
|
||||
sudo n 8.14.0
|
||||
fi
|
||||
|
||||
if [ "$(grep -Ei 'debian' /etc/*release)" ]; then
|
||||
|
||||
@@ -22,6 +22,9 @@
|
||||
# If you disable Wekan API, Export Board does not work.
|
||||
export WITH_API='true'
|
||||
#---------------------------------------------
|
||||
# CORS: Set Access-Control-Allow-Origin header. Example: *
|
||||
#- CORS=*
|
||||
#---------------------------------------------
|
||||
## Optional: Integration with Matomo https://matomo.org that is installed to your server
|
||||
## The address of the server where Matomo is hosted:
|
||||
##export MATOMO_ADDRESS=https://example.com/matomo
|
||||
@@ -187,6 +190,17 @@
|
||||
# LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
# example :
|
||||
#export LDAP_DEFAULT_DOMAIN=
|
||||
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
|
||||
# example : LOGOUT_WITH_TIMER=true
|
||||
#- LOGOUT_WITH_TIMER=
|
||||
# LOGOUT_IN : The number of days
|
||||
# example : LOGOUT_IN=1
|
||||
#- LOGOUT_IN=
|
||||
#- LOGOUT_ON_HOURS=
|
||||
# LOGOUT_ON_MINUTES : The number of minutes
|
||||
# example : LOGOUT_ON_MINUTES=55
|
||||
#- LOGOUT_ON_MINUTES=
|
||||
|
||||
node main.js & >> ~/repos/wekan.log
|
||||
cd ~/repos
|
||||
#done
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 180,
|
||||
appVersion = 187,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "1.78.0~2018-11-20"),
|
||||
appMarketingVersion = (defaultText = "1.85.0~2018-12-09"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Meteor.startup(() => {
|
||||
|
||||
if ( process.env.CORS ) {
|
||||
// Listen to incoming HTTP requests, can only be used on the server
|
||||
WebApp.rawConnectHandlers.use(function(req, res, next) {
|
||||
res.setHeader('Access-Control-Allow-Origin', process.env.CORS);
|
||||
return next();
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
@@ -98,7 +98,7 @@ RulesHelper = {
|
||||
card.assignMember(memberId);
|
||||
}
|
||||
if(action.actionType === 'removeMember'){
|
||||
if(action.memberName === '*'){
|
||||
if(action.username === '*'){
|
||||
const members = card.members;
|
||||
for(let i = 0; i< members.length; i++){
|
||||
card.unassignMember(members[i]);
|
||||
|
||||
+21
-1
@@ -3,7 +3,7 @@
|
||||
# All supported keys are defined here together with descriptions and default values
|
||||
|
||||
# list of supported keys
|
||||
keys="MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT 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_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"
|
||||
keys="MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API CORS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT 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_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 LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES"
|
||||
|
||||
# default values
|
||||
DESCRIPTION_MONGODB_BIND_UNIX_SOCKET="mongodb binding unix socket:\n"\
|
||||
@@ -52,6 +52,10 @@ DESCRIPTION_WITH_API="Enable/disable the api of wekan"
|
||||
DEFAULT_WITH_API="true"
|
||||
KEY_WITH_API="with-api"
|
||||
|
||||
DESCRIPTION_CORS="Enable/disable CORS: Set Access-Control-Allow-Origin header. Example: *"
|
||||
DEFAULT_CORS=""
|
||||
KEY_CORS="cors"
|
||||
|
||||
DESCRIPTION_MATOMO_ADDRESS="The address of the server where matomo is hosted"
|
||||
DEFAULT_MATOMO_ADDRESS=""
|
||||
KEY_MATOMO_ADDRESS="matomo-address"
|
||||
@@ -269,3 +273,19 @@ KEY_LDAP_SYNC_GROUP_ROLES="ldap-sync-group-roles"
|
||||
DESCRIPTION_LDAP_DEFAULT_DOMAIN="The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP"
|
||||
DEFAULT_LDAP_DEFAULT_DOMAIN=""
|
||||
KEY_LDAP_DEFAULT_DOMAIN="ldap-default-domain"
|
||||
|
||||
DESCRIPTION_LOGOUT_WITH_TIMER="Enables or not the option logout with timer"
|
||||
DEFAULT_LOGOUT_WITH_TIMER="false"
|
||||
KEY_LOGOUT_WITH_TIMER="logout-with-timer"
|
||||
|
||||
DESCRIPTION_LOGOUT_IN="The number of days"
|
||||
DEFAULT_LOGOUT_IN=""
|
||||
KEY_LOGOUT_IN="logout-in"
|
||||
|
||||
DESCRIPTION_LOGOUT_ON_HOURS="The number of hours"
|
||||
DEFAULT_LOGOUT_ON_HOURS=""
|
||||
KEY_LOGOUT_ON_HOURS="logout-on-hours"
|
||||
|
||||
DESCRIPTION_LOGOUT_ON_MINUTES="The number of minutes"
|
||||
DEFAULT_LOGOUT_ON_MINUTES=""
|
||||
KEY_LOGOUT_ON_MINUTES="logout-on-minutes"
|
||||
@@ -33,6 +33,11 @@ echo -e "\t$ snap set $SNAP_NAME WITH_API='true'"
|
||||
echo -e "\t-Disable the API:"
|
||||
echo -e "\t$ snap set $SNAP_NAME WITH_API='false'"
|
||||
echo -e "\n"
|
||||
echo -e "To enable the CORS of wekan, to set Access-Control-Allow-Origin header:"
|
||||
echo -e "\t$ snap set $SNAP_NAME CORS='*'"
|
||||
echo -e "\t-Disable the CORS:"
|
||||
echo -e "\t$ snap set $SNAP_NAME CORS=''"
|
||||
echo -e "\n"
|
||||
echo -e "Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside."
|
||||
echo -e "\t\t Setting this to false is not recommended, it also disables all other browser policy protections"
|
||||
echo -e "\t\t and allows all iframing etc. See wekan/server/policy.js"
|
||||
@@ -249,6 +254,22 @@ echo -e "Ldap Default Domain."
|
||||
echo -e "The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP:"
|
||||
echo -e "\t$ snap set $SNAP_NAME LDAP_DEFAULT_DOMAIN=''"
|
||||
echo -e "\n"
|
||||
echo -e "Logout with timer."
|
||||
echo -e "Enable or not the option that allows to disconnect an user after a given time:"
|
||||
echo -e "\t$ snap set $SNAP_NAME LOGOUT_WITH_TIMER='true'"
|
||||
echo -e "\n"
|
||||
echo -e "Logout in."
|
||||
echo -e "Logout in how many days:"
|
||||
echo -e "\t$ snap set $SNAP_NAME LOGOUT_IN='1'"
|
||||
echo -e "\n"
|
||||
echo -e "Logout on hours."
|
||||
echo -e "Logout in how many hours:"
|
||||
echo -e "\t$ snap set $SNAP_NAME LOGOUT_ON_HOURS='9'"
|
||||
echo -e "\n"
|
||||
echo -e "Logout on minutes."
|
||||
echo -e "Logout in how many minutes:"
|
||||
echo -e "\t$ snap set $SNAP_NAME LOGOUT_ON_MINUTES='5'"
|
||||
echo -e "\n"
|
||||
# parse config file for supported settings keys
|
||||
echo -e "wekan supports settings keys"
|
||||
echo -e "values can be changed by calling\n$ snap set $SNAP_NAME <key name>='<key value>'"
|
||||
|
||||
+1
-1
@@ -81,7 +81,7 @@ parts:
|
||||
wekan:
|
||||
source: .
|
||||
plugin: nodejs
|
||||
node-engine: 8.12.0
|
||||
node-engine: 8.14.0
|
||||
node-packages:
|
||||
- node-gyp
|
||||
- node-pre-gyp
|
||||
|
||||
+180
-110
@@ -4,175 +4,245 @@ SET MAIL_URL=smtp://user:pass@mailserver.example.com:25/
|
||||
SET MAIL_FROM=admin@example.com
|
||||
SET PORT=2000
|
||||
|
||||
REM If you disable Wekan API with false, Export Board does not work.
|
||||
REM # If you disable Wekan API with false, Export Board does not work.
|
||||
SET WITH_API=true
|
||||
|
||||
REM Optional: Integration with Matomo https://matomo.org that is installed to your server
|
||||
REM The address of the server where Matomo is hosted.
|
||||
REM example: - MATOMO_ADDRESS=https://example.com/matomo
|
||||
REM # Optional: Integration with Matomo https://matomo.org that is installed to your server
|
||||
REM # The address of the server where Matomo is hosted.
|
||||
REM # example: - MATOMO_ADDRESS=https://example.com/matomo
|
||||
REM SET MATOMO_ADDRESS=
|
||||
REM The value of the site ID given in Matomo server for Wekan
|
||||
REM example: - MATOMO_SITE_ID=12345
|
||||
|
||||
REM # The value of the site ID given in Matomo server for Wekan
|
||||
REM # example: - MATOMO_SITE_ID=12345
|
||||
REM SET MATOMO_SITE_ID=
|
||||
REM The option do not track which enables users to not be tracked by matomo
|
||||
REM example: - MATOMO_DO_NOT_TRACK=false
|
||||
|
||||
REM # The option do not track which enables users to not be tracked by matomo
|
||||
REM # example: - MATOMO_DO_NOT_TRACK=false
|
||||
REM SET MATOMO_DO_NOT_TRACK=
|
||||
REM The option that allows matomo to retrieve the username:
|
||||
REM example: MATOMO_WITH_USERNAME=true
|
||||
|
||||
REM # The option that allows matomo to retrieve the username:
|
||||
REM # example: MATOMO_WITH_USERNAME=true
|
||||
REM SET MATOMO_WITH_USERNAME=false
|
||||
|
||||
REM Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside.
|
||||
REM Setting this to false is not recommended, it also disables all other browser policy protections
|
||||
REM and allows all iframing etc. See wekan/server/policy.js
|
||||
REM # Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside.
|
||||
REM # Setting this to false is not recommended, it also disables all other browser policy protections
|
||||
REM # and allows all iframing etc. See wekan/server/policy.js
|
||||
SET BROWSER_POLICY_ENABLED=true
|
||||
REM When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
|
||||
|
||||
REM # When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
|
||||
REM SET TRUSTED_URL=
|
||||
|
||||
REM What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
|
||||
REM example: WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
|
||||
REM # What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
|
||||
REM # example: WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
|
||||
REM SET WEBHOOKS_ATTRIBUTES=
|
||||
|
||||
REM Enable the OAuth2 connection
|
||||
REM example: OAUTH2_ENABLED=true
|
||||
REM ------------------------------------------------------------
|
||||
|
||||
REM # Enable the OAuth2 connection
|
||||
REM # OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
REM # example: OAUTH2_ENABLED=true
|
||||
REM SET OAUTH2_ENABLED=false
|
||||
REM OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
REM OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
|
||||
REM example: OAUTH2_CLIENT_ID=abcde12345
|
||||
|
||||
REM # OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
|
||||
REM # example: OAUTH2_CLIENT_ID=abcde12345
|
||||
REM SET OAUTH2_CLIENT_ID=
|
||||
REM OAuth2 Secret, for example from Rocket.Chat: Example: 54321abcde
|
||||
REM example: OAUTH2_SECRET=54321abcde
|
||||
|
||||
REM # OAuth2 Secret, for example from Rocket.Chat: Example: 54321abcde
|
||||
REM # example: OAUTH2_SECRET=54321abcde
|
||||
REM SET OAUTH2_SECRET=
|
||||
REM OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com
|
||||
REM example: OAUTH2_SERVER_URL=https://chat.example.com
|
||||
|
||||
REM # OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com
|
||||
REM # example: OAUTH2_SERVER_URL=https://chat.example.com
|
||||
REM SET OAUTH2_SERVER_URL=
|
||||
REM OAuth2 Authorization Endpoint. Example: /oauth/authorize
|
||||
REM example: OAUTH2_AUTH_ENDPOINT=/oauth/authorize
|
||||
|
||||
REM # OAuth2 Authorization Endpoint. Example: /oauth/authorize
|
||||
REM # example: OAUTH2_AUTH_ENDPOINT=/oauth/authorize
|
||||
REM SET OAUTH2_AUTH_ENDPOINT=
|
||||
REM OAuth2 Userinfo Endpoint. Example: /oauth/userinfo
|
||||
REM example: OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
|
||||
|
||||
REM # OAuth2 Userinfo Endpoint. Example: /oauth/userinfo
|
||||
REM # example: OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
|
||||
REM SET OAUTH2_USERINFO_ENDPOINT=
|
||||
REM OAuth2 Token Endpoint. Example: /oauth/token
|
||||
REM example: OAUTH2_TOKEN_ENDPOINT=/oauth/token
|
||||
|
||||
REM # OAuth2 Token Endpoint. Example: /oauth/token
|
||||
REM # example: OAUTH2_TOKEN_ENDPOINT=/oauth/token
|
||||
REM SET OAUTH2_TOKEN_ENDPOINT=
|
||||
|
||||
REM LDAP_ENABLE : Enable or not the connection by the LDAP
|
||||
REM example : LDAP_ENABLE=true
|
||||
REM ------------------------------------------------------------
|
||||
|
||||
REM # LDAP_ENABLE : Enable or not the connection by the LDAP
|
||||
REM # example : LDAP_ENABLE=true
|
||||
REM SET LDAP_ENABLE=false
|
||||
REM LDAP_PORT : The port of the LDAP server
|
||||
REM example : LDAP_PORT=389
|
||||
|
||||
REM # LDAP_PORT : The port of the LDAP server
|
||||
REM # example : LDAP_PORT=389
|
||||
REM SET LDAP_PORT=389
|
||||
REM LDAP_HOST : The host server for the LDAP server
|
||||
REM example : LDAP_HOST=localhost
|
||||
|
||||
REM # LDAP_HOST : The host server for the LDAP server
|
||||
REM # example : LDAP_HOST=localhost
|
||||
REM SET LDAP_HOST=
|
||||
REM LDAP_BASEDN : The base DN for the LDAP Tree
|
||||
REM example : LDAP_BASEDN=ou=user,dc=example,dc=org
|
||||
|
||||
REM # LDAP_BASEDN : The base DN for the LDAP Tree
|
||||
REM # example : LDAP_BASEDN=ou=user,dc=example,dc=org
|
||||
REM SET LDAP_BASEDN=
|
||||
REM LDAP_LOGIN_FALLBACK : Fallback on the default authentication method
|
||||
REM example : LDAP_LOGIN_FALLBACK=true
|
||||
|
||||
REM # LDAP_LOGIN_FALLBACK : Fallback on the default authentication method
|
||||
REM # example : LDAP_LOGIN_FALLBACK=true
|
||||
REM SET LDAP_LOGIN_FALLBACK=false
|
||||
REM LDAP_RECONNECT : Reconnect to the server if the connection is lost
|
||||
REM example : LDAP_RECONNECT=false
|
||||
|
||||
REM # LDAP_RECONNECT : Reconnect to the server if the connection is lost
|
||||
REM # example : LDAP_RECONNECT=false
|
||||
REM SET LDAP_RECONNECT=true
|
||||
REM LDAP_TIMEOUT : Overall timeout, in milliseconds
|
||||
REM example : LDAP_TIMEOUT=12345
|
||||
|
||||
REM # LDAP_TIMEOUT : Overall timeout, in milliseconds
|
||||
REM # example : LDAP_TIMEOUT=12345
|
||||
REM SET LDAP_TIMEOUT=10000
|
||||
REM LDAP_IDLE_TIMEOUT : Specifies the timeout for idle LDAP connections in milliseconds
|
||||
REM example : LDAP_IDLE_TIMEOUT=12345
|
||||
|
||||
REM # LDAP_IDLE_TIMEOUT : Specifies the timeout for idle LDAP connections in milliseconds
|
||||
REM # example : LDAP_IDLE_TIMEOUT=12345
|
||||
REM SET LDAP_IDLE_TIMEOUT=10000
|
||||
REM LDAP_CONNECT_TIMEOUT : Connection timeout, in milliseconds
|
||||
REM example : LDAP_CONNECT_TIMEOUT=12345
|
||||
|
||||
REM # LDAP_CONNECT_TIMEOUT : Connection timeout, in milliseconds
|
||||
REM # example : LDAP_CONNECT_TIMEOUT=12345
|
||||
REM SET LDAP_CONNECT_TIMEOUT=10000
|
||||
REM LDAP_AUTHENTIFICATION : If the LDAP needs a user account to search
|
||||
REM example : LDAP_AUTHENTIFICATION=true
|
||||
|
||||
REM # LDAP_AUTHENTIFICATION : If the LDAP needs a user account to search
|
||||
REM # example : LDAP_AUTHENTIFICATION=true
|
||||
REM SET LDAP_AUTHENTIFICATION=false
|
||||
REM LDAP_AUTHENTIFICATION_USERDN : The search user DN
|
||||
REM example : LDAP_AUTHENTIFICATION_USERDN=cn=admin,dc=example,dc=org
|
||||
|
||||
REM # LDAP_AUTHENTIFICATION_USERDN : The search user DN
|
||||
REM # example: LDAP_AUTHENTIFICATION_USERDN=cn=admin,dc=example,dc=org
|
||||
REM SET LDAP_AUTHENTIFICATION_USERDN=
|
||||
REM LDAP_AUTHENTIFICATION_PASSWORD : The password for the search user
|
||||
REM example : AUTHENTIFICATION_PASSWORD=admin
|
||||
|
||||
REM # LDAP_AUTHENTIFICATION_PASSWORD : The password for the search user
|
||||
REM # example : AUTHENTIFICATION_PASSWORD=admin
|
||||
REM SET LDAP_AUTHENTIFICATION_PASSWORD=
|
||||
REM LDAP_LOG_ENABLED : Enable logs for the module
|
||||
REM example : LDAP_LOG_ENABLED=true
|
||||
|
||||
REM # LDAP_LOG_ENABLED : Enable logs for the module
|
||||
REM # example : LDAP_LOG_ENABLED=true
|
||||
REM SET LDAP_LOG_ENABLED=false
|
||||
REM LDAP_BACKGROUND_SYNC : If the sync of the users should be done in the background
|
||||
REM example : LDAP_BACKGROUND_SYNC=true
|
||||
|
||||
REM # LDAP_BACKGROUND_SYNC : If the sync of the users should be done in the background
|
||||
REM # example : LDAP_BACKGROUND_SYNC=true
|
||||
REM SET LDAP_BACKGROUND_SYNC=false
|
||||
REM LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds
|
||||
REM example : LDAP_BACKGROUND_SYNC_INTERVAL=12345
|
||||
|
||||
REM # LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds
|
||||
REM # example : LDAP_BACKGROUND_SYNC_INTERVAL=12345
|
||||
REM SET LDAP_BACKGROUND_SYNC_INTERVAL=100
|
||||
REM LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED :
|
||||
REM example : LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=true
|
||||
|
||||
REM # LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED :
|
||||
REM # example : LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=true
|
||||
REM SET LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
|
||||
REM LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS :
|
||||
REM example : LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=true
|
||||
|
||||
REM # LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS :
|
||||
REM # example : LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=true
|
||||
REM SET LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=false
|
||||
REM LDAP_ENCRYPTION : If using LDAPS
|
||||
REM example : LDAP_ENCRYPTION=ssl
|
||||
|
||||
REM # LDAP_ENCRYPTION : If using LDAPS
|
||||
REM # example : LDAP_ENCRYPTION=ssl
|
||||
REM SET LDAP_ENCRYPTION=false
|
||||
REM LDAP_CA_CERT : The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file.
|
||||
REM example : LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----
|
||||
|
||||
REM # LDAP_CA_CERT : The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file.
|
||||
REM # example : LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----
|
||||
REM SET LDAP_CA_CERT=
|
||||
REM LDAP_REJECT_UNAUTHORIZED : Reject Unauthorized Certificate
|
||||
REM example : LDAP_REJECT_UNAUTHORIZED=true
|
||||
|
||||
REM # LDAP_REJECT_UNAUTHORIZED : Reject Unauthorized Certificate
|
||||
REM # example : LDAP_REJECT_UNAUTHORIZED=true
|
||||
REM SET LDAP_REJECT_UNAUTHORIZED=false
|
||||
REM LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
REM example : LDAP_USER_SEARCH_FILTER=
|
||||
|
||||
REM # LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
REM # example : LDAP_USER_SEARCH_FILTER=
|
||||
REM SET LDAP_USER_SEARCH_FILTER=
|
||||
REM LDAP_USER_SEARCH_SCOPE : base (search only in the provided DN), one (search only in the provided DN and one level deep), or sub (search the whole subtree)
|
||||
REM example : LDAP_USER_SEARCH_SCOPE=one
|
||||
|
||||
REM # LDAP_USER_SEARCH_SCOPE : base (search only in the provided DN), one (search only in the provided DN and one level deep), or sub (search the whole subtree)
|
||||
REM # example : LDAP_USER_SEARCH_SCOPE=one
|
||||
REM SET LDAP_USER_SEARCH_SCOPE=
|
||||
REM LDAP_USER_SEARCH_FIELD : Which field is used to find the user
|
||||
REM example : LDAP_USER_SEARCH_FIELD=uid
|
||||
|
||||
REM # LDAP_USER_SEARCH_FIELD : Which field is used to find the user
|
||||
REM # example : LDAP_USER_SEARCH_FIELD=uid
|
||||
REM SET LDAP_USER_SEARCH_FIELD=
|
||||
REM LDAP_SEARCH_PAGE_SIZE : Used for pagination (0=unlimited)
|
||||
REM example : LDAP_SEARCH_PAGE_SIZE=12345
|
||||
|
||||
REM # LDAP_SEARCH_PAGE_SIZE : Used for pagination (0=unlimited)
|
||||
REM # example : LDAP_SEARCH_PAGE_SIZE=12345
|
||||
REM SET LDAP_SEARCH_PAGE_SIZE=0
|
||||
REM LDAP_SEARCH_SIZE_LIMIT : The limit number of entries (0=unlimited)
|
||||
REM example : LDAP_SEARCH_SIZE_LIMIT=12345
|
||||
|
||||
REM # LDAP_SEARCH_SIZE_LIMIT : The limit number of entries (0=unlimited)
|
||||
REM #33 example : LDAP_SEARCH_SIZE_LIMIT=12345
|
||||
REM SET LDAP_SEARCH_SIZE_LIMIT=0
|
||||
REM LDAP_GROUP_FILTER_ENABLE : Enable group filtering
|
||||
REM example : LDAP_GROUP_FILTER_ENABLE=true
|
||||
|
||||
REM # LDAP_GROUP_FILTER_ENABLE : Enable group filtering
|
||||
REM # example : LDAP_GROUP_FILTER_ENABLE=true
|
||||
REM SET LDAP_GROUP_FILTER_ENABLE=false
|
||||
REM LDAP_GROUP_FILTER_OBJECTCLASS : The object class for filtering
|
||||
REM example : LDAP_GROUP_FILTER_OBJECTCLASS=group
|
||||
|
||||
REM # LDAP_GROUP_FILTER_OBJECTCLASS : The object class for filtering
|
||||
REM # example : LDAP_GROUP_FILTER_OBJECTCLASS=group
|
||||
REM SET LDAP_GROUP_FILTER_OBJECTCLASS=
|
||||
REM LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE :
|
||||
REM example :
|
||||
|
||||
REM # LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE :
|
||||
REM # example :
|
||||
REM SET LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE=
|
||||
REM LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE :
|
||||
REM example :
|
||||
|
||||
REM # LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE :
|
||||
REM # example :
|
||||
REM SET LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE=
|
||||
REM LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT :
|
||||
REM example :
|
||||
|
||||
REM # LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT :
|
||||
REM # example :
|
||||
REM SET LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT=
|
||||
REM LDAP_GROUP_FILTER_GROUP_NAME :
|
||||
REM example :
|
||||
|
||||
REM # LDAP_GROUP_FILTER_GROUP_NAME :
|
||||
REM # example :
|
||||
REM SET LDAP_GROUP_FILTER_GROUP_NAME=
|
||||
REM LDAP_UNIQUE_IDENTIFIER_FIELD : This field is sometimes class GUID (Globally Unique Identifier)
|
||||
REM example : LDAP_UNIQUE_IDENTIFIER_FIELD=guid
|
||||
|
||||
REM # LDAP_UNIQUE_IDENTIFIER_FIELD : This field is sometimes class GUID (Globally Unique Identifier)
|
||||
REM # example : LDAP_UNIQUE_IDENTIFIER_FIELD=guid
|
||||
REM SET LDAP_UNIQUE_IDENTIFIER_FIELD=
|
||||
REM LDAP_UTF8_NAMES_SLUGIFY : Convert the username to utf8
|
||||
REM example : LDAP_UTF8_NAMES_SLUGIFY=false
|
||||
|
||||
REM # LDAP_UTF8_NAMES_SLUGIFY : Convert the username to utf8
|
||||
REM # example : LDAP_UTF8_NAMES_SLUGIFY=false
|
||||
REM SET LDAP_UTF8_NAMES_SLUGIFY=true
|
||||
REM LDAP_USERNAME_FIELD : Which field contains the ldap username
|
||||
REM example : LDAP_USERNAME_FIELD=username
|
||||
|
||||
REM # LDAP_USERNAME_FIELD : Which field contains the ldap username
|
||||
REM # example : LDAP_USERNAME_FIELD=username
|
||||
REM SET LDAP_USERNAME_FIELD=
|
||||
REM LDAP_MERGE_EXISTING_USERS :
|
||||
REM example : LDAP_MERGE_EXISTING_USERS=true
|
||||
|
||||
REM # LDAP_MERGE_EXISTING_USERS :
|
||||
REM # example : LDAP_MERGE_EXISTING_USERS=true
|
||||
REM SET LDAP_MERGE_EXISTING_USERS=false
|
||||
REM LDAP_SYNC_USER_DATA :
|
||||
REM example : LDAP_SYNC_USER_DATA=true
|
||||
|
||||
REM # LDAP_SYNC_USER_DATA :
|
||||
REM # example : LDAP_SYNC_USER_DATA=true
|
||||
REM SET LDAP_SYNC_USER_DATA=false
|
||||
REM LDAP_SYNC_USER_DATA_FIELDMAP :
|
||||
REM example : LDAP_SYNC_USER_DATA_FIELDMAP={"cn":"name", "mail":"email"}
|
||||
|
||||
REM # LDAP_SYNC_USER_DATA_FIELDMAP :
|
||||
REM # example : LDAP_SYNC_USER_DATA_FIELDMAP={"cn":"name", "mail":"email"}
|
||||
REM SET LDAP_SYNC_USER_DATA_FIELDMAP=
|
||||
REM LDAP_SYNC_GROUP_ROLES :
|
||||
REM example :
|
||||
REM SET LDAP_SYNC_GROUP_ROLES=
|
||||
REM LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
REM example :
|
||||
|
||||
REM # LDAP_SYNC_GROUP_ROLES :
|
||||
REM # example :
|
||||
REM # SET LDAP_SYNC_GROUP_ROLES=
|
||||
|
||||
REM # LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
REM # example :
|
||||
REM SET LDAP_DEFAULT_DOMAIN=
|
||||
|
||||
REM ------------------------------------------------
|
||||
|
||||
REM # LOGOUT_WITH_TIMER : Enables or not the option logout with timer
|
||||
REM # example : LOGOUT_WITH_TIMER=true
|
||||
REM SET LOGOUT_WITH_TIMER=
|
||||
|
||||
REM # LOGOUT_IN : The number of days
|
||||
REM # example : LOGOUT_IN=1
|
||||
REM SET LOGOUT_IN=
|
||||
|
||||
REM # LOGOUT_ON_HOURS : The number of hours
|
||||
REM # example : LOGOUT_ON_HOURS=9
|
||||
REM SET LOGOUT_ON_HOURS=
|
||||
|
||||
REM # LOGOUT_ON_MINUTES : The number of minutes
|
||||
REM # example : LOGOUT_ON_MINUTES=55
|
||||
REM SET LOGOUT_ON_MINUTES=
|
||||
|
||||
cd .build\bundle
|
||||
node main.js
|
||||
cd ..\..
|
||||
+216
-197
@@ -1,206 +1,225 @@
|
||||
#!/bin/bash
|
||||
|
||||
function wekan_repo_check(){
|
||||
git_remotes="$(git remote show 2>/dev/null)"
|
||||
res=""
|
||||
for i in $git_remotes; do
|
||||
res="$(git remote get-url $i | sed 's/.*wekan\/wekan.*/wekan\/wekan/')"
|
||||
if [[ "$res" == "wekan/wekan" ]]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
git_remotes="$(git remote show 2>/dev/null)"
|
||||
res=""
|
||||
for i in $git_remotes; do
|
||||
res="$(git remote get-url $i | sed 's/.*wekan\/wekan.*/wekan\/wekan/')"
|
||||
if [[ "$res" == "wekan/wekan" ]]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "$res" != "wekan/wekan" ]]; then
|
||||
echo "$PWD is not a wekan repository"
|
||||
exit;
|
||||
fi
|
||||
if [[ "$res" != "wekan/wekan" ]]; then
|
||||
echo "$PWD is not a wekan repository"
|
||||
exit;
|
||||
fi
|
||||
}
|
||||
|
||||
# If you want to restart even on crash, uncomment while and done lines.
|
||||
#while true; do
|
||||
wekan_repo_check
|
||||
cd .build/bundle
|
||||
export MONGO_URL='mongodb://127.0.0.1:27019/wekan'
|
||||
# Production: https://example.com/wekan
|
||||
# Local: http://localhost:2000
|
||||
#export ipaddress=$(ifdata -pa eth0)
|
||||
export ROOT_URL='http://localhost:2000'
|
||||
# https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
|
||||
# https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml
|
||||
export MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
|
||||
#export KADIRA_OPTIONS_ENDPOINT=http://127.0.0.1:11011
|
||||
# This is local port where Wekan Node.js runs, same as below on Caddyfile settings.
|
||||
export PORT=2000
|
||||
# Wekan Export Board works when WITH_API=true.
|
||||
# If you disable Wekan API with false, Export Board does not work.
|
||||
export WITH_API='true'
|
||||
#---------------------------------------------
|
||||
## Optional: Integration with Matomo https://matomo.org that is installed to your server
|
||||
## The address of the server where Matomo is hosted:
|
||||
##export MATOMO_ADDRESS=https://example.com/matomo
|
||||
#export MATOMO_ADDRESS=
|
||||
## The value of the site ID given in Matomo server for Wekan
|
||||
# Example: export MATOMO_SITE_ID=123456789
|
||||
#export MATOMO_SITE_ID=''
|
||||
## The option do not track which enables users to not be tracked by matomo"
|
||||
#Example: export MATOMO_DO_NOT_TRACK=false
|
||||
#export MATOMO_DO_NOT_TRACK=true
|
||||
## The option that allows matomo to retrieve the username:
|
||||
# Example: export MATOMO_WITH_USERNAME=true
|
||||
#export MATOMO_WITH_USERNAME='false'
|
||||
# Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside.
|
||||
# Setting this to false is not recommended, it also disables all other browser policy protections
|
||||
# and allows all iframing etc. See wekan/server/policy.js
|
||||
# Default value: true
|
||||
export BROWSER_POLICY_ENABLED=true
|
||||
# When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
|
||||
# Example: export TRUSTED_URL=http://example.com
|
||||
export TRUSTED_URL=''
|
||||
# What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
|
||||
# Example: export WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
|
||||
export WEBHOOKS_ATTRIBUTES=''
|
||||
#---------------------------------------------
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
|
||||
# example: export OAUTH2_CLIENT_ID=abcde12345
|
||||
#export OAUTH2_CLIENT_ID=''
|
||||
# OAuth2 Secret, for example from Rocket.Chat: Example: 54321abcde
|
||||
# example: export OAUTH2_SECRET=54321abcde
|
||||
#export OAUTH2_SECRET=''
|
||||
# OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com
|
||||
# example: export OAUTH2_SERVER_URL=https://chat.example.com
|
||||
#export OAUTH2_SERVER_URL=''
|
||||
# OAuth2 Authorization Endpoint. Example: /oauth/authorize
|
||||
# example: export OAUTH2_AUTH_ENDPOINT=/oauth/authorize
|
||||
#export OAUTH2_AUTH_ENDPOINT=''
|
||||
# OAuth2 Userinfo Endpoint. Example: /oauth/userinfo
|
||||
# example: export OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
|
||||
#export OAUTH2_USERINFO_ENDPOINT=''
|
||||
# OAuth2 Token Endpoint. Example: /oauth/token
|
||||
# example: export OAUTH2_TOKEN_ENDPOINT=/oauth/token
|
||||
#export OAUTH2_TOKEN_ENDPOINT=''
|
||||
#---------------------------------------------
|
||||
# LDAP_ENABLE : Enable or not the connection by the LDAP
|
||||
# example : export LDAP_ENABLE=true
|
||||
#export LDAP_ENABLE=false
|
||||
# LDAP_PORT : The port of the LDAP server
|
||||
# example : export LDAP_PORT=389
|
||||
#export LDAP_PORT=389
|
||||
# LDAP_HOST : The host server for the LDAP server
|
||||
# example : export LDAP_HOST=localhost
|
||||
#export LDAP_HOST=
|
||||
# LDAP_BASEDN : The base DN for the LDAP Tree
|
||||
# example : export LDAP_BASEDN=ou=user,dc=example,dc=org
|
||||
#export LDAP_BASEDN=
|
||||
# LDAP_LOGIN_FALLBACK : Fallback on the default authentication method
|
||||
# example : export LDAP_LOGIN_FALLBACK=true
|
||||
#export LDAP_LOGIN_FALLBACK=false
|
||||
# LDAP_RECONNECT : Reconnect to the server if the connection is lost
|
||||
# example : export LDAP_RECONNECT=false
|
||||
#export LDAP_RECONNECT=true
|
||||
# LDAP_TIMEOUT : Overall timeout, in milliseconds
|
||||
# example : export LDAP_TIMEOUT=12345
|
||||
#export LDAP_TIMEOUT=10000
|
||||
# LDAP_IDLE_TIMEOUT : Specifies the timeout for idle LDAP connections in milliseconds
|
||||
# example : export LDAP_IDLE_TIMEOUT=12345
|
||||
#export LDAP_IDLE_TIMEOUT=10000
|
||||
# LDAP_CONNECT_TIMEOUT : Connection timeout, in milliseconds
|
||||
# example : export LDAP_CONNECT_TIMEOUT=12345
|
||||
#export LDAP_CONNECT_TIMEOUT=10000
|
||||
# LDAP_AUTHENTIFICATION : If the LDAP needs a user account to search
|
||||
# example : export LDAP_AUTHENTIFICATION=true
|
||||
#export LDAP_AUTHENTIFICATION=false
|
||||
# LDAP_AUTHENTIFICATION_USERDN : The search user DN
|
||||
# example : export LDAP_AUTHENTIFICATION_USERDN=cn=admin,dc=example,dc=org
|
||||
#export LDAP_AUTHENTIFICATION_USERDN=
|
||||
# LDAP_AUTHENTIFICATION_PASSWORD : The password for the search user
|
||||
# example : AUTHENTIFICATION_PASSWORD=admin
|
||||
#export LDAP_AUTHENTIFICATION_PASSWORD=
|
||||
# LDAP_LOG_ENABLED : Enable logs for the module
|
||||
# example : export LDAP_LOG_ENABLED=true
|
||||
#export LDAP_LOG_ENABLED=false
|
||||
# LDAP_BACKGROUND_SYNC : If the sync of the users should be done in the background
|
||||
# example : export LDAP_BACKGROUND_SYNC=true
|
||||
#export LDAP_BACKGROUND_SYNC=false
|
||||
# LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds
|
||||
# example : export LDAP_BACKGROUND_SYNC_INTERVAL=12345
|
||||
#export LDAP_BACKGROUND_SYNC_INTERVAL=100
|
||||
# LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED :
|
||||
# example : export LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=true
|
||||
#export LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
|
||||
# LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS :
|
||||
# example : export LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=true
|
||||
#export LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=false
|
||||
# LDAP_ENCRYPTION : If using LDAPS
|
||||
# example : export LDAP_ENCRYPTION=ssl
|
||||
#export LDAP_ENCRYPTION=false
|
||||
# LDAP_CA_CERT : The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file.
|
||||
# example : export LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----
|
||||
#export LDAP_CA_CERT=
|
||||
# LDAP_REJECT_UNAUTHORIZED : Reject Unauthorized Certificate
|
||||
# example : export LDAP_REJECT_UNAUTHORIZED=true
|
||||
#export LDAP_REJECT_UNAUTHORIZED=false
|
||||
# LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
# example : export LDAP_USER_SEARCH_FILTER=
|
||||
#export LDAP_USER_SEARCH_FILTER=
|
||||
# LDAP_USER_SEARCH_SCOPE : base (search only in the provided DN), one (search only in the provided DN and one level deep), or sub (search the whole subtree)
|
||||
# example : export LDAP_USER_SEARCH_SCOPE=one
|
||||
#export LDAP_USER_SEARCH_SCOPE=
|
||||
# LDAP_USER_SEARCH_FIELD : Which field is used to find the user
|
||||
# example : export LDAP_USER_SEARCH_FIELD=uid
|
||||
#export LDAP_USER_SEARCH_FIELD=
|
||||
# LDAP_SEARCH_PAGE_SIZE : Used for pagination (0=unlimited)
|
||||
# example : export LDAP_SEARCH_PAGE_SIZE=12345
|
||||
#export LDAP_SEARCH_PAGE_SIZE=0
|
||||
# LDAP_SEARCH_SIZE_LIMIT : The limit number of entries (0=unlimited)
|
||||
# example : export LDAP_SEARCH_SIZE_LIMIT=12345
|
||||
#export LDAP_SEARCH_SIZE_LIMIT=0
|
||||
# LDAP_GROUP_FILTER_ENABLE : Enable group filtering
|
||||
# example : export LDAP_GROUP_FILTER_ENABLE=true
|
||||
#export LDAP_GROUP_FILTER_ENABLE=false
|
||||
# LDAP_GROUP_FILTER_OBJECTCLASS : The object class for filtering
|
||||
# example : export LDAP_GROUP_FILTER_OBJECTCLASS=group
|
||||
#export LDAP_GROUP_FILTER_OBJECTCLASS=
|
||||
# LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE=
|
||||
# LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE=
|
||||
# LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT=
|
||||
# LDAP_GROUP_FILTER_GROUP_NAME :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_NAME=
|
||||
# LDAP_UNIQUE_IDENTIFIER_FIELD : This field is sometimes class GUID (Globally Unique Identifier)
|
||||
# example : export LDAP_UNIQUE_IDENTIFIER_FIELD=guid
|
||||
#export LDAP_UNIQUE_IDENTIFIER_FIELD=
|
||||
# LDAP_UTF8_NAMES_SLUGIFY : Convert the username to utf8
|
||||
# example : export LDAP_UTF8_NAMES_SLUGIFY=false
|
||||
#export LDAP_UTF8_NAMES_SLUGIFY=true
|
||||
# LDAP_USERNAME_FIELD : Which field contains the ldap username
|
||||
# example : export LDAP_USERNAME_FIELD=username
|
||||
#export LDAP_USERNAME_FIELD=
|
||||
# LDAP_FULLNAME_FIELD : Which field contains the ldap fullname
|
||||
# example : export LDAP_FULLNAME_FIELD=fullname
|
||||
#export LDAP_FULLNAME_FIELD=
|
||||
# LDAP_MERGE_EXISTING_USERS :
|
||||
# example : export LDAP_MERGE_EXISTING_USERS=true
|
||||
#export LDAP_MERGE_EXISTING_USERS=false
|
||||
# LDAP_SYNC_USER_DATA :
|
||||
# example : export LDAP_SYNC_USER_DATA=true
|
||||
#export LDAP_SYNC_USER_DATA=false
|
||||
# LDAP_SYNC_USER_DATA_FIELDMAP :
|
||||
# example : export LDAP_SYNC_USER_DATA_FIELDMAP={"cn":"name", "mail":"email"}
|
||||
#export LDAP_SYNC_USER_DATA_FIELDMAP=
|
||||
# LDAP_SYNC_GROUP_ROLES :
|
||||
# example :
|
||||
#export LDAP_SYNC_GROUP_ROLES=
|
||||
# LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
# example :
|
||||
#export LDAP_DEFAULT_DOMAIN=
|
||||
node main.js
|
||||
# & >> ../../wekan.log
|
||||
cd ../..
|
||||
wekan_repo_check
|
||||
cd .build/bundle
|
||||
export MONGO_URL='mongodb://127.0.0.1:27019/wekan'
|
||||
#---------------------------------------------
|
||||
# Production: https://example.com/wekan
|
||||
# Local: http://localhost:2000
|
||||
#export ipaddress=$(ifdata -pa eth0)
|
||||
export ROOT_URL='http://localhost:2000'
|
||||
#---------------------------------------------
|
||||
# https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
|
||||
# https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml
|
||||
export MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
|
||||
#---------------------------------------------
|
||||
#export KADIRA_OPTIONS_ENDPOINT=http://127.0.0.1:11011
|
||||
#---------------------------------------------
|
||||
# This is local port where Wekan Node.js runs, same as below on Caddyfile settings.
|
||||
export PORT=2000
|
||||
#---------------------------------------------
|
||||
# Wekan Export Board works when WITH_API=true.
|
||||
# If you disable Wekan API with false, Export Board does not work.
|
||||
export WITH_API='true'
|
||||
#---------------------------------------------
|
||||
# CORS: Set Access-Control-Allow-Origin header. Example: *
|
||||
#- CORS=*
|
||||
#---------------------------------------------
|
||||
## Optional: Integration with Matomo https://matomo.org that is installed to your server
|
||||
## The address of the server where Matomo is hosted:
|
||||
##export MATOMO_ADDRESS=https://example.com/matomo
|
||||
#export MATOMO_ADDRESS=
|
||||
## The value of the site ID given in Matomo server for Wekan
|
||||
# Example: export MATOMO_SITE_ID=123456789
|
||||
#export MATOMO_SITE_ID=''
|
||||
## The option do not track which enables users to not be tracked by matomo"
|
||||
#Example: export MATOMO_DO_NOT_TRACK=false
|
||||
#export MATOMO_DO_NOT_TRACK=true
|
||||
## The option that allows matomo to retrieve the username:
|
||||
# Example: export MATOMO_WITH_USERNAME=true
|
||||
#export MATOMO_WITH_USERNAME='false'
|
||||
# Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside.
|
||||
# Setting this to false is not recommended, it also disables all other browser policy protections
|
||||
# and allows all iframing etc. See wekan/server/policy.js
|
||||
# Default value: true
|
||||
export BROWSER_POLICY_ENABLED=true
|
||||
# When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
|
||||
# Example: export TRUSTED_URL=http://example.com
|
||||
export TRUSTED_URL=''
|
||||
# What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
|
||||
# Example: export WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
|
||||
export WEBHOOKS_ATTRIBUTES=''
|
||||
#---------------------------------------------
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
|
||||
# example: export OAUTH2_CLIENT_ID=abcde12345
|
||||
#export OAUTH2_CLIENT_ID=''
|
||||
# OAuth2 Secret, for example from Rocket.Chat: Example: 54321abcde
|
||||
# example: export OAUTH2_SECRET=54321abcde
|
||||
#export OAUTH2_SECRET=''
|
||||
# OAuth2 Server URL, for example Rocket.Chat. Example: https://chat.example.com
|
||||
# example: export OAUTH2_SERVER_URL=https://chat.example.com
|
||||
#export OAUTH2_SERVER_URL=''
|
||||
# OAuth2 Authorization Endpoint. Example: /oauth/authorize
|
||||
# example: export OAUTH2_AUTH_ENDPOINT=/oauth/authorize
|
||||
#export OAUTH2_AUTH_ENDPOINT=''
|
||||
# OAuth2 Userinfo Endpoint. Example: /oauth/userinfo
|
||||
# example: export OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
|
||||
#export OAUTH2_USERINFO_ENDPOINT=''
|
||||
# OAuth2 Token Endpoint. Example: /oauth/token
|
||||
# example: export OAUTH2_TOKEN_ENDPOINT=/oauth/token
|
||||
#export OAUTH2_TOKEN_ENDPOINT=''
|
||||
#---------------------------------------------
|
||||
# LDAP_ENABLE : Enable or not the connection by the LDAP
|
||||
# example : export LDAP_ENABLE=true
|
||||
#export LDAP_ENABLE=false
|
||||
# LDAP_PORT : The port of the LDAP server
|
||||
# example : export LDAP_PORT=389
|
||||
#export LDAP_PORT=389
|
||||
# LDAP_HOST : The host server for the LDAP server
|
||||
# example : export LDAP_HOST=localhost
|
||||
#export LDAP_HOST=
|
||||
# LDAP_BASEDN : The base DN for the LDAP Tree
|
||||
# example : export LDAP_BASEDN=ou=user,dc=example,dc=org
|
||||
#export LDAP_BASEDN=
|
||||
# LDAP_LOGIN_FALLBACK : Fallback on the default authentication method
|
||||
# example : export LDAP_LOGIN_FALLBACK=true
|
||||
#export LDAP_LOGIN_FALLBACK=false
|
||||
# LDAP_RECONNECT : Reconnect to the server if the connection is lost
|
||||
# example : export LDAP_RECONNECT=false
|
||||
#export LDAP_RECONNECT=true
|
||||
# LDAP_TIMEOUT : Overall timeout, in milliseconds
|
||||
# example : export LDAP_TIMEOUT=12345
|
||||
#export LDAP_TIMEOUT=10000
|
||||
# LDAP_IDLE_TIMEOUT : Specifies the timeout for idle LDAP connections in milliseconds
|
||||
# example : export LDAP_IDLE_TIMEOUT=12345
|
||||
#export LDAP_IDLE_TIMEOUT=10000
|
||||
# LDAP_CONNECT_TIMEOUT : Connection timeout, in milliseconds
|
||||
# example : export LDAP_CONNECT_TIMEOUT=12345
|
||||
#export LDAP_CONNECT_TIMEOUT=10000
|
||||
# LDAP_AUTHENTIFICATION : If the LDAP needs a user account to search
|
||||
# example : export LDAP_AUTHENTIFICATION=true
|
||||
#export LDAP_AUTHENTIFICATION=false
|
||||
# LDAP_AUTHENTIFICATION_USERDN : The search user DN
|
||||
# example : export LDAP_AUTHENTIFICATION_USERDN=cn=admin,dc=example,dc=org
|
||||
#export LDAP_AUTHENTIFICATION_USERDN=
|
||||
# LDAP_AUTHENTIFICATION_PASSWORD : The password for the search user
|
||||
# example : AUTHENTIFICATION_PASSWORD=admin
|
||||
#export LDAP_AUTHENTIFICATION_PASSWORD=
|
||||
# LDAP_LOG_ENABLED : Enable logs for the module
|
||||
# example : export LDAP_LOG_ENABLED=true
|
||||
#export LDAP_LOG_ENABLED=false
|
||||
# LDAP_BACKGROUND_SYNC : If the sync of the users should be done in the background
|
||||
# example : export LDAP_BACKGROUND_SYNC=true
|
||||
#export LDAP_BACKGROUND_SYNC=false
|
||||
# LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds
|
||||
# example : export LDAP_BACKGROUND_SYNC_INTERVAL=12345
|
||||
#export LDAP_BACKGROUND_SYNC_INTERVAL=100
|
||||
# LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED :
|
||||
# example : export LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=true
|
||||
#export LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
|
||||
# LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS :
|
||||
# example : export LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=true
|
||||
#export LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=false
|
||||
# LDAP_ENCRYPTION : If using LDAPS
|
||||
# example : export LDAP_ENCRYPTION=ssl
|
||||
#export LDAP_ENCRYPTION=false
|
||||
# LDAP_CA_CERT : The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file.
|
||||
# example : export LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----
|
||||
#export LDAP_CA_CERT=
|
||||
# LDAP_REJECT_UNAUTHORIZED : Reject Unauthorized Certificate
|
||||
# example : export LDAP_REJECT_UNAUTHORIZED=true
|
||||
#export LDAP_REJECT_UNAUTHORIZED=false
|
||||
# LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
# example : export LDAP_USER_SEARCH_FILTER=
|
||||
#export LDAP_USER_SEARCH_FILTER=
|
||||
# LDAP_USER_SEARCH_SCOPE : base (search only in the provided DN), one (search only in the provided DN and one level deep), or sub (search the whole subtree)
|
||||
# example : export LDAP_USER_SEARCH_SCOPE=one
|
||||
#export LDAP_USER_SEARCH_SCOPE=
|
||||
# LDAP_USER_SEARCH_FIELD : Which field is used to find the user
|
||||
# example : export LDAP_USER_SEARCH_FIELD=uid
|
||||
#export LDAP_USER_SEARCH_FIELD=
|
||||
# LDAP_SEARCH_PAGE_SIZE : Used for pagination (0=unlimited)
|
||||
# example : export LDAP_SEARCH_PAGE_SIZE=12345
|
||||
#export LDAP_SEARCH_PAGE_SIZE=0
|
||||
# LDAP_SEARCH_SIZE_LIMIT : The limit number of entries (0=unlimited)
|
||||
# example : export LDAP_SEARCH_SIZE_LIMIT=12345
|
||||
#export LDAP_SEARCH_SIZE_LIMIT=0
|
||||
# LDAP_GROUP_FILTER_ENABLE : Enable group filtering
|
||||
# example : export LDAP_GROUP_FILTER_ENABLE=true
|
||||
#export LDAP_GROUP_FILTER_ENABLE=false
|
||||
# LDAP_GROUP_FILTER_OBJECTCLASS : The object class for filtering
|
||||
# example : export LDAP_GROUP_FILTER_OBJECTCLASS=group
|
||||
#export LDAP_GROUP_FILTER_OBJECTCLASS=
|
||||
# LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE=
|
||||
# LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE=
|
||||
# LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT=
|
||||
# LDAP_GROUP_FILTER_GROUP_NAME :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_NAME=
|
||||
# LDAP_UNIQUE_IDENTIFIER_FIELD : This field is sometimes class GUID (Globally Unique Identifier)
|
||||
# example : export LDAP_UNIQUE_IDENTIFIER_FIELD=guid
|
||||
#export LDAP_UNIQUE_IDENTIFIER_FIELD=
|
||||
# LDAP_UTF8_NAMES_SLUGIFY : Convert the username to utf8
|
||||
# example : export LDAP_UTF8_NAMES_SLUGIFY=false
|
||||
#export LDAP_UTF8_NAMES_SLUGIFY=true
|
||||
# LDAP_USERNAME_FIELD : Which field contains the ldap username
|
||||
# example : export LDAP_USERNAME_FIELD=username
|
||||
#export LDAP_USERNAME_FIELD=
|
||||
# LDAP_FULLNAME_FIELD : Which field contains the ldap fullname
|
||||
# example : export LDAP_FULLNAME_FIELD=fullname
|
||||
#export LDAP_FULLNAME_FIELD=
|
||||
# LDAP_MERGE_EXISTING_USERS :
|
||||
# example : export LDAP_MERGE_EXISTING_USERS=true
|
||||
#export LDAP_MERGE_EXISTING_USERS=false
|
||||
# LDAP_SYNC_USER_DATA :
|
||||
# example : export LDAP_SYNC_USER_DATA=true
|
||||
#export LDAP_SYNC_USER_DATA=false
|
||||
# LDAP_SYNC_USER_DATA_FIELDMAP :
|
||||
# example : export LDAP_SYNC_USER_DATA_FIELDMAP={"cn":"name", "mail":"email"}
|
||||
#export LDAP_SYNC_USER_DATA_FIELDMAP=
|
||||
# LDAP_SYNC_GROUP_ROLES :
|
||||
# example :
|
||||
#export LDAP_SYNC_GROUP_ROLES=
|
||||
# LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
# example :
|
||||
#export LDAP_DEFAULT_DOMAIN=
|
||||
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
|
||||
# example : LOGOUT_WITH_TIMER=true
|
||||
#- LOGOUT_WITH_TIMER=
|
||||
# LOGOUT_IN : The number of days
|
||||
# example : LOGOUT_IN=1
|
||||
#- LOGOUT_IN=
|
||||
#- LOGOUT_ON_HOURS=
|
||||
# LOGOUT_ON_MINUTES : The number of minutes
|
||||
# example : LOGOUT_ON_MINUTES=55
|
||||
#- LOGOUT_ON_MINUTES=
|
||||
|
||||
node main.js
|
||||
# & >> ../../wekan.log
|
||||
cd ../..
|
||||
#done
|
||||
Reference in new issue
Block a user