summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Turk <erik.turk@ontera.ca>2018-02-08 13:03:37 -0500
committerErik Turk <erik.turk@ontera.ca>2018-02-08 13:03:37 -0500
commitab6a7c2dd6b5e3b81feed3c5201aa5f5461ce8e3 (patch)
tree14fd177b8bc4f014ea92036710fb697728f59b5c
parentbb9d5cb69466a78ecbcd832f596602f028ab644c (diff)
parentedc2459ff85106ce21465467a64f53ac721ce5b4 (diff)
downloadwekan-ab6a7c2dd6b5e3b81feed3c5201aa5f5461ce8e3.tar.gz
wekan-ab6a7c2dd6b5e3b81feed3c5201aa5f5461ce8e3.tar.bz2
wekan-ab6a7c2dd6b5e3b81feed3c5201aa5f5461ce8e3.zip
Merge branch 'devel' of https://github.com/wekan/wekan into devel
-rw-r--r--CHANGELOG.md20
-rw-r--r--client/components/cards/cardDetails.js10
-rw-r--r--i18n/de.i18n.json18
-rw-r--r--models/cards.js5
-rw-r--r--models/lists.js4
-rw-r--r--models/trelloCreator.js20
-rw-r--r--package.json2
-rw-r--r--sandstorm-pkgdef.capnp4
-rw-r--r--snapcraft.yaml4
9 files changed, 62 insertions, 25 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a181d45e..fcf20b77 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,26 @@
+# v0.73 2018-02-08 Wekan release
+
+This release fixes the following bugs:
+
+- [Fix Ubuntu snap build](https://github.com/wekan/wekan/pull/1469).
+
+Thanks to GitHub user kubiko for contributions.
+
+# v0.72 2018-02-07 Wekan release
+
+This release fixes the following bugs:
+
+- [Fix card sorting](https://github.com/wekan/wekan/pull/1465);
+- [Fix import Trello board without swimlanes](https://github.com/wekan/wekan/commit/5871a478e1280818f12fcb7250b7cbccf6907cf0);
+- [Fix swimlane move parameters](https://github.com/wekan/wekan/commit/fcebb2a5373d6dea41b98b530c176cbee31bee4b).
+
+Thanks to GitHub users andresmanelli and ViViDboarder for their contributions.
+
# v0.71 2018-02-03 Wekan release
This release fixes the following bugs:
-- [Fix Welcome board is not editable: Added default swimlane to Welcome board](https://github.com/wekan/wekan/commit/9df3e3d26bffb2268cdcc7fa768eda60e4f0975c).
+- [Fix Welcome board is not editable: Added default swimlane to Welcome board](https://github.com/wekan/wekan/commit/9df3e3d26bffb2268cdcc7fa768eda60e4f0975c);
- [Fix Import Wekan board with swimlanes](https://github.com/wekan/wekan/commit/ec0a8449ba98aea708e484d386e5a209e2be8fff).
Thanks to GitHub user andresmanelli for contributions.
diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js
index 94a938f0..d70167ce 100644
--- a/client/components/cards/cardDetails.js
+++ b/client/components/cards/cardDetails.js
@@ -172,13 +172,13 @@ Template.cardDetailsActionsPopup.events({
'click .js-copy-card': Popup.open('copyCard'),
'click .js-move-card-to-top' (evt) {
evt.preventDefault();
- const minOrder = _.min(this.list().cards().map((c) => c.sort));
- this.move(this.listId, minOrder - 1);
+ const minOrder = _.min(this.list().cards(this.swimlaneId).map((c) => c.sort));
+ this.move(this.swimlaneId, this.listId, minOrder - 1);
},
'click .js-move-card-to-bottom' (evt) {
evt.preventDefault();
- const maxOrder = _.max(this.list().cards().map((c) => c.sort));
- this.move(this.listId, maxOrder + 1);
+ const maxOrder = _.max(this.list().cards(this.swimlaneId).map((c) => c.sort));
+ this.move(this.swimlaneId, this.listId, maxOrder + 1);
},
'click .js-archive' (evt) {
evt.preventDefault();
@@ -215,7 +215,7 @@ Template.moveCardPopup.events({
// instead from a “component” state.
const card = Cards.findOne(Session.get('currentCard'));
const newListId = this._id;
- card.move(newListId);
+ card.move(card.swimlaneId, newListId, 0);
Popup.close();
},
});
diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json
index 2ba3f5d0..ae622728 100644
--- a/i18n/de.i18n.json
+++ b/i18n/de.i18n.json
@@ -106,7 +106,7 @@
"card-comments-title": "Diese Karte hat %s Kommentar(e).",
"card-delete-notice": "Löschen ist unwiderruflich. Alle Aktionen die dieser Karte zugeordnet sind werden ebenfalls gelöscht.",
"card-delete-pop": "Alle Aktionen werden vom Aktivitätsfeed entfernt und die Karte kann nicht mehr geöffnet werden. Das Löschen kann nicht widerrufen werden!",
- "card-delete-suggest-archive": "Sie können eine Karte archivieren, um sie von dem Board zu entfernen und die Aktivitäten zu behalten.",
+ "card-delete-suggest-archive": "Sie können eine Karte archivieren, um sie vom Board zu entfernen und die Aktivitäten zu behalten.",
"card-due": "Ende",
"card-due-on": "Ende am",
"card-spent": "Aufgewendete Zeit",
@@ -135,8 +135,8 @@
"changePermissionsPopup-title": "Berechtigungen ändern",
"changeSettingsPopup-title": "Einstellungen ändern",
"checklists": "Checklisten",
- "click-to-star": "Klicken um dem Board einen Stern zu geben.",
- "click-to-unstar": "Klicken um den Stern von dem Board zu entfernen.",
+ "click-to-star": "Klicken Sie, um das Board mit einem Stern zu markieren.",
+ "click-to-unstar": "Klicken Sie, um den Stern vom Board zu entfernen.",
"clipboard": "Zwischenablage oder Drag & Drop",
"close": "Schließen",
"close-board": "Board schließen",
@@ -219,7 +219,7 @@
"filter-no-label": "Kein Label",
"filter-no-member": "Kein Mitglied",
"filter-on": "Filter ist aktiv",
- "filter-on-desc": "Sie filtern die Karten in diesem Board. Klicken um die Filter zu bearbeiten.",
+ "filter-on-desc": "Sie filtern die Karten in diesem Board. Klicken Sie, um den Filter zu bearbeiten.",
"filter-to-selection": "Ergebnisse auswählen",
"fullname": "Vollständiger Name",
"header-logo-title": "Zurück zur Board Seite.",
@@ -270,7 +270,7 @@
"listMorePopup-title": "Mehr",
"link-list": "Link zu dieser Liste",
"list-delete-pop": "Alle Aktionen werden aus dem Verlauf gelöscht. Die Liste kann nicht wiederhergestellt werden.",
- "list-delete-suggest-archive": "Listen können archiviert werden um sie aus dem Board zu entfernen und den Verlauf zu erhalten.",
+ "list-delete-suggest-archive": "Listen können archiviert werden, um sie aus dem Board zu entfernen und den Verlauf zu erhalten.",
"lists": "Listen",
"swimlanes": "Swimlanes",
"log-out": "Ausloggen",
@@ -329,7 +329,7 @@
"save": "Speichern",
"search": "Suchen",
"select-color": "Farbe auswählen",
- "set-wip-limit-value": "Setzen einer Limite für die maximale Anzahl Aufgaben in dieser Liste",
+ "set-wip-limit-value": "Setzen Sie ein Limit für die maximale Anzahl von Aufgaben in dieser Liste",
"setWipLimitPopup-title": "WIP-Limit setzen",
"shortcut-assign-self": "Fügen Sie sich zur aktuellen Karte hinzu",
"shortcut-autocomplete-emoji": "Emojis vervollständigen",
@@ -344,7 +344,7 @@
"sidebar-open": "Seitenleiste öffnen",
"sidebar-close": "Seitenleiste schließen",
"signupPopup-title": "Benutzerkonto erstellen",
- "star-board-title": "Klicken um das Board mit einem Stern zu markieren. Es erscheint dann oben in ihrer Boardliste.",
+ "star-board-title": "Klicken Sie, um das Board mit einem Stern zu markieren. Es erscheint dann oben in ihrer Boardliste.",
"starred-boards": "Markierte Boards",
"starred-boards-description": "Markierte Boards erscheinen oben in ihrer Boardliste.",
"subscribe": "Abonnieren",
@@ -373,12 +373,12 @@
"watching": "Beobachten",
"watching-info": "Sie werden über alle Änderungen in diesem Board benachrichtigt",
"welcome-board": "Willkommen-Board",
- "welcome-swimlane": "Milestone 1",
+ "welcome-swimlane": "Meilenstein 1",
"welcome-list1": "Grundlagen",
"welcome-list2": "Fortgeschritten",
"what-to-do": "Was wollen Sie tun?",
"wipLimitErrorPopup-title": "Ungültiges WIP-Limit",
- "wipLimitErrorPopup-dialog-pt1": "Die Anzahl Aufgaben in dieser Liste ist grösser als das von Ihnen definierte WIP-Limit.",
+ "wipLimitErrorPopup-dialog-pt1": "Die Anzahl von Aufgaben in dieser Liste ist größer als das von Ihnen definierte WIP-Limit.",
"wipLimitErrorPopup-dialog-pt2": "Bitte verschieben Sie einige Aufgaben aus dieser Liste oder setzen Sie ein grösseres WIP-Limit.",
"admin-panel": "Administration",
"settings": "Einstellungen",
diff --git a/models/cards.js b/models/cards.js
index d175a430..43e7d843 100644
--- a/models/cards.js
+++ b/models/cards.js
@@ -225,10 +225,9 @@ Cards.mutations({
swimlaneId,
listId,
boardId: list.boardId,
+ sort: sortIndex,
};
- if (sortIndex) {
- mutatedFields.sort = sortIndex;
- }
+
return {$set: mutatedFields};
},
diff --git a/models/lists.js b/models/lists.js
index 7ed27361..7333db94 100644
--- a/models/lists.js
+++ b/models/lists.js
@@ -82,8 +82,8 @@ Lists.helpers({
};
if (swimlaneId)
selector.swimlaneId = swimlaneId;
- return Cards.find(Filter.mongoSelector(selector,
- { sort: ['sort'] }));
+ return Cards.find(Filter.mongoSelector(selector),
+ { sort: ['sort'] });
},
allCards() {
diff --git a/models/trelloCreator.js b/models/trelloCreator.js
index 972673e6..2d85ee71 100644
--- a/models/trelloCreator.js
+++ b/models/trelloCreator.js
@@ -23,6 +23,8 @@ export class TrelloCreator {
// Map of labels Trello ID => Wekan ID
this.labels = {};
+ // Default swimlane
+ this.swimlane = null;
// Map of lists Trello ID => Wekan ID
this.lists = {};
// Map of cards Trello ID => Wekan ID
@@ -230,6 +232,7 @@ export class TrelloCreator {
dateLastActivity: this._now(),
description: card.desc,
listId: this.lists[card.idList],
+ swimlaneId: this.swimlane,
sort: card.pos,
title: card.name,
// we attribute the card to its creator if available
@@ -397,6 +400,22 @@ export class TrelloCreator {
});
}
+ createSwimlanes(boardId) {
+ const swimlaneToCreate = {
+ archived: false,
+ boardId,
+ // We are being defensing here by providing a default date (now) if the
+ // creation date wasn't found on the action log. This happen on old
+ // Wekan boards (eg from 2013) that didn't log the 'createList' action
+ // we require.
+ createdAt: this._now(),
+ title: 'Default',
+ };
+ const swimlaneId = Swimlanes.direct.insert(swimlaneToCreate);
+ Swimlanes.direct.update(swimlaneId, {$set: {'updatedAt': this._now()}});
+ this.swimlane = swimlaneId;
+ }
+
createChecklists(trelloChecklists) {
trelloChecklists.forEach((checklist) => {
if (this.cards[checklist.idCard]) {
@@ -607,6 +626,7 @@ export class TrelloCreator {
this.parseActions(board.actions);
const boardId = this.createBoardAndLabels(board);
this.createLists(board.lists, boardId);
+ this.createSwimlanes(boardId);
this.createCards(board.cards, boardId);
this.createChecklists(board.checklists);
this.importActions(board.actions, boardId);
diff --git a/package.json b/package.json
index e1f541ad..dc20ce14 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "wekan",
- "version": "0.71.0",
+ "version": "0.73.0",
"description": "The open-source Trello-like kanban",
"private": true,
"scripts": {
diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp
index ec33db58..3849d9e3 100644
--- a/sandstorm-pkgdef.capnp
+++ b/sandstorm-pkgdef.capnp
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
- appVersion = 56,
+ appVersion = 58,
# Increment this for every release.
- appMarketingVersion = (defaultText = "0.71.0~2018-02-03"),
+ appMarketingVersion = (defaultText = "0.73.0~2018-02-08"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
diff --git a/snapcraft.yaml b/snapcraft.yaml
index ece489de..1a85f682 100644
--- a/snapcraft.yaml
+++ b/snapcraft.yaml
@@ -76,9 +76,8 @@ parts:
- node-gyp
- node-pre-gyp
- fibers@2.0.0
- stage-packages:
- - ca-certificates
build-packages:
+ - ca-certificates
- apt-utils
- python
- g++
@@ -118,6 +117,7 @@ parts:
install: |
cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
+ rm $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
organize:
README: README.wekan