mirror of
https://github.com/wekan/wekan.git
synced 2026-11-05 21:44:59 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10e88fccd6 | ||
|
|
cc781c0082 | ||
|
|
5198ee997c | ||
|
|
4843d6cdc1 | ||
|
|
8ca0b2d9c3 | ||
|
|
cf589cb792 | ||
|
|
eda05e0157 | ||
|
|
4ae8a0308e | ||
|
|
88c6ce1c7e | ||
|
|
b714e2fca0 | ||
|
|
ce3a931c59 | ||
|
|
69f5d90e91 | ||
|
|
1a6ab68752 | ||
|
|
f13001e53a | ||
|
|
824b537db0 | ||
|
|
42e4bc3105 | ||
|
|
ebcedcffec | ||
|
|
b8cc84261f | ||
|
|
4e2475502a | ||
|
|
7dd9bcce2b | ||
|
|
620628dca3 | ||
|
|
5ee7d52e8c | ||
|
|
26004b1f73 | ||
|
|
59c42bc1a3 | ||
|
|
c8a7d539f3 | ||
|
|
98c86bcc0f | ||
|
|
1b138e14c3 | ||
|
|
a54e52d34b | ||
|
|
67218fb61d | ||
|
|
4eb0085243 | ||
|
|
38a8fcb69a | ||
|
|
64592d734c | ||
|
|
abddc8a864 | ||
|
|
09b45aca4f | ||
|
|
f624211620 | ||
|
|
c19cde53d6 | ||
|
|
cf8694fcd1 | ||
|
|
28d640afb4 | ||
|
|
7b432078a0 | ||
|
|
19703fed31 | ||
|
|
b01e127cc3 | ||
|
|
f0c2d81352 | ||
|
|
67896adefc | ||
|
|
d1b29b6e61 | ||
|
|
ef93aad659 | ||
|
|
616b433409 | ||
|
|
515d96eef0 | ||
|
|
85963cc58d | ||
|
|
e15611a0ea | ||
|
|
f89a2ab91d | ||
|
|
18d3fb75ac | ||
|
|
f5bc2b08f9 | ||
|
|
80e5916394 | ||
|
|
48c47f9911 | ||
|
|
c3f5849f11 | ||
|
|
c73346eda0 | ||
|
|
d976455a12 | ||
|
|
f10f80f655 |
No files matched your search
@@ -11,4 +11,4 @@ jobs:
|
||||
- name: 'Checkout Repository'
|
||||
uses: actions/checkout@v4
|
||||
- name: 'Dependency Review'
|
||||
uses: actions/dependency-review-action@v3
|
||||
uses: actions/dependency-review-action@v4
|
||||
@@ -48,7 +48,7 @@ jobs:
|
||||
# https://github.com/docker/metadata-action
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@9dc751fe249ad99385a2583ee0d084c400eee04e
|
||||
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81
|
||||
with:
|
||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ jobs:
|
||||
# CACHING
|
||||
- name: Install Meteor
|
||||
id: cache-meteor-install
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.meteor
|
||||
key: v1-meteor-${{ hashFiles('.meteor/versions') }}
|
||||
@@ -104,7 +104,7 @@ jobs:
|
||||
|
||||
- name: Cache NPM dependencies
|
||||
id: cache-meteor-npm
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: v1-npm-${{ hashFiles('package-lock.json') }}
|
||||
@@ -113,7 +113,7 @@ jobs:
|
||||
|
||||
- name: Cache Meteor build
|
||||
id: cache-meteor-build
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
.meteor/local/resolver-result-cache.json
|
||||
|
||||
+2
-2
@@ -43,7 +43,7 @@ random@1.2.1
|
||||
reactive-dict@1.3.1
|
||||
session@1.2.1
|
||||
tracker@1.3.3
|
||||
underscore@1.0.13
|
||||
underscore@1.6.0
|
||||
arillo:flow-router-helpers
|
||||
audit-argument-checks@1.0.7
|
||||
kadira:dochead
|
||||
@@ -83,7 +83,7 @@ matb33:collection-hooks
|
||||
simple:json-routes
|
||||
kadira:flow-router
|
||||
spacebars
|
||||
service-configuration@1.3.2
|
||||
service-configuration@1.3.3
|
||||
communitypackages:picker
|
||||
minifier-css@1.6.4
|
||||
blaze
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
METEOR@2.14
|
||||
METEOR@2.15
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
accounts-base@2.2.9
|
||||
accounts-base@2.2.10
|
||||
accounts-oauth@1.4.3
|
||||
accounts-password@2.4.0
|
||||
aldeed:collection2@2.10.0
|
||||
@@ -63,7 +63,7 @@ localstorage@1.2.0
|
||||
logging@1.3.3
|
||||
matb33:collection-hooks@1.3.0
|
||||
mdg:validation-error@0.5.1
|
||||
meteor@1.11.4
|
||||
meteor@1.11.5
|
||||
meteor-autosize@5.0.1
|
||||
meteor-base@1.5.1
|
||||
meteorhacks:aggregate@1.3.0
|
||||
@@ -123,7 +123,7 @@ reactive-var@1.0.12
|
||||
reload@1.3.1
|
||||
retry@1.1.0
|
||||
routepolicy@1.1.1
|
||||
service-configuration@1.3.2
|
||||
service-configuration@1.3.3
|
||||
session@1.2.1
|
||||
sha@1.0.9
|
||||
shell-server@0.5.0
|
||||
@@ -144,12 +144,12 @@ templating-tools@1.2.2
|
||||
tracker@1.3.3
|
||||
typescript@4.9.5
|
||||
ui@1.0.13
|
||||
underscore@1.0.13
|
||||
underscore@1.6.0
|
||||
url@1.3.2
|
||||
useraccounts:core@1.16.2
|
||||
useraccounts:flow-routing@1.15.0
|
||||
useraccounts:unstyled@1.14.2
|
||||
webapp@1.13.6
|
||||
webapp@1.13.8
|
||||
webapp-hashing@1.1.1
|
||||
wekan-accounts-cas@0.1.0
|
||||
wekan-accounts-lockout@1.0.0
|
||||
|
||||
@@ -15,6 +15,85 @@ Fixing other platforms In Progress.
|
||||
|
||||
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
|
||||
|
||||
# v7.31 2024-02-17 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [api.py: Added getcard and cardsbyswimlane](https://github.com/wekan/wekan/pull/5287).
|
||||
Thanks to xator91.
|
||||
- [api.py: Add card with label and add a label to a card](https://github.com/wekan/wekan/pull/5290).
|
||||
Thanks to xator91.
|
||||
- [api.py: Fix BoardID to SwimlaneID in cardsbyswimlane](https://github.com/wekan/wekan/pull/5290).
|
||||
Thanks to xator91.
|
||||
- [boards.js: New update board title function for API](https://github.com/wekan/wekan/pull/5300).
|
||||
Thanks to xator91.
|
||||
- [api.py: EDIT BOARD TITLE](https://github.com/wekan/wekan/pull/5301).
|
||||
Thanks to xator91.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Release scripts: Commented out not currently in use builds of WeKan bundle](https://github.com/wekan/wekan/commit/4eb0085243672071a392dc32f77dba3103c592ab).
|
||||
Thanks to xet7.
|
||||
- [Try to fix Snap](https://github.com/wekan/wekan/commit/a54e52d34bdab02befda7eefad46d16814d2c46e).
|
||||
Thanks to xet7.
|
||||
- [Updated to Meteor 2.15-rc.1 and removed duplicate nodemailer package because of some errors](https://github.com/wekan/wekan/commit/59c42bc1a3a1792a50379be2f9251fce9b45c1a3).
|
||||
Thanks to Meteor developers.
|
||||
- [Updated to Meteor 2.15](https://github.com/wekan/wekan/commit/5198ee997cb43b503fcb2edaf781b0521d8096cd).
|
||||
Thanks to Meteor developers.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.30 2024-01-28 WeKan ® release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Back to MongoDB 6.0.13](https://github.com/wekan/wekan/commit/64592d734cfdbe10b48c3aa3ea74e0ba35903976).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.29 2024-01-27 WeKan ® release
|
||||
|
||||
This release removes the following features:
|
||||
|
||||
- [Removed markdown-it-mathjax3](https://github.com/wekan/wekan/commit/19703fed311c894b61e9269cc0b973d0b0275a6a).
|
||||
Thanks to Dexus and xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Updated to Meteor 2.14.1-beta.0](https://github.com/wekan/wekan/commit/28d640afb40f4d7c9070fa514c910fbf7065a724).
|
||||
Thanks to Meteor developers.
|
||||
- [Updated to MongoDB 7.0.5 at Snap Candidate and Docker](https://github.com/wekan/wekan/commit/f624211620c5e42ccdd6f931ba473be62437a62c).
|
||||
Thanks to MongoDB developers.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.28 2024-01-23 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Added archive option to of Wekan API](https://github.com/wekan/wekan/pull/5265).
|
||||
Thanks to gustavengstrom.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- Updated dependencies.
|
||||
[Part 1](https://github.com/wekan/wekan/pull/5270),
|
||||
[Part 2](https://github.com/wekan/wekan/pull/5271),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/67896adefc4a12a93fed7575f621f8aa924a2ab8).
|
||||
Thanks to developers of dependencies.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.27 2024-01-02 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix missing maximize card](https://github.com/wekan/wekan/commit/f10f80f6559a6cdee020d5ca34fd5991e07617cf).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.26 2024-01-02 WeKan ® release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v7.26.0"
|
||||
appVersion: "v7.31.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -39,6 +39,11 @@ If *nix: chmod +x api.py => ./api.py users
|
||||
python3 api.py addcustomfieldtoboard AUTHORID BOARDID NAME TYPE SETTINGS SHOWONCARD AUTOMATICALLYONCARD SHOWLABELONMINICARD SHOWSUMATTOPOFLIST # Add Custom Field to Board
|
||||
python3 api.py editcustomfield BOARDID LISTID CARDID CUSTOMFIELDID NEWCUSTOMFIELDVALUE
|
||||
python3 api.py listattachments BOARDID # List attachments
|
||||
python3 api.py cardsbyswimlane SWIMLANEID LISTID
|
||||
python3 api.py getcard BOARDID LISTID CARDID
|
||||
python3 api.py addlabel BOARDID LISTID CARDID LABELID
|
||||
python3 api.py addcardwithlabel AUTHORID BOARDID SWIMLANEID LISTID CARDTITLE CARDDESCRIPTION LABELIDS
|
||||
python3 api.py editboardtitle BOARDID NEWBOARDTITLE
|
||||
|
||||
Admin API:
|
||||
python3 api.py users # All users
|
||||
@@ -179,6 +184,52 @@ if arguments == 10:
|
||||
print(body.text)
|
||||
# ------- ADD CUSTOM FIELD TO BOARD END -----------
|
||||
|
||||
if arguments == 8:
|
||||
|
||||
if sys.argv[1] == 'addcardwithlabel':
|
||||
# ------- ADD CARD WITH LABEL START -----------
|
||||
authorid = sys.argv[2]
|
||||
boardid = sys.argv[3]
|
||||
swimlaneid = sys.argv[4]
|
||||
listid = sys.argv[5]
|
||||
cardtitle = sys.argv[6]
|
||||
carddescription = sys.argv[7]
|
||||
labelIds = sys.argv[8] # Aggiunto labelIds
|
||||
|
||||
cardtolist = wekanurl + apiboards + boardid + s + l + s + listid + s + cs
|
||||
# Add card
|
||||
headers = {'Accept': 'application/json', 'Authorization': 'Bearer {}'.format(apikey)}
|
||||
post_data = {
|
||||
'authorId': '{}'.format(authorid),
|
||||
'title': '{}'.format(cardtitle),
|
||||
'description': '{}'.format(carddescription),
|
||||
'swimlaneId': '{}'.format(swimlaneid),
|
||||
'labelIds': labelIds
|
||||
}
|
||||
|
||||
body = requests.post(cardtolist, data=post_data, headers=headers)
|
||||
print(body.text)
|
||||
|
||||
# If ok id card
|
||||
if body.status_code == 200:
|
||||
card_data = body.json()
|
||||
new_card_id = card_data.get('_id')
|
||||
|
||||
# Updating card
|
||||
if new_card_id:
|
||||
edcard = wekanurl + apiboards + boardid + s + l + s + listid + s + cs + s + new_card_id
|
||||
put_data = {'labelIds': labelIds}
|
||||
body = requests.put(edcard, data=put_data, headers=headers)
|
||||
print("=== EDIT CARD ===\n")
|
||||
body = requests.get(edcard, headers=headers)
|
||||
data2 = body.text.replace('}', "}\n")
|
||||
print(data2)
|
||||
else:
|
||||
print("Error obraining ID.")
|
||||
else:
|
||||
print("Error adding card.")
|
||||
# ------- ADD CARD WITH LABEL END -----------
|
||||
|
||||
if arguments == 7:
|
||||
|
||||
if sys.argv[1] == 'addcard':
|
||||
@@ -237,6 +288,26 @@ if arguments == 6:
|
||||
print(data2)
|
||||
# ------- EDIT CUSTOMFIELD END -----------
|
||||
|
||||
if arguments == 5:
|
||||
|
||||
if sys.argv[1] == 'addlabel':
|
||||
|
||||
# ------- EDIT CARD ADD LABEL START -----------
|
||||
boardid = sys.argv[2]
|
||||
listid = sys.argv[3]
|
||||
cardid = sys.argv[4]
|
||||
labelIds = sys.argv[5]
|
||||
edcard = wekanurl + apiboards + boardid + s + l + s + listid + s + cs + s + cardid
|
||||
print(edcard)
|
||||
headers = {'Accept': 'application/json', 'Authorization': 'Bearer {}'.format(apikey)}
|
||||
put_data = {'labelIds': labelIds}
|
||||
body = requests.put(edcard, data=put_data, headers=headers)
|
||||
print("=== ADD LABEL ===\n")
|
||||
body = requests.get(edcard, headers=headers)
|
||||
data2 = body.text.replace('}',"}\n")
|
||||
print(data2)
|
||||
# ------- EDIT CARD ADD LABEL END -----------
|
||||
|
||||
if arguments == 4:
|
||||
|
||||
if sys.argv[1] == 'newuser':
|
||||
@@ -251,9 +322,58 @@ if arguments == 4:
|
||||
print("=== CREATE NEW USER ===\n")
|
||||
print(body.text)
|
||||
# ------- CREATE NEW USER END -----------
|
||||
|
||||
if sys.argv[1] == 'getcard':
|
||||
|
||||
# ------- LIST OF CARD START -----------
|
||||
boardid = sys.argv[2]
|
||||
listid = sys.argv[3]
|
||||
cardid = sys.argv[4]
|
||||
listone = wekanurl + apiboards + boardid + s + l + s + listid + s + cs + s + cardid
|
||||
headers = {'Accept': 'application/json', 'Authorization': 'Bearer {}'.format(apikey)}
|
||||
print("=== INFO OF ONE LIST ===\n")
|
||||
print("URL:", listone) # Stampa l'URL per debug
|
||||
try:
|
||||
response = requests.get(listone, headers=headers)
|
||||
print("=== RESPONSE ===\n")
|
||||
print("Status Code:", response.status_code) # Stampa il codice di stato per debug
|
||||
|
||||
if response.status_code == 200:
|
||||
data2 = response.text.replace('}', "}\n")
|
||||
print(data2)
|
||||
else:
|
||||
print(f"Error: {response.status_code}")
|
||||
print(f"Response: {response.text}")
|
||||
except Exception as e:
|
||||
print(f"Error in the GET request: {e}")
|
||||
# ------- LISTS OF CARD END -----------
|
||||
|
||||
if arguments == 3:
|
||||
|
||||
if sys.argv[1] == 'editboardtitle':
|
||||
|
||||
# ------- EDIT BOARD TITLE START -----------
|
||||
boardid = sys.argv[2]
|
||||
boardtitle = sys.argv[3]
|
||||
edboardtitle = wekanurl + apiboards + boardid + s + 'title'
|
||||
print(edboardtitle)
|
||||
headers = {'Accept': 'application/json', 'Authorization': 'Bearer {}'.format(apikey)}
|
||||
|
||||
post_data = {'title': boardtitle}
|
||||
|
||||
body = requests.put(edboardtitle, json=post_data, headers=headers)
|
||||
print("=== EDIT BOARD TITLE ===\n")
|
||||
#body = requests.get(edboardtitle, headers=headers)
|
||||
data2 = body.text.replace('}',"}\n")
|
||||
print(data2)
|
||||
if body.status_code == 200:
|
||||
print("Succesfull!")
|
||||
else:
|
||||
print(f"Error: {body.status_code}")
|
||||
print(body.text)
|
||||
|
||||
# ------- EDIT BOARD TITLE END -----------
|
||||
|
||||
if sys.argv[1] == 'createlist':
|
||||
|
||||
# ------- CREATE LIST START -----------
|
||||
@@ -293,6 +413,23 @@ if arguments == 3:
|
||||
print(data2)
|
||||
# ------- INFO OF CUSTOM FIELD END -----------
|
||||
|
||||
if sys.argv[1] == 'cardsbyswimlane':
|
||||
# ------- RETRIEVE CARDS BY SWIMLANE ID START -----------
|
||||
boardid = sys.argv[2]
|
||||
swimlaneid = sys.argv[3]
|
||||
cardsbyswimlane = wekanurl + apiboards + boardid + s + sws + s + swimlaneid + s + cs
|
||||
headers = {'Accept': 'application/json', 'Authorization': 'Bearer {}'.format(apikey)}
|
||||
print("=== CARDS BY SWIMLANE ID ===\n")
|
||||
print("URL:", cardsbyswimlane) # Debug
|
||||
try:
|
||||
body = requests.get(cardsbyswimlane, headers=headers)
|
||||
print("Status Code:", body.status_code) # Debug
|
||||
data = body.text.replace('}', "}\n")
|
||||
print("Data:", data)
|
||||
except Exception as e:
|
||||
print("Error GET:", e)
|
||||
# ------- RETRIEVE CARDS BY SWIMLANE ID END -----------
|
||||
|
||||
if arguments == 2:
|
||||
|
||||
# ------- BOARDS LIST START -----------
|
||||
|
||||
@@ -51,11 +51,7 @@ template(name="attachmentGallery")
|
||||
|
||||
.attachment-gallery
|
||||
|
||||
if currentUser.isAdmin
|
||||
a.attachment-item.add-attachment.js-add-attachment
|
||||
i.fa.fa-plus.icon
|
||||
|
||||
if currentUser.isNormal
|
||||
if canModifyCard
|
||||
a.attachment-item.add-attachment.js-add-attachment
|
||||
i.fa.fa-plus.icon
|
||||
|
||||
|
||||
@@ -13,27 +13,12 @@ template(name="cardDetails")
|
||||
unless isMiniScreen
|
||||
unless isPopup
|
||||
a.fa.fa-times-thin.close-card-details.js-close-card-details(title="{{_ 'close-card'}}")
|
||||
if isAdmin
|
||||
if canModifyCard
|
||||
if cardMaximized
|
||||
a.fa.fa-window-minimize.minimize-card-details.js-minimize-card-details(title="{{_ 'minimize-card'}}")
|
||||
else
|
||||
a.fa.fa-window-maximize.maximize-card-details.js-maximize-card-details(title="{{_ 'maximize-card'}}")
|
||||
if isNormal
|
||||
if cardMaximized
|
||||
a.fa.fa-window-minimize.minimize-card-details.js-minimize-card-details(title="{{_ 'minimize-card'}}")
|
||||
else
|
||||
a.fa.fa-window-maximize.maximize-card-details.js-maximize-card-details(title="{{_ 'maximize-card'}}")
|
||||
if isWorker
|
||||
if cardMaximized
|
||||
a.fa.fa-window-minimize.minimize-card-details.js-minimize-card-details(title="{{_ 'minimize-card'}}")
|
||||
else
|
||||
a.fa.fa-window-maximize.maximize-card-details.js-maximize-card-details(title="{{_ 'maximize-card'}}")
|
||||
if isNoComments
|
||||
if cardMaximized
|
||||
a.fa.fa-window-minimize.minimize-card-details.js-minimize-card-details(title="{{_ 'minimize-card'}}")
|
||||
else
|
||||
a.fa.fa-window-maximize.maximize-card-details.js-maximize-card-details(title="{{_ 'maximize-card'}}")
|
||||
if currentUser.isBoardMember
|
||||
if canModifyCard
|
||||
a.fa.fa-navicon.card-details-menu.js-open-card-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
|
||||
a.fa.fa-link.card-copy-button.js-copy-link(
|
||||
id="cardURL_copy"
|
||||
@@ -45,7 +30,7 @@ template(name="cardDetails")
|
||||
else
|
||||
unless isPopup
|
||||
a.fa.fa-times-thin.close-card-details.js-close-card-details(title="{{_ 'close-card'}}")
|
||||
if currentUser.isBoardMember
|
||||
if canModifyCard
|
||||
a.fa.fa-navicon.card-details-menu-mobile-web.js-open-card-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
|
||||
a.fa.fa-link.card-copy-mobile-button.js-copy-link(
|
||||
id="cardURL_copy"
|
||||
|
||||
@@ -3,14 +3,7 @@ template(name="minicard")
|
||||
class="{{#if isLinkedCard}}linked-card{{/if}}"
|
||||
class="{{#if isLinkedBoard}}linked-board{{/if}}"
|
||||
class="{{#if colorClass}}minicard-{{colorClass}}{{/if}}")
|
||||
if currentUser.isAdmin
|
||||
if isTouchScreenOrShowDesktopDragHandles
|
||||
a.fa.fa-navicon.minicard-details-menu-with-handle.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
|
||||
.handle
|
||||
.fa.fa-arrows
|
||||
else
|
||||
a.fa.fa-navicon.minicard-details-menu.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
|
||||
if currentUser.isNormal
|
||||
if canModifyCard
|
||||
if isTouchScreenOrShowDesktopDragHandles
|
||||
a.fa.fa-navicon.minicard-details-menu-with-handle.js-open-minicard-details-menu(title="{{_ 'cardDetailsActionsPopup-title'}}")
|
||||
.handle
|
||||
@@ -142,7 +135,7 @@ template(name="minicard")
|
||||
+userAvatar(userId=this.userId noRemove=true)
|
||||
|
||||
.badges
|
||||
unless currentUser.isNoComments
|
||||
if canModifyCard
|
||||
if comments.length
|
||||
.badge(title="{{_ 'card-comments-title' comments.length }}")
|
||||
span.badge-icon.fa.fa-comment-o.badge-comment.badge-text
|
||||
@@ -197,12 +190,11 @@ template(name="editCardSortOrderPopup")
|
||||
|
||||
template(name="minicardDetailsActionsPopup")
|
||||
ul.pop-over-list
|
||||
if currentUser.isBoardAdmin
|
||||
if canModifyCard
|
||||
li
|
||||
a.js-move-card
|
||||
i.fa.fa-arrow-right
|
||||
| {{_ 'moveCardPopup-title'}}
|
||||
unless currentUser.isWorker
|
||||
li
|
||||
a.js-copy-card
|
||||
i.fa.fa-copy
|
||||
|
||||
@@ -85,14 +85,14 @@
|
||||
"add-card": "Tilføj kort",
|
||||
"add-card-to-top-of-list": "Add Card to Top of List",
|
||||
"add-card-to-bottom-of-list": "Add Card to Bottom of List",
|
||||
"setListWidthPopup-title": "Set List Width",
|
||||
"set-list-width": "Set List Width",
|
||||
"set-list-width-value": "List Width (pixels)",
|
||||
"list-width-error-message": "List width must be a positive integer",
|
||||
"setSwimlaneHeightPopup-title": "Set Swimlane Height",
|
||||
"set-swimlane-height": "Set Swimlane Height",
|
||||
"set-swimlane-height-value": "Swimlane Height (pixels)",
|
||||
"swimlane-height-error-message": "Swimlane height must be a positive integer",
|
||||
"setListWidthPopup-title": "Angiv bredde på lister",
|
||||
"set-list-width": "Angiv bredde på lister",
|
||||
"set-list-width-value": "Bredde på lister (pixels)",
|
||||
"list-width-error-message": "Listens bredde skal være et positivt heltal",
|
||||
"setSwimlaneHeightPopup-title": "Angiv højde på svømmebane",
|
||||
"set-swimlane-height": "Angiv højde på svømmebane",
|
||||
"set-swimlane-height-value": "Svømmebanes bredde (pixels)",
|
||||
"swimlane-height-error-message": "Svømmebreddes højde skal være et positivt heltal",
|
||||
"add-swimlane": "Tilføj svømmebane",
|
||||
"add-subtask": "Tilføj delopgave",
|
||||
"add-checklist": "Tilføj tjekliste",
|
||||
@@ -100,10 +100,10 @@
|
||||
"close-add-checklist-item": "Close add an item to checklist form",
|
||||
"close-edit-checklist-item": "Close edit an item to checklist form",
|
||||
"convertChecklistItemToCardPopup-title": "Convert to Card",
|
||||
"add-cover": "Add cover image to minicard",
|
||||
"add-cover": "Tilføj coverbillede til minikort",
|
||||
"add-label": "Tilføj etikette",
|
||||
"add-list": "Tilføj liste",
|
||||
"add-after-list": "Add After List",
|
||||
"add-after-list": "Tilføj efter liste",
|
||||
"add-members": "Tilføj medlemmer",
|
||||
"added": "Tilføjet",
|
||||
"addMemberPopup-title": "Medlemmer",
|
||||
@@ -143,10 +143,10 @@
|
||||
"attachmentDeletePopup-title": "Slet vedhæftning?",
|
||||
"attachments": "Vedhæftninger",
|
||||
"auto-watch": "Følg automatisk tavler når de oprettes",
|
||||
"avatar-too-big": "The avatar is too large (__size__ max)",
|
||||
"avatar-too-big": "Avataren er for stor (__size__ max)",
|
||||
"back": "Tilbage",
|
||||
"board-change-color": "Skift farve",
|
||||
"board-change-background-image": "Change Background Image",
|
||||
"board-change-background-image": "Skift baggrundsbillede",
|
||||
"board-background-image-url": "Background Image URL",
|
||||
"add-background-image": "Add Background Image",
|
||||
"remove-background-image": "Remove Background Image",
|
||||
@@ -162,9 +162,9 @@
|
||||
"board-public-info": "Denne tavle vil være <strong>offentlig</strong>.",
|
||||
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
|
||||
"boardChangeColorPopup-title": "Skift tavlens baggrund",
|
||||
"boardChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"boardChangeBackgroundImagePopup-title": "Skift baggrundsbillede",
|
||||
"allBoardsChangeColorPopup-title": "Skift farve",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "Skift baggrundsbillede",
|
||||
"boardChangeTitlePopup-title": "Omdøb tavle",
|
||||
"boardChangeVisibilityPopup-title": "Tilpas synlighed",
|
||||
"boardChangeWatchPopup-title": "Tilpas følgefunktion",
|
||||
@@ -819,7 +819,7 @@
|
||||
"r-item": "element",
|
||||
"r-of-checklist": "fra tjekliste",
|
||||
"r-send-email": "Send en e-mail",
|
||||
"r-to": "to",
|
||||
"r-to": "til",
|
||||
"r-of": "af",
|
||||
"r-subject": "emne",
|
||||
"r-rule-details": "Detaljer for regel",
|
||||
@@ -828,7 +828,7 @@
|
||||
"r-d-move-to-bottom-gen": "Flyt kortet til bunden af dens liste",
|
||||
"r-d-move-to-bottom-spec": "Flyt kortet til bunden af listen",
|
||||
"r-d-send-email": "Send e-mail",
|
||||
"r-d-send-email-to": "to",
|
||||
"r-d-send-email-to": "til",
|
||||
"r-d-send-email-subject": "emne",
|
||||
"r-d-send-email-message": "besked",
|
||||
"r-d-archive": "Flyt kortet til arkiv",
|
||||
@@ -854,7 +854,7 @@
|
||||
"r-items-list": "element1,element2,element3",
|
||||
"r-add-swimlane": "Tilføj svømmebane",
|
||||
"r-swimlane-name": "navn på svømmebane",
|
||||
"r-board-note": "Note: leave a field empty to match every possible value. ",
|
||||
"r-board-note": "Bemærk: lad et felt stå tomt for at matche alle værdier.",
|
||||
"r-checklist-note": "Bemærk: tjeklistens elementer skal skrives som en kommaadskilte værdier.",
|
||||
"r-when-a-card-is-moved": "Når et kort flyttes til en anden liste.",
|
||||
"r-set": "Angiv",
|
||||
@@ -1099,7 +1099,7 @@
|
||||
"label-names": "Label Names",
|
||||
"archived-at": "archived at",
|
||||
"sort-cards": "Sort Cards",
|
||||
"sort-is-on": "Sort is on",
|
||||
"sort-is-on": "Sortering er slået til",
|
||||
"cardsSortPopup-title": "Sort Cards",
|
||||
"due-date": "Due Date",
|
||||
"server-error": "Server Error",
|
||||
@@ -1238,11 +1238,11 @@
|
||||
"newTranslationPopup-title": "New custom translation string",
|
||||
"editTranslationPopup-title": "Edit custom translation string",
|
||||
"settingsTranslationPopup-title": "Delete this custom translation string?",
|
||||
"translation": "Translation",
|
||||
"translation": "Oversæt",
|
||||
"text": "Tekst",
|
||||
"translation-text": "Translation text",
|
||||
"show-at-minicard": "Show at minicard",
|
||||
"show-checklist-at-minicard": "Show checklist at minicard",
|
||||
"show-subtasks-field": "Show subtasks field",
|
||||
"convert-to-markdown": "Convert to markdown"
|
||||
"translation-text": "Oversættelsestekst",
|
||||
"show-at-minicard": "Vis et minikort",
|
||||
"show-checklist-at-minicard": "Vis tjekliste på minikort",
|
||||
"show-subtasks-field": "Vis felt med underopgaver",
|
||||
"convert-to-markdown": "Konvertér til markdown"
|
||||
}
|
||||
@@ -962,7 +962,7 @@
|
||||
"teams": "Teams",
|
||||
"displayName": "Anzeigename",
|
||||
"shortName": "Kurzname",
|
||||
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
|
||||
"autoAddUsersWithDomainName": "Automatisch Benutzer über den Domainnamen hinzufügen",
|
||||
"website": "Webseite",
|
||||
"person": "Person",
|
||||
"my-cards": "Meine Karten",
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"custom-field-stringtemplate-separator": "Trenner (verwende   oder für einen Leerschritt)",
|
||||
"custom-field-stringtemplate-item-placeholder": "Drücke die Eingabetaste, um weitere Einträge hinzuzufügen",
|
||||
"creator": "Ersteller",
|
||||
"creator-on-minicard": "Creator on minicard",
|
||||
"creator-on-minicard": "Ersteller auf Minikarte",
|
||||
"filesReportTitle": "Dateien-Bericht",
|
||||
"reports": "Berichte",
|
||||
"rulesReportTitle": "Regeln-Bericht",
|
||||
|
||||
+937
-937
File diff suppressed because it is too large.
Load diff
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"accept": "Accept",
|
||||
"accept": "پذیرفتن",
|
||||
"act-activity-notify": "اعلان فعالیت",
|
||||
"act-addAttachment": "ضمیمه __attachment__ به کارت __card__ در لیست __list__ در مسیر __swimlane__ در برد __board__ اضافه شده",
|
||||
"act-deleteAttachment": "ضمیمه __attachment__ از کارت __card__ در لیست __list__ در مسیر __swimlane__ در برد __board__ حذف شده",
|
||||
@@ -113,7 +113,7 @@
|
||||
"admin-announcement": "اعلان",
|
||||
"admin-announcement-active": "فعال کردن اعلانهای سمت سیستم",
|
||||
"admin-announcement-title": "اعلان از سوی مدیر",
|
||||
"all-boards": "All Boards",
|
||||
"all-boards": "همه بردها",
|
||||
"and-n-other-card": "و __count__ کارت دیگر",
|
||||
"and-n-other-card_plural": "و __count__ کارت دیگر",
|
||||
"apply": "اعمال",
|
||||
@@ -146,10 +146,10 @@
|
||||
"avatar-too-big": "The avatar is too large (__size__ max)",
|
||||
"back": "بازگشت",
|
||||
"board-change-color": "تغییر رنگ",
|
||||
"board-change-background-image": "Change Background Image",
|
||||
"board-background-image-url": "Background Image URL",
|
||||
"add-background-image": "Add Background Image",
|
||||
"remove-background-image": "Remove Background Image",
|
||||
"board-change-background-image": "تغییر تصویر پس زمینه",
|
||||
"board-background-image-url": "لینک تصویر پس زمینه",
|
||||
"add-background-image": "اضافه کردن تصویر پس زمینه",
|
||||
"remove-background-image": "حذف تصویر پس زمینه",
|
||||
"show-at-all-boards-page" : "Show at All Boards page",
|
||||
"board-info-on-my-boards" : "All Boards Settings",
|
||||
"boardInfoOnMyBoardsPopup-title" : "All Boards Settings",
|
||||
@@ -157,15 +157,15 @@
|
||||
"show-card-counter-per-list": "Show card count per list",
|
||||
"show-board_members-avatar": "Show Board members avatars",
|
||||
"board-nb-stars": "%s ستاره",
|
||||
"board-not-found": "Board not found",
|
||||
"board-not-found": "برد پیدا نشد",
|
||||
"board-private-info": "This board will be <strong>private</strong>.",
|
||||
"board-public-info": "This board will be <strong>public</strong>.",
|
||||
"board-drag-drop-reorder-or-click-open": "Drag and drop to reorder board icons. Click board icon to open board.",
|
||||
"boardChangeColorPopup-title": "Change Board Background",
|
||||
"boardChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"boardChangeColorPopup-title": "تغییر پس زمینه برد",
|
||||
"boardChangeBackgroundImagePopup-title": "تغییر تصویر پس زمینه",
|
||||
"allBoardsChangeColorPopup-title": "تغییر رنگ",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"boardChangeTitlePopup-title": "Rename Board",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "تغییر تصویر پس زمینه",
|
||||
"boardChangeTitlePopup-title": "تغییر نام برد",
|
||||
"boardChangeVisibilityPopup-title": "تغییر وضعیت نمایش",
|
||||
"boardChangeWatchPopup-title": "تغییر دیدهبانی",
|
||||
"boardMenuPopup-title": "تنظیمات برد",
|
||||
@@ -421,7 +421,7 @@
|
||||
"filter-overdue": "منقضی شده",
|
||||
"filter-due-today": "مقتضی امروز",
|
||||
"filter-due-this-week": "مقتضی این هفته",
|
||||
"filter-due-next-week": "Due next week",
|
||||
"filter-due-next-week": "مقتضی هفته بعد",
|
||||
"filter-due-tomorrow": "مقتضی فردا",
|
||||
"list-filter-label": "فیلتر لیست بر اساس عنوان",
|
||||
"filter-clear": "حذف فیلتر",
|
||||
@@ -550,7 +550,7 @@
|
||||
"public": "عمومی",
|
||||
"public-desc": "این برد عمومی است. برای هر کسی با آدرس و یا جستجو در موتورها مانند گوگل قابل مشاهده است. فقط افرادی که به برد اضافه شدهاند امکان ویرایش دارند.",
|
||||
"quick-access-description": "جهت افزودن یک برد به اینجا، آن را ستاره دار نمایید.",
|
||||
"remove-cover": "Remove cover image from minicard",
|
||||
"remove-cover": "حذف تصویر کاور از مینی کارت",
|
||||
"remove-from-board": "حذف از برد",
|
||||
"remove-label": "حذف لیبل",
|
||||
"listDeletePopup-title": "حذف فهرست؟",
|
||||
@@ -559,7 +559,7 @@
|
||||
"remove-member-pop": "آیا __name__ (__username__) را از __boardTitle__ حذف میکنید؟ کاربر از تمام کارتها در این برد حذف خواهد شد. آنها از این اقدام مطلع خواهند شد.",
|
||||
"removeMemberPopup-title": "آیا می خواهید کاربر را حذف کنید؟",
|
||||
"rename": "تغیر نام",
|
||||
"rename-board": "Rename Board",
|
||||
"rename-board": "تغییر نام برد",
|
||||
"restore": "بازیابی",
|
||||
"rescue-card-description": "Show rescue dialogue before closing for unsaved card descriptions",
|
||||
"rescue-card-description-dialogue": "Overwrite current card description with your changes?",
|
||||
@@ -994,7 +994,7 @@
|
||||
"comment-not-found": "Card with comment containing text '%s' not found.",
|
||||
"org-name-not-found": "Organization '%s' not found.",
|
||||
"team-name-not-found": "Team '%s' not found.",
|
||||
"globalSearch-title": "Search All Boards",
|
||||
"globalSearch-title": "جست و جو در همه برد ها",
|
||||
"no-cards-found": "هیچ کارتی یافت نشد",
|
||||
"one-card-found": "یک کارت یافت شد",
|
||||
"n-cards-found": "%s Cards Found",
|
||||
@@ -1099,7 +1099,7 @@
|
||||
"label-names": "اسامی لیبل",
|
||||
"archived-at": "بایگانی شده در",
|
||||
"sort-cards": "مرتبسازی کارتها",
|
||||
"sort-is-on": "Sort is on",
|
||||
"sort-is-on": "مرتب سازی فعال است",
|
||||
"cardsSortPopup-title": "مرتبسازی کارتها",
|
||||
"due-date": "تاریخ اجرا",
|
||||
"server-error": "خطای سرور",
|
||||
@@ -1229,8 +1229,8 @@
|
||||
"max-upload-filesize": "Max upload filesize in bytes:",
|
||||
"allowed-upload-filetypes": "Allowed upload filetypes:",
|
||||
"max-avatar-filesize": "Max avatar filesize in bytes:",
|
||||
"allowed-avatar-filetypes": "Allowed avatar filetypes:",
|
||||
"invalid-file": "If filename is invalid, upload or rename is cancelled.",
|
||||
"allowed-avatar-filetypes": "نوع فایل های مجاز",
|
||||
"invalid-file": "اگر نام فایل معتبر نباشد، آپلود یا تغییر نام لغو خواهد شد",
|
||||
"preview-pdf-not-supported": "Your device does not support previewing PDF. Try downloading instead.",
|
||||
"drag-board": "Drag board",
|
||||
"translation-number": "The number of custom translation strings is:",
|
||||
|
||||
@@ -962,7 +962,7 @@
|
||||
"teams": "Équipes",
|
||||
"displayName": "Nom d'Affichage",
|
||||
"shortName": "Nom Court",
|
||||
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
|
||||
"autoAddUsersWithDomainName": "Ajouter automatiquement les utilisateurs avec le nom de domaine",
|
||||
"website": "Site Web",
|
||||
"person": "Personne",
|
||||
"my-cards": "Mes Cartes",
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"custom-field-stringtemplate-separator": "Séparateur (utiliser   ou pour un espace)",
|
||||
"custom-field-stringtemplate-item-placeholder": "Appuyez sur Entrée pour ajouter plus d'éléments",
|
||||
"creator": "Créateur",
|
||||
"creator-on-minicard": "Creator on minicard",
|
||||
"creator-on-minicard": "Créateur sur la mini-carte",
|
||||
"filesReportTitle": "Rapports sur les fichiers",
|
||||
"reports": "Rapports",
|
||||
"rulesReportTitle": "Rapports sur les règles",
|
||||
|
||||
@@ -731,10 +731,10 @@
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Paramètres des sous-tâches",
|
||||
"card-settings": "Paramètres de la carte",
|
||||
"minicard-settings": "Paramètres de la minicarte",
|
||||
"minicard-settings": "Paramètres de la mini-carte",
|
||||
"boardSubtaskSettingsPopup-title": "Paramètres des sous-tâches du tableau",
|
||||
"boardCardSettingsPopup-title": "Paramètres de la carte",
|
||||
"boardMinicardSettingsPopup-title": "Paramètres de la minicarte",
|
||||
"boardMinicardSettingsPopup-title": "Paramètres de la mini-carte",
|
||||
"deposit-subtasks-board": "Déposer des sous-tâches dans ce tableau :",
|
||||
"deposit-subtasks-list": "Liste de destination pour les sous-tâches déposées ici :",
|
||||
"show-parent-in-minicard": "Voir la carte parente dans la mini-carte :",
|
||||
@@ -921,7 +921,7 @@
|
||||
"cardAssigneesPopup-title": "Personne assignée",
|
||||
"addmore-detail": "Ajouter une description plus détaillée",
|
||||
"show-on-card": "Afficher sur la carte",
|
||||
"show-on-minicard": "Afficher sur la minicarte",
|
||||
"show-on-minicard": "Afficher sur la mini-carte",
|
||||
"new": "Nouveau",
|
||||
"editOrgPopup-title": "Éditer l'organisation",
|
||||
"newOrgPopup-title": "Nouvelle organisation",
|
||||
@@ -962,7 +962,7 @@
|
||||
"teams": "Équipes",
|
||||
"displayName": "Nom d'Affichage",
|
||||
"shortName": "Nom Court",
|
||||
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
|
||||
"autoAddUsersWithDomainName": "Ajouter automatiquement les utilisateurs avec le nom de domaine",
|
||||
"website": "Site Web",
|
||||
"person": "Personne",
|
||||
"my-cards": "Mes Cartes",
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"custom-field-stringtemplate-separator": "Séparateur (utiliser   ou pour un espace)",
|
||||
"custom-field-stringtemplate-item-placeholder": "Appuyez sur Entrée pour ajouter plus d'éléments",
|
||||
"creator": "Créateur",
|
||||
"creator-on-minicard": "Creator on minicard",
|
||||
"creator-on-minicard": "Créateur sur la mini-carte",
|
||||
"filesReportTitle": "Rapports sur les fichiers",
|
||||
"reports": "Rapports",
|
||||
"rulesReportTitle": "Rapports sur les règles",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"accept": "接受",
|
||||
"act-activity-notify": "活動通知",
|
||||
"act-addAttachment": "附件 __attachment__ 已新增到卡片 __card__ 位於清單 __list__ 泳道 __swimlane__ 看板 __board__",
|
||||
"act-addAttachment": "附件 __attachment__ 已新增到卡片 __card__ 位於清單 __list__ 泳道 __swimlane__ 看板 __board__",
|
||||
"act-deleteAttachment": "已刪除的附件__附件__卡片上__卡片__在清單__清單__at swimlane__swimlane__在看板__看板__",
|
||||
"act-addSubtask": "新增子任務 __子任務 __ to card __卡片__ at list_清單__ at swimlane __分隔線__ at board __看板__",
|
||||
"act-addLabel": "新增標籤 __label__ 到看板 __board__ 中的泳道 __swimlane__ 中的清單 __list__ 中的卡片 __card__ 中",
|
||||
@@ -85,14 +85,14 @@
|
||||
"add-card": "新增卡片",
|
||||
"add-card-to-top-of-list": "新增卡片至清單頂部",
|
||||
"add-card-to-bottom-of-list": "新增卡片至清單底部",
|
||||
"setListWidthPopup-title": "Set List Width",
|
||||
"set-list-width": "Set List Width",
|
||||
"set-list-width-value": "List Width (pixels)",
|
||||
"list-width-error-message": "List width must be a positive integer",
|
||||
"setSwimlaneHeightPopup-title": "Set Swimlane Height",
|
||||
"set-swimlane-height": "Set Swimlane Height",
|
||||
"set-swimlane-height-value": "Swimlane Height (pixels)",
|
||||
"swimlane-height-error-message": "Swimlane height must be a positive integer",
|
||||
"setListWidthPopup-title": "設定清單寬度",
|
||||
"set-list-width": "設定清單寬度",
|
||||
"set-list-width-value": "清單寬度(畫素)",
|
||||
"list-width-error-message": "清單寬度必須為正整數",
|
||||
"setSwimlaneHeightPopup-title": "設定泳道高度",
|
||||
"set-swimlane-height": "設定泳道高度",
|
||||
"set-swimlane-height-value": "泳道高度(畫素)",
|
||||
"swimlane-height-error-message": "泳道高度必須為正整數",
|
||||
"add-swimlane": "新增泳道",
|
||||
"add-subtask": "新增子任務",
|
||||
"add-checklist": "新增待辦清單",
|
||||
@@ -100,10 +100,10 @@
|
||||
"close-add-checklist-item": "Close add an item to checklist form",
|
||||
"close-edit-checklist-item": "Close edit an item to checklist form",
|
||||
"convertChecklistItemToCardPopup-title": "轉換為卡片",
|
||||
"add-cover": "Add cover image to minicard",
|
||||
"add-cover": "新增封面圖片至小卡片",
|
||||
"add-label": "新增標籤",
|
||||
"add-list": "新增清單",
|
||||
"add-after-list": "Add After List",
|
||||
"add-after-list": "在清單後新增",
|
||||
"add-members": "新增成員",
|
||||
"added": "已新增",
|
||||
"addMemberPopup-title": "成員",
|
||||
@@ -113,7 +113,7 @@
|
||||
"admin-announcement": "通知",
|
||||
"admin-announcement-active": "啟用系統公告",
|
||||
"admin-announcement-title": "來自管理員的公告訊息",
|
||||
"all-boards": "All Boards",
|
||||
"all-boards": "所有看板",
|
||||
"and-n-other-card": "和其他 __count__ 個卡片",
|
||||
"and-n-other-card_plural": "和其他 __count__ 個卡片",
|
||||
"apply": "應用",
|
||||
@@ -143,13 +143,13 @@
|
||||
"attachmentDeletePopup-title": "刪除附件?",
|
||||
"attachments": "附件",
|
||||
"auto-watch": "自動訂閱新建立的看板",
|
||||
"avatar-too-big": "The avatar is too large (__size__ max)",
|
||||
"avatar-too-big": "大頭照太大了(最大 __size__)",
|
||||
"back": "返回",
|
||||
"board-change-color": "變更顏色",
|
||||
"board-change-background-image": "Change Background Image",
|
||||
"board-background-image-url": "Background Image URL",
|
||||
"add-background-image": "Add Background Image",
|
||||
"remove-background-image": "Remove Background Image",
|
||||
"board-change-background-image": "變更背景圖片",
|
||||
"board-background-image-url": "背景圖片 URL",
|
||||
"add-background-image": "新增背景圖片",
|
||||
"remove-background-image": "移除背景圖片",
|
||||
"show-at-all-boards-page" : "Show at All Boards page",
|
||||
"board-info-on-my-boards" : "All Boards Settings",
|
||||
"boardInfoOnMyBoardsPopup-title" : "All Boards Settings",
|
||||
@@ -162,9 +162,9 @@
|
||||
"board-public-info": "此看板將被設為<strong>公開</strong>。",
|
||||
"board-drag-drop-reorder-or-click-open": "拖放以重新排序看板圖示。點擊看板圖示開啟看板。",
|
||||
"boardChangeColorPopup-title": "變更看板背景",
|
||||
"boardChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"boardChangeBackgroundImagePopup-title": "變更背景圖片",
|
||||
"allBoardsChangeColorPopup-title": "變更顏色",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "Change Background Image",
|
||||
"allBoardsChangeBackgroundImagePopup-title": "變更背景圖片",
|
||||
"boardChangeTitlePopup-title": "重新命名看板",
|
||||
"boardChangeVisibilityPopup-title": "更改可見度",
|
||||
"boardChangeWatchPopup-title": "更改訂閱狀態",
|
||||
@@ -421,7 +421,7 @@
|
||||
"filter-overdue": "逾期",
|
||||
"filter-due-today": "今天到期",
|
||||
"filter-due-this-week": "本週到期",
|
||||
"filter-due-next-week": "Due next week",
|
||||
"filter-due-next-week": "下週到期",
|
||||
"filter-due-tomorrow": "明天到期",
|
||||
"list-filter-label": "篩選清單依據標題",
|
||||
"filter-clear": "清除篩選條件",
|
||||
@@ -550,7 +550,7 @@
|
||||
"public": "公開",
|
||||
"public-desc": "該看板將被公開。任何人均可透過連結檢視,並且將對Google和其他搜尋引擎開放。只有加入至該看板的成員才可進行編輯。",
|
||||
"quick-access-description": "加入我的最愛的看板將會在此導覽列中新增捷徑",
|
||||
"remove-cover": "Remove cover image from minicard",
|
||||
"remove-cover": "從小卡片移除封面圖片",
|
||||
"remove-from-board": "從看板中刪除",
|
||||
"remove-label": "移除標籤",
|
||||
"listDeletePopup-title": "刪除標籤",
|
||||
@@ -739,9 +739,9 @@
|
||||
"deposit-subtasks-list": "將子任務放入以下清單:",
|
||||
"show-parent-in-minicard": "顯示上一級卡片:",
|
||||
"description-on-minicard": "Description on minicard",
|
||||
"cover-attachment-on-minicard": "Cover image on minicard",
|
||||
"badge-attachment-on-minicard": "Count of attachments on minicard",
|
||||
"card-sorting-by-number-on-minicard": "Card sorting by number on minicard",
|
||||
"cover-attachment-on-minicard": "小卡片的封面圖片",
|
||||
"badge-attachment-on-minicard": "小卡片的附件數量",
|
||||
"card-sorting-by-number-on-minicard": "卡片按小卡片數量排序",
|
||||
"prefix-with-full-path": "完整路徑前綴",
|
||||
"prefix-with-parent": "父層前綴",
|
||||
"subtext-with-full-path": "子標題顯示完整路徑",
|
||||
@@ -962,7 +962,7 @@
|
||||
"teams": "團隊",
|
||||
"displayName": "顯示用名稱",
|
||||
"shortName": "排序用名稱",
|
||||
"autoAddUsersWithDomainName": "Automatically add users with the domain name",
|
||||
"autoAddUsersWithDomainName": "自動使用網域名稱新增使用者",
|
||||
"website": "網站",
|
||||
"person": "人物",
|
||||
"my-cards": "我的卡片",
|
||||
@@ -1099,7 +1099,7 @@
|
||||
"label-names": "標籤名稱",
|
||||
"archived-at": "封存於",
|
||||
"sort-cards": "排序卡片",
|
||||
"sort-is-on": "Sort is on",
|
||||
"sort-is-on": "開啟排序",
|
||||
"cardsSortPopup-title": "排序卡片",
|
||||
"due-date": "到期日",
|
||||
"server-error": "伺服器錯誤",
|
||||
@@ -1117,7 +1117,7 @@
|
||||
"custom-field-stringtemplate-separator": "Separator (use   or for a space)",
|
||||
"custom-field-stringtemplate-item-placeholder": "Press enter to add more items",
|
||||
"creator": "創建者",
|
||||
"creator-on-minicard": "Creator on minicard",
|
||||
"creator-on-minicard": "小卡片建立者",
|
||||
"filesReportTitle": "檔案報告",
|
||||
"reports": "報告",
|
||||
"rulesReportTitle": "規則報告",
|
||||
@@ -1226,23 +1226,23 @@
|
||||
"minicardDetailsActionsPopup-title": "卡片內容",
|
||||
"Mongo_sessions_count": "Mongo sessions count",
|
||||
"change-visibility": "更改可見度",
|
||||
"max-upload-filesize": "Max upload filesize in bytes:",
|
||||
"allowed-upload-filetypes": "Allowed upload filetypes:",
|
||||
"max-avatar-filesize": "Max avatar filesize in bytes:",
|
||||
"allowed-avatar-filetypes": "Allowed avatar filetypes:",
|
||||
"invalid-file": "If filename is invalid, upload or rename is cancelled.",
|
||||
"preview-pdf-not-supported": "Your device does not support previewing PDF. Try downloading instead.",
|
||||
"drag-board": "Drag board",
|
||||
"translation-number": "The number of custom translation strings is:",
|
||||
"delete-translation-confirm-popup": "Are you sure you want to delete this custom translation string? There is no undo.",
|
||||
"newTranslationPopup-title": "New custom translation string",
|
||||
"editTranslationPopup-title": "Edit custom translation string",
|
||||
"settingsTranslationPopup-title": "Delete this custom translation string?",
|
||||
"translation": "Translation",
|
||||
"max-upload-filesize": "最大上傳大小,以位元組為單位:",
|
||||
"allowed-upload-filetypes": "允許上傳的檔案類型:",
|
||||
"max-avatar-filesize": "最大大頭照大小,以位元組為單位:",
|
||||
"allowed-avatar-filetypes": "允許的大頭照檔案類型:",
|
||||
"invalid-file": "若檔案名稱無效,則取消上傳或重新命名。",
|
||||
"preview-pdf-not-supported": "您的裝置不支援預覽 PDF。請嘗試下載。",
|
||||
"drag-board": "拖曳看板",
|
||||
"translation-number": "自訂翻譯字串的數量為:",
|
||||
"delete-translation-confirm-popup": "您確定您想要刪除此自訂翻譯字串嗎?此動作無法復原。",
|
||||
"newTranslationPopup-title": "新的自訂翻譯字串",
|
||||
"editTranslationPopup-title": "編輯自訂翻譯字串",
|
||||
"settingsTranslationPopup-title": "刪除此自訂翻譯字串?",
|
||||
"translation": "翻譯",
|
||||
"text": "文字",
|
||||
"translation-text": "Translation text",
|
||||
"show-at-minicard": "Show at minicard",
|
||||
"show-checklist-at-minicard": "Show checklist at minicard",
|
||||
"show-subtasks-field": "Show subtasks field",
|
||||
"convert-to-markdown": "Convert to markdown"
|
||||
"translation-text": "翻譯文字",
|
||||
"show-at-minicard": "在小卡片上顯示",
|
||||
"show-checklist-at-minicard": "在小卡片上顯示檢查清單",
|
||||
"show-subtasks-field": "顯示子工作項目欄位",
|
||||
"convert-to-markdown": "轉換為 Markdown"
|
||||
}
|
||||
@@ -2165,6 +2165,36 @@ if (Meteor.isServer) {
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* @operation update_board_title
|
||||
* @summary Update the title of a board
|
||||
*
|
||||
* @param {string} boardId the ID of the board to update
|
||||
* @param {string} title the new title for the board
|
||||
*/
|
||||
JsonRoutes.add('PUT', '/api/boards/:boardId/title', function(req, res) {
|
||||
try {
|
||||
Authentication.checkUserId(req.userId);
|
||||
const boardId = req.params.boardId;
|
||||
const title = req.body.title;
|
||||
|
||||
Boards.direct.update({ _id: boardId }, { $set: { title } });
|
||||
|
||||
JsonRoutes.sendResult(res, {
|
||||
code: 200,
|
||||
data: {
|
||||
_id: boardId,
|
||||
title,
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
JsonRoutes.sendResult(res, {
|
||||
code: 200,
|
||||
data: error,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* @operation add_board_label
|
||||
* @summary Add a label to a board
|
||||
|
||||
@@ -3860,6 +3860,25 @@ JsonRoutes.add('GET', '/api/boards/:boardId/cards_count', function(
|
||||
newBoardId,
|
||||
);
|
||||
}
|
||||
if (req.body.archive) {
|
||||
function isTrue(data) {
|
||||
return String(data).toLowerCase() === 'true';
|
||||
}
|
||||
var archive = isTrue(req.body.archive);
|
||||
Cards.direct.update(
|
||||
{
|
||||
_id: paramCardId,
|
||||
listId: paramListId,
|
||||
boardId: paramBoardId,
|
||||
archived: !archive,
|
||||
},
|
||||
{
|
||||
$set: {
|
||||
archived: archive,
|
||||
},
|
||||
},
|
||||
);
|
||||
}
|
||||
JsonRoutes.sendResult(res, {
|
||||
code: 200,
|
||||
data: {
|
||||
|
||||
Generated
+5
-271
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v7.26.0",
|
||||
"version": "v7.31.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": {
|
||||
"version": "7.23.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.7.tgz",
|
||||
"integrity": "sha512-w06OXVOFso7LcbzMiDGt+3X7Rh7Ho8MmgPoWU3rarH+8upf+wSU/grlGbWzQyr3DkdN6ZeuMFjpdwW0Q+HxobA==",
|
||||
"version": "7.23.9",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz",
|
||||
"integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==",
|
||||
"requires": {
|
||||
"regenerator-runtime": "^0.14.0"
|
||||
}
|
||||
@@ -164,11 +164,6 @@
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"ansi-colors": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
|
||||
"integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw=="
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||
@@ -336,11 +331,6 @@
|
||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
|
||||
"integrity": "sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA=="
|
||||
},
|
||||
"boolbase": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
|
||||
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
@@ -410,32 +400,6 @@
|
||||
"traverse": ">=0.3.0 <0.4"
|
||||
}
|
||||
},
|
||||
"cheerio": {
|
||||
"version": "1.0.0-rc.10",
|
||||
"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz",
|
||||
"integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==",
|
||||
"requires": {
|
||||
"cheerio-select": "^1.5.0",
|
||||
"dom-serializer": "^1.3.2",
|
||||
"domhandler": "^4.2.0",
|
||||
"htmlparser2": "^6.1.0",
|
||||
"parse5": "^6.0.1",
|
||||
"parse5-htmlparser2-tree-adapter": "^6.0.1",
|
||||
"tslib": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"cheerio-select": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.6.0.tgz",
|
||||
"integrity": "sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==",
|
||||
"requires": {
|
||||
"css-select": "^4.3.0",
|
||||
"css-what": "^6.0.1",
|
||||
"domelementtype": "^2.2.0",
|
||||
"domhandler": "^4.3.1",
|
||||
"domutils": "^2.8.0"
|
||||
}
|
||||
},
|
||||
"chownr": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
|
||||
@@ -451,11 +415,6 @@
|
||||
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
|
||||
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
|
||||
},
|
||||
"commander": {
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
|
||||
"integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA=="
|
||||
},
|
||||
"compress-commons": {
|
||||
"version": "4.1.2",
|
||||
"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz",
|
||||
@@ -496,23 +455,6 @@
|
||||
"readable-stream": "^3.4.0"
|
||||
}
|
||||
},
|
||||
"css-select": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
|
||||
"integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
|
||||
"requires": {
|
||||
"boolbase": "^1.0.0",
|
||||
"css-what": "^6.0.1",
|
||||
"domhandler": "^4.3.1",
|
||||
"domutils": "^2.8.0",
|
||||
"nth-check": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"css-what": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
|
||||
"integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
|
||||
},
|
||||
"dayjs": {
|
||||
"version": "1.11.10",
|
||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
|
||||
@@ -557,44 +499,11 @@
|
||||
"integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
|
||||
"dev": true
|
||||
},
|
||||
"dom-serializer": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
|
||||
"integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.0.1",
|
||||
"domhandler": "^4.2.0",
|
||||
"entities": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"domelementtype": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
|
||||
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
|
||||
},
|
||||
"domhandler": {
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
|
||||
"integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"dompurify": {
|
||||
"version": "2.4.7",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.7.tgz",
|
||||
"integrity": "sha512-kxxKlPEDa6Nc5WJi+qRgPbOAbgTpSULL+vI3NUXsZMlkJxTqYI9wg5ZTay2sFrdZRWHPWNi+EdAhcJf81WtoMQ=="
|
||||
},
|
||||
"domutils": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
|
||||
"integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
|
||||
"requires": {
|
||||
"dom-serializer": "^1.0.1",
|
||||
"domelementtype": "^2.2.0",
|
||||
"domhandler": "^4.2.0"
|
||||
}
|
||||
},
|
||||
"duplexer2": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
|
||||
@@ -655,23 +564,13 @@
|
||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
|
||||
"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
|
||||
},
|
||||
"escape-goat": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-3.0.0.tgz",
|
||||
"integrity": "sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw=="
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
|
||||
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="
|
||||
},
|
||||
"esm": {
|
||||
"version": "3.2.25",
|
||||
"resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz",
|
||||
"integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA=="
|
||||
},
|
||||
"exceljs": {
|
||||
"version": "git+https://github.com/exceljs/exceljs.git#ddab279a882aba8f18fc5127c6d59e3aa9f596c7",
|
||||
"version": "git+https://github.com/exceljs/exceljs.git#5bed18b45e824f409b08456b59b87430ded023ab",
|
||||
"from": "git+https://github.com/exceljs/exceljs.git",
|
||||
"requires": {
|
||||
"archiver": "^5.0.0",
|
||||
@@ -926,17 +825,6 @@
|
||||
"function-bind": "^1.1.2"
|
||||
}
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
|
||||
"integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.0.1",
|
||||
"domhandler": "^4.0.0",
|
||||
"domutils": "^2.5.2",
|
||||
"entities": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"https-proxy-agent": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||
@@ -1091,18 +979,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"juice": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/juice/-/juice-8.1.0.tgz",
|
||||
"integrity": "sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==",
|
||||
"requires": {
|
||||
"cheerio": "1.0.0-rc.10",
|
||||
"commander": "^6.1.0",
|
||||
"mensch": "^0.3.4",
|
||||
"slick": "^1.12.2",
|
||||
"web-resource-inliner": "^6.0.1"
|
||||
}
|
||||
},
|
||||
"just-extend": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
|
||||
@@ -1328,36 +1204,11 @@
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz",
|
||||
"integrity": "sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ=="
|
||||
},
|
||||
"markdown-it-mathjax3": {
|
||||
"version": "4.3.2",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-mathjax3/-/markdown-it-mathjax3-4.3.2.tgz",
|
||||
"integrity": "sha512-TX3GW5NjmupgFtMJGRauioMbbkGsOXAAt1DZ/rzzYmTHqzkO1rNAdiMD4NiruurToPApn2kYy76x02QN26qr2w==",
|
||||
"requires": {
|
||||
"juice": "^8.0.0",
|
||||
"mathjax-full": "^3.2.0"
|
||||
}
|
||||
},
|
||||
"mathjax-full": {
|
||||
"version": "3.2.2",
|
||||
"resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz",
|
||||
"integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==",
|
||||
"requires": {
|
||||
"esm": "^3.2.25",
|
||||
"mhchemparser": "^4.1.0",
|
||||
"mj-context-menu": "^0.6.1",
|
||||
"speech-rule-engine": "^4.0.6"
|
||||
}
|
||||
},
|
||||
"mdurl": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
|
||||
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
|
||||
},
|
||||
"mensch": {
|
||||
"version": "0.3.4",
|
||||
"resolved": "https://registry.npmjs.org/mensch/-/mensch-0.3.4.tgz",
|
||||
"integrity": "sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g=="
|
||||
},
|
||||
"message-box": {
|
||||
"version": "0.2.7",
|
||||
"resolved": "https://registry.npmjs.org/message-box/-/message-box-0.2.7.tgz",
|
||||
@@ -2148,16 +1999,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"mhchemparser": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz",
|
||||
"integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ=="
|
||||
},
|
||||
"mime": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
|
||||
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.52.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||
@@ -2229,11 +2070,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"mj-context-menu": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz",
|
||||
"integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA=="
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
|
||||
@@ -2321,11 +2157,6 @@
|
||||
"whatwg-url": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"nodemailer": {
|
||||
"version": "6.9.7",
|
||||
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.7.tgz",
|
||||
"integrity": "sha512-rUtR77ksqex/eZRLmQ21LKVH5nAAsVicAtAYudK7JgwenEDZ0UIQ1adUGqErz7sMkWYxWTTU1aeP2Jga6WQyJw=="
|
||||
},
|
||||
"nopt": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
|
||||
@@ -2350,14 +2181,6 @@
|
||||
"set-blocking": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"nth-check": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
|
||||
"integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
|
||||
"requires": {
|
||||
"boolbase": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
@@ -2404,19 +2227,6 @@
|
||||
"resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
|
||||
"integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA=="
|
||||
},
|
||||
"parse5": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
|
||||
"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
|
||||
},
|
||||
"parse5-htmlparser2-tree-adapter": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
|
||||
"integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
|
||||
"requires": {
|
||||
"parse5": "^6.0.1"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
@@ -2632,11 +2442,6 @@
|
||||
"supports-color": "^7.2.0"
|
||||
}
|
||||
},
|
||||
"slick": {
|
||||
"version": "1.12.2",
|
||||
"resolved": "https://registry.npmjs.org/slick/-/slick-1.12.2.tgz",
|
||||
"integrity": "sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A=="
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
@@ -2651,23 +2456,6 @@
|
||||
"source-map": "^0.6.0"
|
||||
}
|
||||
},
|
||||
"speech-rule-engine": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz",
|
||||
"integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==",
|
||||
"requires": {
|
||||
"commander": "9.2.0",
|
||||
"wicked-good-xpath": "1.3.0",
|
||||
"xmldom-sre": "0.1.31"
|
||||
},
|
||||
"dependencies": {
|
||||
"commander": {
|
||||
"version": "9.2.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz",
|
||||
"integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"split-on-first": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
|
||||
@@ -2787,11 +2575,6 @@
|
||||
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
|
||||
"integrity": "sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ=="
|
||||
},
|
||||
"tslib": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
|
||||
},
|
||||
"type-detect": {
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
|
||||
@@ -2879,11 +2662,6 @@
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
||||
},
|
||||
"valid-data-url": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-3.0.1.tgz",
|
||||
"integrity": "sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA=="
|
||||
},
|
||||
"vasync": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/vasync/-/vasync-2.2.1.tgz",
|
||||
@@ -2935,40 +2713,6 @@
|
||||
"util": "^0.12.3"
|
||||
}
|
||||
},
|
||||
"web-resource-inliner": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-6.0.1.tgz",
|
||||
"integrity": "sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==",
|
||||
"requires": {
|
||||
"ansi-colors": "^4.1.1",
|
||||
"escape-goat": "^3.0.0",
|
||||
"htmlparser2": "^5.0.0",
|
||||
"mime": "^2.4.6",
|
||||
"node-fetch": "^2.6.0",
|
||||
"valid-data-url": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"domhandler": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
|
||||
"integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz",
|
||||
"integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==",
|
||||
"requires": {
|
||||
"domelementtype": "^2.0.1",
|
||||
"domhandler": "^3.3.0",
|
||||
"domutils": "^2.4.2",
|
||||
"entities": "^2.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
@@ -2995,11 +2739,6 @@
|
||||
"has-tostringtag": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"wicked-good-xpath": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz",
|
||||
"integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw=="
|
||||
},
|
||||
"wide-align": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
|
||||
@@ -3037,11 +2776,6 @@
|
||||
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
|
||||
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
|
||||
},
|
||||
"xmldom-sre": {
|
||||
"version": "0.1.31",
|
||||
"resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz",
|
||||
"integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw=="
|
||||
},
|
||||
"yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
|
||||
+2
-4
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v7.26.0",
|
||||
"version": "v7.31.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"repository": {
|
||||
@@ -17,7 +17,7 @@
|
||||
"sinon": "^13.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.23.6",
|
||||
"@babel/runtime": "^7.23.9",
|
||||
"@mapbox/node-pre-gyp": "^1.0.10",
|
||||
"@rwap/jquery-ui-touch-punch": "^1.0.11",
|
||||
"@wekanteam/html-to-markdown": "^1.0.2",
|
||||
@@ -41,12 +41,10 @@
|
||||
"ldapjs": "^2.3.3",
|
||||
"markdown-it": "^12.3.2",
|
||||
"markdown-it-emoji": "^2.0.0",
|
||||
"markdown-it-mathjax3": "^4.3.1",
|
||||
"meteor-accounts-t9n": "^2.6.0",
|
||||
"meteor-node-stubs": "^1.2.7",
|
||||
"minio": "^7.1.3",
|
||||
"moment": "^2.29.4",
|
||||
"nodemailer": "^6.6.3",
|
||||
"os": "^0.1.2",
|
||||
"page": "^1.11.6",
|
||||
"papaparse": "^5.3.1",
|
||||
|
||||
@@ -36,9 +36,10 @@ for(var i=0; i<urlschemes.length;i++){
|
||||
}
|
||||
|
||||
var emoji = require('markdown-it-emoji');
|
||||
var mathjax = require('markdown-it-mathjax3');
|
||||
Markdown.use(emoji);
|
||||
Markdown.use(mathjax);
|
||||
|
||||
//var mathjax = require('markdown-it-mathjax3');
|
||||
//Markdown.use(mathjax);
|
||||
|
||||
// Try to fix Mermaid Diagram error: Maximum call stack size exceeded.
|
||||
// Added bigger text size for Diagram.
|
||||
|
||||
+278
-46
@@ -7,7 +7,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>Wekan REST API v7.26</title>
|
||||
<title>Wekan REST API v7.31</title>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -1548,7 +1548,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<ul class="toc-list-h1">
|
||||
|
||||
<li>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.26">Wekan REST API v7.26</a>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.31">Wekan REST API v7.31</a>
|
||||
|
||||
</li>
|
||||
|
||||
@@ -1626,6 +1626,11 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#update_board_title" class="toc-h2 toc-link" data-title="">update_board_title</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#get_boards_count" class="toc-h2 toc-link" data-title="">get_boards_count</a>
|
||||
|
||||
@@ -2057,7 +2062,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<div class="page-wrapper">
|
||||
<div class="dark-box"></div>
|
||||
<div class="content">
|
||||
<h1 id="wekan-rest-api">Wekan REST API v7.26</h1>
|
||||
<h1 id="wekan-rest-api">Wekan REST API v7.31</h1>
|
||||
<blockquote>
|
||||
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
|
||||
</blockquote>
|
||||
@@ -4692,6 +4697,223 @@ System.out.println(response.toString());
|
||||
To perform this operation, you must be authenticated by means of one of the following methods:
|
||||
UserSecurity
|
||||
</aside>
|
||||
<h2 id="update_board_title">update_board_title</h2>
|
||||
<p><a id="opIdupdate_board_title"></a></p>
|
||||
<blockquote>
|
||||
<p>Code samples</p>
|
||||
</blockquote>
|
||||
<pre class="highlight tab tab-shell"><code><span class="hljs-comment"># You can also use wget</span>
|
||||
curl -X PUT /api/boards/{board}/title \
|
||||
-H <span class="hljs-string">'Content-Type: multipart/form-data'</span> \
|
||||
-H <span class="hljs-string">'Authorization: API_KEY'</span>
|
||||
|
||||
</code></pre>
|
||||
<pre class="highlight tab tab-http"><code><span class="hljs-keyword">PUT</span> <span class="hljs-string">/api/boards/{board}/title</span> <span class="hljs-meta">HTTP/1.1</span>
|
||||
|
||||
<span class="fortran">Content-<span class="hljs-keyword">Type</span>: multipart/<span class="hljs-keyword">form</span>-<span class="hljs-keyword">data</span>
|
||||
|
||||
</span></code></pre>
|
||||
<pre class="highlight tab tab-javascript"><code><span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
|
||||
"title": "string"
|
||||
}'</span>;
|
||||
<span class="hljs-keyword">const</span> headers = {
|
||||
<span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
|
||||
<span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
|
||||
};
|
||||
|
||||
fetch(<span class="hljs-string">'/api/boards/{board}/title'</span>,
|
||||
{
|
||||
<span class="hljs-attr">method</span>: <span class="hljs-string">'PUT'</span>,
|
||||
<span class="hljs-attr">body</span>: inputBody,
|
||||
<span class="hljs-attr">headers</span>: headers
|
||||
})
|
||||
.then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
|
||||
<span class="hljs-keyword">return</span> res.json();
|
||||
}).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
|
||||
<span class="hljs-built_in">console</span>.log(body);
|
||||
});
|
||||
|
||||
</code></pre>
|
||||
<pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
|
||||
<span class="hljs-keyword">const</span> inputBody = {
|
||||
<span class="hljs-string">"title"</span>: <span class="hljs-string">"string"</span>
|
||||
};
|
||||
<span class="hljs-keyword">const</span> headers = {
|
||||
<span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
|
||||
<span class="hljs-string">'Authorization'</span>:<span class="hljs-string">'API_KEY'</span>
|
||||
};
|
||||
|
||||
fetch(<span class="hljs-string">'/api/boards/{board}/title'</span>,
|
||||
{
|
||||
<span class="hljs-attr">method</span>: <span class="hljs-string">'PUT'</span>,
|
||||
<span class="hljs-attr">body</span>: <span class="hljs-built_in">JSON</span>.stringify(inputBody),
|
||||
<span class="hljs-attr">headers</span>: headers
|
||||
})
|
||||
.then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">res</span>) </span>{
|
||||
<span class="hljs-keyword">return</span> res.json();
|
||||
}).then(<span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">body</span>) </span>{
|
||||
<span class="hljs-built_in">console</span>.log(body);
|
||||
});
|
||||
|
||||
</code></pre>
|
||||
<pre class="highlight tab tab-ruby"><code><span class="hljs-keyword">require</span> <span class="hljs-string">'rest-client'</span>
|
||||
<span class="hljs-keyword">require</span> <span class="hljs-string">'json'</span>
|
||||
|
||||
headers = {
|
||||
<span class="hljs-string">'Content-Type'</span> => <span class="hljs-string">'multipart/form-data'</span>,
|
||||
<span class="hljs-string">'Authorization'</span> => <span class="hljs-string">'API_KEY'</span>
|
||||
}
|
||||
|
||||
result = RestClient.put <span class="hljs-string">'/api/boards/{board}/title'</span>,
|
||||
<span class="hljs-symbol">params:</span> {
|
||||
}, <span class="hljs-symbol">headers:</span> headers
|
||||
|
||||
p JSON.parse(result)
|
||||
|
||||
</code></pre>
|
||||
<pre class="highlight tab tab-python"><code><span class="hljs-keyword">import</span> requests
|
||||
headers = {
|
||||
<span class="hljs-string">'Content-Type'</span>: <span class="hljs-string">'multipart/form-data'</span>,
|
||||
<span class="hljs-string">'Authorization'</span>: <span class="hljs-string">'API_KEY'</span>
|
||||
}
|
||||
|
||||
r = requests.put(<span class="hljs-string">'/api/boards/{board}/title'</span>, headers = headers)
|
||||
|
||||
<span class="hljs-built_in">print</span>(r.json())
|
||||
|
||||
</code></pre>
|
||||
<pre class="highlight tab tab-java"><code>URL obj = <span class="hljs-keyword">new</span> URL(<span class="hljs-string">"/api/boards/{board}/title"</span>);
|
||||
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
|
||||
con.setRequestMethod(<span class="hljs-string">"PUT"</span>);
|
||||
<span class="hljs-keyword">int</span> responseCode = con.getResponseCode();
|
||||
BufferedReader in = <span class="hljs-keyword">new</span> BufferedReader(
|
||||
<span class="hljs-keyword">new</span> InputStreamReader(con.getInputStream()));
|
||||
String inputLine;
|
||||
StringBuffer response = <span class="hljs-keyword">new</span> StringBuffer();
|
||||
<span class="hljs-keyword">while</span> ((inputLine = in.readLine()) != <span class="hljs-keyword">null</span>) {
|
||||
response.append(inputLine);
|
||||
}
|
||||
in.close();
|
||||
System.out.println(response.toString());
|
||||
|
||||
</code></pre>
|
||||
<pre class="highlight tab tab-go"><code><span class="hljs-keyword">package</span> main
|
||||
|
||||
<span class="hljs-keyword">import</span> (
|
||||
<span class="hljs-string">"bytes"</span>
|
||||
<span class="hljs-string">"net/http"</span>
|
||||
)
|
||||
|
||||
<span class="hljs-function"><span class="hljs-keyword">func</span> <span class="hljs-title">main</span><span class="hljs-params">()</span></span> {
|
||||
|
||||
headers := <span class="hljs-keyword">map</span>[<span class="hljs-keyword">string</span>][]<span class="hljs-keyword">string</span>{
|
||||
<span class="hljs-string">"Content-Type"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"multipart/form-data"</span>},
|
||||
<span class="hljs-string">"Authorization"</span>: []<span class="hljs-keyword">string</span>{<span class="hljs-string">"API_KEY"</span>},
|
||||
}
|
||||
|
||||
data := bytes.NewBuffer([]<span class="hljs-keyword">byte</span>{jsonReq})
|
||||
req, err := http.NewRequest(<span class="hljs-string">"PUT"</span>, <span class="hljs-string">"/api/boards/{board}/title"</span>, data)
|
||||
req.Header = headers
|
||||
|
||||
client := &http.Client{}
|
||||
resp, err := client.Do(req)
|
||||
<span class="hljs-comment">// ...</span>
|
||||
}
|
||||
|
||||
</code></pre>
|
||||
<pre class="highlight tab tab-php"><code> <span class="hljs-string">'multipart/form-data'</span>,
|
||||
<span class="hljs-string">'Authorization'</span> => <span class="hljs-string">'API_KEY'</span>,
|
||||
);
|
||||
|
||||
<span class="hljs-variable">$client</span> = <span class="hljs-keyword">new</span> \GuzzleHttp\Client();
|
||||
|
||||
<span class="hljs-comment">// Define array of request body.</span>
|
||||
<span class="hljs-variable">$request_body</span> = <span class="hljs-keyword">array</span>();
|
||||
|
||||
<span class="hljs-keyword">try</span> {
|
||||
<span class="hljs-variable">$response</span> = <span class="hljs-variable">$client</span>->request(<span class="hljs-string">'PUT'</span>,<span class="hljs-string">'/api/boards/{board}/title'</span>, <span class="hljs-keyword">array</span>(
|
||||
<span class="hljs-string">'headers'</span> => <span class="hljs-variable">$headers</span>,
|
||||
<span class="hljs-string">'json'</span> => <span class="hljs-variable">$request_body</span>,
|
||||
)
|
||||
);
|
||||
print_r(<span class="hljs-variable">$response</span>->getBody()->getContents());
|
||||
}
|
||||
<span class="hljs-keyword">catch</span> (\GuzzleHttp\<span class="hljs-built_in">Exception</span>\BadResponseException <span class="hljs-variable">$e</span>) {
|
||||
<span class="hljs-comment">// handle exception or api errors.</span>
|
||||
print_r(<span class="hljs-variable">$e</span>->getMessage());
|
||||
}
|
||||
|
||||
<span class="hljs-comment">// ...</span>
|
||||
|
||||
</code></pre>
|
||||
<p><code>PUT /api/boards/{board}/title</code></p>
|
||||
<p><em>Update the title of a board</em></p>
|
||||
<blockquote>
|
||||
<p>Body parameter</p>
|
||||
</blockquote>
|
||||
<pre class="highlight tab tab-yaml"><code><span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
|
||||
|
||||
</code></pre>
|
||||
<h3 id="update_board_title-parameters">Parameters</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
<th>In</th>
|
||||
<th>Type</th>
|
||||
<th>Required</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>board</td>
|
||||
<td>path</td>
|
||||
<td>string</td>
|
||||
<td>true</td>
|
||||
<td>the ID of the board to update</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>body</td>
|
||||
<td>body</td>
|
||||
<td>object</td>
|
||||
<td>true</td>
|
||||
<td>none</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>» title</td>
|
||||
<td>body</td>
|
||||
<td>string</td>
|
||||
<td>true</td>
|
||||
<td>the new title for the board</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-8">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the ID of the board to update</p>
|
||||
<h3 id="update_board_title-responses">Responses</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Status</th>
|
||||
<th>Meaning</th>
|
||||
<th>Description</th>
|
||||
<th>Schema</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>200</td>
|
||||
<td><a href="https://tools.ietf.org/html/rfc7231#section-6.3.1">OK</a></td>
|
||||
<td>200 response</td>
|
||||
<td>None</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<aside class="warning">
|
||||
To perform this operation, you must be authenticated by means of one of the following methods:
|
||||
UserSecurity
|
||||
</aside>
|
||||
<h2 id="get_boards_count">get_boards_count</h2>
|
||||
<p><a id="opIdget_boards_count"></a></p>
|
||||
<blockquote>
|
||||
@@ -5070,7 +5292,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-8">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-9">Detailed descriptions</h4>
|
||||
<p><strong>user</strong>: the ID of the user to retrieve the data</p>
|
||||
<blockquote>
|
||||
<p>Example responses</p>
|
||||
@@ -5313,7 +5535,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-9">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-10">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>card</strong>: the card ID</p>
|
||||
<blockquote>
|
||||
@@ -5598,7 +5820,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-10">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-11">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>card</strong>: the card ID</p>
|
||||
<blockquote>
|
||||
@@ -5838,7 +6060,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-11">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-12">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>card</strong>: the card ID</p>
|
||||
<p><strong>checklist</strong>: the ID of the checklist</p>
|
||||
@@ -6147,7 +6369,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-12">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-13">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>card</strong>: the card ID</p>
|
||||
<p><strong>checklist</strong>: the ID of the checklist to remove</p>
|
||||
@@ -6421,7 +6643,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-13">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-14">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>card</strong>: the card ID</p>
|
||||
<p><strong>checklist</strong>: the ID of the checklist</p>
|
||||
@@ -6669,7 +6891,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-14">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-15">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>card</strong>: the card ID</p>
|
||||
<p><strong>checklist</strong>: the checklist ID</p>
|
||||
@@ -6944,7 +7166,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-15">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-16">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>card</strong>: the card ID</p>
|
||||
<p><strong>checklist</strong>: the checklist ID</p>
|
||||
@@ -7194,7 +7416,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-16">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-17">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>card</strong>: the card ID</p>
|
||||
<p><strong>checklist</strong>: the checklist ID</p>
|
||||
@@ -7430,7 +7652,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-17">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-18">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID of the card</p>
|
||||
<p><strong>card</strong>: the ID of the card</p>
|
||||
<blockquote>
|
||||
@@ -7723,7 +7945,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-18">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-19">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID of the card</p>
|
||||
<p><strong>card</strong>: the ID of the card</p>
|
||||
<blockquote>
|
||||
@@ -7963,7 +8185,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-19">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-20">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID of the card</p>
|
||||
<p><strong>card</strong>: the ID of the card</p>
|
||||
<p><strong>comment</strong>: the ID of the comment to retrieve</p>
|
||||
@@ -8187,7 +8409,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-20">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-21">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID of the card</p>
|
||||
<p><strong>card</strong>: the ID of the card</p>
|
||||
<p><strong>comment</strong>: the ID of the comment to delete</p>
|
||||
@@ -8429,7 +8651,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-21">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-22">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>customField</strong>: the list ID</p>
|
||||
<p><strong>customFieldValue</strong>: the value to look for</p>
|
||||
@@ -8690,7 +8912,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-22">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-23">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<blockquote>
|
||||
<p>Example responses</p>
|
||||
@@ -8922,7 +9144,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-23">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-24">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>list</strong>: the list ID</p>
|
||||
<blockquote>
|
||||
@@ -9255,7 +9477,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-24">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-25">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID of the new card</p>
|
||||
<p><strong>list</strong>: the list ID of the new card</p>
|
||||
<blockquote>
|
||||
@@ -9495,7 +9717,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-25">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-26">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>list</strong>: the list ID of the card</p>
|
||||
<p><strong>card</strong>: the card ID</p>
|
||||
@@ -9670,7 +9892,8 @@ Accept: application/json
|
||||
"assignees": "string",
|
||||
"swimlaneId": "string",
|
||||
"listId": "string",
|
||||
"authorId": "string"
|
||||
"authorId": "string",
|
||||
"archive": "string"
|
||||
}'</span>;
|
||||
<span class="hljs-keyword">const</span> headers = {
|
||||
<span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
|
||||
@@ -9717,7 +9940,8 @@ fetch(<span class="hljs-string">'/api/boards/{board}/lists/{list}/cards/{ca
|
||||
<span class="hljs-string">"assignees"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-string">"swimlaneId"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-string">"listId"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-string">"authorId"</span>: <span class="hljs-string">"string"</span>
|
||||
<span class="hljs-string">"authorId"</span>: <span class="hljs-string">"string"</span>,
|
||||
<span class="hljs-string">"archive"</span>: <span class="hljs-string">"string"</span>
|
||||
};
|
||||
<span class="hljs-keyword">const</span> headers = {
|
||||
<span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
|
||||
@@ -9870,6 +10094,7 @@ System.out.println(response.toString());
|
||||
<span class="hljs-attr">swimlaneId:</span> <span class="hljs-string">string</span>
|
||||
<span class="hljs-attr">listId:</span> <span class="hljs-string">string</span>
|
||||
<span class="hljs-attr">authorId:</span> <span class="hljs-string">string</span>
|
||||
<span class="hljs-attr">archive:</span> <span class="hljs-string">string</span>
|
||||
|
||||
</code></pre>
|
||||
<h3 id="edit_card-parameters">Parameters</h3>
|
||||
@@ -10087,9 +10312,16 @@ System.out.println(response.toString());
|
||||
<td>false</td>
|
||||
<td>change the owner of the card</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>» archive</td>
|
||||
<td>body</td>
|
||||
<td>string</td>
|
||||
<td>true</td>
|
||||
<td>the archive value</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-26">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-27">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID of the card</p>
|
||||
<p><strong>list</strong>: the list ID of the card</p>
|
||||
<p><strong>card</strong>: the ID of the card</p>
|
||||
@@ -10332,7 +10564,7 @@ is not put in the recycle bin.</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-27">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-28">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID of the card</p>
|
||||
<p><strong>list</strong>: the list ID of the card</p>
|
||||
<p><strong>card</strong>: the ID of the card</p>
|
||||
@@ -10613,7 +10845,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-28">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-29">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID of the card</p>
|
||||
<p><strong>list</strong>: the list ID of the card</p>
|
||||
<p><strong>card</strong>: the ID of the card</p>
|
||||
@@ -10856,7 +11088,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-29">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-30">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>list</strong>: the List ID</p>
|
||||
<blockquote>
|
||||
@@ -11089,7 +11321,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-30">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-31">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>swimlane</strong>: the swimlane ID</p>
|
||||
<blockquote>
|
||||
@@ -11915,7 +12147,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-31">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-32">Detailed descriptions</h4>
|
||||
<p><strong>customField</strong>: the ID of the custom field</p>
|
||||
<blockquote>
|
||||
<p>Example responses</p>
|
||||
@@ -12490,7 +12722,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-32">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-33">Detailed descriptions</h4>
|
||||
<p><strong>customField</strong>: the ID of the custom field</p>
|
||||
<blockquote>
|
||||
<p>Example responses</p>
|
||||
@@ -13484,7 +13716,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-33">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-34">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<blockquote>
|
||||
<p>Example responses</p>
|
||||
@@ -13824,7 +14056,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-34">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-35">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<blockquote>
|
||||
<p>Example responses</p>
|
||||
@@ -14056,7 +14288,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-35">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-36">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>int</strong>: the integration ID</p>
|
||||
<blockquote>
|
||||
@@ -14350,7 +14582,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-36">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-37">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>int</strong>: the integration ID</p>
|
||||
<blockquote>
|
||||
@@ -14583,7 +14815,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-37">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-38">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>int</strong>: the integration ID</p>
|
||||
<blockquote>
|
||||
@@ -14816,7 +15048,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-38">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-39">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>int</strong>: the integration ID</p>
|
||||
<blockquote>
|
||||
@@ -15070,7 +15302,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-39">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-40">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>int</strong>: the integration ID</p>
|
||||
<blockquote>
|
||||
@@ -15286,7 +15518,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-40">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-41">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<blockquote>
|
||||
<p>Example responses</p>
|
||||
@@ -15553,7 +15785,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-41">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-42">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<blockquote>
|
||||
<p>Example responses</p>
|
||||
@@ -15785,7 +16017,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-42">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-43">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>list</strong>: the List ID</p>
|
||||
<blockquote>
|
||||
@@ -16014,7 +16246,7 @@ The list is not put in the recycle bin.</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-43">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-44">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the board ID</p>
|
||||
<p><strong>list</strong>: the ID of the list to remove</p>
|
||||
<blockquote>
|
||||
@@ -16241,7 +16473,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-44">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-45">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the ID of the board</p>
|
||||
<blockquote>
|
||||
<p>Example responses</p>
|
||||
@@ -16508,7 +16740,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-45">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-46">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the ID of the board</p>
|
||||
<blockquote>
|
||||
<p>Example responses</p>
|
||||
@@ -16740,7 +16972,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-46">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-47">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the ID of the board</p>
|
||||
<p><strong>swimlane</strong>: the ID of the swimlane</p>
|
||||
<blockquote>
|
||||
@@ -16992,7 +17224,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-47">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-48">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the ID of the board</p>
|
||||
<p><strong>swimlane</strong>: the ID of the swimlane to edit</p>
|
||||
<blockquote>
|
||||
@@ -17226,7 +17458,7 @@ System.out.println(response.toString());
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 id="detailed-descriptions-48">Detailed descriptions</h4>
|
||||
<h4 id="detailed-descriptions-49">Detailed descriptions</h4>
|
||||
<p><strong>board</strong>: the ID of the board</p>
|
||||
<p><strong>swimlane</strong>: the ID of the swimlane</p>
|
||||
<blockquote>
|
||||
|
||||
+36
-1
@@ -1,7 +1,7 @@
|
||||
swagger: '2.0'
|
||||
info:
|
||||
title: Wekan REST API
|
||||
version: v7.26
|
||||
version: v7.31
|
||||
description: |
|
||||
The REST API allows you to control and extend Wekan with ease.
|
||||
|
||||
@@ -2077,6 +2077,11 @@ paths:
|
||||
change the owner of the card
|
||||
type: string
|
||||
required: false
|
||||
- name: archive
|
||||
in: formData
|
||||
description: the archive value
|
||||
type: string
|
||||
required: true
|
||||
- name: board
|
||||
in: path
|
||||
description: |
|
||||
@@ -2498,6 +2503,36 @@ paths:
|
||||
type: string
|
||||
listId:
|
||||
type: string
|
||||
/api/boards/{board}/title:
|
||||
put:
|
||||
operationId: update_board_title
|
||||
summary: Update the title of a board
|
||||
tags:
|
||||
- Boards
|
||||
consumes:
|
||||
- multipart/form-data
|
||||
- application/json
|
||||
parameters:
|
||||
- name: title
|
||||
in: formData
|
||||
description: |
|
||||
the new title for the board
|
||||
type: string
|
||||
required: true
|
||||
- name: board
|
||||
in: path
|
||||
description: |
|
||||
the ID of the board to update
|
||||
type: string
|
||||
required: true
|
||||
produces:
|
||||
- application/json
|
||||
security:
|
||||
- UserSecurity: []
|
||||
responses:
|
||||
'200':
|
||||
description: |-
|
||||
200 response
|
||||
/api/boards_count:
|
||||
get:
|
||||
operationId: get_boards_count
|
||||
|
||||
@@ -6,16 +6,17 @@ cd ~/repos/wekan/.build
|
||||
zip -r wekan-$1-amd64.zip bundle
|
||||
|
||||
{
|
||||
scp ~/repos/wekan/releases/build-bundle-arm64.sh a:/home/wekan/
|
||||
scp ~/repos/wekan/releases/build-bundle-s390x.sh s:/home/linux1/
|
||||
#scp ~/repos/wekan/releases/build-bundle-arm64.sh a:/home/wekan/
|
||||
#scp ~/repos/wekan/releases/build-bundle-s390x.sh s:/home/linux1/
|
||||
#scp ~/repos/wekan/releases/build-bundle-ppc64el.sh o:/home/ubuntu/
|
||||
scp ~/repos/wekan/releases/release-x2.sh x2:/data/websites/
|
||||
scp wekan-$1-amd64.zip x2:/data/websites/releases.wekan.team/
|
||||
scp wekan-$1-amd64.zip a:/home/wekan/
|
||||
scp wekan-$1-amd64.zip s:/home/linux1/
|
||||
#scp wekan-$1-amd64.zip a:/home/wekan/
|
||||
#scp wekan-$1-amd64.zip s:/home/linux1/
|
||||
#scp wekan-$1.zip o:/home/ubuntu/
|
||||
} | parallel -k
|
||||
|
||||
cd ..
|
||||
|
||||
echo "x64 bundle and arm64/s390x build scripts uploaded to x2/a/s."
|
||||
#echo "x64 bundle and arm64/s390x build scripts uploaded to x2/a/s."
|
||||
echo "x64 bundle and arm64/s390x build scripts uploaded to x2."
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 726,
|
||||
appVersion = 731,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "7.26.0~2024-01-02"),
|
||||
appMarketingVersion = (defaultText = "7.31.0~2024-02-17"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
|
||||
@@ -9,7 +9,8 @@ if [ -z "$LANG" ]; then
|
||||
fi
|
||||
|
||||
export LC_ALL=C
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/wekan/current/lib/x86_64-linux-gnu
|
||||
export PATH=/snap/${SNAP_NAME}/current/usr/bin:/snap/${SNAP_NAME}/current/bin:$PATH
|
||||
export LD_LIBRARY_PATH=/snap/${SNAP_NAME}/current/lib:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
|
||||
|
||||
if [ -z $1 ]; then
|
||||
DATE=`/bin/date +%Y%m%dT%H%M%S`
|
||||
|
||||
@@ -15,54 +15,55 @@ if [ -z "$LANG" ]; then
|
||||
fi
|
||||
|
||||
export LC_ALL=C
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu
|
||||
export PATH=/snap/${SNAP_NAME}/current/usr/bin:/snap/${SNAP_NAME}/current/bin:$PATH
|
||||
export LD_LIBRARY_PATH=/snap/${SNAP_NAME}/current/lib:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
|
||||
|
||||
if test -f "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"; then
|
||||
touch "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"
|
||||
# Stop MongoDB
|
||||
touch "$SNAP_COMMON/02-disable-mongo.txt"
|
||||
snapctl stop --disable ${SNAP_NAME}.mongodb
|
||||
touch "$SNAP_COMMON/03-eval-stop-mongo.txt"
|
||||
mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
# Start MongoDB 4.4
|
||||
touch "$SNAP_COMMON/04-start-mongo44.txt"
|
||||
$SNAP/mongo44bin/mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/02_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
|
||||
# Wait MongoDB 4.4 to start
|
||||
touch "$SNAP_COMMON/05-wait-2s-mongo44-start.txt"
|
||||
sleep 2s
|
||||
# Dump Old MongoDB 3.x database
|
||||
touch "$SNAP_COMMON/06-dump-database.txt"
|
||||
(cd $SNAP_COMMON && mongodump --port ${MONGODB_PORT})
|
||||
# Stop MongoDB 4.4
|
||||
touch "$SNAP_COMMON/07-stop-mongo44.txt"
|
||||
$SNAP/mongo44bin/mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
# Wait MongoDB 4.4 to stop
|
||||
touch "$SNAP_COMMON/08-wait-2s-mongo44-stop.txt"
|
||||
sleep 2s
|
||||
# Start MongoDB 5
|
||||
touch "$SNAP_COMMON/09-start-mongo5.txt"
|
||||
mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/10_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
|
||||
# Restore database
|
||||
touch "$SNAP_COMMON/11-mongorestore-to-mongo5.txt"
|
||||
(cd $SNAP_COMMON && mongorestore --port ${MONGODB_PORT})
|
||||
# Wait 5s
|
||||
touch "$SNAP_COMMON/12-wait-5s-after-restore.txt"
|
||||
sleep 5s
|
||||
# Shutdown mongodb
|
||||
touch "$SNAP_COMMON/13-shutdown-mongodb.txt"
|
||||
mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
touch "$SNAP_COMMON/14-wait-5s-after-mongo5-shutdown.txt"
|
||||
sleep 5s
|
||||
# Enable MongoDB 5
|
||||
touch "$SNAP_COMMON/15-enable-mongo-5.txt"
|
||||
snapctl start --enable ${SNAP_NAME}.mongodb
|
||||
fi
|
||||
#if test -f "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"; then
|
||||
# touch "$SNAP_COMMON/01-migrate-mongo3-to-mongo5.txt"
|
||||
# # Stop MongoDB
|
||||
# touch "$SNAP_COMMON/02-disable-mongo.txt"
|
||||
# snapctl stop --disable ${SNAP_NAME}.mongodb
|
||||
# touch "$SNAP_COMMON/03-eval-stop-mongo.txt"
|
||||
# mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
# # Start MongoDB 4.4
|
||||
# touch "$SNAP_COMMON/04-start-mongo44.txt"
|
||||
# $SNAP/mongo44bin/mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/02_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
|
||||
# # Wait MongoDB 4.4 to start
|
||||
# touch "$SNAP_COMMON/05-wait-2s-mongo44-start.txt"
|
||||
# sleep 2s
|
||||
# # Dump Old MongoDB 3.x database
|
||||
# touch "$SNAP_COMMON/06-dump-database.txt"
|
||||
# (cd $SNAP_COMMON && mongodump --port ${MONGODB_PORT})
|
||||
# # Stop MongoDB 4.4
|
||||
# touch "$SNAP_COMMON/07-stop-mongo44.txt"
|
||||
# $SNAP/mongo44bin/mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
# # Wait MongoDB 4.4 to stop
|
||||
# touch "$SNAP_COMMON/08-wait-2s-mongo44-stop.txt"
|
||||
# sleep 2s
|
||||
# # Start MongoDB 5
|
||||
# touch "$SNAP_COMMON/09-start-mongo5.txt"
|
||||
# mongod --dbpath $SNAP_COMMON --logpath $SNAP_COMMON/10_mongodb_log_while_migrate.txt --logappend --journal $MONGO_URL --quiet
|
||||
# # Restore database
|
||||
# touch "$SNAP_COMMON/11-mongorestore-to-mongo5.txt"
|
||||
# (cd $SNAP_COMMON && mongorestore --port ${MONGODB_PORT})
|
||||
# # Wait 5s
|
||||
# touch "$SNAP_COMMON/12-wait-5s-after-restore.txt"
|
||||
# sleep 5s
|
||||
# # Shutdown mongodb
|
||||
# touch "$SNAP_COMMON/13-shutdown-mongodb.txt"
|
||||
# mongo wekan --eval "db.getSiblingDB('admin').shutdownServer()" $BIND_OPTIONS
|
||||
# touch "$SNAP_COMMON/14-wait-5s-after-mongo5-shutdown.txt"
|
||||
# sleep 5s
|
||||
# # Enable MongoDB 5
|
||||
# touch "$SNAP_COMMON/15-enable-mongo-5.txt"
|
||||
# snapctl start --enable ${SNAP_NAME}.mongodb
|
||||
#fi
|
||||
# When starting MongoDB, if logfile exist, delete it, because now uses syslog instead of logfile,
|
||||
# because syslog usually already has log rotation.
|
||||
# https://github.com/wekan/wekan-snap/issues/92
|
||||
if test -f "$SNAP_COMMON/mongodb.log"; then
|
||||
rm -f "$SNAP_COMMON/mongodb.log"
|
||||
fi
|
||||
#if test -f "$SNAP_COMMON/mongodb.log"; then
|
||||
# rm -f "$SNAP_COMMON/mongodb.log"
|
||||
#fi
|
||||
|
||||
# Alternative: When starting MongoDB, and using logfile, truncate log to last 1000 lines of text.
|
||||
# 1) If file exists:
|
||||
@@ -77,13 +78,6 @@ fi
|
||||
|
||||
if [ -z "$MONGO_URL" ]; then
|
||||
|
||||
# Disable MongoDB telemetry and free monitoring
|
||||
mongo --eval "disableTelemetry()"
|
||||
mongo --eval "db.disableFreeMonitoring()"
|
||||
# Snap: Disable apparmor="DENIED" at syslog
|
||||
# https://github.com/wekan/wekan/issues/4855
|
||||
mongo wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
|
||||
|
||||
# start mongo deamon
|
||||
BIND_OPTIONS=""
|
||||
if [ "nill" != "$MONGODB_BIND_UNIX_SOCKET" ] && [ "x" != "x${MONGODB_BIND_UNIX_SOCKET}" ]; then
|
||||
@@ -113,20 +107,20 @@ if [ -z "$MONGO_URL" ]; then
|
||||
mongod --dbpath $SNAP_COMMON --logpath /dev/null --journal $BIND_OPTIONS --quiet
|
||||
fi
|
||||
|
||||
# Drop indexes on database upgrade, when starting MongoDB
|
||||
#mongo wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
|
||||
mongo wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.4" });' $BIND_OPTIONS
|
||||
# Delete incomplete uploads so that they would not prevent starting WeKan
|
||||
mongo wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
|
||||
|
||||
else
|
||||
|
||||
# Disable MongoDB telemetry and free monitoring
|
||||
mongo --eval "disableTelemetry()"
|
||||
mongo --eval "db.disableFreeMonitoring()"
|
||||
mongosh wekan --eval 'disableTelemetry();' $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.disableFreeMonitoring();' $BIND_OPTIONS
|
||||
# Snap: Disable apparmor="DENIED" at syslog
|
||||
# https://github.com/wekan/wekan/issues/4855
|
||||
mongo wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
|
||||
# Drop indexes on database upgrade, when starting MongoDB
|
||||
#mongosh wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.4" });' $BIND_OPTIONS
|
||||
# Delete incomplete uploads so that they would not prevent starting WeKan
|
||||
mongosh wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
|
||||
|
||||
else
|
||||
|
||||
if [ "syslog" == "${MONGO_LOG_DESTINATION}" ]; then
|
||||
echo "Sending mongodb logs to syslog"
|
||||
@@ -143,10 +137,16 @@ else
|
||||
mongod --dbpath $SNAP_COMMON --logpath /dev/null --journal $MONGO_URL --quiet
|
||||
fi
|
||||
|
||||
# Disable MongoDB telemetry and free monitoring
|
||||
mongosh wekan --eval 'disableTelemetry();' $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.disableFreeMonitoring();' $BIND_OPTIONS
|
||||
# Snap: Disable apparmor="DENIED" at syslog
|
||||
# https://github.com/wekan/wekan/issues/4855
|
||||
mongosh wekan --eval 'db.adminCommand({ setParameter: 1, diagnosticDataCollectionEnabled: false});' $BIND_OPTIONS
|
||||
# Drop indexes on database upgrade, when starting MongoDB
|
||||
#mongo wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
|
||||
mongo wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.2" });' $BIND_OPTIONS
|
||||
#mongosh wekan --eval "db.getCollectionNames().forEach(function(col_name) { var coll = db.getCollection(col_name); coll.dropIndexes(); });" $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.adminCommand({ setFeatureCompatibilityVersion: "4.2" });' $BIND_OPTIONS
|
||||
# Delete incomplete uploads so that they would not prevent starting WeKan
|
||||
mongo wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
|
||||
mongosh wekan --eval 'db.getCollection("cfs.attachments.filerecord").find( { "uploadedAt": { "$exists": true }, "copies.attachments" : null,"failures.copies.attachments.doneTrying" : {"$ne" : true}});' $BIND_OPTIONS
|
||||
|
||||
fi
|
||||
@@ -9,7 +9,8 @@ if [ -z "$LANG" ]; then
|
||||
fi
|
||||
|
||||
export LC_ALL=C
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/snap/wekan/current/lib/x86_64-linux-gnu
|
||||
export PATH=/snap/${SNAP_NAME}/current/usr/bin:/snap/${SNAP_NAME}/current/bin:$PATH
|
||||
export LD_LIBRARY_PATH=/snap/${SNAP_NAME}/current/lib:/snap/${SNAP_NAME}/current/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
|
||||
|
||||
# start mongodb backup
|
||||
[ "x" == "x${MONGODB_BIND_IP}" ] && MONGODB_BIND_IP="127.0.0.1"
|
||||
|
||||
+11
-11
@@ -1,5 +1,5 @@
|
||||
name: wekan
|
||||
version: '7.26'
|
||||
version: '7.31'
|
||||
base: core20
|
||||
summary: Open Source kanban
|
||||
description: |
|
||||
@@ -65,7 +65,7 @@ apps:
|
||||
|
||||
parts:
|
||||
mongodb:
|
||||
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.12.tgz
|
||||
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.13.tgz
|
||||
plugin: dump
|
||||
stage-packages:
|
||||
- libssl1.1
|
||||
@@ -90,13 +90,13 @@ parts:
|
||||
prime:
|
||||
- $mongo
|
||||
|
||||
# mongosh:
|
||||
# source: https://downloads.mongodb.com/compass/mongodb-mongosh_1.6.2_amd64.deb
|
||||
# plugin: dump
|
||||
mongosh:
|
||||
source: https://downloads.mongodb.com/compass/mongodb-mongosh_2.1.1_amd64.deb
|
||||
plugin: dump
|
||||
|
||||
# mongotools:
|
||||
# source: https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2004-x86_64-100.6.1.tgz
|
||||
# plugin: dump
|
||||
mongotools:
|
||||
source: https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2004-x86_64-100.9.4.tgz
|
||||
plugin: dump
|
||||
|
||||
# mongodb44:
|
||||
# source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-4.4.18.tgz
|
||||
@@ -170,9 +170,9 @@ parts:
|
||||
# Cleanup
|
||||
mkdir .build
|
||||
cd .build
|
||||
wget https://github.com/wekan/wekan/releases/download/v7.26/wekan-7.26-amd64.zip
|
||||
unzip wekan-7.26-amd64.zip
|
||||
rm wekan-7.26-amd64.zip
|
||||
wget https://github.com/wekan/wekan/releases/download/v7.31/wekan-7.31-amd64.zip
|
||||
unzip wekan-7.31-amd64.zip
|
||||
rm wekan-7.31-amd64.zip
|
||||
cd ..
|
||||
##cd .build/bundle
|
||||
##find . -type d -name '*-garbage*' | xargs rm -rf
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
# Try FerretDB instead
|
||||
|
||||
https://github.com/wekan/wekan/wiki/PostgreSQL
|
||||
|
||||
ToroDB is not developed anymore.
|
||||
|
||||
ToroDB is compatible with MongoDB 3.0. WeKan 7.x is compatible with MongoDB 6.x.
|
||||
|
||||
# Docker: Wekan to PostgreSQL read-only mirroring
|
||||
|
||||
* [Wekan kanban board, made with Meteor.js framework, running on
|
||||
@@ -19,8 +27,8 @@
|
||||
2) Clone this repo.
|
||||
|
||||
```bash
|
||||
git clone https://github.com/wekan/wekan-postgresql.git
|
||||
cd wekan-postgresql
|
||||
git clone https://github.com/wekan/wekan
|
||||
cd torodb-postgresql
|
||||
```
|
||||
|
||||
3) IMPORTANT: In docker-compose.yml, to use Wekan on local network, change ROOT_URL=http://localhost to http://IPADRESS like http://192.168.10.100 or http://example.com
|
||||
|
||||
Reference in new issue
Block a user