Merge branch 'devel'

This commit is contained in:
Lauri Ojansivu 2018-02-21 21:05:43 +02:00
commit 1ef663531b
12 changed files with 57 additions and 36 deletions

View file

@ -39,7 +39,7 @@ host = https://www.transifex.com
# tap:i18n requires us to use `-` separator in the language identifiers whereas
# Transifex uses a `_` separator, without an option to customize it on one side
# or the other, so we need to do a Manual mapping.
lang_map = en_GB:en-GB, es_AR:es-AR, el_GR:el, fa_IR:fa, fi_FI:fi, hu_HU:hu, id_ID:id, mn_MN:mn, no:nb, lv_LV:lv, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW
lang_map = en_GB:en-GB, es_AR:es-AR, el_GR:el, fi_FI:fi, hu_HU:hu, id_ID:id, mn_MN:mn, no:nb, lv_LV:lv, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW
[wekan.application]
file_filter = i18n/<lang>.i18n.json

View file

@ -1,3 +1,17 @@
# v0.76 2018-02-21 Wekan release
This release adds the following new features:
- [Add swimlaneId to POST /api/boards/:boardId/lists/:listId/cards route](https://github.com/wekan/wekan/commit/ee0f42eeb1b10107bd8fc38cdefbdbc4f3fde108);
- [Added path to capnp.js to make Wekan work on Sandstorm](https://github.com/wekan/wekan/commit/11e9811f82858a3d98036e142b0da69d867adebc).
Known bugs:
- [Disabled Import temporarily on Sandstorm because of data loss bug](https://github.com/wekan/wekan/commit/e30f6515c623de7a48f25e0b2fc75313ae5d187c);
- [Swimlane not visible at Sandstorm](https://github.com/wekan/wekan/issues/1494).
Thanks to GitHub users couscous3 and xet7 for their contributions.
# v0.75 2018-02-16 Wekan release
This release adds the following new features:

View file

@ -11,13 +11,17 @@ template(name="import")
+Template.dynamic(template=currentTemplate)
template(name="importTextarea")
form
p: label(for='import-textarea') {{_ instruction}}
textarea.js-import-json(placeholder="{{_ 'import-json-placeholder'}}" autofocus)
| {{jsonText}}
if isSandstorm
p.warning {{_ 'import-sandstorm-warning'}}
input.primary.wide(type="submit" value="{{_ 'import'}}")
unless isSandstorm
form
p: label(for='import-textarea') {{_ instruction}}
textarea.js-import-json(placeholder="{{_ 'import-json-placeholder'}}" autofocus)
| {{jsonText}}
if isSandstorm
p.warning {{_ 'import-sandstorm-warning'}}
input.primary.wide(type="submit" value="{{_ 'import'}}")
if isSandstorm
p.warning 'Import disabled because of data loss bug https://github.com/wekan/wekan/issues/1430'
template(name="importMapMembers")
h2 {{_ 'import-map-members'}}

View file

@ -55,7 +55,7 @@
"added": "Hinzugefügt",
"addMemberPopup-title": "Mitglieder",
"admin": "Admin",
"admin-desc": "Kann Karten anschauen und bearbeiten, Mitglieder entfernen und Boardeinstellungen ändern.",
"admin-desc": "Kann Karten anzeigen und bearbeiten, Mitglieder entfernen und Boardeinstellungen ändern.",
"admin-announcement": "Ankündigung",
"admin-announcement-active": "Aktive, systemweite Ankündigungen",
"admin-announcement-title": "Ankündigung des Administrators",
@ -159,9 +159,9 @@
"confirm-checklist-delete-dialog": "Sind Sie sicher, dass Sie die Checkliste löschen möchten?",
"copy-card-link-to-clipboard": "Kopiere Link zur Karte in die Zwischenablage",
"copyCardPopup-title": "Karte kopieren",
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"copyChecklistToManyCardsPopup-title": "Checklistenvorlage in mehrere Karten kopieren",
"copyChecklistToManyCardsPopup-instructions": "Titel und Beschreibungen der Zielkarten im folgenden JSON-Format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Titel der ersten Karte\", \"description\":\"Beschreibung der ersten Karte\"}, {\"title\":\"Titel der zweiten Karte\",\"description\":\"Beschreibung der zweiten Karte\"},{\"title\":\"Titel der letzten Karte\",\"description\":\"Beschreibung der letzten Karte\"} ]",
"create": "Erstellen",
"createBoardPopup-title": "Board erstellen",
"chooseBoardSourcePopup-title": "Board importieren",
@ -298,7 +298,7 @@
"no-archived-swimlanes": "Keine archivierten Swimlanes",
"no-results": "Keine Ergebnisse",
"normal": "Normal",
"normal-desc": "Kann Karten anschauen und bearbeiten, aber keine Einstellungen ändern.",
"normal-desc": "Kann Karten anzeigen und bearbeiten, aber keine Einstellungen ändern.",
"not-accepted-yet": "Die Einladung wurde noch nicht angenommen",
"notify-participate": "Benachrichtigungen zu allen Karten erhalten, an denen Sie teilnehmen",
"notify-watch": "Benachrichtigungen über alle Boards, Listen oder Karten erhalten, die Sie beobachten",
@ -430,7 +430,7 @@
"yes": "Ja",
"no": "Nein",
"accounts": "Konten",
"accounts-allowEmailChange": "E-Mail ändern zulassen",
"accounts-allowEmailChange": "Ändern der E-Mailadresse zulassen",
"createdAt": "Erstellt am",
"verified": "Geprüft",
"active": "Aktiv"

View file

@ -5,8 +5,8 @@
"act-addChecklist": "added checklist __checklist__ to __card__",
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
"act-addComment": "یادداشت بر __card__: __comment__",
"act-createBoard": " __board__ ایجادشد",
"act-createCard": " __card__ به __list__ اضافه شد",
"act-createBoard": "__board__ ایجادشد",
"act-createCard": "__card__ به __list__ اضافه شد",
"act-createList": "__list__ به __board__ اضافه شد",
"act-addBoardMember": "__member__ به __board__ اضافه شد",
"act-archivedBoard": "__board__ بایگانی شد",
@ -100,7 +100,7 @@
"board-view": "Board View",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "لیست ها",
"bucket-example": "برای مثال چیزی شبیه \"لیست سبدها\" ",
"bucket-example": "برای مثال چیزی شبیه \"لیست سبدها\"",
"cancel": "انصراف",
"card-archived": "این کارت بایگانی شده است.",
"card-comments-title": "این کارت دارای %s نظر می باشد.",

View file

@ -159,9 +159,9 @@
"confirm-checklist-delete-dialog": "Êtes-vous sûr de vouloir supprimer cette checklist ?",
"copy-card-link-to-clipboard": "Copier le lien vers la carte dans le presse-papier",
"copyCardPopup-title": "Copier la carte",
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"copyChecklistToManyCardsPopup-title": "Copier le modèle de checklist vers plusieurs cartes",
"copyChecklistToManyCardsPopup-instructions": "Titres et descriptions des cartes de destination dans ce format JSON",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Titre de la première carte\", \"description\":\"Description de la première carte\"}, {\"title\":\"Titre de la seconde carte\",\"description\":\"Description de la seconde carte\"},{\"title\":\"Titre de la dernière carte\",\"description\":\"Description de la dernière carte\"} ]",
"create": "Créer",
"createBoardPopup-title": "Créer un tableau",
"chooseBoardSourcePopup-title": "Importer un tableau",

View file

@ -12,7 +12,7 @@
"act-archivedBoard": "__board__ помещена в архив",
"act-archivedCard": "поместил __card__ в архив",
"act-archivedList": "поместил __list__ в архив",
"act-archivedSwimlane": "archived __swimlane__",
"act-archivedSwimlane": "поместил __swimlane__ в архив",
"act-importBoard": "__board__ импортирована",
"act-importCard": "__card__ импортирована",
"act-importList": "__list__ импортирован",
@ -45,7 +45,7 @@
"add-attachment": "Добавить вложение",
"add-board": "Добавить доску",
"add-card": "Добавить карту",
"add-swimlane": "Add Swimlane",
"add-swimlane": "Добавить дорожку",
"add-checklist": "Добавить контрольный список",
"add-checklist-item": "Добавить пункт в контрольный список",
"add-cover": "Прикрепить",
@ -69,7 +69,7 @@
"archive-board": "Архивировать доску",
"archive-card": "Архивировать карточку",
"archive-list": "Архивировать список",
"archive-swimlane": "Archive Swimlane",
"archive-swimlane": "Архивировать дорожку",
"archive-selection": "Архивировать выбранное",
"archiveBoardPopup-title": "Заархивировать доску?",
"archived-items": "Объекты в архиве",
@ -97,8 +97,8 @@
"boardChangeWatchPopup-title": "Изменить Отслеживание",
"boardMenuPopup-title": "Меню доски",
"boards": "Доски",
"board-view": "Board View",
"board-view-swimlanes": "Swimlanes",
"board-view": "Вид доски",
"board-view-swimlanes": "Дорожки",
"board-view-lists": "Списки",
"bucket-example": "Например “Список дел”",
"cancel": "Отмена",
@ -159,7 +159,7 @@
"confirm-checklist-delete-dialog": "Вы уверены, что хотите удалить контрольный список?",
"copy-card-link-to-clipboard": "Копировать ссылку на карточку в буфер обмена",
"copyCardPopup-title": "Копировать карточку",
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
"copyChecklistToManyCardsPopup-title": "Копировать шаблон контрольного списка в несколько карточек",
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"create": "Создать",
@ -268,14 +268,14 @@
"list-move-cards": "Переместить все карточки в этом списке",
"list-select-cards": "Выбрать все карточки в этом списке",
"listActionPopup-title": "Список действий",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneActionPopup-title": "Действия с дорожкой",
"listImportCardPopup-title": "Импортировать Trello карточку",
"listMorePopup-title": "Поделиться",
"link-list": "Ссылка на список",
"list-delete-pop": "Все действия будут удалены из ленты активности участников и вы не сможете восстановить список. Данное действие необратимо.",
"list-delete-suggest-archive": "Вы можете заархивировать список, чтобы убрать его с доски, сохранив всю историю действий участников.",
"lists": "Списки",
"swimlanes": "Swimlanes",
"swimlanes": "Дорожки",
"log-out": "Выйти",
"log-in": "Войти",
"loginPopup-title": "Войти",
@ -295,7 +295,7 @@
"name": "Имя",
"no-archived-cards": "Нет карточек в архиве.",
"no-archived-lists": "Нет списков в архиве.",
"no-archived-swimlanes": "No archived swimlanes.",
"no-archived-swimlanes": "Нет дорожек в архиве.\n",
"no-results": "Ничего не найдено",
"normal": "Обычный",
"normal-desc": "Может редактировать карточки. Не может управлять настройками.",
@ -358,7 +358,7 @@
"overtime-hours": "Переработка (в часах)",
"overtime": "Переработка",
"has-overtime-cards": "Имеются карточки с переработкой",
"has-spenttime-cards": "Has spent time cards",
"has-spenttime-cards": "Имеются карточки с учетом затраченного времени",
"time": "Время",
"title": "Название",
"tracking": "Отслеживание",
@ -376,7 +376,7 @@
"watching": "Отслеживается",
"watching-info": "Вы будете уведомлены об любых изменениях в этой доске.",
"welcome-board": "Приветственная Доска",
"welcome-swimlane": "Milestone 1",
"welcome-swimlane": "Этап 1",
"welcome-list1": "Основы",
"welcome-list2": "Расширенно",
"what-to-do": "Что вы хотите сделать?",

View file

@ -376,7 +376,7 @@
"watching": "Bevakar",
"watching-info": "Du kommer att meddelas om alla ändringar på denna anslagstavla",
"welcome-board": "Välkomstanslagstavla",
"welcome-swimlane": "Milestone 1",
"welcome-swimlane": "Milstolpe 1",
"welcome-list1": "Grunderna",
"welcome-list2": "Avancerad",
"what-to-do": "Vad vill du göra?",

View file

@ -472,6 +472,7 @@ if (Meteor.isServer) {
listId: paramListId,
description: req.body.description,
userId: req.body.authorId,
swimlaneId: req.body.swimlaneId,
sort: 0,
members: [req.body.authorId],
});

View file

@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "0.75.0",
"version": "0.76.0",
"description": "The open-source Trello-like kanban",
"private": true,
"scripts": {

View file

@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
appVersion = 60,
appVersion = 61,
# Increment this for every release.
appMarketingVersion = (defaultText = "0.75.0~2018-02-16"),
appMarketingVersion = (defaultText = "0.76.0~2018-02-21"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,

View file

@ -22,7 +22,9 @@ const sandstormBoard = {
if (isSandstorm && Meteor.isServer) {
const fs = require('fs');
const Capnp = require('/node_modules/capnp.js');
const pathParts = process.cwd().split("/");
var path = pathParts.join("/");
const Capnp = Npm.require(path + "../../../node_modules/capnp.js");
const Package = Capnp.importSystem('sandstorm/package.capnp');
const Powerbox = Capnp.importSystem('sandstorm/powerbox.capnp');
const Identity = Capnp.importSystem('sandstorm/identity.capnp');