diff options
author | Erik Turk <erik.turk@ontera.ca> | 2018-02-08 13:03:37 -0500 |
---|---|---|
committer | Erik Turk <erik.turk@ontera.ca> | 2018-02-08 13:03:37 -0500 |
commit | ab6a7c2dd6b5e3b81feed3c5201aa5f5461ce8e3 (patch) | |
tree | 14fd177b8bc4f014ea92036710fb697728f59b5c | |
parent | bb9d5cb69466a78ecbcd832f596602f028ab644c (diff) | |
parent | edc2459ff85106ce21465467a64f53ac721ce5b4 (diff) | |
download | wekan-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.md | 20 | ||||
-rw-r--r-- | client/components/cards/cardDetails.js | 10 | ||||
-rw-r--r-- | i18n/de.i18n.json | 18 | ||||
-rw-r--r-- | models/cards.js | 5 | ||||
-rw-r--r-- | models/lists.js | 4 | ||||
-rw-r--r-- | models/trelloCreator.js | 20 | ||||
-rw-r--r-- | package.json | 2 | ||||
-rw-r--r-- | sandstorm-pkgdef.capnp | 4 | ||||
-rw-r--r-- | snapcraft.yaml | 4 |
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 |