Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Sam X. Chen 2019-07-25 16:27:34 -04:00
commit 2c042e7f11
16 changed files with 826 additions and 763 deletions

View file

@ -1,3 +1,36 @@
# v3.00 2019-07-25 Wekan release
This release:
- works with source, and docker-compose.yml at master branch.
- Docker release uses Meteor 1.8.1 and MongoDB 4.0.10, so you need to backup your old MongoDB database and
restore with --noIndexRestore as described at https://github.com/wekan/wekan/wiki/Backup
- Snap and Sandstorm builds are not fixed yet, see progress at https://github.com/wekan/wekan/issues/2533
This release adds the following new features:
- [Added label text to labels on minicard](https://github.com/wekan/wekan/commit/c48d5a73cab04db1a1e113e4367dc88573110438).
Thanks to xet7.
- [Allow to shrink attached/pasted image](https://github.com/wekan/wekan/pull/2544).
Thanks to whowillcare.
and fixes the following bugs:
- [Fix invites](https://github.com/wekan/wekan/pull/2549).
Thanks to justinr1234.
- [Makes LDAP background sync work. If the sync interval is unspecified, falls back to a hourly default](https://github.com/wekan/wekan/pull/2555).
Thanks to pshunter.
- [Prevent isCommentOnly user adding attachments, editing list names, moving lists,
and seeing board settings menu. Show non-editable Custom Fields to isCommentOnly user](https://github.com/wekan/wekan/commit/a68c928896a94c377134f29a7183aa0b5a423720).
Thanks to xet7.
- [Many](https://github.com/wekan/wekan/pull/2546) [Snap](https://github.com/wekan/wekan/pull/2552) [fixes](https://github.com/wekan/wekan/pull/2553).
In Progress. Thanks to justrinr1234.
- [Fixed Dockerfile](https://github.com/wekan/wekan/commit/7df6f305c5cf41ac213623aeffaa7e48c981e0b6) and
[docker-compose.yml](https://github.com/wekan/wekan/commit/95698911f92ca728dbaab69406fd09bcbf81339d).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v2.99 2019-07-17 Wekan release # v2.99 2019-07-17 Wekan release
This release adds the following new features: This release adds the following new features:

View file

@ -174,7 +174,7 @@ RUN \
mv node-${NODE_VERSION}-${ARCHITECTURE} /opt/nodejs && \ mv node-${NODE_VERSION}-${ARCHITECTURE} /opt/nodejs && \
ln -s /opt/nodejs/bin/node /usr/bin/node && \ ln -s /opt/nodejs/bin/node /usr/bin/node && \
ln -s /opt/nodejs/bin/npm /usr/bin/npm && \ ln -s /opt/nodejs/bin/npm /usr/bin/npm && \
#mkdir -p /opt/nodejs/lib/node_modules/fibers/.node-gyp /root/.node-gyp/8.16.0 /home/wekan/.config && \ mkdir -p /opt/nodejs/lib/node_modules/fibers/.node-gyp /root/.node-gyp/8.16.0 /home/wekan/.config && \
chown wekan --recursive /home/wekan/.config && \ chown wekan --recursive /home/wekan/.config && \
\ \
#DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303 #DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
@ -196,8 +196,8 @@ RUN \
#sed -i 's/VERBOSITY="--silent"/VERBOSITY="--progress-bar"/' ./install_meteor.sh && \ #sed -i 's/VERBOSITY="--silent"/VERBOSITY="--progress-bar"/' ./install_meteor.sh && \
echo "Starting meteor ${METEOR_RELEASE} installation... \n" && \ echo "Starting meteor ${METEOR_RELEASE} installation... \n" && \
gosu wekan:wekan curl https://install.meteor.com/ | /bin/sh && \ gosu wekan:wekan curl https://install.meteor.com/ | /bin/sh && \
#chown wekan /home/wekan/install_meteor.sh && \ mv /root/.meteor /home/wekan/ && \
#gosu wekan:wekan sh /home/wekan/install_meteor.sh; \ chown wekan --recursive /home/wekan/.meteor && \
\ \
# Check if opting for a release candidate instead of major release # Check if opting for a release candidate instead of major release
#if [ "$USE_EDGE" = false ]; then \ #if [ "$USE_EDGE" = false ]; then \
@ -242,7 +242,7 @@ RUN \
# Build app # Build app
cd /home/wekan/app && \ cd /home/wekan/app && \
mkdir -p /home/wekan/.npm && \ mkdir -p /home/wekan/.npm && \
chown wekan --recursive /home/wekan/.npm /home/wekan/.config && \ chown wekan --recursive /home/wekan/.npm /home/wekan/.config /home/wekan/.meteor && \
#gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js && \ #gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js && \
gosu wekan:wekan npm install && \ gosu wekan:wekan npm install && \
gosu wekan:wekan /home/wekan/.meteor/meteor build --directory /home/wekan/app_build && \ gosu wekan:wekan /home/wekan/.meteor/meteor build --directory /home/wekan/app_build && \
@ -270,9 +270,9 @@ RUN \
rm -R /var/lib/apt/lists/* && \ rm -R /var/lib/apt/lists/* && \
rm -R /home/wekan/.meteor && \ rm -R /home/wekan/.meteor && \
rm -R /home/wekan/app && \ rm -R /home/wekan/app && \
rm -R /home/wekan/app_build && \ rm -R /home/wekan/app_build
#cat /home/wekan/python/esprima-python/files.txt | xargs rm -R && \ #cat /home/wekan/python/esprima-python/files.txt | xargs rm -R && \
rm -R /home/wekan/python #rm -R /home/wekan/python
#rm /home/wekan/install_meteor.sh #rm /home/wekan/install_meteor.sh
ENV PORT=8080 ENV PORT=8080

View file

@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928 appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v2.99.0" appVersion: "v3.00.0"
files: files:
userUploads: userUploads:
- README.md - README.md

View file

@ -37,6 +37,7 @@ template(name="attachmentsGalery")
i.fa.fa-download i.fa.fa-download
| {{_ 'download'}} | {{_ 'download'}}
if currentUser.isBoardMember if currentUser.isBoardMember
unless currentUser.isCommentOnly
if isImage if isImage
a(class="{{#if $eq ../coverId _id}}js-remove-cover{{else}}js-add-cover{{/if}}") a(class="{{#if $eq ../coverId _id}}js-remove-cover{{else}}js-add-cover{{/if}}")
i.fa.fa-thumb-tack i.fa.fa-thumb-tack
@ -49,5 +50,6 @@ template(name="attachmentsGalery")
| {{_ 'delete'}} | {{_ 'delete'}}
if currentUser.isBoardMember if currentUser.isBoardMember
unless currentUser.isCommentOnly
li.attachment-item.add-attachment li.attachment-item.add-attachment
a.js-add-attachment {{_ 'add-attachment' }} a.js-add-attachment {{_ 'add-attachment' }}

View file

@ -31,6 +31,10 @@ template(name="cardCustomField-text")
= value = value
else else
| {{_ 'edit'}} | {{_ 'edit'}}
else
+viewer
= value
template(name="cardCustomField-number") template(name="cardCustomField-number")
if canModifyCard if canModifyCard
@ -45,6 +49,9 @@ template(name="cardCustomField-number")
= value = value
else else
| {{_ 'edit'}} | {{_ 'edit'}}
else
if value
= value
template(name="cardCustomField-date") template(name="cardCustomField-date")
if canModifyCard if canModifyCard
@ -55,6 +62,11 @@ template(name="cardCustomField-date")
| {{showDate}} | {{showDate}}
else else
| {{_ 'edit'}} | {{_ 'edit'}}
else
if value
div.card-date
time(datetime="{{showISODate}}")
| {{showDate}}
template(name="cardCustomField-dropdown") template(name="cardCustomField-dropdown")
if canModifyCard if canModifyCard
@ -79,3 +91,7 @@ template(name="cardCustomField-dropdown")
= selectedItem = selectedItem
else else
| {{_ 'edit'}} | {{_ 'edit'}}
else
if value
+viewer
= selectedItem

View file

@ -8,7 +8,9 @@ template(name="minicard")
if labels if labels
.minicard-labels .minicard-labels
each labels each labels
.minicard-label(class="card-label-{{color}}" title="{{name}}") span.card-label(class="card-label-{{color}}" title=name)
+viewer
= name
.minicard-title .minicard-title
.handle .handle
.fa.fa-arrows .fa.fa-arrows

View file

@ -9,7 +9,7 @@ template(name="listHeader")
if currentList if currentList
a.list-header-left-icon.fa.fa-angle-left.js-unselect-list a.list-header-left-icon.fa.fa-angle-left.js-unselect-list
h2.list-header-name( h2.list-header-name(
class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}") class="{{#if currentUser.isBoardMember}}{{#unless currentUser.isCommentOnly}}js-open-inlined-form is-editable{{/unless}}{{/if}}")
+viewer +viewer
= title = title
if wipLimit.enabled if wipLimit.enabled

View file

@ -34,6 +34,7 @@ template(name="membersWidget")
h3 h3
i.fa.fa-user i.fa.fa-user
| {{_ 'members'}} | {{_ 'members'}}
unless currentUser.isCommentOnly
a.board-header-btn.js-open-board-menu(title="{{_ 'boardMenuPopup-title'}}").right a.board-header-btn.js-open-board-menu(title="{{_ 'boardMenuPopup-title'}}").right
i.board-header-btn-icon.fa.fa-cog i.board-header-btn-icon.fa.fa-cog

View file

@ -9,6 +9,7 @@ template(name="swimlane")
each lists each lists
+miniList(this) +miniList(this)
if currentUser.isBoardMember if currentUser.isBoardMember
unless currentUser.isCommentOnly
+addListForm +addListForm
else else
each lists each lists
@ -16,6 +17,7 @@ template(name="swimlane")
if currentCardIsInThisList _id ../_id if currentCardIsInThisList _id ../_id
+cardDetails(currentCard) +cardDetails(currentCard)
if currentUser.isBoardMember if currentUser.isBoardMember
unless currentUser.isCommentOnly
+addListForm +addListForm
template(name="listsGroup") template(name="listsGroup")
@ -27,6 +29,7 @@ template(name="listsGroup")
each lists each lists
+miniList(this) +miniList(this)
if currentUser.isBoardMember if currentUser.isBoardMember
unless currentUser.isCommentOnly
+addListForm +addListForm
else else
each lists each lists
@ -34,6 +37,7 @@ template(name="listsGroup")
if currentCardIsInThisList _id null if currentCardIsInThisList _id null
+cardDetails(currentCard) +cardDetails(currentCard)
if currentUser.isBoardMember if currentUser.isBoardMember
unless currentUser.isCommentOnly
+addListForm +addListForm
template(name="addListForm") template(name="addListForm")

View file

@ -9,6 +9,8 @@ version: '2'
# https://github.com/wekan/wekan/wiki/Forgot-Password # https://github.com/wekan/wekan/wiki/Forgot-Password
#--------------------------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------------------------
# ==== Upgrading Wekan to new version ===== # ==== Upgrading Wekan to new version =====
# NOTE: MongoDB has changed from 3.x to 4.x, in that case you need backup/restore with --noIndexRestore
# see https://github.com/wekan/wekan/wiki/Backup
# 1) Stop Wekan: # 1) Stop Wekan:
# docker-compose stop # docker-compose stop
# 2) Download new version: # 2) Download new version:
@ -90,9 +92,9 @@ services:
wekandb: wekandb:
#------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------
# ==== MONGODB AND METEOR VERSION ==== # ==== MONGODB AND METEOR VERSION ====
# a) For Wekan Meteor 1.8.x version at meteor-1.8 branch, use mongo 4.x # a) For Wekan Meteor 1.8.x version at master branch, use mongo 4.x
image: mongo:4.0.10 image: mongo:4.0.10
# b) For Wekan Meteor 1.6.x version at master/devel/edge branches. # b) For Wekan Meteor 1.6.x version at devel branch.
# Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x # Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x
#image: mongo:3.2.21 #image: mongo:3.2.21
#------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------
@ -110,17 +112,18 @@ services:
wekan: wekan:
#------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------
# ==== MONGODB AND METEOR VERSION ==== # ==== MONGODB AND METEOR VERSION ====
# a) For Wekan Meteor 1.8.x version at meteor-1.8 branch, # NOTE: Quay is currently not updated, use Docker Hub image below c)
# a) For Wekan Meteor 1.8.x version at master branch,
# using https://quay.io/wekan/wekan automatic builds # using https://quay.io/wekan/wekan automatic builds
#image: quay.io/wekan/wekan:meteor-1.8 #image: quay.io/wekan/wekan:master
# b) For Wekan Meteor 1.6.x version at master/devel/edge branches. # b) For Wekan Meteor 1.6.x version at master/devel/edge branches.
# Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x # Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x
image: quay.io/wekan/wekan:master #image: quay.io/wekan/wekan:master
# c) Using specific Meteor 1.6.x version tag: # c) Using specific Meteor 1.6.x version tag:
# image: quay.io/wekan/wekan:v1.95 # image: quay.io/wekan/wekan:v1.95
# c) Using Docker Hub automatic builds https://hub.docker.com/r/wekanteam/wekan # c) Using Docker Hub automatic builds https://hub.docker.com/r/wekanteam/wekan
# image: wekanteam/wekan:meteor-1.8 image: wekanteam/wekan
# image: wekanteam/wekan:v1.95 # image: wekanteam/wekan:v2.99
#------------------------------------------------------------------------------------- #-------------------------------------------------------------------------------------
container_name: wekan-app container_name: wekan-app
restart: always restart: always

View file

@ -1,46 +1,46 @@
{ {
"accept": "Acceptera", "accept": "Acceptera",
"act-activity-notify": "Aktivitetsnotifikation", "act-activity-notify": "Aktivitetsnotifikation",
"act-addAttachment": "la till bifogad fil __attachment__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-addAttachment": "lade till bifogad fil __attachment__ på kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-deleteAttachment": "raderade bifogad fil __attachment__ från kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-deleteAttachment": "raderade bifogad fil __attachment__ från kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-addSubtask": "la till underaktivitet __subtask__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-addSubtask": "lade till underaktivitet __subtask__ på kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-addLabel": "la till etikett __label__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-addLabel": "lade till etikett __label__ på kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-addedLabel": "la till etikett __label__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-addedLabel": "lade till etikett __label__ på kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-removeLabel": "Tog bort etikett __label__ från kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-removeLabel": "Tog bort etikett __label__ från kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-removedLabel": "Tog bort etikett __label__ från kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-removedLabel": "Tog bort etikett __label__ från kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-addChecklist": "la till checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-addChecklist": "lade till checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-addChecklistItem": "la till checklistobjekt __checklistItem__ till checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-addChecklistItem": "lade till checklistobjekt __checklistItem__ till checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-removeChecklist": "tag bort checklista __checklist__ från kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-removeChecklist": "tag bort checklista __checklist__ från kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-removeChecklistItem": "tog bort checklistobjekt __checklistItem__ från __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-removeChecklistItem": "tog bort checklistobjekt __checklistItem__ från __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-checkedItem": "bockade av __checklistItem__ från checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-checkedItem": "bockade av __checklistItem__ från checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-uncheckedItem": "avmarkerade __checklistItem__ från checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-uncheckedItem": "avmarkerade __checklistItem__ från checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-completeChecklist": "slutförde checklista __checklist__ i kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-completeChecklist": "slutförde checklista __checklist__ i kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-uncompleteChecklist": "ofullbordade checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-uncompleteChecklist": "ofullbordade checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-addComment": "kommenterade på kort __card__: __comment__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-addComment": "kommenterade på kort __card__: __comment__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-editComment": "edited comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__", "act-editComment": "edited comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-deleteComment": "deleted comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__", "act-deleteComment": "deleted comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-createBoard": "skapade tavla __board__", "act-createBoard": "skapade anslagstavla __board__",
"act-createSwimlane": "skapade simbana __swimlane__ till tavla __board__", "act-createSwimlane": "skapade simbana __swimlane__ till anslagstavla __board__",
"act-createCard": "skapade kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-createCard": "skapade kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-createCustomField": "created custom field __customField__ at board __board__", "act-createCustomField": "created custom field __customField__ at board __board__",
"act-deleteCustomField": "deleted custom field __customField__ at board __board__", "act-deleteCustomField": "deleted custom field __customField__ at board __board__",
"act-setCustomField": "edited custom field __customField__: __customFieldValue__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__", "act-setCustomField": "edited custom field __customField__: __customFieldValue__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-createList": "la till lista __list__ på tavla __board__", "act-createList": "lade till lista __list__ på anslagstavla __board__",
"act-addBoardMember": "la till medlem __member__ på tavla __board__", "act-addBoardMember": "lade till medlem __member__ på anslagstavla __board__",
"act-archivedBoard": "Tavla__board__ flyttad till arkivet", "act-archivedBoard": "Anslagstavla __board__ flyttad till arkivet",
"act-archivedCard": "Kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__ flyttad till arkivet", "act-archivedCard": "Kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__ flyttad till arkivet",
"act-archivedList": "Lista __list__ i simbana __swimlane__ på tavla __board__ flyttad till arkivet", "act-archivedList": "Lista __list__ i simbana __swimlane__ på anslagstavla __board__ flyttad till arkivet",
"act-archivedSwimlane": "Simbana __swimlane__ på tavla __board__ flyttad till arkivet", "act-archivedSwimlane": "Simbana __swimlane__ på anslagstavla __board__ flyttad till arkivet",
"act-importBoard": "importerade board __board__", "act-importBoard": "importerade board __board__",
"act-importCard": "importerade kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-importCard": "importerade kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-importList": "importerade lista __list__ i simbana __swimlane__ på tavla __board__", "act-importList": "importerade lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-joinMember": "la till medlem __member__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-joinMember": "lade till medlem __member__ på kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-moveCard": "flyttade kort __card__ på tavla __board__ från lista __oldList__ i sambana __oldSwimlane__ till lista list __list__ i simbana __swimlane__", "act-moveCard": "flyttade kort __card__ på anslagstavla __board__ från lista __oldList__ i sambana __oldSwimlane__ till lista list __list__ i simbana __swimlane__",
"act-moveCardToOtherBoard": "flyttade kort __card__ från lista __oldList__ i simbana __oldSwimlane__ på tavla __oldBoard__ till lista __list__ i simbana __swimlane__ på tavla __board__", "act-moveCardToOtherBoard": "flyttade kort __card__ från lista __oldList__ i simbana __oldSwimlane__ på tavla __oldBoard__ till lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-removeBoardMember": "borttagen medlem __member__  från tavla __board__", "act-removeBoardMember": "borttagen medlem __member__  från anslagstavla __board__",
"act-restoredCard": "återställde kort __card__ till lista __lis__ i simbana __swimlane__ på tavla __board__", "act-restoredCard": "återställde kort __card__ till lista __lis__ i simbana __swimlane__ på anslagstavla __board__",
"act-unjoinMember": "tog bort medlem __member__ från kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "act-unjoinMember": "tog bort medlem __member__ från kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"act-withBoardTitle": "_tavla_", "act-withBoardTitle": "__board__",
"act-withCardTitle": "[__board__] __card__", "act-withCardTitle": "[__board__] __card__",
"actions": "Åtgärder", "actions": "Åtgärder",
"activities": "Aktiviteter", "activities": "Aktiviteter",
@ -64,14 +64,14 @@
"activity-unchecked-item": "okryssad %s i checklistan %s av %s", "activity-unchecked-item": "okryssad %s i checklistan %s av %s",
"activity-checklist-added": "lade kontrollista till %s", "activity-checklist-added": "lade kontrollista till %s",
"activity-checklist-removed": "tog bort en checklista från %s", "activity-checklist-removed": "tog bort en checklista från %s",
"activity-checklist-completed": "slutförde checklista __checklist__ i kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "activity-checklist-completed": "slutförde checklista __checklist__ i kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"activity-checklist-uncompleted": "inte slutfört checklistan %s av %s", "activity-checklist-uncompleted": "inte slutfört checklistan %s av %s",
"activity-checklist-item-added": "lade checklista objekt till '%s' i %s", "activity-checklist-item-added": "lade checklista objekt till '%s' i %s",
"activity-checklist-item-removed": "tog bort en checklista objekt från \"%s\" i %s", "activity-checklist-item-removed": "tog bort en checklista objekt från \"%s\" i %s",
"add": "Lägg till", "add": "Lägg till",
"activity-checked-item-card": "kryssad %s i checklistan %s", "activity-checked-item-card": "kryssad %s i checklistan %s",
"activity-unchecked-item-card": "okryssad %s i checklistan %s", "activity-unchecked-item-card": "okryssad %s i checklistan %s",
"activity-checklist-completed-card": "slutförde checklista __checklist__ i kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__", "activity-checklist-completed-card": "slutförde checklista __checklist__ i kort __card__ i lista __list__ i simbana __swimlane__ på anslagstavla __board__",
"activity-checklist-uncompleted-card": "icke slutfört checklistan %s", "activity-checklist-uncompleted-card": "icke slutfört checklistan %s",
"add-attachment": "Lägg till bilaga", "add-attachment": "Lägg till bilaga",
"add-board": "Lägg till anslagstavla", "add-board": "Lägg till anslagstavla",
@ -84,7 +84,7 @@
"add-label": "Lägg till etikett", "add-label": "Lägg till etikett",
"add-list": "Lägg till lista", "add-list": "Lägg till lista",
"add-members": "Lägg till medlemmar", "add-members": "Lägg till medlemmar",
"added": "Lade till", "added": "Lades till",
"addMemberPopup-title": "Medlemmar", "addMemberPopup-title": "Medlemmar",
"admin": "Adminstratör", "admin": "Adminstratör",
"admin-desc": "Kan visa och redigera kort, ta bort medlemmar och ändra inställningarna för anslagstavlan.", "admin-desc": "Kan visa och redigera kort, ta bort medlemmar och ändra inställningarna för anslagstavlan.",
@ -99,10 +99,10 @@
"archive": "Flytta till Arkiv", "archive": "Flytta till Arkiv",
"archive-all": "Flytta alla till Arkiv", "archive-all": "Flytta alla till Arkiv",
"archive-board": "Flytta Anslagstavla till Arkiv", "archive-board": "Flytta Anslagstavla till Arkiv",
"archive-card": "Flytta Kort till Arkiv", "archive-card": "Flytta kort till Arkiv",
"archive-list": "Flytta Lista till Arkiv", "archive-list": "Flytta Lista till Arkiv",
"archive-swimlane": "Flytta simbanan till arkivet", "archive-swimlane": "Flytta simbanan till arkivet",
"archive-selection": "Flytta markerade till Arkiv", "archive-selection": "Flytta markerad till Arkiv",
"archiveBoardPopup-title": "Flytta Anslagstavla till Arkiv?", "archiveBoardPopup-title": "Flytta Anslagstavla till Arkiv?",
"archived-items": "Arkiv", "archived-items": "Arkiv",
"archived-boards": "Anslagstavlor i Arkiv", "archived-boards": "Anslagstavlor i Arkiv",
@ -129,7 +129,7 @@
"boardChangeTitlePopup-title": "Byt namn på anslagstavla", "boardChangeTitlePopup-title": "Byt namn på anslagstavla",
"boardChangeVisibilityPopup-title": "Ändra synlighet", "boardChangeVisibilityPopup-title": "Ändra synlighet",
"boardChangeWatchPopup-title": "Ändra bevaka", "boardChangeWatchPopup-title": "Ändra bevaka",
"boardMenuPopup-title": "Tavlans inställningar", "boardMenuPopup-title": "Anslagstavlans inställningar",
"boards": "Anslagstavlor", "boards": "Anslagstavlor",
"board-view": "Anslagstavelsvy", "board-view": "Anslagstavelsvy",
"board-view-cal": "Kalender", "board-view-cal": "Kalender",
@ -311,16 +311,16 @@
"advanced-filter-description": "Avancerade filter låter dig skriva en sträng innehållande följande operatorer: == != <= >= && || ( ). Ett mellanslag används som separator mellan operatorerna. Du kan filtrera alla specialfält genom att skriva dess namn och värde. Till exempel: Fält1 == Vårde1. Notera: om fälten eller värden innehåller mellanrum behöver du innesluta dem med enkla citatstecken. Till exempel: 'Fält 1' == 'Värde 1'. För att skippa enkla kontrolltecken (' \\/) kan du använda \\. Till exempel: Fält1 == I\\'m. Du kan även kombinera fler villkor. TIll exempel: F1 == V1 || F1 == V2. Vanligtvis läses operatorerna från vänster till höger. Du kan ändra ordning genom att använda paranteser. TIll exempel: F1 == V1 && ( F2 == V2 || F2 == V3 ). Du kan även söka efter textfält med hjälp av regex: F1 == /Tes.*/i", "advanced-filter-description": "Avancerade filter låter dig skriva en sträng innehållande följande operatorer: == != <= >= && || ( ). Ett mellanslag används som separator mellan operatorerna. Du kan filtrera alla specialfält genom att skriva dess namn och värde. Till exempel: Fält1 == Vårde1. Notera: om fälten eller värden innehåller mellanrum behöver du innesluta dem med enkla citatstecken. Till exempel: 'Fält 1' == 'Värde 1'. För att skippa enkla kontrolltecken (' \\/) kan du använda \\. Till exempel: Fält1 == I\\'m. Du kan även kombinera fler villkor. TIll exempel: F1 == V1 || F1 == V2. Vanligtvis läses operatorerna från vänster till höger. Du kan ändra ordning genom att använda paranteser. TIll exempel: F1 == V1 && ( F2 == V2 || F2 == V3 ). Du kan även söka efter textfält med hjälp av regex: F1 == /Tes.*/i",
"fullname": "Namn", "fullname": "Namn",
"header-logo-title": "Gå tillbaka till din anslagstavlor-sida.", "header-logo-title": "Gå tillbaka till din anslagstavlor-sida.",
"hide-system-messages": "Göm systemmeddelanden", "hide-system-messages": "Dölj systemmeddelanden",
"headerBarCreateBoardPopup-title": "Skapa anslagstavla", "headerBarCreateBoardPopup-title": "Skapa anslagstavla",
"home": "Hem", "home": "Hem",
"import": "Importera", "import": "Importera",
"link": "Länka", "link": "Länk",
"import-board": "importera anslagstavla", "import-board": "importera anslagstavla",
"import-board-c": "Importera anslagstavla", "import-board-c": "Importera anslagstavla",
"import-board-title-trello": "Importera anslagstavla från Trello", "import-board-title-trello": "Importera anslagstavla från Trello",
"import-board-title-wekan": "Importera anslagstavla från tidigare export", "import-board-title-wekan": "Importera anslagstavla från tidigare export",
"import-sandstorm-backup-warning": "Ta inte bort data som du importerar från exporterad original-tavla eller Trello innan du kontrollerar att det här spannet stänger och öppnas igen, eller får du felmeddelandet Tavla hittades inte, det vill säga dataförlust.", "import-sandstorm-backup-warning": "Ta inte bort data som du importerar från exporterad original-tavla eller Trello innan du kontrollerar att det här spannet stänger och öppnas igen, eller får du felmeddelandet Anslagstavla hittades inte, det vill säga dataförlust.",
"import-sandstorm-warning": "Importerad anslagstavla raderar all befintlig data på anslagstavla och ersätter den med importerat anslagstavla.", "import-sandstorm-warning": "Importerad anslagstavla raderar all befintlig data på anslagstavla och ersätter den med importerat anslagstavla.",
"from-trello": "Från Trello", "from-trello": "Från Trello",
"from-wekan": "Från tidigare export", "from-wekan": "Från tidigare export",
@ -350,7 +350,7 @@
"leave-board": "Lämna anslagstavla", "leave-board": "Lämna anslagstavla",
"leave-board-pop": "Är du säker på att du vill lämna __boardTitle__? Du kommer att tas bort från alla kort på den här anslagstavlan.", "leave-board-pop": "Är du säker på att du vill lämna __boardTitle__? Du kommer att tas bort från alla kort på den här anslagstavlan.",
"leaveBoardPopup-title": "Lämna anslagstavla ?", "leaveBoardPopup-title": "Lämna anslagstavla ?",
"link-card": "Länka till detta kort", "link-card": "Länk till detta kort",
"list-archive-cards": "Flytta alla kort i den här listan till Arkiv", "list-archive-cards": "Flytta alla kort i den här listan till Arkiv",
"list-archive-cards-pop": "Detta kommer att ta bort alla kort i denna lista från anslagstavlan. För att visa kort i Arkiv och få dem tillbaka till anslagstavlan, klicka på \"Meny\" > \"Arkiv\".", "list-archive-cards-pop": "Detta kommer att ta bort alla kort i denna lista från anslagstavlan. För att visa kort i Arkiv och få dem tillbaka till anslagstavlan, klicka på \"Meny\" > \"Arkiv\".",
"list-move-cards": "Flytta alla kort i denna lista", "list-move-cards": "Flytta alla kort i denna lista",
@ -422,7 +422,7 @@
"save": "Spara", "save": "Spara",
"search": "Sök", "search": "Sök",
"rules": "Regler", "rules": "Regler",
"search-cards": "Sök från korttitlar och beskrivningar på det här brädet", "search-cards": "Sök från korttitlar och beskrivningar på den här anslagstavlan",
"search-example": "Text att söka efter?", "search-example": "Text att söka efter?",
"select-color": "Välj färg", "select-color": "Välj färg",
"set-wip-limit-value": "Ange en gräns för det maximala antalet uppgifter i den här listan", "set-wip-limit-value": "Ange en gräns för det maximala antalet uppgifter i den här listan",
@ -454,7 +454,7 @@
"has-spenttime-cards": "Har spenderat tidkort", "has-spenttime-cards": "Har spenderat tidkort",
"time": "Tid", "time": "Tid",
"title": "Titel", "title": "Titel",
"tracking": "Spårning", "tracking": "Spåra",
"tracking-info": "Du kommer att meddelas om eventuella ändringar av dessa kort du deltar i som skapare eller medlem.", "tracking-info": "Du kommer att meddelas om eventuella ändringar av dessa kort du deltar i som skapare eller medlem.",
"type": "Skriv", "type": "Skriv",
"unassign-member": "Ta bort tilldelad medlem", "unassign-member": "Ta bort tilldelad medlem",
@ -467,7 +467,7 @@
"view-it": "Visa det", "view-it": "Visa det",
"warn-list-archived": "varning: detta kort finns i en lista i Arkiv", "warn-list-archived": "varning: detta kort finns i en lista i Arkiv",
"watch": "Bevaka", "watch": "Bevaka",
"watching": "Bevakar", "watching": "Bevaka",
"watching-info": "Du kommer att meddelas om alla ändringar på denna anslagstavla", "watching-info": "Du kommer att meddelas om alla ändringar på denna anslagstavla",
"welcome-board": "Välkomstanslagstavla", "welcome-board": "Välkomstanslagstavla",
"welcome-swimlane": "Milstolpe 1", "welcome-swimlane": "Milstolpe 1",
@ -501,7 +501,7 @@
"send-smtp-test": "Skicka ett prov e-postmeddelande till dig själv", "send-smtp-test": "Skicka ett prov e-postmeddelande till dig själv",
"invitation-code": "Inbjudningskod", "invitation-code": "Inbjudningskod",
"email-invite-register-subject": "__inviter__ skickade dig en inbjudan", "email-invite-register-subject": "__inviter__ skickade dig en inbjudan",
"email-invite-register-text": "Kära__user__,\n\n__inviter__ bjuder in dig att samarbeta på kanban-tavlan.\n\nFölj länken nedan:\n__url__\n\nDin inbjudningskod är: __icode__\n\nTack!", "email-invite-register-text": "Kära__user__,\n\n__inviter__ bjuder in dig att samarbeta på kanban-anslagstavlan.\n\nFölj länken nedan:\n__url__\n\nDin inbjudningskod är: __icode__\n\nTack!",
"email-smtp-test-subject": "SMTP test-email", "email-smtp-test-subject": "SMTP test-email",
"email-smtp-test-text": "Du har skickat ett e-postmeddelande", "email-smtp-test-text": "Du har skickat ett e-postmeddelande",
"error-invitation-code-not-exist": "Inbjudningskod finns inte", "error-invitation-code-not-exist": "Inbjudningskod finns inte",
@ -538,7 +538,7 @@
"active": "Aktiv", "active": "Aktiv",
"card-received": "Mottagen", "card-received": "Mottagen",
"card-received-on": "Mottagen den", "card-received-on": "Mottagen den",
"card-end": "Slut", "card-end": "Sluta",
"card-end-on": "Slutar den", "card-end-on": "Slutar den",
"editCardReceivedDatePopup-title": "Ändra mottagningsdatum", "editCardReceivedDatePopup-title": "Ändra mottagningsdatum",
"editCardEndDatePopup-title": "Ändra slutdatum", "editCardEndDatePopup-title": "Ändra slutdatum",
@ -566,7 +566,7 @@
"subtext-with-full-path": "Undertext med fullständig sökväg", "subtext-with-full-path": "Undertext med fullständig sökväg",
"subtext-with-parent": "Undertext med förälder", "subtext-with-parent": "Undertext med förälder",
"change-card-parent": "Ändra kortets förälder", "change-card-parent": "Ändra kortets förälder",
"parent-card": "Föräldrakort", "parent-card": "Ovankort",
"source-board": "Källa för anslagstavla", "source-board": "Källa för anslagstavla",
"no-parent": "Visa inte förälder", "no-parent": "Visa inte förälder",
"activity-added-label": "lade till etiketten '%s' till %s", "activity-added-label": "lade till etiketten '%s' till %s",
@ -647,7 +647,7 @@
"r-d-send-email-to": "till", "r-d-send-email-to": "till",
"r-d-send-email-subject": "ämne", "r-d-send-email-subject": "ämne",
"r-d-send-email-message": "meddelande", "r-d-send-email-message": "meddelande",
"r-d-archive": "Flytta kortet till Arkiv", "r-d-archive": "Flytta kort till Arkiv",
"r-d-unarchive": "Återställ kortet från Arkiv", "r-d-unarchive": "Återställ kortet från Arkiv",
"r-d-add-label": "Lägg till etikett", "r-d-add-label": "Lägg till etikett",
"r-d-remove-label": "Ta bort etikett", "r-d-remove-label": "Ta bort etikett",
@ -677,7 +677,7 @@
"r-update": "Uppdatera", "r-update": "Uppdatera",
"r-datefield": "datumfält", "r-datefield": "datumfält",
"r-df-start-at": "start", "r-df-start-at": "start",
"r-df-due-at": "due", "r-df-due-at": "förfallotid",
"r-df-end-at": "slut", "r-df-end-at": "slut",
"r-df-received-at": "mottaget", "r-df-received-at": "mottaget",
"r-to-current-datetime": "till aktuellt datum/klockslag", "r-to-current-datetime": "till aktuellt datum/klockslag",
@ -696,28 +696,28 @@
"error-ldap-login": "Ett fel uppstod när du försökte logga in", "error-ldap-login": "Ett fel uppstod när du försökte logga in",
"display-authentication-method": "Visa autentiseringsmetod", "display-authentication-method": "Visa autentiseringsmetod",
"default-authentication-method": "Standard autentiseringsmetod", "default-authentication-method": "Standard autentiseringsmetod",
"duplicate-board": "Dubbletttavla", "duplicate-board": "Dubblett anslagstavla",
"people-number": "Antalet personer är:", "people-number": "Antalet personer är:",
"swimlaneDeletePopup-title": "Delete Swimlane ?", "swimlaneDeletePopup-title": "Delete Swimlane ?",
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.", "swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
"restore-all": "Återställ alla", "restore-all": "Återställ alla",
"delete-all": "Ta bort alla", "delete-all": "Ta bort alla",
"loading": "Läser in, var god vänta.", "loading": "Läser in, var god vänta.",
"previous_as": "last time was", "previous_as": "förra gången var",
"act-a-dueAt": "modified due time to \nWhen: __timeValue__\nWhere: __card__\n previous due was __timeOldValue__", "act-a-dueAt": "ändrad förfallotid till \nNär: __timeValue__\nVar: __card__\n tidigare förfallotid var __timeOldValue__",
"act-a-endAt": "modified ending time to __timeValue__ from (__timeOldValue__)", "act-a-endAt": "ändrad sluttid till __timeValue__ från (__timeOldValue__)",
"act-a-startAt": "modified starting time to __timeValue__ from (__timeOldValue__)", "act-a-startAt": "ändrad starttid till __timeValue__ från (__timeOldValue__)",
"act-a-receivedAt": "modified received time to __timeValue__ from (__timeOldValue__)", "act-a-receivedAt": "ändrad mottagen tid till __timeValue__ från (__timeOldValue__)",
"a-dueAt": "modified due time to be", "a-dueAt": "ändrad förfallotid att vara",
"a-endAt": "modified ending time to be", "a-endAt": "ändrad sluttid att vara",
"a-startAt": "modified starting time to be", "a-startAt": "ändrad starttid att vara",
"a-receivedAt": "modified received time to be", "a-receivedAt": "ändrad mottagen tid att vara",
"almostdue": "current due time %s is approaching", "almostdue": "aktuell förfallotid %s närmar sig",
"pastdue": "current due time %s is past", "pastdue": "aktuell förfallotid %s är förbi",
"duenow": "current due time %s is today", "duenow": "aktuell förfallotid %s är idag",
"act-withDue": "__card__ due reminders [__board__]", "act-withDue": "__card__ förfallotidspåminnelser [__board__]",
"act-almostdue": "was reminding the current due (__timeValue__) of __card__ is approaching", "act-almostdue": "påminde om den aktuella förfallotiden (__timeValue__) av __card__ närmar sig",
"act-pastdue": "was reminding the current due (__timeValue__) of __card__ is past", "act-pastdue": "påminde om den aktuella förfallotiden (__timeValue__) av __card__ är förbi",
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now", "act-duenow": "påminde om den aktuella förfallotiden (__timeValue__) av __card__ är nu",
"act-atUserComment": "You were mentioned in [__board__] __card__" "act-atUserComment": "Du nämndes i [__board__] __card__"
} }

View file

@ -1,6 +1,6 @@
{ {
"name": "wekan", "name": "wekan",
"version": "v2.99.0", "version": "v3.00.0",
"description": "Open-Source kanban", "description": "Open-Source kanban",
"private": true, "private": true,
"scripts": { "scripts": {

View file

@ -1524,7 +1524,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<ul class="toc-list-h1"> <ul class="toc-list-h1">
<li> <li>
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v2.99">Wekan REST API v2.99</a> <a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v3.00">Wekan REST API v3.00</a>
</li> </li>
@ -2017,7 +2017,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
<div class="page-wrapper"> <div class="page-wrapper">
<div class="dark-box"></div> <div class="dark-box"></div>
<div class="content"> <div class="content">
<h1 id="wekan-rest-api">Wekan REST API v2.99</h1> <h1 id="wekan-rest-api">Wekan REST API v3.00</h1>
<blockquote> <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> <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> </blockquote>

View file

@ -1,7 +1,7 @@
swagger: '2.0' swagger: '2.0'
info: info:
title: Wekan REST API title: Wekan REST API
version: v2.99 version: v3.00
description: | description: |
The REST API allows you to control and extend Wekan with ease. The REST API allows you to control and extend Wekan with ease.

View file

@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"), appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user. # The name of the app as it is displayed to the user.
appVersion = 301, appVersion = 302,
# Increment this for every release. # Increment this for every release.
appMarketingVersion = (defaultText = "2.99.0~2019-07-17"), appMarketingVersion = (defaultText = "3.00.0~2019-07-27"),
# Human-readable presentation of the app version. # Human-readable presentation of the app version.
minUpgradableAppVersion = 0, minUpgradableAppVersion = 0,

View file

@ -65,7 +65,7 @@ apps:
parts: parts:
mongodb: mongodb:
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.10.tgz source: https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-server_4.0.10_amd64.deb
plugin: dump plugin: dump
stage-packages: [libssl1.0.0] stage-packages: [libssl1.0.0]
filesets: filesets:
@ -92,6 +92,8 @@ parts:
# - gcc++-8 # - gcc++-8
# - capnproto # - capnproto
- curl - curl
- libcurl3
- php-curl
# - execstack # - execstack
# - nodejs # - nodejs
# - npm # - npm