From 5445955a774f6a9f29ee48109913ea3c4a9db33f Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 17 Sep 2018 12:49:43 +0300 Subject: - Revert IFTTT. Thanks to xet7 ! --- CHANGELOG.md | 10 - client/components/activities/activities.jade | 51 --- client/components/activities/activities.js | 16 - client/components/boards/boardHeader.jade | 9 - client/components/boards/boardHeader.js | 3 - client/components/forms/forms.styl | 1 - client/components/main/layouts.jade | 17 +- client/components/main/layouts.styl | 17 - client/components/rules/.DS_Store | Bin 6148 -> 0 bytes client/components/rules/actions/boardActions.jade | 46 --- client/components/rules/actions/boardActions.js | 122 ------- client/components/rules/actions/cardActions.jade | 43 --- client/components/rules/actions/cardActions.js | 118 ------ .../components/rules/actions/checklistActions.jade | 51 --- .../components/rules/actions/checklistActions.js | 128 ------- client/components/rules/actions/mailActions.jade | 11 - client/components/rules/actions/mailActions.js | 35 -- client/components/rules/ruleDetails.jade | 18 - client/components/rules/ruleDetails.js | 34 -- client/components/rules/rules.styl | 156 -------- client/components/rules/rulesActions.jade | 25 -- client/components/rules/rulesActions.js | 58 --- client/components/rules/rulesList.jade | 27 -- client/components/rules/rulesList.js | 15 - client/components/rules/rulesMain.jade | 9 - client/components/rules/rulesMain.js | 59 --- client/components/rules/rulesTriggers.jade | 21 -- client/components/rules/rulesTriggers.js | 53 --- .../components/rules/triggers/boardTriggers.jade | 61 ---- client/components/rules/triggers/boardTriggers.js | 103 ------ client/components/rules/triggers/cardTriggers.jade | 79 ---- client/components/rules/triggers/cardTriggers.js | 128 ------- .../rules/triggers/checklistTriggers.jade | 83 ----- .../components/rules/triggers/checklistTriggers.js | 146 -------- client/lib/modal.js | 14 +- client/lib/utils.js | 29 +- models/actions.js | 19 - models/activities.js | 8 - models/attachments.js | 7 - models/boards.js | 4 - models/cards.js | 404 +++------------------ models/checklistItems.js | 85 ----- models/checklists.js | 23 -- models/export.js | 74 +--- models/lists.js | 2 +- models/rules.js | 48 --- models/triggers.js | 58 --- models/wekanCreator.js | 205 +++-------- package.json | 2 +- sandstorm-pkgdef.capnp | 4 +- server/notifications/email.js | 2 - server/publications/rules.js | 18 - server/rulesHelper.js | 131 ------- server/triggersDef.js | 58 --- 54 files changed, 127 insertions(+), 2821 deletions(-) delete mode 100644 client/components/rules/.DS_Store delete mode 100644 client/components/rules/actions/boardActions.jade delete mode 100644 client/components/rules/actions/boardActions.js delete mode 100644 client/components/rules/actions/cardActions.jade delete mode 100644 client/components/rules/actions/cardActions.js delete mode 100644 client/components/rules/actions/checklistActions.jade delete mode 100644 client/components/rules/actions/checklistActions.js delete mode 100644 client/components/rules/actions/mailActions.jade delete mode 100644 client/components/rules/actions/mailActions.js delete mode 100644 client/components/rules/ruleDetails.jade delete mode 100644 client/components/rules/ruleDetails.js delete mode 100644 client/components/rules/rules.styl delete mode 100644 client/components/rules/rulesActions.jade delete mode 100644 client/components/rules/rulesActions.js delete mode 100644 client/components/rules/rulesList.jade delete mode 100644 client/components/rules/rulesList.js delete mode 100644 client/components/rules/rulesMain.jade delete mode 100644 client/components/rules/rulesMain.js delete mode 100644 client/components/rules/rulesTriggers.jade delete mode 100644 client/components/rules/rulesTriggers.js delete mode 100644 client/components/rules/triggers/boardTriggers.jade delete mode 100644 client/components/rules/triggers/boardTriggers.js delete mode 100644 client/components/rules/triggers/cardTriggers.jade delete mode 100644 client/components/rules/triggers/cardTriggers.js delete mode 100644 client/components/rules/triggers/checklistTriggers.jade delete mode 100644 client/components/rules/triggers/checklistTriggers.js delete mode 100644 models/actions.js delete mode 100644 models/rules.js delete mode 100644 models/triggers.js delete mode 100644 server/publications/rules.js delete mode 100644 server/rulesHelper.js delete mode 100644 server/triggersDef.js diff --git a/CHANGELOG.md b/CHANGELOG.md index cbcfc6f0..c5e5f325 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,3 @@ -# v1.47 2018-09-16 Wekan release - -This release adds the following new features: - -- [IFTTT Rules](https://github.com/wekan/wekan/pull/1896). Useful to automate things like - [adding labels, members, moving card, archiving them, checking checklists etc](https://github.com/wekan/wekan/issues/1160). - Please test and report bugs. Later colors need to be made translatable. - -Thanks to GitHub users Angtrim and xet7 for their contributions. - # v1.46 2018-09-15 Wekan release This release adds the following new features: diff --git a/client/components/activities/activities.jade b/client/components/activities/activities.jade index bddc4dad..d3e3d5ba 100644 --- a/client/components/activities/activities.jade +++ b/client/components/activities/activities.jade @@ -14,9 +14,6 @@ template(name="boardActivities") p.activity-desc +memberName(user=user) - if($eq activityType 'deleteAttachment') - | {{{_ 'activity-delete-attach' cardLink}}}. - if($eq activityType 'addAttachment') | {{{_ 'activity-attached' attachmentLink cardLink}}}. @@ -34,28 +31,12 @@ template(name="boardActivities") .activity-checklist(href="{{ card.absoluteUrl }}") +viewer = checklist.title - if($eq activityType 'removeChecklist') - | {{{_ 'activity-checklist-removed' cardLink}}}. - - if($eq activityType 'checkedItem') - | {{{_ 'activity-checked-item' checkItem checklist.title cardLink}}}. - - if($eq activityType 'uncheckedItem') - | {{{_ 'activity-unchecked-item' checkItem checklist.title cardLink}}}. - - if($eq activityType 'checklistCompleted') - | {{{_ 'activity-checklist-completed' checklist.title cardLink}}}. - - if($eq activityType 'checklistUncompleted') - | {{{_ 'activity-checklist-uncompleted' checklist.title cardLink}}}. if($eq activityType 'addChecklistItem') | {{{_ 'activity-checklist-item-added' checklist.title cardLink}}}. .activity-checklist(href="{{ card.absoluteUrl }}") +viewer = checklistItem.title - if($eq activityType 'removedChecklistItem') - | {{{_ 'activity-checklist-item-removed' checklist.title cardLink}}}. if($eq activityType 'archivedCard') | {{{_ 'activity-archived' cardLink}}}. @@ -108,12 +89,6 @@ template(name="boardActivities") if($eq activityType 'restoredCard') | {{{_ 'activity-sent' cardLink boardLabel}}}. - if($eq activityType 'addedLabel') - | {{{_ 'activity-added-label' lastLabel cardLink}}}. - - if($eq activityType 'removedLabel') - | {{{_ 'activity-removed-label' lastLabel cardLink}}}. - if($eq activityType 'unjoinMember') if($eq user._id member._id) | {{{_ 'activity-unjoined' cardLink}}}. @@ -144,28 +119,6 @@ template(name="cardActivities") | {{{_ 'activity-removed' cardLabel memberLink}}}. if($eq activityType 'archivedCard') | {{_ 'activity-archived' cardLabel}}. - - if($eq activityType 'addedLabel') - | {{{_ 'activity-added-label-card' lastLabel }}}. - - if($eq activityType 'removedLabel') - | {{{_ 'activity-removed-label-card' lastLabel }}}. - - if($eq activityType 'removeChecklist') - | {{{_ 'activity-checklist-removed' cardLabel}}}. - - if($eq activityType 'checkedItem') - | {{{_ 'activity-checked-item-card' checkItem checklist.title }}}. - - if($eq activityType 'uncheckedItem') - | {{{_ 'activity-unchecked-item-card' checkItem checklist.title }}}. - - if($eq activityType 'checklistCompleted') - | {{{_ 'activity-checklist-completed-card' checklist.title }}}. - - if($eq activityType 'checklistUncompleted') - | {{{_ 'activity-checklist-uncompleted-card' checklist.title }}}. - if($eq activityType 'restoredCard') | {{_ 'activity-sent' cardLabel boardLabel}}. if($eq activityType 'moveCard') @@ -174,10 +127,6 @@ template(name="cardActivities") | {{{_ 'activity-attached' attachmentLink cardLabel}}}. if attachment.isImage img.attachment-image-preview(src=attachment.url) - if($eq activityType 'deleteAttachment') - | {{{_ 'activity-delete-attach' cardLabel}}}. - if($eq activityType 'removedChecklist') - | {{{_ 'activity-checklist-removed' cardLabel}}}. if($eq activityType 'addChecklist') | {{{_ 'activity-checklist-added' cardLabel}}}. .activity-checklist diff --git a/client/components/activities/activities.js b/client/components/activities/activities.js index b3fe8f50..25e151fd 100644 --- a/client/components/activities/activities.js +++ b/client/components/activities/activities.js @@ -50,12 +50,6 @@ BlazeComponent.extendComponent({ } }, - checkItem(){ - const checkItemId = this.currentData().checklistItemId; - const checkItem = ChecklistItems.findOne({_id:checkItemId}); - return checkItem.title; - }, - boardLabel() { return TAPi18n.__('this-board'); }, @@ -72,16 +66,6 @@ BlazeComponent.extendComponent({ }, card.title)); }, - lastLabel(){ - const lastLabelId = this.currentData().labelId; - const lastLabel = Boards.findOne(Session.get('currentBoard')).getLabelById(lastLabelId); - if(lastLabel.name === undefined || lastLabel.name === ''){ - return lastLabel.color; - }else{ - return lastLabel.name; - } - }, - listLabel() { return this.currentData().list().title; }, diff --git a/client/components/boards/boardHeader.jade b/client/components/boards/boardHeader.jade index dfd281de..1c6c8f8c 100644 --- a/client/components/boards/boardHeader.jade +++ b/client/components/boards/boardHeader.jade @@ -88,10 +88,6 @@ template(name="boardHeaderBar") a.board-header-btn-close.js-filter-reset(title="{{_ 'filter-clear'}}") i.fa.fa-times-thin - a.board-header-btn.js-open-rules-view(title="{{_ 'rules'}}") - i.fa.fa-magic - span {{_ 'rules'}} - a.board-header-btn.js-open-search-view(title="{{_ 'search'}}") i.fa.fa-search span {{_ 'search'}} @@ -294,11 +290,6 @@ template(name="boardChangeTitlePopup") textarea.js-board-desc= description input.primary.wide(type="submit" value="{{_ 'rename'}}") -template(name="boardCreateRulePopup") - p {{_ 'close-board-pop'}} - button.js-confirm.negate.full(type="submit") {{_ 'archive'}} - - template(name="archiveBoardPopup") p {{_ 'close-board-pop'}} button.js-confirm.negate.full(type="submit") {{_ 'archive'}} diff --git a/client/components/boards/boardHeader.js b/client/components/boards/boardHeader.js index 89f686ab..2dfd58c1 100644 --- a/client/components/boards/boardHeader.js +++ b/client/components/boards/boardHeader.js @@ -108,9 +108,6 @@ BlazeComponent.extendComponent({ 'click .js-open-search-view'() { Sidebar.setView('search'); }, - 'click .js-open-rules-view'() { - Modal.openWide('rulesMain'); - }, 'click .js-multiselection-activate'() { const currentCard = Session.get('currentCard'); MultiSelection.activate(); diff --git a/client/components/forms/forms.styl b/client/components/forms/forms.styl index 892a6e74..5be70b7a 100644 --- a/client/components/forms/forms.styl +++ b/client/components/forms/forms.styl @@ -1,6 +1,5 @@ @import 'nib' -select, textarea, input:not([type=file]), button diff --git a/client/components/main/layouts.jade b/client/components/main/layouts.jade index ac7da3af..b0024b33 100644 --- a/client/components/main/layouts.jade +++ b/client/components/main/layouts.jade @@ -36,18 +36,11 @@ template(name="defaultLayout") if (Modal.isOpen) #modal .overlay - if (Modal.isWide) - .modal-content-wide.modal-container - a.modal-close-btn.js-close-modal - i.fa.fa-times-thin - +Template.dynamic(template=Modal.getHeaderName) - +Template.dynamic(template=Modal.getTemplateName) - else - .modal-content.modal-container - a.modal-close-btn.js-close-modal - i.fa.fa-times-thin - +Template.dynamic(template=Modal.getHeaderName) - +Template.dynamic(template=Modal.getTemplateName) + .modal-content + a.modal-close-btn.js-close-modal + i.fa.fa-times-thin + +Template.dynamic(template=Modal.getHeaderName) + +Template.dynamic(template=Modal.getTemplateName) template(name="notFound") +message(label='page-not-found') diff --git a/client/components/main/layouts.styl b/client/components/main/layouts.styl index 3457a028..a79ff337 100644 --- a/client/components/main/layouts.styl +++ b/client/components/main/layouts.styl @@ -61,23 +61,6 @@ body display: block float: right font-size: 24px - - .modal-content-wide - width: 800px - min-height: 0px - margin: 42px auto - padding: 12px - border-radius: 4px - background: darken(white, 13%) - z-index: 110 - - h2 - margin-bottom: 25px - - .modal-close-btn - display: block - float: right - font-size: 24px h1 font-size: 22px diff --git a/client/components/rules/.DS_Store b/client/components/rules/.DS_Store deleted file mode 100644 index 5008ddfc..00000000 Binary files a/client/components/rules/.DS_Store and /dev/null differ diff --git a/client/components/rules/actions/boardActions.jade b/client/components/rules/actions/boardActions.jade deleted file mode 100644 index 768d77cf..00000000 --- a/client/components/rules/actions/boardActions.jade +++ /dev/null @@ -1,46 +0,0 @@ -template(name="boardActions") - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-move-card-to'}} - div.trigger-dropdown - select(id="move-gen-action") - option(value="top") {{_'r-top-of'}} - option(value="bottom") {{_'r-bottom-of'}} - div.trigger-text - | {{_'r-its-list'}} - div.trigger-button.js-add-gen-move-action.js-goto-rules - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-move-card-to'}} - div.trigger-dropdown - select(id="move-spec-action") - option(value="top") {{_'r-top-of'}} - option(value="bottom") {{_'r-bottom-of'}} - div.trigger-text - | {{_'r-list'}} - div.trigger-dropdown - input(id="listName",type=text,placeholder="{{_'r-name'}}") - div.trigger-button.js-add-spec-move-action.js-goto-rules - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-dropdown - select(id="arch-action") - option(value="archive") {{_'r-archive'}} - option(value="unarchive") {{_'r-unarchive'}} - div.trigger-text - | {{_'r-card'}} - div.trigger-button.js-add-arch-action.js-goto-rules - i.fa.fa-plus - - - - - - - diff --git a/client/components/rules/actions/boardActions.js b/client/components/rules/actions/boardActions.js deleted file mode 100644 index 95771fce..00000000 --- a/client/components/rules/actions/boardActions.js +++ /dev/null @@ -1,122 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - - }, - - events() { - return [{ - 'click .js-add-spec-move-action' (event) { - const ruleName = this.data().ruleName.get(); - const trigger = this.data().triggerVar.get(); - const actionSelected = this.find('#move-spec-action').value; - const listTitle = this.find('#listName').value; - const boardId = Session.get('currentBoard'); - const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected === 'top') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'moveCardToTop', - listTitle, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - if (actionSelected === 'bottom') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'moveCardToBottom', - listTitle, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - }, - 'click .js-add-gen-move-action' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const boardId = Session.get('currentBoard'); - const ruleName = this.data().ruleName.get(); - const trigger = this.data().triggerVar.get(); - const actionSelected = this.find('#move-gen-action').value; - if (actionSelected === 'top') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'moveCardToTop', - 'listTitle': '*', - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - if (actionSelected === 'bottom') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'moveCardToBottom', - 'listTitle': '*', - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - }, - 'click .js-add-arch-action' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const boardId = Session.get('currentBoard'); - const ruleName = this.data().ruleName.get(); - const trigger = this.data().triggerVar.get(); - const actionSelected = this.find('#arch-action').value; - if (actionSelected === 'archive') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'archive', - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - if (actionSelected === 'unarchive') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'unarchive', - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - }, - }]; - }, - -}).register('boardActions'); -/* eslint-no-undef */ diff --git a/client/components/rules/actions/cardActions.jade b/client/components/rules/actions/cardActions.jade deleted file mode 100644 index 74ad9ab5..00000000 --- a/client/components/rules/actions/cardActions.jade +++ /dev/null @@ -1,43 +0,0 @@ -template(name="cardActions") - div.trigger-item - div.trigger-content - div.trigger-dropdown - select(id="label-action") - option(value="add") {{{_'r-add'}}} - option(value="remove") {{{_'r-remove'}}} - div.trigger-text - | {{{_'r-label'}}} - div.trigger-dropdown - select(id="label-id") - each labels - option(value="#{_id}") - = name - div.trigger-button.js-add-label-action.js-goto-rules - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-dropdown - select(id="member-action") - option(value="add") {{{_'r-add'}}} - option(value="remove") {{{_'r-remove'}}} - div.trigger-text - | {{{_'r-member'}}} - div.trigger-dropdown - input(id="member-name",type=text,placeholder="{{{_'r-name'}}}") - div.trigger-button.js-add-member-action.js-goto-rules - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{{_'r-remove-all'}}} - div.trigger-button.js-add-removeall-action.js-goto-rules - i.fa.fa-plus - - - - - - - diff --git a/client/components/rules/actions/cardActions.js b/client/components/rules/actions/cardActions.js deleted file mode 100644 index a65407c1..00000000 --- a/client/components/rules/actions/cardActions.js +++ /dev/null @@ -1,118 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - this.subscribe('allRules'); - }, - - labels() { - const labels = Boards.findOne(Session.get('currentBoard')).labels; - for (let i = 0; i < labels.length; i++) { - if (labels[i].name === '' || labels[i].name === undefined) { - labels[i].name = labels[i].color.toUpperCase(); - } - } - return labels; - }, - - events() { - return [{ - 'click .js-add-label-action' (event) { - const ruleName = this.data().ruleName.get(); - const trigger = this.data().triggerVar.get(); - const actionSelected = this.find('#label-action').value; - const labelId = this.find('#label-id').value; - const boardId = Session.get('currentBoard'); - const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected === 'add') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'addLabel', - labelId, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - if (actionSelected === 'remove') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'removeLabel', - labelId, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - - }, - 'click .js-add-member-action' (event) { - const ruleName = this.data().ruleName.get(); - const trigger = this.data().triggerVar.get(); - const actionSelected = this.find('#member-action').value; - const memberName = this.find('#member-name').value; - const boardId = Session.get('currentBoard'); - const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected === 'add') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'addMember', - memberName, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - desc, - }); - } - if (actionSelected === 'remove') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'removeMember', - memberName, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - }, - 'click .js-add-removeall-action' (event) { - const ruleName = this.data().ruleName.get(); - const trigger = this.data().triggerVar.get(); - const triggerId = Triggers.insert(trigger); - const desc = Utils.getTriggerActionDesc(event, this); - const boardId = Session.get('currentBoard'); - const actionId = Actions.insert({ - actionType: 'removeMember', - 'memberName': '*', - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - }, - }]; - }, - -}).register('cardActions'); diff --git a/client/components/rules/actions/checklistActions.jade b/client/components/rules/actions/checklistActions.jade deleted file mode 100644 index 8414a1a5..00000000 --- a/client/components/rules/actions/checklistActions.jade +++ /dev/null @@ -1,51 +0,0 @@ -template(name="checklistActions") - div.trigger-item - div.trigger-content - div.trigger-dropdown - select(id="check-action") - option(value="add") {{{_'r-add'}}} - option(value="remove") {{{_'r-remove'}}} - div.trigger-text - | {{{_'r-checklist'}}} - div.trigger-dropdown - input(id="checklist-name",type=text,placeholder="{{{_'r-name'}}}") - div.trigger-button.js-add-checklist-action.js-goto-rules - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-dropdown - select(id="checkall-action") - option(value="check") {{{_'r-check-all'}}} - option(value="uncheck") {{{_'r-uncheck-all'}}} - div.trigger-text - | {{{_'r-items-check'}}} - div.trigger-dropdown - input(id="checklist-name2",type=text,placeholder="{{{_'r-name'}}}") - div.trigger-button.js-add-checkall-action.js-goto-rules - i.fa.fa-plus - - - div.trigger-item - div.trigger-content - div.trigger-dropdown - select(id="check-item-action") - option(value="check") {{{_'r-check'}}} - option(value="uncheck") {{{_'r-uncheck'}}} - div.trigger-text - | {{{_'r-item'}}} - div.trigger-dropdown - input(id="checkitem-name",type=text,placeholder="{{{_'r-name'}}}") - div.trigger-text - | {{{_'r-of-checklist'}}} - div.trigger-dropdown - input(id="checklist-name3",type=text,placeholder="{{{_'r-name'}}}") - div.trigger-button.js-add-check-item-action.js-goto-rules - i.fa.fa-plus - - - - - - - diff --git a/client/components/rules/actions/checklistActions.js b/client/components/rules/actions/checklistActions.js deleted file mode 100644 index 4b70f959..00000000 --- a/client/components/rules/actions/checklistActions.js +++ /dev/null @@ -1,128 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - this.subscribe('allRules'); - }, - events() { - return [{ - 'click .js-add-checklist-action' (event) { - const ruleName = this.data().ruleName.get(); - const trigger = this.data().triggerVar.get(); - const actionSelected = this.find('#check-action').value; - const checklistName = this.find('#checklist-name').value; - const boardId = Session.get('currentBoard'); - const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected === 'add') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'addChecklist', - checklistName, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - if (actionSelected === 'remove') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'removeChecklist', - checklistName, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - - }, - 'click .js-add-checkall-action' (event) { - const ruleName = this.data().ruleName.get(); - const trigger = this.data().triggerVar.get(); - const actionSelected = this.find('#checkall-action').value; - const checklistName = this.find('#checklist-name2').value; - const boardId = Session.get('currentBoard'); - const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected === 'check') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'checkAll', - checklistName, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - if (actionSelected === 'uncheck') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'uncheckAll', - checklistName, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - }, - 'click .js-add-check-item-action' (event) { - const ruleName = this.data().ruleName.get(); - const trigger = this.data().triggerVar.get(); - const checkItemName = this.find('#checkitem-name'); - const checklistName = this.find('#checklist-name3'); - const actionSelected = this.find('#check-item-action').value; - const boardId = Session.get('currentBoard'); - const desc = Utils.getTriggerActionDesc(event, this); - if (actionSelected === 'check') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'checkItem', - checklistName, - checkItemName, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - if (actionSelected === 'uncheck') { - const triggerId = Triggers.insert(trigger); - const actionId = Actions.insert({ - actionType: 'uncheckItem', - checklistName, - checkItemName, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - } - }, - }]; - }, - -}).register('checklistActions'); diff --git a/client/components/rules/actions/mailActions.jade b/client/components/rules/actions/mailActions.jade deleted file mode 100644 index 7be78c75..00000000 --- a/client/components/rules/actions/mailActions.jade +++ /dev/null @@ -1,11 +0,0 @@ -template(name="mailActions") - div.trigger-item.trigger-item-mail - div.trigger-content.trigger-content-mail - div.trigger-text.trigger-text-email - | {{_'r-send-email'}} - div.trigger-dropdown-mail - input(id="email-to",type=text,placeholder="{{_'r-to'}}") - input(id="email-subject",type=text,placeholder="{{_'r-subject'}}") - textarea(id="email-msg") - div.trigger-button.trigger-button-email.js-mail-action.js-goto-rules - i.fa.fa-plus diff --git a/client/components/rules/actions/mailActions.js b/client/components/rules/actions/mailActions.js deleted file mode 100644 index 40cbc280..00000000 --- a/client/components/rules/actions/mailActions.js +++ /dev/null @@ -1,35 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - - }, - - events() { - return [{ - 'click .js-mail-action' (event) { - const emailTo = this.find('#email-to').value; - const emailSubject = this.find('#email-subject').value; - const emailMsg = this.find('#email-msg').value; - const trigger = this.data().triggerVar.get(); - const ruleName = this.data().ruleName.get(); - const triggerId = Triggers.insert(trigger); - const boardId = Session.get('currentBoard'); - const desc = Utils.getTriggerActionDesc(event, this); - const actionId = Actions.insert({ - actionType: 'sendEmail', - emailTo, - emailSubject, - emailMsg, - boardId, - desc, - }); - Rules.insert({ - title: ruleName, - triggerId, - actionId, - boardId, - }); - }, - }]; - }, - -}).register('mailActions'); diff --git a/client/components/rules/ruleDetails.jade b/client/components/rules/ruleDetails.jade deleted file mode 100644 index b9a1351c..00000000 --- a/client/components/rules/ruleDetails.jade +++ /dev/null @@ -1,18 +0,0 @@ -template(name="ruleDetails") - .rules - h2 - i.fa.fa-magic - | {{{_ 'r-rule-details' }}} - .triggers-content - .triggers-body - .triggers-main-body - div.trigger-item - div.trigger-content - div.trigger-text - = trigger - div.trigger-item - div.trigger-content - div.trigger-text - = action - - \ No newline at end of file diff --git a/client/components/rules/ruleDetails.js b/client/components/rules/ruleDetails.js deleted file mode 100644 index 386b2b48..00000000 --- a/client/components/rules/ruleDetails.js +++ /dev/null @@ -1,34 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - this.subscribe('allRules'); - this.subscribe('allTriggers'); - this.subscribe('allActions'); - - }, - - trigger() { - const ruleId = this.data().ruleId; - const rule = Rules.findOne({ - _id: ruleId.get(), - }); - const trigger = Triggers.findOne({ - _id: rule.triggerId, - }); - return trigger.description(); - }, - action() { - const ruleId = this.data().ruleId; - const rule = Rules.findOne({ - _id: ruleId.get(), - }); - const action = Actions.findOne({ - _id: rule.actionId, - }); - return action.description(); - }, - - events() { - return [{}]; - }, - -}).register('ruleDetails'); diff --git a/client/components/rules/rules.styl b/client/components/rules/rules.styl deleted file mode 100644 index 68d74d32..00000000 --- a/client/components/rules/rules.styl +++ /dev/null @@ -1,156 +0,0 @@ -.rules-list - overflow:hidden - overflow-y:scroll - max-height: 400px -.rules-lists-item - display: block - position: relative - overflow: auto - p - display: inline-block - float: left - margin: revert - -.rules-btns-group - position: absolute - right: 0 - top: 50% - transform: translateY(-50%) - button - margin: auto -.rules-add - display: block - overflow: auto - margin-top: 15px - margin-bottom: 5px - input - display: inline-block - float: right - margin: auto - margin-right: 10px - button - display: inline-block - float: right - margin: auto -.flex - display: -webkit-box - display: -moz-box - display: -webkit-flex - display: -moz-flex - display: -ms-flexbox - display: flex - - - -.triggers-content - color: #727479 - background: #dedede - .triggers-body - display flex - padding-top 15px - height 100% - - .triggers-side-menu - background-color: #f7f7f7 - border: 1px solid #f0f0f0 - border-radius: 4px - height: intrinsic - box-shadow: inset -1px -1px 3px rgba(0,0,0,.05) - - ul - - li - margin: 0.1rem 0.2rem; - width:50px - height:50px - text-align:center - font-size: 25px - position: relative - - i - position: absolute; - top: 50%; - left: 50%; - box-shadow: none - transform: translate(-50%,-50%); - - - &.active - background #fff - box-shadow 0 1px 2px rgba(0,0,0,0.15); - - &:hover - background #fff - box-shadow 0 1px 2px rgba(0,0,0,0.15); - a - @extends .flex - padding: 1rem 0 1rem 1rem - width: 100% - 5rem - - - span - font-size: 13px - .triggers-main-body - padding: 0.1em 1em - width:100% - .trigger-item - overflow:auto - padding:10px - height:40px - margin-bottom:5px - border-radius: 3px - position: relative - background-color: white - .trigger-content - position:absolute - top:50% - transform: translateY(-50%) - left:10px - .trigger-text - font-size: 16px - display:inline-block - .trigger-text.trigger-text-email - margin-left: 5px; - margin-top: 10px; - margin-bottom: 10px; - .trigger-dropdown - display:inline-block - select - width:100px - height:30px - margin:0px - margin-left:5px - input - display: inline-block - width: 80px; - margin: 0; - .trigger-content-mail - left:20px - right:100px - .trigger-button - position:absolute - top:50% - transform: translateY(-50%) - width:30px - height:30px - border: 1px solid #eee - border-radius: 4px - box-shadow: inset -1px -1px 3px rgba(0,0,0,.05) - text-align:center - font-size: 20px - right:10px - i - position: absolute - top: 50% - left: 50% - box-shadow: none - transform: translate(-50%,-50%) - &:hover, &.is-active - box-shadow: 0 0 0 2px darken(white, 60%) inset - .trigger-button.trigger-button-email - top:30px - .trigger-item.trigger-item-mail - height:300px - - - diff --git a/client/components/rules/rulesActions.jade b/client/components/rules/rulesActions.jade deleted file mode 100644 index 8dfceeeb..00000000 --- a/client/components/rules/rulesActions.jade +++ /dev/null @@ -1,25 +0,0 @@ -template(name="rulesActions") - h2 - i.fa.fa-magic - | {{{_ 'r-rule' }}} "#{data.ruleName.get}" - {{{_ 'r-add-action'}}} - .triggers-content - .triggers-body - .triggers-side-menu - ul - li.active.js-set-board-actions - i.fa.fa-columns - li.js-set-card-actions - i.fa.fa-sticky-note - li.js-set-checklist-actions - i.fa.fa-check - li.js-set-mail-actions - i.fa.fa-at - .triggers-main-body - if ($eq currentActions.get 'board') - +boardActions(ruleName=data.ruleName triggerVar=data.triggerVar) - else if ($eq currentActions.get 'card') - +cardActions(ruleName=data.ruleName triggerVar=data.triggerVar) - else if ($eq currentActions.get 'checklist') - +checklistActions(ruleName=data.ruleName triggerVar=data.triggerVar) - else if ($eq currentActions.get 'mail') - +mailActions(ruleName=data.ruleName triggerVar=data.triggerVar) \ No newline at end of file diff --git a/client/components/rules/rulesActions.js b/client/components/rules/rulesActions.js deleted file mode 100644 index ecba857b..00000000 --- a/client/components/rules/rulesActions.js +++ /dev/null @@ -1,58 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - this.currentActions = new ReactiveVar('board'); - }, - - setBoardActions() { - this.currentActions.set('board'); - $('.js-set-card-actions').removeClass('active'); - $('.js-set-board-actions').addClass('active'); - $('.js-set-checklist-actions').removeClass('active'); - $('.js-set-mail-actions').removeClass('active'); - }, - setCardActions() { - this.currentActions.set('card'); - $('.js-set-card-actions').addClass('active'); - $('.js-set-board-actions').removeClass('active'); - $('.js-set-checklist-actions').removeClass('active'); - $('.js-set-mail-actions').removeClass('active'); - }, - setChecklistActions() { - this.currentActions.set('checklist'); - $('.js-set-card-actions').removeClass('active'); - $('.js-set-board-actions').removeClass('active'); - $('.js-set-checklist-actions').addClass('active'); - $('.js-set-mail-actions').removeClass('active'); - }, - setMailActions() { - this.currentActions.set('mail'); - $('.js-set-card-actions').removeClass('active'); - $('.js-set-board-actions').removeClass('active'); - $('.js-set-checklist-actions').removeClass('active'); - $('.js-set-mail-actions').addClass('active'); - }, - - rules() { - return Rules.find({}); - }, - - name() { - // console.log(this.data()); - }, - events() { - return [{ - 'click .js-set-board-actions' (event) { - this.setBoardActions(); - }, - 'click .js-set-card-actions' (event) { - this.setCardActions(); - }, - 'click .js-set-mail-actions' (event) { - this.setMailActions(); - }, - 'click .js-set-checklist-actions' (event) { - this.setChecklistActions(); - }, - }]; - }, -}).register('rulesActions'); diff --git a/client/components/rules/rulesList.jade b/client/components/rules/rulesList.jade deleted file mode 100644 index c2676aa7..00000000 --- a/client/components/rules/rulesList.jade +++ /dev/null @@ -1,27 +0,0 @@ -template(name="rulesList") - .rules - h2 - i.fa.fa-magic - | {{{_ 'r-board-rules' }}} - - ul.rules-list - each rules - li.rules-lists-item - p - = title - div.rules-btns-group - button.js-goto-details - i.fa.fa-eye - | {{{_ 'r-view-rule'}}} - if currentUser.isAdmin - button.js-delete-rule - i.fa.fa-trash-o - | {{{_ 'r-delete-rule'}}} - else - li.no-items-message {{{_ 'r-no-rules' }}} - if currentUser.isAdmin - div.rules-add - button.js-goto-trigger - i.fa.fa-plus - | {{{_ 'r-add-rule'}}} - input(type=text,placeholder="{{{_ 'r-new-rule-name' }}}",id="ruleTitle") \ No newline at end of file diff --git a/client/components/rules/rulesList.js b/client/components/rules/rulesList.js deleted file mode 100644 index d3923bf9..00000000 --- a/client/components/rules/rulesList.js +++ /dev/null @@ -1,15 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - this.subscribe('allRules'); - }, - - rules() { - const boardId = Session.get('currentBoard'); - return Rules.find({ - boardId, - }); - }, - events() { - return [{}]; - }, -}).register('rulesList'); diff --git a/client/components/rules/rulesMain.jade b/client/components/rules/rulesMain.jade deleted file mode 100644 index dc33ee4e..00000000 --- a/client/components/rules/rulesMain.jade +++ /dev/null @@ -1,9 +0,0 @@ -template(name="rulesMain") - if($eq rulesCurrentTab.get 'rulesList') - +rulesList - if($eq rulesCurrentTab.get 'trigger') - +rulesTriggers(ruleName=ruleName triggerVar=triggerVar) - if($eq rulesCurrentTab.get 'action') - +rulesActions(ruleName=ruleName triggerVar=triggerVar) - if($eq rulesCurrentTab.get 'ruleDetails') - +ruleDetails(ruleId=ruleId) \ No newline at end of file diff --git a/client/components/rules/rulesMain.js b/client/components/rules/rulesMain.js deleted file mode 100644 index 65cc3d98..00000000 --- a/client/components/rules/rulesMain.js +++ /dev/null @@ -1,59 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - this.rulesCurrentTab = new ReactiveVar('rulesList'); - this.ruleName = new ReactiveVar(''); - this.triggerVar = new ReactiveVar(); - this.ruleId = new ReactiveVar(); - }, - - setTrigger() { - this.rulesCurrentTab.set('trigger'); - }, - - setRulesList() { - this.rulesCurrentTab.set('rulesList'); - }, - - setAction() { - this.rulesCurrentTab.set('action'); - }, - - setRuleDetails() { - this.rulesCurrentTab.set('ruleDetails'); - }, - - events() { - return [{ - 'click .js-delete-rule' (event) { - const rule = this.currentData(); - Rules.remove(rule._id); - Actions.remove(rule.actionId); - Triggers.remove(rule.triggerId); - - }, - 'click .js-goto-trigger' (event) { - event.preventDefault(); - const ruleTitle = this.find('#ruleTitle').value; - this.find('#ruleTitle').value = ''; - this.ruleName.set(ruleTitle); - this.setTrigger(); - }, - 'click .js-goto-action' (event) { - event.preventDefault(); - this.setAction(); - }, - 'click .js-goto-rules' (event) { - event.preventDefault(); - this.setRulesList(); - }, - 'click .js-goto-details' (event) { - event.preventDefault(); - const rule = this.currentData(); - this.ruleId.set(rule._id); - this.setRuleDetails(); - }, - - }]; - }, - -}).register('rulesMain'); diff --git a/client/components/rules/rulesTriggers.jade b/client/components/rules/rulesTriggers.jade deleted file mode 100644 index 0ef5edfa..00000000 --- a/client/components/rules/rulesTriggers.jade +++ /dev/null @@ -1,21 +0,0 @@ -template(name="rulesTriggers") - h2 - i.fa.fa-magic - | {{{_ 'r-rule' }}} "#{data.ruleName.get}" - {{{_ 'r-add-trigger'}}} - .triggers-content - .triggers-body - .triggers-side-menu - ul - li.active.js-set-board-triggers - i.fa.fa-columns - li.js-set-card-triggers - i.fa.fa-sticky-note - li.js-set-checklist-triggers - i.fa.fa-check - .triggers-main-body - if showBoardTrigger.get - +boardTriggers - else if showCardTrigger.get - +cardTriggers - else if showChecklistTrigger.get - +checklistTriggers \ No newline at end of file diff --git a/client/components/rules/rulesTriggers.js b/client/components/rules/rulesTriggers.js deleted file mode 100644 index 506e63b2..00000000 --- a/client/components/rules/rulesTriggers.js +++ /dev/null @@ -1,53 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - this.showBoardTrigger = new ReactiveVar(true); - this.showCardTrigger = new ReactiveVar(false); - this.showChecklistTrigger = new ReactiveVar(false); - }, - - setBoardTriggers() { - this.showBoardTrigger.set(true); - this.showCardTrigger.set(false); - this.showChecklistTrigger.set(false); - $('.js-set-card-triggers').removeClass('active'); - $('.js-set-board-triggers').addClass('active'); - $('.js-set-checklist-triggers').removeClass('active'); - }, - setCardTriggers() { - this.showBoardTrigger.set(false); - this.showCardTrigger.set(true); - this.showChecklistTrigger.set(false); - $('.js-set-card-triggers').addClass('active'); - $('.js-set-board-triggers').removeClass('active'); - $('.js-set-checklist-triggers').removeClass('active'); - }, - setChecklistTriggers() { - this.showBoardTrigger.set(false); - this.showCardTrigger.set(false); - this.showChecklistTrigger.set(true); - $('.js-set-card-triggers').removeClass('active'); - $('.js-set-board-triggers').removeClass('active'); - $('.js-set-checklist-triggers').addClass('active'); - }, - - rules() { - return Rules.find({}); - }, - - name() { - // console.log(this.data()); - }, - events() { - return [{ - 'click .js-set-board-triggers' (event) { - this.setBoardTriggers(); - }, - 'click .js-set-card-triggers' (event) { - this.setCardTriggers(); - }, - 'click .js-set-checklist-triggers' (event) { - this.setChecklistTriggers(); - }, - }]; - }, -}).register('rulesTriggers'); diff --git a/client/components/rules/triggers/boardTriggers.jade b/client/components/rules/triggers/boardTriggers.jade deleted file mode 100644 index 266f11f8..00000000 --- a/client/components/rules/triggers/boardTriggers.jade +++ /dev/null @@ -1,61 +0,0 @@ -template(name="boardTriggers") - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-a-card-is'}} - div.trigger-dropdown - select(id="gen-action") - option(value="created") {{_'r-added-to'}} - option(value="removed") {{_'r-removed-from'}} - div.trigger-text - | {{_'r-the-board'}} - div.trigger-button.js-add-gen-trigger.js-goto-action - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-a-card-is'}} - div.trigger-dropdown - select(id="create-action") - option(value="created") {{_'r-added-to'}} - option(value="removed") {{_'r-removed-from'}} - div.trigger-text - | {{_'r-list'}} - div.trigger-dropdown - input(id="create-list-name",type=text,placeholder="{{_'r-list-name'}}") - div.trigger-button.js-add-create-trigger.js-goto-action - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-a-card-is'}} - div.trigger-dropdown - select(id="move-action") - option(value="moved-to") {{_'r-moved-to'}} - option(value="moved-from") {{_'r-moved-from'}} - div.trigger-text - | {{_'r-list'}} - div.trigger-dropdown - input(id="move-list-name",type=text,placeholder="{{_'r-list-name'}}") - div.trigger-button.js-add-moved-trigger.js-goto-action - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-a-card-is'}} - div.trigger-dropdown - select(id="arch-action") - option(value="archived") {{_'r-archived'}} - option(value="unarchived") {{_'r-unarchived'}} - div.trigger-button.js-add-arch-trigger.js-goto-action - i.fa.fa-plus - - - - - - - diff --git a/client/components/rules/triggers/boardTriggers.js b/client/components/rules/triggers/boardTriggers.js deleted file mode 100644 index e4753642..00000000 --- a/client/components/rules/triggers/boardTriggers.js +++ /dev/null @@ -1,103 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - - }, - - events() { - return [{ - 'click .js-add-gen-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#gen-action').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'created') { - datas.triggerVar.set({ - activityType: 'createCard', - boardId, - 'listName': '*', - desc, - }); - } - if (actionSelected === 'removed') { - datas.triggerVar.set({ - activityType: 'removeCard', - boardId, - desc, - }); - } - - }, - 'click .js-add-create-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#create-action').value; - const listName = this.find('#create-list-name').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'created') { - datas.triggerVar.set({ - activityType: 'createCard', - boardId, - listName, - desc, - }); - } - if (actionSelected === 'removed') { - datas.triggerVar.set({ - activityType: 'removeCard', - boardId, - listName, - desc, - }); - } - }, - 'click .js-add-moved-trigger' (event) { - const datas = this.data(); - const desc = Utils.getTriggerActionDesc(event, this); - - const actionSelected = this.find('#move-action').value; - const listName = this.find('#move-list-name').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'moved-to') { - datas.triggerVar.set({ - activityType: 'moveCard', - boardId, - listName, - 'oldListName': '*', - desc, - }); - } - if (actionSelected === 'moved-from') { - datas.triggerVar.set({ - activityType: 'moveCard', - boardId, - 'listName': '*', - 'oldListName': listName, - desc, - }); - } - }, - 'click .js-add-arc-trigger' (event) { - const datas = this.data(); - const desc = Utils.getTriggerActionDesc(event, this); - const actionSelected = this.find('#arch-action').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'archived') { - datas.triggerVar.set({ - activityType: 'archivedCard', - boardId, - desc, - }); - } - if (actionSelected === 'unarchived') { - datas.triggerVar.set({ - activityType: 'restoredCard', - boardId, - desc, - }); - } - }, - - }]; - }, - -}).register('boardTriggers'); diff --git a/client/components/rules/triggers/cardTriggers.jade b/client/components/rules/triggers/cardTriggers.jade deleted file mode 100644 index 5226e3c4..00000000 --- a/client/components/rules/triggers/cardTriggers.jade +++ /dev/null @@ -1,79 +0,0 @@ -template(name="cardTriggers") - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-a-label-is'}} - div.trigger-dropdown - select(id="label-action") - option(value="added") {{_'r-added-to'}} - option(value="removed") {{_'r-removed-from'}} - div.trigger-text - | {{_'r-a-card'}} - div.trigger-button.js-add-gen-label-trigger.js-goto-action - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-the-label-is'}} - div.trigger-dropdown - select(id="spec-label") - each labels - option(value="#{_id}") - = name - div.trigger-text - | {{_'r-is'}} - div.trigger-dropdown - select(id="spec-label-action") - option(value="added") {{_'r-added-to'}} - option(value="removed") {{_'r-removed-from'}} - div.trigger-text - | {{_'r-a-card'}} - div.trigger-button.js-add-spec-label-trigger.js-goto-action - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-a-member'}} - div.trigger-dropdown - select(id="gen-member-action") - option(value="added") {{_'r-added-to'}} - option(value="removed") {{_'r-removed-from'}} - div.trigger-text - | {{_'r-a-card'}} - div.trigger-button.js-add-gen-member-trigger.js-goto-action - i.fa.fa-plus - - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-the-member'}} - div.trigger-dropdown - input(id="spec-member",type=text,placeholder="{{_'r-name'}}") - div.trigger-text - | {{_'r-is'}} - div.trigger-dropdown - select(id="spec-member-action") - option(value="added") {{_'r-added-to'}} - option(value="removed") {{_'r-removed-from'}} - div.trigger-text - | {{_'r-a-card'}} - div.trigger-button.js-add-spec-member-trigger.js-goto-action - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-a-attach'}} - div.trigger-text - | {{_'r-is'}} - div.trigger-dropdown - select(id="attach-action") - option(value="added") {{_'r-added-to'}} - option(value="removed") {{_'r-removed-from'}} - div.trigger-text - | {{_'r-a-card'}} - div.trigger-button.js-add-attachment-trigger.js-goto-action - i.fa.fa-plus diff --git a/client/components/rules/triggers/cardTriggers.js b/client/components/rules/triggers/cardTriggers.js deleted file mode 100644 index 704c7690..00000000 --- a/client/components/rules/triggers/cardTriggers.js +++ /dev/null @@ -1,128 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - this.subscribe('allRules'); - }, - labels() { - const labels = Boards.findOne(Session.get('currentBoard')).labels; - for (let i = 0; i < labels.length; i++) { - if (labels[i].name === '' || labels[i].name === undefined) { - labels[i].name = labels[i].color.toUpperCase(); - } - } - return labels; - }, - events() { - return [{ - 'click .js-add-gen-label-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#label-action').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'added') { - datas.triggerVar.set({ - activityType: 'addedLabel', - boardId, - 'labelId': '*', - desc, - }); - } - if (actionSelected === 'removed') { - datas.triggerVar.set({ - activityType: 'removedLabel', - boardId, - 'labelId': '*', - desc, - }); - } - }, - 'click .js-add-spec-label-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#spec-label-action').value; - const labelId = this.find('#spec-label').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'added') { - datas.triggerVar.set({ - activityType: 'addedLabel', - boardId, - labelId, - desc, - }); - } - if (actionSelected === 'removed') { - datas.triggerVar.set({ - activityType: 'removedLabel', - boardId, - labelId, - desc, - }); - } - }, - 'click .js-add-gen-member-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#gen-member-action').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'added') { - datas.triggerVar.set({ - activityType: 'joinMember', - boardId, - 'memberId': '*', - desc, - }); - } - if (actionSelected === 'removed') { - datas.triggerVar.set({ - activityType: 'unjoinMember', - boardId, - 'memberId': '*', - desc, - }); - } - }, - 'click .js-add-spec-member-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#spec-member-action').value; - const memberId = this.find('#spec-member').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'added') { - datas.triggerVar.set({ - activityType: 'joinMember', - boardId, - memberId, - desc, - }); - } - if (actionSelected === 'removed') { - datas.triggerVar.set({ - activityType: 'unjoinMember', - boardId, - memberId, - desc, - }); - } - }, - 'click .js-add-attachment-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#attach-action').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'added') { - datas.triggerVar.set({ - activityType: 'addAttachment', - boardId, - desc, - }); - } - if (actionSelected === 'removed') { - datas.triggerVar.set({ - activityType: 'deleteAttachment', - boardId, - desc, - }); - } - }, - }]; - }, -}).register('cardTriggers'); diff --git a/client/components/rules/triggers/checklistTriggers.jade b/client/components/rules/triggers/checklistTriggers.jade deleted file mode 100644 index c6cd99a6..00000000 --- a/client/components/rules/triggers/checklistTriggers.jade +++ /dev/null @@ -1,83 +0,0 @@ -template(name="checklistTriggers") - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-a-checklist'}} - div.trigger-dropdown - select(id="gen-check-action") - option(value="created") {{_'r-added-to'}} - option(value="removed") {{_'r-removed-from'}} - div.trigger-text - | {{_'r-a-card'}} - div.trigger-button.js-add-gen-check-trigger.js-goto-action - i.fa.fa-plus - - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-the-checklist'}} - div.trigger-dropdown - input(id="check-name",type=text,placeholder="{{_'r-name'}}") - div.trigger-text - | {{_'r-is'}} - div.trigger-dropdown - select(id="spec-check-action") - option(value="created") {{_'r-added-to'}} - option(value="removed") {{_'r-removed-from'}} - div.trigger-text - | {{_'r-a-card'}} - div.trigger-button.js-add-spec-check-trigger.js-goto-action - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-a-checklist'}} - div.trigger-dropdown - select(id="gen-comp-check-action") - option(value="completed") {{_'r-completed'}} - option(value="uncompleted") {{_'r-made-incomplete'}} - div.trigger-button.js-add-gen-comp-trigger.js-goto-action - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-the-checklist'}} - div.trigger-dropdown - input(id="spec-comp-check-name",type=text,placeholder="{{_'r-name'}}") - div.trigger-text - | {{_'r-is'}} - div.trigger-dropdown - select(id="spec-comp-check-action") - option(value="completed") {{_'r-completed'}} - option(value="uncompleted") {{_'r-made-incomplete'}} - div.trigger-button.js-add-spec-comp-trigger.js-goto-action - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-a-item'}} - div.trigger-dropdown - select(id="check-item-gen-action") - option(value="checked") {{_'r-checked'}} - option(value="unchecked") {{_'r-unchecked'}} - div.trigger-button.js-add-gen-check-item-trigger.js-goto-action - i.fa.fa-plus - - div.trigger-item - div.trigger-content - div.trigger-text - | {{_'r-when-the-item'}} - div.trigger-dropdown - input(id="check-item-name",type=text,placeholder="{{_'r-name'}}") - div.trigger-text - | {{_'r-is'}} - div.trigger-dropdown - select(id="check-item-spec-action") - option(value="checked") {{_'r-checked'}} - option(value="unchecked") {{_'r-unchecked'}} - div.trigger-button.js-add-spec-check-item-trigger.js-goto-action - i.fa.fa-plus diff --git a/client/components/rules/triggers/checklistTriggers.js b/client/components/rules/triggers/checklistTriggers.js deleted file mode 100644 index 01f3effe..00000000 --- a/client/components/rules/triggers/checklistTriggers.js +++ /dev/null @@ -1,146 +0,0 @@ -BlazeComponent.extendComponent({ - onCreated() { - this.subscribe('allRules'); - }, - events() { - return [{ - 'click .js-add-gen-check-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#gen-check-action').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'created') { - datas.triggerVar.set({ - activityType: 'addChecklist', - boardId, - 'checklistName': '*', - desc, - }); - } - if (actionSelected === 'removed') { - datas.triggerVar.set({ - activityType: 'removeChecklist', - boardId, - 'checklistName': '*', - desc, - }); - } - }, - 'click .js-add-spec-check-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#spec-check-action').value; - const checklistId = this.find('#check-name').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'created') { - datas.triggerVar.set({ - activityType: 'addChecklist', - boardId, - 'checklistName': checklistId, - desc, - }); - } - if (actionSelected === 'removed') { - datas.triggerVar.set({ - activityType: 'removeChecklist', - boardId, - 'checklistName': checklistId, - desc, - }); - } - }, - 'click .js-add-gen-comp-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - - const datas = this.data(); - const actionSelected = this.find('#gen-comp-check-action').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'completed') { - datas.triggerVar.set({ - activityType: 'completeChecklist', - boardId, - 'checklistName': '*', - desc, - }); - } - if (actionSelected === 'uncompleted') { - datas.triggerVar.set({ - activityType: 'uncompleteChecklist', - boardId, - 'checklistName': '*', - desc, - }); - } - }, - 'click .js-add-spec-comp-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#spec-comp-check-action').value; - const checklistId = this.find('#spec-comp-check-name').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'added') { - datas.triggerVar.set({ - activityType: 'completeChecklist', - boardId, - 'checklistName': checklistId, - desc, - }); - } - if (actionSelected === 'removed') { - datas.triggerVar.set({ - activityType: 'uncompleteChecklist', - boardId, - 'checklistName': checklistId, - desc, - }); - } - }, - 'click .js-add-gen-check-item-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#check-item-gen-action').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'checked') { - datas.triggerVar.set({ - activityType: 'checkedItem', - boardId, - 'checklistItemName': '*', - desc, - }); - } - if (actionSelected === 'unchecked') { - datas.triggerVar.set({ - activityType: 'uncheckedItem', - boardId, - 'checklistItemName': '*', - desc, - }); - } - }, - 'click .js-add-spec-check-item-trigger' (event) { - const desc = Utils.getTriggerActionDesc(event, this); - const datas = this.data(); - const actionSelected = this.find('#check-item-spec-action').value; - const checklistItemId = this.find('#check-item-name').value; - const boardId = Session.get('currentBoard'); - if (actionSelected === 'checked') { - datas.triggerVar.set({ - activityType: 'checkedItem', - boardId, - 'checklistItemName': checklistItemId, - desc, - }); - } - if (actionSelected === 'unchecked') { - datas.triggerVar.set({ - activityType: 'uncheckedItem', - boardId, - 'checklistItemName': checklistItemId, - desc, - }); - } - }, - }]; - }, - -}).register('checklistTriggers'); diff --git a/client/lib/modal.js b/client/lib/modal.js index 3c27a179..d5350264 100644 --- a/client/lib/modal.js +++ b/client/lib/modal.js @@ -4,7 +4,6 @@ window.Modal = new class { constructor() { this._currentModal = new ReactiveVar(closedValue); this._onCloseGoTo = ''; - this._isWideModal = false; } getHeaderName() { @@ -21,10 +20,6 @@ window.Modal = new class { return this.getTemplateName() !== closedValue; } - isWide(){ - return this._isWideModal; - } - close() { this._currentModal.set(closedValue); if (this._onCloseGoTo) { @@ -32,16 +27,9 @@ window.Modal = new class { } } - openWide(modalName, { header = '', onCloseGoTo = ''} = {}) { - this._currentModal.set({ header, modalName }); - this._onCloseGoTo = onCloseGoTo; - this._isWideModal = true; - } - open(modalName, { header = '', onCloseGoTo = ''} = {}) { this._currentModal.set({ header, modalName }); this._onCloseGoTo = onCloseGoTo; - } }(); @@ -50,5 +38,5 @@ Blaze.registerHelper('Modal', Modal); EscapeActions.register('modalWindow', () => Modal.close(), () => Modal.isOpen(), - { noClickEscapeOn: '.modal-container' } + { noClickEscapeOn: '.modal-content' } ); diff --git a/client/lib/utils.js b/client/lib/utils.js index 525cfb83..5349e500 100644 --- a/client/lib/utils.js +++ b/client/lib/utils.js @@ -39,11 +39,11 @@ Utils = { if (!prevData && !nextData) { base = 0; increment = 1; - // If we drop the card in the first position + // If we drop the card in the first position } else if (!prevData) { base = nextData.sort - 1; increment = -1; - // If we drop the card in the last position + // If we drop the card in the last position } else if (!nextData) { base = prevData.sort + 1; increment = 1; @@ -71,11 +71,11 @@ Utils = { if (!prevCardDomElement && !nextCardDomElement) { base = 0; increment = 1; - // If we drop the card in the first position + // If we drop the card in the first position } else if (!prevCardDomElement) { base = Blaze.getData(nextCardDomElement).sort - 1; increment = -1; - // If we drop the card in the last position + // If we drop the card in the last position } else if (!nextCardDomElement) { base = Blaze.getData(prevCardDomElement).sort + 1; increment = 1; @@ -189,27 +189,6 @@ Utils = { window._paq.push(['trackPageView']); } }, - - getTriggerActionDesc(event, tempInstance) { - const jqueryEl = tempInstance.$(event.currentTarget.parentNode); - const triggerEls = jqueryEl.find('.trigger-content').children(); - let finalString = ''; - for (let i = 0; i < triggerEls.length; i++) { - const element = tempInstance.$(triggerEls[i]); - if (element.hasClass('trigger-text')) { - finalString += element.text().toLowerCase(); - } else if (element.find('select').length > 0) { - finalString += element.find('select option:selected').text().toLowerCase(); - } else if (element.find('input').length > 0) { - finalString += element.find('input').val(); - } - // Add space - if (i !== length - 1) { - finalString += ' '; - } - } - return finalString; - }, }; // A simple tracker dependency that we invalidate every time the window is diff --git a/models/actions.js b/models/actions.js deleted file mode 100644 index 0430b044..00000000 --- a/models/actions.js +++ /dev/null @@ -1,19 +0,0 @@ -Actions = new Mongo.Collection('actions'); - -Actions.allow({ - insert(userId, doc) { - return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); - }, - update(userId, doc) { - return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); - }, - remove(userId, doc) { - return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); - }, -}); - -Actions.helpers({ - description() { - return this.desc; - }, -}); diff --git a/models/activities.js b/models/activities.js index c3c8f173..2228f66e 100644 --- a/models/activities.js +++ b/models/activities.js @@ -56,14 +56,6 @@ Activities.before.insert((userId, doc) => { doc.createdAt = new Date(); }); - -Activities.after.insert((userId, doc) => { - const activity = Activities._transform(doc); - RulesHelper.executeRules(activity); - -}); - - if (Meteor.isServer) { // For efficiency create indexes on the date of creation, and on the date of // creation in conjunction with the card or board id, as corresponding views diff --git a/models/attachments.js b/models/attachments.js index 3da067de..91dd0dbc 100644 --- a/models/attachments.js +++ b/models/attachments.js @@ -86,12 +86,5 @@ if (Meteor.isServer) { Activities.remove({ attachmentId: doc._id, }); - Activities.insert({ - userId, - type: 'card', - activityType: 'deleteAttachment', - boardId: doc.boardId, - cardId: doc.cardId, - }); }); } diff --git a/models/boards.js b/models/boards.js index 641ecdb9..2a21d6da 100644 --- a/models/boards.js +++ b/models/boards.js @@ -280,10 +280,6 @@ Boards.helpers({ return _.findWhere(this.labels, { name, color }); }, - getLabelById(labelId){ - return _.findWhere(this.labels, { _id: labelId }); - }, - labelIndex(labelId) { return _.pluck(this.labels, '_id').indexOf(labelId); }, diff --git a/models/cards.js b/models/cards.js index 346b4bdd..73b9a023 100644 --- a/models/cards.js +++ b/models/cards.js @@ -276,22 +276,14 @@ Cards.helpers({ return Cards.find({ parentId: this._id, archived: false, - }, { - sort: { - sort: 1, - }, - }); + }, {sort: { sort: 1 } }); }, allSubtasks() { return Cards.find({ parentId: this._id, archived: false, - }, { - sort: { - sort: 1, - }, - }); + }, {sort: { sort: 1 } }); }, subtasksCount() { @@ -304,8 +296,7 @@ Cards.helpers({ subtasksFinishedCount() { return Cards.find({ parentId: this._id, - archived: true, - }).count(); + archived: true}).count(); }, subtasksFinished() { @@ -337,9 +328,12 @@ Cards.helpers({ }); //search for "True Value" which is for DropDowns other then the Value (which is the id) let trueValue = customField.value; - if (definition.settings.dropdownItems && definition.settings.dropdownItems.length > 0) { - for (let i = 0; i < definition.settings.dropdownItems.length; i++) { - if (definition.settings.dropdownItems[i]._id === customField.value) { + if (definition.settings.dropdownItems && definition.settings.dropdownItems.length > 0) + { + for (let i = 0; i < definition.settings.dropdownItems.length; i++) + { + if (definition.settings.dropdownItems[i]._id === customField.value) + { trueValue = definition.settings.dropdownItems[i].name; } } @@ -364,10 +358,8 @@ Cards.helpers({ }, canBeRestored() { - const list = Lists.findOne({ - _id: this.listId, - }); - if (!list.getWipLimit('soft') && list.getWipLimit('enabled') && list.getWipLimit('value') === list.cards().count()) { + const list = Lists.findOne({_id: this.listId}); + if(!list.getWipLimit('soft') && list.getWipLimit('enabled') && list.getWipLimit('value') === list.cards().count()){ return false; } return true; @@ -432,7 +424,7 @@ Cards.helpers({ }, parentString(sep) { - return this.parentList().map(function(elem) { + return this.parentList().map(function(elem){ return elem.title; }).join(sep); }, @@ -834,65 +826,19 @@ Cards.helpers({ Cards.mutations({ applyToChildren(funct) { - Cards.find({ - parentId: this._id, - }).forEach((card) => { + Cards.find({ parentId: this._id }).forEach((card) => { funct(card); }); }, archive() { - this.applyToChildren((card) => { - return card.archive(); - }); - return { - $set: { - archived: true, - }, - }; + this.applyToChildren((card) => { return card.archive(); }); + return {$set: {archived: true}}; }, restore() { - this.applyToChildren((card) => { - return card.restore(); - }); - return { - $set: { - archived: false, - }, - }; - }, - - setTitle(title) { - return { - $set: { - title, - }, - }; - }, - - setDescription(description) { - return { - $set: { - description, - }, - }; - }, - - setRequestedBy(requestedBy) { - return { - $set: { - requestedBy, - }, - }; - }, - - setAssignedBy(assignedBy) { - return { - $set: { - assignedBy, - }, - }; + this.applyToChildren((card) => { return card.restore(); }); + return {$set: {archived: false}}; }, move(swimlaneId, listId, sortIndex) { @@ -904,25 +850,15 @@ Cards.mutations({ sort: sortIndex, }; - return { - $set: mutatedFields, - }; + return {$set: mutatedFields}; }, addLabel(labelId) { - return { - $addToSet: { - labelIds: labelId, - }, - }; + return {$addToSet: {labelIds: labelId}}; }, removeLabel(labelId) { - return { - $pull: { - labelIds: labelId, - }, - }; + return {$pull: {labelIds: labelId}}; }, toggleLabel(labelId) { @@ -933,49 +869,12 @@ Cards.mutations({ } }, - assignMember(memberId) { - return { - $addToSet: { - members: memberId, - }, - }; - }, - - unassignMember(memberId) { - return { - $pull: { - members: memberId, - }, - }; - }, - - toggleMember(memberId) { - if (this.members && this.members.indexOf(memberId) > -1) { - return this.unassignMember(memberId); - } else { - return this.assignMember(memberId); - } - }, - assignCustomField(customFieldId) { - return { - $addToSet: { - customFields: { - _id: customFieldId, - value: null, - }, - }, - }; + return {$addToSet: {customFields: {_id: customFieldId, value: null}}}; }, unassignCustomField(customFieldId) { - return { - $pull: { - customFields: { - _id: customFieldId, - }, - }, - }; + return {$pull: {customFields: {_id: customFieldId}}}; }, toggleCustomField(customFieldId) { @@ -990,9 +889,7 @@ Cards.mutations({ // todo const index = this.customFieldIndex(customFieldId); if (index > -1) { - const update = { - $set: {}, - }; + const update = {$set: {}}; update.$set[`customFields.${index}.value`] = value; return update; } @@ -1002,119 +899,19 @@ Cards.mutations({ }, setCover(coverId) { - return { - $set: { - coverId, - }, - }; + return {$set: {coverId}}; }, unsetCover() { - return { - $unset: { - coverId: '', - }, - }; - }, - - setReceived(receivedAt) { - return { - $set: { - receivedAt, - }, - }; - }, - - unsetReceived() { - return { - $unset: { - receivedAt: '', - }, - }; - }, - - setStart(startAt) { - return { - $set: { - startAt, - }, - }; - }, - - unsetStart() { - return { - $unset: { - startAt: '', - }, - }; - }, - - setDue(dueAt) { - return { - $set: { - dueAt, - }, - }; - }, - - unsetDue() { - return { - $unset: { - dueAt: '', - }, - }; - }, - - setEnd(endAt) { - return { - $set: { - endAt, - }, - }; - }, - - unsetEnd() { - return { - $unset: { - endAt: '', - }, - }; - }, - - setOvertime(isOvertime) { - return { - $set: { - isOvertime, - }, - }; - }, - - setSpentTime(spentTime) { - return { - $set: { - spentTime, - }, - }; - }, - - unsetSpentTime() { - return { - $unset: { - spentTime: '', - isOvertime: false, - }, - }; + return {$unset: {coverId: ''}}; }, setParentId(parentId) { - return { - $set: { - parentId, - }, - }; + return {$set: {parentId}}; }, }); + //FUNCTIONS FOR creation of Activities function cardMove(userId, doc, fieldNames, oldListId, oldSwimlaneId) { @@ -1124,7 +921,6 @@ function cardMove(userId, doc, fieldNames, oldListId, oldSwimlaneId) { userId, oldListId, activityType: 'moveCard', - listName: Lists.findOne(doc.listId).title, listId: doc.listId, boardId: doc.boardId, cardId: doc._id, @@ -1140,7 +936,6 @@ function cardState(userId, doc, fieldNames) { Activities.insert({ userId, activityType: 'archivedCard', - listName: Lists.findOne(doc.listId).title, boardId: doc.boardId, listId: doc.listId, cardId: doc._id, @@ -1150,7 +945,6 @@ function cardState(userId, doc, fieldNames) { userId, activityType: 'restoredCard', boardId: doc.boardId, - listName: Lists.findOne(doc.listId).title, listId: doc.listId, cardId: doc._id, }); @@ -1192,47 +986,11 @@ function cardMembers(userId, doc, fieldNames, modifier) { } } -function cardLabels(userId, doc, fieldNames, modifier) { - if (!_.contains(fieldNames, 'labelIds')) - return; - let labelId; - // Say hello to the new label - if (modifier.$addToSet && modifier.$addToSet.labelIds) { - labelId = modifier.$addToSet.labelIds; - if (!_.contains(doc.labelIds, labelId)) { - const act = { - userId, - labelId, - activityType: 'addedLabel', - boardId: doc.boardId, - cardId: doc._id, - }; - Activities.insert(act); - } - } - - // Say goodbye to the label - if (modifier.$pull && modifier.$pull.labelIds) { - labelId = modifier.$pull.labelIds; - // Check that the former member is member of the card - if (_.contains(doc.labelIds, labelId)) { - Activities.insert({ - userId, - labelId, - activityType: 'removedLabel', - boardId: doc.boardId, - cardId: doc._id, - }); - } - } -} - function cardCreation(userId, doc) { Activities.insert({ userId, activityType: 'createCard', boardId: doc.boardId, - listName: Lists.findOne(doc.listId).title, listId: doc.listId, cardId: doc._id, swimlaneId: doc.swimlaneId, @@ -1257,6 +1015,7 @@ function cardRemover(userId, doc) { }); } + if (Meteor.isServer) { // Cards are often fetched within a board, so we create an index to make these // queries more efficient. @@ -1280,7 +1039,7 @@ if (Meteor.isServer) { }); //New activity for card moves - Cards.after.update(function(userId, doc, fieldNames) { + Cards.after.update(function (userId, doc, fieldNames) { const oldListId = this.previous.listId; const oldSwimlaneId = this.previous.swimlaneId; cardMove(userId, doc, fieldNames, oldListId, oldSwimlaneId); @@ -1291,11 +1050,6 @@ if (Meteor.isServer) { cardMembers(userId, doc, fieldNames, modifier); }); - // Add a new activity if we add or remove a label to the card - Cards.before.update((userId, doc, fieldNames, modifier) => { - cardLabels(userId, doc, fieldNames, modifier); - }); - // Remove all activities associated with a card if we remove the card // Remove also card_comments / checklists / attachments Cards.after.remove((userId, doc) => { @@ -1304,17 +1058,13 @@ if (Meteor.isServer) { } //LISTS REST API if (Meteor.isServer) { - JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId/cards', function(req, res) { + JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId/cards', function (req, res) { const paramBoardId = req.params.boardId; const paramListId = req.params.listId; Authentication.checkBoardAccess(req.userId, paramBoardId); JsonRoutes.sendResult(res, { code: 200, - data: Cards.find({ - boardId: paramBoardId, - listId: paramListId, - archived: false, - }).map(function(doc) { + data: Cards.find({boardId: paramBoardId, listId: paramListId, archived: false}).map(function (doc) { return { _id: doc._id, title: doc.title, @@ -1324,31 +1074,24 @@ if (Meteor.isServer) { }); }); - JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId/cards/:cardId', function(req, res) { + JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId/cards/:cardId', function (req, res) { const paramBoardId = req.params.boardId; const paramListId = req.params.listId; const paramCardId = req.params.cardId; Authentication.checkBoardAccess(req.userId, paramBoardId); JsonRoutes.sendResult(res, { code: 200, - data: Cards.findOne({ - _id: paramCardId, - listId: paramListId, - boardId: paramBoardId, - archived: false, - }), + data: Cards.findOne({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false}), }); }); - JsonRoutes.add('POST', '/api/boards/:boardId/lists/:listId/cards', function(req, res) { + JsonRoutes.add('POST', '/api/boards/:boardId/lists/:listId/cards', function (req, res) { Authentication.checkUserId(req.userId); const paramBoardId = req.params.boardId; const paramListId = req.params.listId; - const check = Users.findOne({ - _id: req.body.authorId, - }); + const check = Users.findOne({_id: req.body.authorId}); const members = req.body.members || [req.body.authorId]; - if (typeof check !== 'undefined') { + if (typeof check !== 'undefined') { const id = Cards.direct.insert({ title: req.body.title, boardId: paramBoardId, @@ -1366,9 +1109,7 @@ if (Meteor.isServer) { }, }); - const card = Cards.findOne({ - _id: id, - }); + const card = Cards.findOne({_id:id}); cardCreation(req.body.authorId, card); } else { @@ -1378,7 +1119,7 @@ if (Meteor.isServer) { } }); - JsonRoutes.add('PUT', '/api/boards/:boardId/lists/:listId/cards/:cardId', function(req, res) { + JsonRoutes.add('PUT', '/api/boards/:boardId/lists/:listId/cards/:cardId', function (req, res) { Authentication.checkUserId(req.userId); const paramBoardId = req.params.boardId; const paramCardId = req.params.cardId; @@ -1386,63 +1127,27 @@ if (Meteor.isServer) { if (req.body.hasOwnProperty('title')) { const newTitle = req.body.title; - Cards.direct.update({ - _id: paramCardId, - listId: paramListId, - boardId: paramBoardId, - archived: false, - }, { - $set: { - title: newTitle, - }, - }); + Cards.direct.update({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false}, + {$set: {title: newTitle}}); } if (req.body.hasOwnProperty('listId')) { const newParamListId = req.body.listId; - Cards.direct.update({ - _id: paramCardId, - listId: paramListId, - boardId: paramBoardId, - archived: false, - }, { - $set: { - listId: newParamListId, - }, - }); + Cards.direct.update({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false}, + {$set: {listId: newParamListId}}); - const card = Cards.findOne({ - _id: paramCardId, - }); - cardMove(req.body.authorId, card, { - fieldName: 'listId', - }, paramListId); + const card = Cards.findOne({_id: paramCardId} ); + cardMove(req.body.authorId, card, {fieldName: 'listId'}, paramListId); } if (req.body.hasOwnProperty('description')) { const newDescription = req.body.description; - Cards.direct.update({ - _id: paramCardId, - listId: paramListId, - boardId: paramBoardId, - archived: false, - }, { - $set: { - description: newDescription, - }, - }); + Cards.direct.update({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false}, + {$set: {description: newDescription}}); } if (req.body.hasOwnProperty('labelIds')) { const newlabelIds = req.body.labelIds; - Cards.direct.update({ - _id: paramCardId, - listId: paramListId, - boardId: paramBoardId, - archived: false, - }, { - $set: { - labelIds: newlabelIds, - }, - }); + Cards.direct.update({_id: paramCardId, listId: paramListId, boardId: paramBoardId, archived: false}, + {$set: {labelIds: newlabelIds}}); } if (req.body.hasOwnProperty('requestedBy')) { const newrequestedBy = req.body.requestedBy; @@ -1497,20 +1202,15 @@ if (Meteor.isServer) { }); }); - JsonRoutes.add('DELETE', '/api/boards/:boardId/lists/:listId/cards/:cardId', function(req, res) { + + JsonRoutes.add('DELETE', '/api/boards/:boardId/lists/:listId/cards/:cardId', function (req, res) { Authentication.checkUserId(req.userId); const paramBoardId = req.params.boardId; const paramListId = req.params.listId; const paramCardId = req.params.cardId; - Cards.direct.remove({ - _id: paramCardId, - listId: paramListId, - boardId: paramBoardId, - }); - const card = Cards.find({ - _id: paramCardId, - }); + Cards.direct.remove({_id: paramCardId, listId: paramListId, boardId: paramBoardId}); + const card = Cards.find({_id: paramCardId} ); cardRemover(req.body.authorId, card); JsonRoutes.sendResult(res, { code: 200, diff --git a/models/checklistItems.js b/models/checklistItems.js index 8380bda7..e075eda2 100644 --- a/models/checklistItems.js +++ b/models/checklistItems.js @@ -44,12 +44,6 @@ ChecklistItems.mutations({ setTitle(title) { return { $set: { title } }; }, - check(){ - return { $set: { isFinished: true } }; - }, - uncheck(){ - return { $set: { isFinished: false } }; - }, toggleItem() { return { $set: { isFinished: !this.isFinished } }; }, @@ -76,100 +70,21 @@ function itemCreation(userId, doc) { boardId, checklistId: doc.checklistId, checklistItemId: doc._id, - checklistItemName:doc.title, }); } function itemRemover(userId, doc) { - const card = Cards.findOne(doc.cardId); - const boardId = card.boardId; - Activities.insert({ - userId, - activityType: 'removedChecklistItem', - cardId: doc.cardId, - boardId, - checklistId: doc.checklistId, - checklistItemId: doc._id, - checklistItemName:doc.title, - }); Activities.remove({ checklistItemId: doc._id, }); } -function publishCheckActivity(userId, doc){ - const card = Cards.findOne(doc.cardId); - const boardId = card.boardId; - let activityType; - if(doc.isFinished){ - activityType = 'checkedItem'; - }else{ - activityType = 'uncheckedItem'; - } - const act = { - userId, - activityType, - cardId: doc.cardId, - boardId, - checklistId: doc.checklistId, - checklistItemId: doc._id, - checklistItemName:doc.title, - }; - Activities.insert(act); -} - -function publishChekListCompleted(userId, doc, fieldNames, modifier){ - const card = Cards.findOne(doc.cardId); - const boardId = card.boardId; - const checklistId = doc.checklistId; - const checkList = Checklists.findOne({_id:checklistId}); - if(checkList.isFinished()){ - const act = { - userId, - activityType: 'checklistCompleted', - cardId: doc.cardId, - boardId, - checklistId: doc.checklistId, - checklistName:doc.title, - }; - Activities.insert(act); - } -} - -function publishChekListUncompleted(userId, doc, fieldNames, modifier){ - const card = Cards.findOne(doc.cardId); - const boardId = card.boardId; - const checklistId = doc.checklistId; - const checkList = Checklists.findOne({_id:checklistId}); - if(checkList.isFinished()){ - const act = { - userId, - activityType: 'checklistUncompleted', - cardId: doc.cardId, - boardId, - checklistId: doc.checklistId, - checklistName:doc.title, - }; - Activities.insert(act); - } -} - // Activities if (Meteor.isServer) { Meteor.startup(() => { ChecklistItems._collection._ensureIndex({ checklistId: 1 }); }); - ChecklistItems.after.update((userId, doc, fieldNames, modifier) => { - publishCheckActivity(userId, doc); - publishChekListCompleted(userId, doc, fieldNames, modifier); - }); - - ChecklistItems.before.update((userId, doc, fieldNames, modifier) => { - publishChekListUncompleted(userId, doc, fieldNames, modifier); - }); - - ChecklistItems.after.insert((userId, doc) => { itemCreation(userId, doc); }); diff --git a/models/checklists.js b/models/checklists.js index 425a10b2..c58453ef 100644 --- a/models/checklists.js +++ b/models/checklists.js @@ -47,18 +47,6 @@ Checklists.helpers({ isFinished() { return 0 !== this.itemCount() && this.itemCount() === this.finishedCount(); }, - checkAllItems(){ - const checkItems = ChecklistItems.find({checklistId: this._id}); - checkItems.forEach(function(item){ - item.check(); - }); - }, - uncheckAllItems(){ - const checkItems = ChecklistItems.find({checklistId: this._id}); - checkItems.forEach(function(item){ - item.uncheck(); - }); - }, itemIndex(itemId) { const items = self.findOne({_id : this._id}).items; return _.pluck(items, '_id').indexOf(itemId); @@ -103,7 +91,6 @@ if (Meteor.isServer) { cardId: doc.cardId, boardId: Cards.findOne(doc.cardId).boardId, checklistId: doc._id, - checklistName:doc.title, }); }); @@ -114,16 +101,6 @@ if (Meteor.isServer) { Activities.remove(activity._id); }); } - Activities.insert({ - userId, - activityType: 'removeChecklist', - cardId: doc.cardId, - boardId: Cards.findOne(doc.cardId).boardId, - checklistId: doc._id, - checklistName:doc.title, - }); - - }); } diff --git a/models/export.js b/models/export.js index 0911a631..6c0b43fd 100644 --- a/models/export.js +++ b/models/export.js @@ -14,7 +14,7 @@ if (Meteor.isServer) { * See https://blog.kayla.com.au/server-side-route-authentication-in-meteor/ * for detailed explanations */ - JsonRoutes.add('get', '/api/boards/:boardId/export', function(req, res) { + JsonRoutes.add('get', '/api/boards/:boardId/export', function (req, res) { const boardId = req.params.boardId; let user = null; // todo XXX for real API, first look for token in Authentication: header @@ -28,11 +28,8 @@ if (Meteor.isServer) { } const exporter = new Exporter(boardId); - if (exporter.canExport(user)) { - JsonRoutes.sendResult(res, { - code: 200, - data: exporter.build(), - }); + if(exporter.canExport(user)) { + JsonRoutes.sendResult(res, { code: 200, data: exporter.build() }); } else { // we could send an explicit error message, but on the other hand the only // way to get there is by hacking the UI so let's keep it raw. @@ -50,49 +47,24 @@ class Exporter { const byBoard = { boardId: this._boardId }; const byBoardNoLinked = { boardId: this._boardId, linkedId: '' }; // we do not want to retrieve boardId in related elements - const noBoardId = { - fields: { - boardId: 0, - }, - }; + const noBoardId = { fields: { boardId: 0 } }; const result = { _format: 'wekan-board-1.0.0', }; - _.extend(result, Boards.findOne(this._boardId, { - fields: { - stars: 0, - }, - })); + _.extend(result, Boards.findOne(this._boardId, { fields: { stars: 0 } })); result.lists = Lists.find(byBoard, noBoardId).fetch(); result.cards = Cards.find(byBoardNoLinked, noBoardId).fetch(); result.swimlanes = Swimlanes.find(byBoard, noBoardId).fetch(); result.customFields = CustomFields.find(byBoard, noBoardId).fetch(); result.comments = CardComments.find(byBoard, noBoardId).fetch(); result.activities = Activities.find(byBoard, noBoardId).fetch(); - result.rules = Rules.find(byBoard, noBoardId).fetch(); result.checklists = []; result.checklistItems = []; result.subtaskItems = []; - result.triggers = []; - result.actions = []; result.cards.forEach((card) => { - result.checklists.push(...Checklists.find({ - cardId: card._id, - }).fetch()); - result.checklistItems.push(...ChecklistItems.find({ - cardId: card._id, - }).fetch()); - result.subtaskItems.push(...Cards.find({ - parentid: card._id, - }).fetch()); - }); - result.rules.forEach((rule) => { - result.triggers.push(...Triggers.find({ - _id: rule.triggerId, - }, noBoardId).fetch()); - result.actions.push(...Actions.find({ - _id: rule.actionId, - }, noBoardId).fetch()); + result.checklists.push(...Checklists.find({ cardId: card._id }).fetch()); + result.checklistItems.push(...ChecklistItems.find({ cardId: card._id }).fetch()); + result.subtaskItems.push(...Cards.find({ parentid: card._id }).fetch()); }); // [Old] for attachments we only export IDs and absolute url to original doc @@ -129,34 +101,18 @@ class Exporter { // 1- only exports users that are linked somehow to that board // 2- do not export any sensitive information const users = {}; - result.members.forEach((member) => { - users[member.userId] = true; - }); - result.lists.forEach((list) => { - users[list.userId] = true; - }); + result.members.forEach((member) => { users[member.userId] = true; }); + result.lists.forEach((list) => { users[list.userId] = true; }); result.cards.forEach((card) => { users[card.userId] = true; if (card.members) { - card.members.forEach((memberId) => { - users[memberId] = true; - }); + card.members.forEach((memberId) => { users[memberId] = true; }); } }); - result.comments.forEach((comment) => { - users[comment.userId] = true; - }); - result.activities.forEach((activity) => { - users[activity.userId] = true; - }); - result.checklists.forEach((checklist) => { - users[checklist.userId] = true; - }); - const byUserIds = { - _id: { - $in: Object.getOwnPropertyNames(users), - }, - }; + result.comments.forEach((comment) => { users[comment.userId] = true; }); + result.activities.forEach((activity) => { users[activity.userId] = true; }); + result.checklists.forEach((checklist) => { users[checklist.userId] = true; }); + const byUserIds = { _id: { $in: Object.getOwnPropertyNames(users) } }; // we use whitelist to be sure we do not expose inadvertently // some secret fields that gets added to User later. const userFields = { diff --git a/models/lists.js b/models/lists.js index bf5aae3c..9bcb9ba1 100644 --- a/models/lists.js +++ b/models/lists.js @@ -82,7 +82,7 @@ Lists.helpers({ }; if (swimlaneId) selector.swimlaneId = swimlaneId; - return Cards.find(selector, + return Cards.find(Filter.mongoSelector(selector), { sort: ['sort'] }); }, diff --git a/models/rules.js b/models/rules.js deleted file mode 100644 index 7d971980..00000000 --- a/models/rules.js +++ /dev/null @@ -1,48 +0,0 @@ -Rules = new Mongo.Collection('rules'); - -Rules.attachSchema(new SimpleSchema({ - title: { - type: String, - optional: false, - }, - triggerId: { - type: String, - optional: false, - }, - actionId: { - type: String, - optional: false, - }, - boardId: { - type: String, - optional: false, - }, -})); - -Rules.mutations({ - rename(description) { - return { $set: { description } }; - }, -}); - -Rules.helpers({ - getAction(){ - return Actions.findOne({_id:this.actionId}); - }, - getTrigger(){ - return Triggers.findOne({_id:this.triggerId}); - }, -}); - - -Rules.allow({ - insert(userId, doc) { - return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); - }, - update(userId, doc) { - return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); - }, - remove(userId, doc) { - return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); - }, -}); diff --git a/models/triggers.js b/models/triggers.js deleted file mode 100644 index 15982b6e..00000000 --- a/models/triggers.js +++ /dev/null @@ -1,58 +0,0 @@ -Triggers = new Mongo.Collection('triggers'); - -Triggers.mutations({ - rename(description) { - return { - $set: { - description, - }, - }; - }, -}); - -Triggers.allow({ - insert(userId, doc) { - return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); - }, - update(userId, doc) { - return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); - }, - remove(userId, doc) { - return allowIsBoardAdmin(userId, Boards.findOne(doc.boardId)); - }, -}); - -Triggers.helpers({ - - description() { - return this.desc; - }, - - getRule() { - return Rules.findOne({ - triggerId: this._id, - }); - }, - - fromList() { - return Lists.findOne(this.fromId); - }, - - toList() { - return Lists.findOne(this.toId); - }, - - findList(title) { - return Lists.findOne({ - title, - }); - }, - - labels() { - const boardLabels = this.board().labels; - const cardLabels = _.filter(boardLabels, (label) => { - return _.contains(this.labelIds, label._id); - }); - return cardLabels; - }, -}); diff --git a/models/wekanCreator.js b/models/wekanCreator.js index b018b06d..d144821f 100644 --- a/models/wekanCreator.js +++ b/models/wekanCreator.js @@ -1,4 +1,4 @@ -const DateString = Match.Where(function(dateAsString) { +const DateString = Match.Where(function (dateAsString) { check(dateAsString, String); return moment(dateAsString, moment.ISO_8601).isValid(); }); @@ -42,10 +42,6 @@ export class WekanCreator { this.comments = {}; // the members, indexed by Wekan member id => Wekan user ID this.members = data.membersMapping ? data.membersMapping : {}; - // Map of triggers Wekan ID => Wekan ID - this.triggers = {}; - // Map of actions Wekan ID => Wekan ID - this.actions = {}; // maps a wekanCardId to an array of wekanAttachments this.attachments = {}; @@ -61,10 +57,10 @@ export class WekanCreator { * @param {String} dateString a properly formatted Date */ _now(dateString) { - if (dateString) { + if(dateString) { return new Date(dateString); } - if (!this._nowDate) { + if(!this._nowDate) { this._nowDate = new Date(); } return this._nowDate; @@ -76,9 +72,9 @@ export class WekanCreator { * Otherwise return current logged user. * @param wekanUserId * @private - */ + */ _user(wekanUserId) { - if (wekanUserId && this.members[wekanUserId]) { + if(wekanUserId && this.members[wekanUserId]) { return this.members[wekanUserId]; } return Meteor.userId(); @@ -100,7 +96,7 @@ export class WekanCreator { // allowed values (is it worth the maintenance?) color: String, permission: Match.Where((value) => { - return ['private', 'public'].indexOf(value) >= 0; + return ['private', 'public'].indexOf(value)>= 0; }), })); } @@ -151,30 +147,6 @@ export class WekanCreator { })]); } - checkRules(wekanRules) { - check(wekanRules, [Match.ObjectIncluding({ - triggerId: String, - actionId: String, - title: String, - })]); - } - - checkTriggers(wekanTriggers) { - // XXX More check based on trigger type - check(wekanTriggers, [Match.ObjectIncluding({ - activityType: String, - desc: String, - })]); - } - - checkActions(wekanActions) { - // XXX More check based on action type - check(wekanActions, [Match.ObjectIncluding({ - actionType: String, - desc: String, - })]); - } - // You must call parseActions before calling this one. createBoardAndLabels(boardToImport) { const boardToCreate = { @@ -200,12 +172,12 @@ export class WekanCreator { title: boardToImport.title, }; // now add other members - if (boardToImport.members) { + if(boardToImport.members) { boardToImport.members.forEach((wekanMember) => { // do we already have it in our list? - if (!boardToCreate.members.some((member) => member.wekanId === wekanMember.wekanId)) + if(!boardToCreate.members.some((member) => member.wekanId === wekanMember.wekanId)) boardToCreate.members.push({ - ...wekanMember, + ... wekanMember, userId: wekanMember.wekanId, }); }); @@ -222,11 +194,7 @@ export class WekanCreator { boardToCreate.labels.push(labelToCreate); }); const boardId = Boards.direct.insert(boardToCreate); - Boards.direct.update(boardId, { - $set: { - modifiedAt: this._now(), - }, - }); + Boards.direct.update(boardId, {$set: {modifiedAt: this._now()}}); // log activity Activities.direct.insert({ activityType: 'importBoard', @@ -278,21 +246,21 @@ export class WekanCreator { }); } // add members { - if (card.members) { + if(card.members) { const wekanMembers = []; // we can't just map, as some members may not have been mapped card.members.forEach((sourceMemberId) => { - if (this.members[sourceMemberId]) { + if(this.members[sourceMemberId]) { const wekanId = this.members[sourceMemberId]; // we may map multiple Wekan members to the same wekan user // in which case we risk adding the same user multiple times - if (!wekanMembers.find((wId) => wId === wekanId)) { + if(!wekanMembers.find((wId) => wId === wekanId)){ wekanMembers.push(wekanId); } } return true; }); - if (wekanMembers.length > 0) { + if(wekanMembers.length>0) { cardToCreate.members = wekanMembers; } } @@ -353,9 +321,9 @@ export class WekanCreator { // - the template then tries to display the url to the attachment which causes other errors // so we make it server only, and let UI catch up once it is done, forget about latency comp. const self = this; - if (Meteor.isServer) { + if(Meteor.isServer) { if (att.url) { - file.attachData(att.url, function(error) { + file.attachData(att.url, function (error) { file.boardId = boardId; file.cardId = cardId; file.userId = self._user(att.userId); @@ -363,26 +331,20 @@ export class WekanCreator { // attachments' related activities automatically file.source = 'import'; if (error) { - throw (error); + throw(error); } else { const wekanAtt = Attachments.insert(file, () => { // we do nothing }); self.attachmentIds[att._id] = wekanAtt._id; // - if (wekanCoverId === att._id) { - Cards.direct.update(cardId, { - $set: { - coverId: wekanAtt._id, - }, - }); + if(wekanCoverId === att._id) { + Cards.direct.update(cardId, { $set: {coverId: wekanAtt._id}}); } } }); } else if (att.file) { - file.attachData(new Buffer(att.file, 'base64'), { - type: att.type, - }, (error) => { + file.attachData(new Buffer(att.file, 'base64'), {type: att.type}, (error) => { file.name(att.name); file.boardId = boardId; file.cardId = cardId; @@ -391,19 +353,15 @@ export class WekanCreator { // attachments' related activities automatically file.source = 'import'; if (error) { - throw (error); + throw(error); } else { const wekanAtt = Attachments.insert(file, () => { // we do nothing }); this.attachmentIds[att._id] = wekanAtt._id; // - if (wekanCoverId === att._id) { - Cards.direct.update(cardId, { - $set: { - coverId: wekanAtt._id, - }, - }); + if(wekanCoverId === att._id) { + Cards.direct.update(cardId, { $set: {coverId: wekanAtt._id}}); } } }); @@ -446,11 +404,7 @@ export class WekanCreator { sort: list.sort ? list.sort : listIndex, }; const listId = Lists.direct.insert(listToCreate); - Lists.direct.update(listId, { - $set: { - 'updatedAt': this._now(), - }, - }); + Lists.direct.update(listId, {$set: {'updatedAt': this._now()}}); this.lists[list._id] = listId; // // log activity // Activities.direct.insert({ @@ -483,11 +437,7 @@ export class WekanCreator { sort: swimlane.sort ? swimlane.sort : swimlaneIndex, }; const swimlaneId = Swimlanes.direct.insert(swimlaneToCreate); - Swimlanes.direct.update(swimlaneId, { - $set: { - 'updatedAt': this._now(), - }, - }); + Swimlanes.direct.update(swimlaneId, {$set: {'updatedAt': this._now()}}); this.swimlanes[swimlane._id] = swimlaneId; }); } @@ -509,47 +459,6 @@ export class WekanCreator { return result; } - createTriggers(wekanTriggers, boardId) { - wekanTriggers.forEach((trigger, ruleIndex) => { - if (trigger.hasOwnProperty('labelId')) { - trigger.labelId = this.labels[trigger.labelId]; - } - if (trigger.hasOwnProperty('memberId')) { - trigger.memberId = this.members[trigger.memberId]; - } - trigger.boardId = boardId; - const oldId = trigger._id; - delete trigger._id; - this.triggers[oldId] = Triggers.direct.insert(trigger); - }); - } - - createActions(wekanActions, boardId) { - wekanActions.forEach((action, ruleIndex) => { - if (action.hasOwnProperty('labelId')) { - action.labelId = this.labels[action.labelId]; - } - if (action.hasOwnProperty('memberId')) { - action.memberId = this.members[action.memberId]; - } - action.boardId = boardId; - const oldId = action._id; - delete action._id; - this.actions[oldId] = Actions.direct.insert(action); - }); - } - - createRules(wekanRules, boardId) { - wekanRules.forEach((rule, ruleIndex) => { - // Create the rule - rule.boardId = boardId; - rule.triggerId = this.triggers[rule.triggerId]; - rule.actionId = this.actions[rule.actionId]; - delete rule._id; - Rules.direct.insert(rule); - }); - } - createChecklistItems(wekanChecklistItems) { wekanChecklistItems.forEach((checklistitem, checklistitemIndex) => { // Create the checklistItem @@ -568,8 +477,7 @@ export class WekanCreator { parseActivities(wekanBoard) { wekanBoard.activities.forEach((activity) => { switch (activity.activityType) { - case 'addAttachment': - { + case 'addAttachment': { // We have to be cautious, because the attachment could have been removed later. // In that case Wekan still reports its addition, but removes its 'url' field. // So we test for that @@ -577,12 +485,12 @@ export class WekanCreator { return attachment._id === activity.attachmentId; })[0]; - if (typeof wekanAttachment !== 'undefined' && wekanAttachment) { - if (wekanAttachment.url || wekanAttachment.file) { - // we cannot actually create the Wekan attachment, because we don't yet - // have the cards to attach it to, so we store it in the instance variable. + if ( typeof wekanAttachment !== 'undefined' && wekanAttachment ) { + if(wekanAttachment.url || wekanAttachment.file) { + // we cannot actually create the Wekan attachment, because we don't yet + // have the cards to attach it to, so we store it in the instance variable. const wekanCardId = activity.cardId; - if (!this.attachments[wekanCardId]) { + if(!this.attachments[wekanCardId]) { this.attachments[wekanCardId] = []; } this.attachments[wekanCardId].push(wekanAttachment); @@ -590,8 +498,7 @@ export class WekanCreator { } break; } - case 'addComment': - { + case 'addComment': { const wekanComment = wekanBoard.comments.filter((comment) => { return comment._id === activity.commentId; })[0]; @@ -602,31 +509,26 @@ export class WekanCreator { this.comments[id].push(wekanComment); break; } - case 'createBoard': - { + case 'createBoard': { this.createdAt.board = activity.createdAt; break; } - case 'createCard': - { + case 'createCard': { const cardId = activity.cardId; this.createdAt.cards[cardId] = activity.createdAt; this.createdBy.cards[cardId] = activity.userId; break; } - case 'createList': - { + case 'createList': { const listId = activity.listId; this.createdAt.lists[listId] = activity.createdAt; break; } - case 'createSwimlane': - { + case 'createSwimlane': { const swimlaneId = activity.swimlaneId; this.createdAt.swimlanes[swimlaneId] = activity.createdAt; break; - } - } + }} }); } @@ -635,8 +537,7 @@ export class WekanCreator { switch (activity.activityType) { // Board related activities // TODO: addBoardMember, removeBoardMember - case 'createBoard': - { + case 'createBoard': { Activities.direct.insert({ userId: this._user(activity.userId), type: 'board', @@ -649,8 +550,7 @@ export class WekanCreator { } // List related activities // TODO: removeList, archivedList - case 'createList': - { + case 'createList': { Activities.direct.insert({ userId: this._user(activity.userId), type: 'list', @@ -663,8 +563,7 @@ export class WekanCreator { } // Card related activities // TODO: archivedCard, restoredCard, joinMember, unjoinMember - case 'createCard': - { + case 'createCard': { Activities.direct.insert({ userId: this._user(activity.userId), activityType: activity.activityType, @@ -675,8 +574,7 @@ export class WekanCreator { }); break; } - case 'moveCard': - { + case 'moveCard': { Activities.direct.insert({ userId: this._user(activity.userId), oldListId: this.lists[activity.oldListId], @@ -689,8 +587,7 @@ export class WekanCreator { break; } // Comment related activities - case 'addComment': - { + case 'addComment': { Activities.direct.insert({ userId: this._user(activity.userId), activityType: activity.activityType, @@ -702,8 +599,7 @@ export class WekanCreator { break; } // Attachment related activities - case 'addAttachment': - { + case 'addAttachment': { Activities.direct.insert({ userId: this._user(activity.userId), type: 'card', @@ -716,8 +612,7 @@ export class WekanCreator { break; } // Checklist related activities - case 'addChecklist': - { + case 'addChecklist': { Activities.direct.insert({ userId: this._user(activity.userId), activityType: activity.activityType, @@ -728,8 +623,7 @@ export class WekanCreator { }); break; } - case 'addChecklistItem': - { + case 'addChecklistItem': { Activities.direct.insert({ userId: this._user(activity.userId), activityType: activity.activityType, @@ -742,8 +636,7 @@ export class WekanCreator { createdAt: this._now(activity.createdAt), }); break; - } - } + }} }); } @@ -759,9 +652,6 @@ export class WekanCreator { this.checkSwimlanes(board.swimlanes); this.checkCards(board.cards); this.checkChecklists(board.checklists); - this.checkRules(board.rules); - this.checkActions(board.actions); - this.checkTriggers(board.triggers); this.checkChecklistItems(board.checklistItems); } catch (e) { throw new Meteor.Error('error-json-schema'); @@ -784,9 +674,6 @@ export class WekanCreator { this.createChecklists(board.checklists); this.createChecklistItems(board.checklistItems); this.importActivities(board.activities, boardId); - this.createTriggers(board.triggers, boardId); - this.createActions(board.actions, boardId); - this.createRules(board.rules, boardId); // XXX add members return boardId; } diff --git a/package.json b/package.json index 9f5cfdb3..0244ea0e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "1.47.0", + "version": "1.46.0", "description": "The open-source kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 80c9add2..efe16ffd 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 = 132, + appVersion = 131, # Increment this for every release. - appMarketingVersion = (defaultText = "1.47.0~2018-09-16"), + appMarketingVersion = (defaultText = "1.46.0~2018-09-15"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, diff --git a/server/notifications/email.js b/server/notifications/email.js index b2b7fab8..2af6381e 100644 --- a/server/notifications/email.js +++ b/server/notifications/email.js @@ -39,5 +39,3 @@ Meteor.startup(() => { }, 30000); }); }); - - diff --git a/server/publications/rules.js b/server/publications/rules.js deleted file mode 100644 index d0864893..00000000 --- a/server/publications/rules.js +++ /dev/null @@ -1,18 +0,0 @@ -Meteor.publish('rules', (ruleId) => { - check(ruleId, String); - return Rules.find({ - _id: ruleId, - }); -}); - -Meteor.publish('allRules', () => { - return Rules.find({}); -}); - -Meteor.publish('allTriggers', () => { - return Triggers.find({}); -}); - -Meteor.publish('allActions', () => { - return Actions.find({}); -}); diff --git a/server/rulesHelper.js b/server/rulesHelper.js deleted file mode 100644 index e7e19b96..00000000 --- a/server/rulesHelper.js +++ /dev/null @@ -1,131 +0,0 @@ -RulesHelper = { - executeRules(activity){ - const matchingRules = this.findMatchingRules(activity); - for(let i = 0; i< matchingRules.length; i++){ - const action = matchingRules[i].getAction(); - this.performAction(activity, action); - } - }, - findMatchingRules(activity){ - const activityType = activity.activityType; - if(TriggersDef[activityType] === undefined){ - return []; - } - const matchingFields = TriggersDef[activityType].matchingFields; - const matchingMap = this.buildMatchingFieldsMap(activity, matchingFields); - const matchingTriggers = Triggers.find(matchingMap); - const matchingRules = []; - matchingTriggers.forEach(function(trigger){ - matchingRules.push(trigger.getRule()); - }); - return matchingRules; - }, - buildMatchingFieldsMap(activity, matchingFields){ - const matchingMap = {'activityType':activity.activityType}; - for(let i = 0; i< matchingFields.length; i++){ - // Creating a matching map with the actual field of the activity - // and with the wildcard (for example: trigger when a card is added - // in any [*] board - matchingMap[matchingFields[i]] = { $in: [activity[matchingFields[i]], '*']}; - } - return matchingMap; - }, - performAction(activity, action){ - const card = Cards.findOne({_id:activity.cardId}); - const boardId = activity.boardId; - if(action.actionType === 'moveCardToTop'){ - let listId; - let list; - if(activity.listTitle === '*'){ - listId = card.swimlaneId; - list = card.list(); - }else{ - list = Lists.findOne({title: action.listTitle, boardId }); - listId = list._id; - } - const minOrder = _.min(list.cards(card.swimlaneId).map((c) => c.sort)); - card.move(card.swimlaneId, listId, minOrder - 1); - } - if(action.actionType === 'moveCardToBottom'){ - let listId; - let list; - if(activity.listTitle === '*'){ - listId = card.swimlaneId; - list = card.list(); - }else{ - list = Lists.findOne({title: action.listTitle, boardId}); - listId = list._id; - } - const maxOrder = _.max(list.cards(card.swimlaneId).map((c) => c.sort)); - card.move(card.swimlaneId, listId, maxOrder + 1); - } - if(action.actionType === 'sendEmail'){ - const emailTo = action.emailTo; - const emailMsg = action.emailMsg; - const emailSubject = action.emailSubject; - try { - Email.send({ - to, - from: Accounts.emailTemplates.from, - subject, - text, - }); - } catch (e) { - return; - } - } - if(action.actionType === 'archive'){ - card.archive(); - } - if(action.actionType === 'unarchive'){ - card.restore(); - } - if(action.actionType === 'addLabel'){ - card.addLabel(action.labelId); - } - if(action.actionType === 'removeLabel'){ - card.removeLabel(action.labelId); - } - if(action.actionType === 'addMember'){ - const memberId = Users.findOne({username:action.memberName})._id; - card.assignMember(memberId); - } - if(action.actionType === 'removeMember'){ - if(action.memberName === '*'){ - const members = card.members; - for(let i = 0; i< members.length; i++){ - card.unassignMember(members[i]); - } - }else{ - const memberId = Users.findOne({username:action.memberName})._id; - card.unassignMember(memberId); - } - } - if(action.actionType === 'checkAll'){ - const checkList = Checklists.findOne({'title':action.checklistName, 'cardId':card._id}); - checkList.checkAllItems(); - } - if(action.actionType === 'uncheckAll'){ - const checkList = Checklists.findOne({'title':action.checklistName, 'cardId':card._id}); - checkList.uncheckAllItems(); - } - if(action.actionType === 'checkItem'){ - const checkList = Checklists.findOne({'title':action.checklistName, 'cardId':card._id}); - const checkItem = ChecklistItems.findOne({'title':action.checkItemName, 'checkListId':checkList._id}); - checkItem.check(); - } - if(action.actionType === 'uncheckItem'){ - const checkList = Checklists.findOne({'title':action.checklistName, 'cardId':card._id}); - const checkItem = ChecklistItems.findOne({'title':action.checkItemName, 'checkListId':checkList._id}); - checkItem.uncheck(); - } - if(action.actionType === 'addChecklist'){ - Checklists.insert({'title':action.checklistName, 'cardId':card._id, 'sort':0}); - } - if(action.actionType === 'removeChecklist'){ - Checklists.remove({'title':action.checklistName, 'cardId':card._id, 'sort':0}); - } - - }, - -}; diff --git a/server/triggersDef.js b/server/triggersDef.js deleted file mode 100644 index 81dc946f..00000000 --- a/server/triggersDef.js +++ /dev/null @@ -1,58 +0,0 @@ -TriggersDef = { - createCard:{ - matchingFields: ['boardId', 'listName'], - }, - moveCard:{ - matchingFields: ['boardId', 'listName', 'oldListName'], - }, - archivedCard:{ - matchingFields: ['boardId'], - }, - restoredCard:{ - matchingFields: ['boardId'], - }, - joinMember:{ - matchingFields: ['boardId', 'memberId'], - }, - unjoinMember:{ - matchingFields: ['boardId', 'memberId'], - }, - addChecklist:{ - matchingFields: ['boardId', 'checklistName'], - }, - removeChecklist:{ - matchingFields: ['boardId', 'checklistName'], - }, - completeChecklist:{ - matchingFields: ['boardId', 'checklistName'], - }, - uncompleteChecklist:{ - matchingFields: ['boardId', 'checklistName'], - }, - addedChecklistItem:{ - matchingFields: ['boardId', 'checklistItemName'], - }, - removedChecklistItem:{ - matchingFields: ['boardId', 'checklistItemName'], - }, - checkedItem:{ - matchingFields: ['boardId', 'checklistItemName'], - }, - uncheckedItem:{ - matchingFields: ['boardId', 'checklistItemName'], - }, - addAttachment:{ - matchingFields: ['boardId'], - }, - deleteAttachment:{ - matchingFields: ['boardId'], - }, - addedLabel:{ - matchingFields: ['boardId', 'labelId'], - }, - removedLabel:{ - matchingFields: ['boardId', 'labelId'], - }, -}; - - -- cgit v1.2.3-1-g7c22 From 2e52ff9e9d153448f03bd56f59f58517149251e0 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 17 Sep 2018 12:53:34 +0300 Subject: This release removes the following new features: - Remove IFTTT rules, until they are fixed. Thanks to xet7 ! --- CHANGELOG.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5e5f325..0db31702 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +# Upcoming Wekan release + +This release removes the following new features: + +- Remove IFTTT rules, until they are fixed. + +Thanks to GitHub user xet7 for contributions. + +# v1.47 2018-09-16 Wekan release + +This release adds the following new features: + +- [IFTTT Rules](https://github.com/wekan/wekan/pull/1896). Useful to automate things like + [adding labels, members, moving card, archiving them, checking checklists etc](https://github.com/wekan/wekan/issues/1160). + Please test and report bugs. Later colors need to be made translatable. + +Thanks to GitHub users Angtrim and xet7 for their contributions. + # v1.46 2018-09-15 Wekan release This release adds the following new features: -- cgit v1.2.3-1-g7c22 From 53a020a23afb7ae4031ec08965a61da2bc85560d Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 17 Sep 2018 13:23:08 +0300 Subject: - Remove OAuth2, until it is fixed. Thanks to xet7 ! --- .meteor/packages | 2 +- CHANGELOG.md | 1 + models/users.js | 46 +++++++++++++++++++++++----------------------- server/authentication.js | 45 ++++++++++++++++++++++----------------------- 4 files changed, 47 insertions(+), 47 deletions(-) diff --git a/.meteor/packages b/.meteor/packages index d428111c..990f8717 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -31,7 +31,7 @@ kenton:accounts-sandstorm service-configuration@1.0.11 useraccounts:unstyled useraccounts:flow-routing -salleman:accounts-oidc +#salleman:accounts-oidc # Utilities check@1.2.5 diff --git a/CHANGELOG.md b/CHANGELOG.md index 0db31702..2b32ba5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ This release removes the following new features: - Remove IFTTT rules, until they are fixed. +- Remove OAuth2, until it is fixed. Thanks to GitHub user xet7 for contributions. diff --git a/models/users.js b/models/users.js index 01673e4f..070cbc40 100644 --- a/models/users.js +++ b/models/users.js @@ -488,29 +488,29 @@ if (Meteor.isServer) { return user; } - if (user.services.oidc) { - const email = user.services.oidc.email.toLowerCase(); - - user.username = user.services.oidc.username; - user.emails = [{ address: email, verified: true }]; - const initials = user.services.oidc.fullname.match(/\b[a-zA-Z]/g).join('').toUpperCase(); - user.profile = { initials, fullname: user.services.oidc.fullname }; - - // see if any existing user has this email address or username, otherwise create new - const existingUser = Meteor.users.findOne({$or: [{'emails.address': email}, {'username':user.username}]}); - if (!existingUser) - return user; - - // copy across new service info - const service = _.keys(user.services)[0]; - existingUser.services[service] = user.services[service]; - existingUser.emails = user.emails; - existingUser.username = user.username; - existingUser.profile = user.profile; - - Meteor.users.remove({_id: existingUser._id}); // remove existing record - return existingUser; - } +// if (user.services.oidc) { +// const email = user.services.oidc.email.toLowerCase(); +// +// user.username = user.services.oidc.username; +// user.emails = [{ address: email, verified: true }]; +// const initials = user.services.oidc.fullname.match(/\b[a-zA-Z]/g).join('').toUpperCase(); +// user.profile = { initials, fullname: user.services.oidc.fullname }; +// +// // see if any existing user has this email address or username, otherwise create new +// const existingUser = Meteor.users.findOne({$or: [{'emails.address': email}, {'username':user.username}]}); +// if (!existingUser) +// return user; +// +// // copy across new service info +// const service = _.keys(user.services)[0]; +// existingUser.services[service] = user.services[service]; +// existingUser.emails = user.emails; +// existingUser.username = user.username; +// existingUser.profile = user.profile; +// +// Meteor.users.remove({_id: existingUser._id}); // remove existing record +// return existingUser; +// } if (options.from === 'admin') { user.createdThroughApi = true; diff --git a/server/authentication.js b/server/authentication.js index 6310e8df..8a74ebf7 100644 --- a/server/authentication.js +++ b/server/authentication.js @@ -62,28 +62,27 @@ Meteor.startup(() => { Authentication.checkAdminOrCondition(userId, normalAccess); }; - if (Meteor.isServer) { - - if(process.env.OAUTH2_CLIENT_ID !== '') { - - ServiceConfiguration.configurations.upsert( // eslint-disable-line no-undef - { service: 'oidc' }, - { - $set: { - loginStyle: 'redirect', - clientId: process.env.OAUTH2_CLIENT_ID, - secret: process.env.OAUTH2_SECRET, - serverUrl: process.env.OAUTH2_SERVER_URL, - authorizationEndpoint: process.env.OAUTH2_AUTH_ENDPOINT, - userinfoEndpoint: process.env.OAUTH2_USERINFO_ENDPOINT, - tokenEndpoint: process.env.OAUTH2_TOKEN_ENDPOINT, - idTokenWhitelistFields: [], - requestPermissions: ['openid'], - }, - } - ); - } - } +// if (Meteor.isServer) { +// +// if(process.env.OAUTH2_CLIENT_ID !== '') { +// +// ServiceConfiguration.configurations.upsert( // eslint-disable-line no-undef +// { service: 'oidc' }, +// { +// $set: { +// loginStyle: 'redirect', +// clientId: process.env.OAUTH2_CLIENT_ID, +// secret: process.env.OAUTH2_SECRET, +// serverUrl: process.env.OAUTH2_SERVER_URL, +// authorizationEndpoint: process.env.OAUTH2_AUTH_ENDPOINT, +// userinfoEndpoint: process.env.OAUTH2_USERINFO_ENDPOINT, +// tokenEndpoint: process.env.OAUTH2_TOKEN_ENDPOINT, +// idTokenWhitelistFields: [], +// requestPermissions: ['openid'], +// }, +// } +// ); +// } +// } }); - -- cgit v1.2.3-1-g7c22 From 3941066ba5a8953178a293ef39a41985d05b6f4d Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 17 Sep 2018 13:26:08 +0300 Subject: Update translations. --- i18n/cs.i18n.json | 114 +++++++++++++++--------------- i18n/de.i18n.json | 2 +- i18n/fr.i18n.json | 202 +++++++++++++++++++++++++++--------------------------- i18n/he.i18n.json | 170 ++++++++++++++++++++++----------------------- 4 files changed, 244 insertions(+), 244 deletions(-) diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json index d2effd10..5ca9636b 100644 --- a/i18n/cs.i18n.json +++ b/i18n/cs.i18n.json @@ -46,7 +46,7 @@ "activity-checked-item": "checked %s in checklist %s of %s", "activity-unchecked-item": "unchecked %s in checklist %s of %s", "activity-checklist-added": "přidán checklist do %s", - "activity-checklist-removed": "removed a checklist from %s", + "activity-checklist-removed": "odstraněn checklist z %s", "activity-checklist-completed": "completed the checklist %s of %s", "activity-checklist-uncompleted": "uncompleted the checklist %s of %s", "activity-checklist-item-added": "přidána položka checklist do '%s' v %s", @@ -54,13 +54,13 @@ "add": "Přidat", "activity-checked-item-card": "checked %s in checklist %s", "activity-unchecked-item-card": "unchecked %s in checklist %s", - "activity-checklist-completed-card": "completed the checklist %s", + "activity-checklist-completed-card": "dokončen checklist %s", "activity-checklist-uncompleted-card": "uncompleted the checklist %s", "add-attachment": "Přidat přílohu", "add-board": "Přidat tablo", "add-card": "Přidat kartu", "add-swimlane": "Přidat Swimlane", - "add-subtask": "Add Subtask", + "add-subtask": "Přidat Podúkol", "add-checklist": "Přidat zaškrtávací seznam", "add-checklist-item": "Přidat položku do zaškrtávacího seznamu", "add-cover": "Přidat obal", @@ -113,13 +113,13 @@ "boardMenuPopup-title": "Menu tabla", "boards": "Tabla", "board-view": "Náhled tabla", - "board-view-cal": "Calendar", + "board-view-cal": "Kalendář", "board-view-swimlanes": "Swimlanes", "board-view-lists": "Seznamy", "bucket-example": "Například \"Než mě odvedou\"", "cancel": "Zrušit", "card-archived": "Karta byla přesunuta do koše.", - "board-archived": "This board is moved to Recycle Bin.", + "board-archived": "Toto tablo je přesunuto do koše", "card-comments-title": "Tato karta má %s komentářů.", "card-delete-notice": "Smazání je trvalé. Přijdete o všechny akce asociované s touto kartou.", "card-delete-pop": "Všechny akce budou odstraněny z kanálu aktivity a nebude možné kartu znovu otevřít. Toto nelze vrátit zpět.", @@ -146,7 +146,7 @@ "cards": "Karty", "cards-count": "Karty", "casSignIn": "Sign In with CAS", - "cardType-card": "Card", + "cardType-card": "Karta", "cardType-linkedCard": "Linked Card", "cardType-linkedBoard": "Linked Board", "change": "Změnit", @@ -181,14 +181,14 @@ "comment-placeholder": "Text komentáře", "comment-only": "Pouze komentáře", "comment-only-desc": "Může přidávat komentáře pouze do karet.", - "no-comments": "No comments", + "no-comments": "Žádné komentáře", "no-comments-desc": "Can not see comments and activities.", "computer": "Počítač", - "confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?", - "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?", + "confirm-subtask-delete-dialog": "Opravdu chcete smazat tento podúkol?", + "confirm-checklist-delete-dialog": "Opravdu chcete smazat tento checklist?", "copy-card-link-to-clipboard": "Kopírovat adresu karty do mezipaměti", "linkCardPopup-title": "Link Card", - "searchCardPopup-title": "Search Card", + "searchCardPopup-title": "Hledat Kartu", "copyCardPopup-title": "Kopírovat kartu", "copyChecklistToManyCardsPopup-title": "Kopírovat checklist do více karet", "copyChecklistToManyCardsPopup-instructions": "Názvy a popisy cílové karty v tomto formátu JSON", @@ -272,7 +272,7 @@ "filter-on-desc": "Filtrujete karty tohoto tabla. Pro úpravu filtru klikni sem.", "filter-to-selection": "Filtrovat výběr", "advanced-filter-label": "Pokročilý filtr", - "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i", + "advanced-filter-description": "Pokročilý filtr dovoluje zapsat řetězec následujících operátorů: == != <= >= && || () Operátory jsou odděleny mezerou. Můžete filtrovat všechny vlastní pole zadáním jejich názvů nebo hodnot. Například: Pole1 == Hodnota1. Poznámka: Pokud pole nebo hodnoty obsahují mezery, je potřeba je obalit v jednoduchých uvozovkách. Například: 'Pole 1' == 'Hodnota 1'. Pro ignorovaní kontrolních znaků (' \\ /) je možné použít \\. Například Pole1 == I\\'m. Můžete také kombinovat více podmínek. Například P1 == H1 || P1 == H2. Obvykle jsou operátory interpretovány zleva doprava. Jejich pořadí můžete měnit pomocí závorek. Například: P1 == H1 && ( P2 == H2 || P2 == H3 )", "fullname": "Celé jméno", "header-logo-title": "Jit zpět na stránku s tably.", "hide-system-messages": "Skrýt systémové zprávy", @@ -381,7 +381,7 @@ "restore": "Obnovit", "save": "Uložit", "search": "Hledat", - "rules": "Rules", + "rules": "Pravidla", "search-cards": "Hledat nadpisy a popisy karet v tomto tablu", "search-example": "Hledaný text", "select-color": "Vybrat barvu", @@ -496,18 +496,18 @@ "card-end-on": "Končí v", "editCardReceivedDatePopup-title": "Změnit datum přijetí", "editCardEndDatePopup-title": "Změnit datum konce", - "assigned-by": "Assigned By", - "requested-by": "Requested By", - "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.", - "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.", + "assigned-by": "Přidělil(a)", + "requested-by": "Vyžádal(a)", + "board-delete-notice": "Smazání je trvalé. Přijdete o všechny seznamy, karty a akce asociované s tímto tablem.", + "delete-board-confirm-popup": "Všechny sezamy, štítky a aktivity budou a obsah tabla nebude možné obnovit. Toto nelze vrátit zpět.", "boardDeletePopup-title": "Smazat tablo?", "delete-board": "Smazat tablo", - "default-subtasks-board": "Subtasks for __board__ board", - "default": "Default", + "default-subtasks-board": "Podúkoly pro tablo __board__", + "default": "Výchozí", "queue": "Queue", - "subtask-settings": "Subtasks Settings", - "boardSubtaskSettingsPopup-title": "Board Subtasks Settings", - "show-subtasks-field": "Cards can have subtasks", + "subtask-settings": "Nastavení podúkolů", + "boardSubtaskSettingsPopup-title": "Nastavení podúkolů tabla", + "show-subtasks-field": "Karty mohou mít podúkoly", "deposit-subtasks-board": "Deposit subtasks to this board:", "deposit-subtasks-list": "Landing list for subtasks deposited here:", "show-parent-in-minicard": "Show parent in minicard:", @@ -517,7 +517,7 @@ "subtext-with-parent": "Subtext with parent", "change-card-parent": "Change card's parent", "parent-card": "Parent card", - "source-board": "Source board", + "source-board": "Zdrojové tablo", "no-parent": "Don't show parent", "activity-added-label": "added label '%s' to %s", "activity-removed-label": "removed label '%s' from %s", @@ -525,24 +525,24 @@ "activity-added-label-card": "added label '%s'", "activity-removed-label-card": "removed label '%s'", "activity-delete-attach-card": "deleted an attachment", - "r-rule": "Rule", + "r-rule": "Pravidlo", "r-add-trigger": "Add trigger", - "r-add-action": "Add action", - "r-board-rules": "Board rules", - "r-add-rule": "Add rule", - "r-view-rule": "View rule", - "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", - "r-no-rules": "No rules", - "r-when-a-card-is": "When a card is", - "r-added-to": "Added to", - "r-removed-from": "Removed from", + "r-add-action": "Přidat akci", + "r-board-rules": "Pravidla Tabla", + "r-add-rule": "Přidat pravidlo", + "r-view-rule": "Zobrazit pravidlo", + "r-delete-rule": "Smazat pravidlo", + "r-new-rule-name": "Přidat nové pravidlo", + "r-no-rules": "Žádná pravidla", + "r-when-a-card-is": "Pokud je karta", + "r-added-to": "Přidáno do", + "r-removed-from": "Odstraněno z", "r-the-board": "the board", - "r-list": "list", - "r-moved-to": "Moved to", - "r-moved-from": "Moved from", - "r-archived": "Moved to Recycle Bin", - "r-unarchived": "Restored from Recycle Bin", + "r-list": "seznam", + "r-moved-to": "Přesunuto do", + "r-moved-from": "Přesunuto z", + "r-archived": "Přesunuto do koše", + "r-unarchived": "Obnoveno z koše", "r-a-card": "a card", "r-when-a-label-is": "When a label is", "r-when-the-label-is": "When the label is", @@ -554,7 +554,7 @@ "r-when-a-attach": "When an attachment", "r-when-a-checklist": "When a checklist is", "r-when-the-checklist": "When the checklist", - "r-completed": "Completed", + "r-completed": "Dokončeno", "r-made-incomplete": "Made incomplete", "r-when-a-item": "When a checklist item is", "r-when-the-item": "When the checklist item", @@ -566,9 +566,9 @@ "r-its-list": "its list", "r-archive": "Přesunout do koše", "r-unarchive": "Restore from Recycle Bin", - "r-card": "card", + "r-card": "karta", "r-add": "Přidat", - "r-remove": "Remove", + "r-remove": "Odstranit", "r-label": "label", "r-member": "member", "r-remove-all": "Remove all members from the card", @@ -581,29 +581,29 @@ "r-item": "item", "r-of-checklist": "of checklist", "r-send-email": "Send an email", - "r-to": "to", - "r-subject": "subject", + "r-to": "komu", + "r-subject": "předmět", "r-rule-details": "Rule details", "r-d-move-to-top-gen": "Move card to top of its list", - "r-d-move-to-top-spec": "Move card to top of list", + "r-d-move-to-top-spec": "Přesunout kartu na začátek seznamu", "r-d-move-to-bottom-gen": "Move card to bottom of its list", - "r-d-move-to-bottom-spec": "Move card to bottom of list", - "r-d-send-email": "Send email", - "r-d-send-email-to": "to", - "r-d-send-email-subject": "subject", - "r-d-send-email-message": "message", - "r-d-archive": "Move card to Recycle Bin", - "r-d-unarchive": "Restore card from Recycle Bin", - "r-d-add-label": "Add label", - "r-d-remove-label": "Remove label", - "r-d-add-member": "Add member", - "r-d-remove-member": "Remove member", + "r-d-move-to-bottom-spec": "Přesunout kartu na konec seznamu", + "r-d-send-email": "Odeslat email", + "r-d-send-email-to": "komu", + "r-d-send-email-subject": "předmět", + "r-d-send-email-message": "zpráva", + "r-d-archive": "Přesunout kartu do koše", + "r-d-unarchive": "Obnovit kartu z koše", + "r-d-add-label": "Přidat štítek", + "r-d-remove-label": "Odstranit štítek", + "r-d-add-member": "Přidat člena", + "r-d-remove-member": "Odstranit člena", "r-d-remove-all-member": "Remove all member", "r-d-check-all": "Check all items of a list", "r-d-uncheck-all": "Uncheck all items of a list", "r-d-check-one": "Check item", "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", - "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-add-checklist": "Přidat checklist", + "r-d-remove-checklist": "Odstranit checklist" } \ No newline at end of file diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json index 2453391d..343c7519 100644 --- a/i18n/de.i18n.json +++ b/i18n/de.i18n.json @@ -524,7 +524,7 @@ "activity-delete-attach": "löschte ein Anhang von %s", "activity-added-label-card": "Label hinzugefügt '%s'", "activity-removed-label-card": "Label entfernt '%s'", - "activity-delete-attach-card": "ein Anhang löschen", + "activity-delete-attach-card": "hat einen Anhang gelöscht", "r-rule": "Regel", "r-add-trigger": "Auslöser hinzufügen", "r-add-action": "Aktion hinzufügen", diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index 9fe0f7fa..a7bbcd3d 100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -43,19 +43,19 @@ "activity-sent": "a envoyé %s vers %s", "activity-unjoined": "a quitté %s", "activity-subtask-added": "a ajouté une sous-tâche à %s", - "activity-checked-item": "checked %s in checklist %s of %s", - "activity-unchecked-item": "unchecked %s in checklist %s of %s", + "activity-checked-item": "a coché %s dans la checklist %s de %s", + "activity-unchecked-item": "a décoché %s dans la checklist %s de %s", "activity-checklist-added": "a ajouté une checklist à %s", - "activity-checklist-removed": "removed a checklist from %s", - "activity-checklist-completed": "completed the checklist %s of %s", - "activity-checklist-uncompleted": "uncompleted the checklist %s of %s", + "activity-checklist-removed": "a supprimé une checklist de %s", + "activity-checklist-completed": "a complété la checklist %s de %s", + "activity-checklist-uncompleted": "a rendu incomplète la checklist %s de %s", "activity-checklist-item-added": "a ajouté un élément à la checklist '%s' dans %s", - "activity-checklist-item-removed": "removed a checklist item from '%s' in %s", + "activity-checklist-item-removed": "a supprimé une checklist de '%s' dans %s", "add": "Ajouter", - "activity-checked-item-card": "checked %s in checklist %s", - "activity-unchecked-item-card": "unchecked %s in checklist %s", - "activity-checklist-completed-card": "completed the checklist %s", - "activity-checklist-uncompleted-card": "uncompleted the checklist %s", + "activity-checked-item-card": "a coché %s dans la checklist %s", + "activity-unchecked-item-card": "a décoché %s dans la checklist %s", + "activity-checklist-completed-card": "a complété la checklist %s", + "activity-checklist-uncompleted-card": "a rendu incomplète la checklist %s", "add-attachment": "Ajouter une pièce jointe", "add-board": "Ajouter un tableau", "add-card": "Ajouter une carte", @@ -129,14 +129,14 @@ "card-spent": "Temps passé", "card-edit-attachments": "Modifier les pièces jointes", "card-edit-custom-fields": "Éditer les champs personnalisés", - "card-edit-labels": "Modifier les étiquettes", - "card-edit-members": "Modifier les membres", + "card-edit-labels": "Gérer les étiquettes", + "card-edit-members": "Gérer les membres", "card-labels-title": "Modifier les étiquettes de la carte.", "card-members-title": "Ajouter ou supprimer des membres à la carte.", "card-start": "Début", "card-start-on": "Commence le", - "cardAttachmentsPopup-title": "Joindre depuis", - "cardCustomField-datePopup-title": "Changer la date", + "cardAttachmentsPopup-title": "Ajouter depuis", + "cardCustomField-datePopup-title": "Modifier la date", "cardCustomFieldsPopup-title": "Éditer les champs personnalisés", "cardDeletePopup-title": "Supprimer la carte ?", "cardDetailsActionsPopup-title": "Actions sur la carte", @@ -231,7 +231,7 @@ "editCardStartDatePopup-title": "Modifier la date de début", "editCardDueDatePopup-title": "Modifier la date d'échéance", "editCustomFieldPopup-title": "Éditer le champ personnalisé", - "editCardSpentTimePopup-title": "Changer le temps passé", + "editCardSpentTimePopup-title": "Modifier le temps passé", "editLabelPopup-title": "Modifier l'étiquette", "editNotificationPopup-title": "Modifier la notification", "editProfilePopup-title": "Modifier le profil", @@ -381,7 +381,7 @@ "restore": "Restaurer", "save": "Enregistrer", "search": "Chercher", - "rules": "Rules", + "rules": "Règles", "search-cards": "Rechercher parmi les titres et descriptions des cartes de ce tableau", "search-example": "Texte à rechercher ?", "select-color": "Sélectionner une couleur", @@ -494,8 +494,8 @@ "card-received-on": "Reçue le", "card-end": "Fin", "card-end-on": "Se termine le", - "editCardReceivedDatePopup-title": "Changer la date de réception", - "editCardEndDatePopup-title": "Changer la date de fin", + "editCardReceivedDatePopup-title": "Modifier la date de réception", + "editCardEndDatePopup-title": "Modifier la date de fin", "assigned-by": "Assigné par", "requested-by": "Demandé par", "board-delete-notice": "La suppression est définitive. Vous perdrez toutes les listes, cartes et actions associées à ce tableau.", @@ -519,91 +519,91 @@ "parent-card": "Carte parente", "source-board": "Tableau source", "no-parent": "Ne pas afficher le parent", - "activity-added-label": "added label '%s' to %s", - "activity-removed-label": "removed label '%s' from %s", - "activity-delete-attach": "deleted an attachment from %s", - "activity-added-label-card": "added label '%s'", - "activity-removed-label-card": "removed label '%s'", - "activity-delete-attach-card": "deleted an attachment", - "r-rule": "Rule", - "r-add-trigger": "Add trigger", - "r-add-action": "Add action", - "r-board-rules": "Board rules", - "r-add-rule": "Add rule", - "r-view-rule": "View rule", - "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", - "r-no-rules": "No rules", - "r-when-a-card-is": "When a card is", - "r-added-to": "Added to", - "r-removed-from": "Removed from", - "r-the-board": "the board", - "r-list": "list", - "r-moved-to": "Moved to", - "r-moved-from": "Moved from", - "r-archived": "Moved to Recycle Bin", - "r-unarchived": "Restored from Recycle Bin", - "r-a-card": "a card", - "r-when-a-label-is": "When a label is", - "r-when-the-label-is": "When the label is", - "r-list-name": "List name", - "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", - "r-name": "name", - "r-is": "is", - "r-when-a-attach": "When an attachment", - "r-when-a-checklist": "When a checklist is", - "r-when-the-checklist": "When the checklist", - "r-completed": "Completed", - "r-made-incomplete": "Made incomplete", - "r-when-a-item": "When a checklist item is", - "r-when-the-item": "When the checklist item", - "r-checked": "Checked", - "r-unchecked": "Unchecked", - "r-move-card-to": "Move card to", - "r-top-of": "Top of", - "r-bottom-of": "Bottom of", - "r-its-list": "its list", + "activity-added-label": "a ajouté l'étiquette '%s' à %s", + "activity-removed-label": "a supprimé l'étiquette '%s' de %s", + "activity-delete-attach": "a supprimé une pièce jointe de %s", + "activity-added-label-card": "a ajouté l'étiquette '%s'", + "activity-removed-label-card": "a supprimé l'étiquette '%s'", + "activity-delete-attach-card": "a supprimé une pièce jointe", + "r-rule": "Règle", + "r-add-trigger": "Ajouter un déclencheur", + "r-add-action": "Ajouter une action", + "r-board-rules": "Règles du tableau", + "r-add-rule": "Ajouter une règle", + "r-view-rule": "Voir la règle", + "r-delete-rule": "Supprimer la règle", + "r-new-rule-name": "Ajouter une nouvelle règle", + "r-no-rules": "Pas de règles", + "r-when-a-card-is": "Quand une carte est", + "r-added-to": "Ajouté à", + "r-removed-from": "Supprimé de", + "r-the-board": "tableau", + "r-list": "liste", + "r-moved-to": "Déplacé vers", + "r-moved-from": "Déplacé depuis", + "r-archived": "Déplacé vers la Corbeille", + "r-unarchived": "Restauré depuis la Corbeille", + "r-a-card": "carte", + "r-when-a-label-is": "Quand une étiquette est", + "r-when-the-label-is": "Quand l'étiquette est", + "r-list-name": "Nom de la liste", + "r-when-a-member": "Quand un membre est", + "r-when-the-member": "Quand le membre est", + "r-name": "nom", + "r-is": "est", + "r-when-a-attach": "Quand une pièce jointe", + "r-when-a-checklist": "Quand une checklist est", + "r-when-the-checklist": "Quand la checklist", + "r-completed": "Terminé", + "r-made-incomplete": "Rendu incomplet", + "r-when-a-item": "Quand un élément de la checklist est", + "r-when-the-item": "Quand l'élément de la checklist", + "r-checked": "Coché", + "r-unchecked": "Décoché", + "r-move-card-to": "Déplacer la carte vers", + "r-top-of": "En haut de", + "r-bottom-of": "En bas de", + "r-its-list": "sa liste", "r-archive": "Déplacer vers la corbeille", - "r-unarchive": "Restore from Recycle Bin", - "r-card": "card", + "r-unarchive": "Restaurer depuis la Corbeille", + "r-card": "carte", "r-add": "Ajouter", - "r-remove": "Remove", - "r-label": "label", - "r-member": "member", - "r-remove-all": "Remove all members from the card", + "r-remove": "Supprimer", + "r-label": "étiquette", + "r-member": "membre", + "r-remove-all": "Supprimer tous les membres de la carte", "r-checklist": "checklist", - "r-check-all": "Check all", - "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", - "r-check": "Check", - "r-uncheck": "Uncheck", - "r-item": "item", - "r-of-checklist": "of checklist", - "r-send-email": "Send an email", - "r-to": "to", - "r-subject": "subject", - "r-rule-details": "Rule details", - "r-d-move-to-top-gen": "Move card to top of its list", - "r-d-move-to-top-spec": "Move card to top of list", - "r-d-move-to-bottom-gen": "Move card to bottom of its list", - "r-d-move-to-bottom-spec": "Move card to bottom of list", - "r-d-send-email": "Send email", - "r-d-send-email-to": "to", - "r-d-send-email-subject": "subject", + "r-check-all": "Tout cocher", + "r-uncheck-all": "Tout décocher", + "r-item-check": "Éléments de la checklist", + "r-check": "Cocher", + "r-uncheck": "Décocher", + "r-item": "élément", + "r-of-checklist": "de la checklist", + "r-send-email": "Envoyer un email", + "r-to": "à", + "r-subject": "sujet", + "r-rule-details": "Détails de la règle", + "r-d-move-to-top-gen": "Déplacer la carte en haut de sa liste", + "r-d-move-to-top-spec": "Déplacer la carte en haut de la liste", + "r-d-move-to-bottom-gen": "Déplacer la carte en bas de sa liste", + "r-d-move-to-bottom-spec": "Déplacer la carte en bas de la liste", + "r-d-send-email": "Envoyer un email", + "r-d-send-email-to": "à", + "r-d-send-email-subject": "sujet", "r-d-send-email-message": "message", - "r-d-archive": "Move card to Recycle Bin", - "r-d-unarchive": "Restore card from Recycle Bin", - "r-d-add-label": "Add label", - "r-d-remove-label": "Remove label", - "r-d-add-member": "Add member", - "r-d-remove-member": "Remove member", - "r-d-remove-all-member": "Remove all member", - "r-d-check-all": "Check all items of a list", - "r-d-uncheck-all": "Uncheck all items of a list", - "r-d-check-one": "Check item", - "r-d-uncheck-one": "Uncheck item", - "r-d-check-of-list": "of checklist", - "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-archive": "Déplacer la carte vers la Corbeille", + "r-d-unarchive": "Restaurer la carte depuis la Corbeille", + "r-d-add-label": "Ajouter une étiquette", + "r-d-remove-label": "Supprimer l'étiquette", + "r-d-add-member": "Ajouter un membre", + "r-d-remove-member": "Supprimer un membre", + "r-d-remove-all-member": "Supprimer tous les membres", + "r-d-check-all": "Cocher tous les éléments d'une liste", + "r-d-uncheck-all": "Décocher tous les éléments d'une liste", + "r-d-check-one": "Cocker l'élément", + "r-d-uncheck-one": "Décocher l'élément", + "r-d-check-of-list": "de la checklist", + "r-d-add-checklist": "Ajouter une checklist", + "r-d-remove-checklist": "Supprimer la checklist" } \ No newline at end of file diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json index 9f47ac16..053d18c6 100644 --- a/i18n/he.i18n.json +++ b/i18n/he.i18n.json @@ -46,7 +46,7 @@ "activity-checked-item": "checked %s in checklist %s of %s", "activity-unchecked-item": "unchecked %s in checklist %s of %s", "activity-checklist-added": "נוספה רשימת משימות אל %s", - "activity-checklist-removed": "removed a checklist from %s", + "activity-checklist-removed": "הוסרה רשימת משימות מ־%s", "activity-checklist-completed": "completed the checklist %s of %s", "activity-checklist-uncompleted": "uncompleted the checklist %s of %s", "activity-checklist-item-added": "נוסף פריט רשימת משימות אל ‚%s‘ תחת %s", @@ -54,8 +54,8 @@ "add": "הוספה", "activity-checked-item-card": "checked %s in checklist %s", "activity-unchecked-item-card": "unchecked %s in checklist %s", - "activity-checklist-completed-card": "completed the checklist %s", - "activity-checklist-uncompleted-card": "uncompleted the checklist %s", + "activity-checklist-completed-card": "רשימת המשימות %s הושלמה", + "activity-checklist-uncompleted-card": "רשימת המשימות %s סומנה כבלתי מושלמת", "add-attachment": "הוספת קובץ מצורף", "add-board": "הוספת לוח", "add-card": "הוספת כרטיס", @@ -381,7 +381,7 @@ "restore": "שחזור", "save": "שמירה", "search": "חיפוש", - "rules": "Rules", + "rules": "כללים", "search-cards": "חיפוש אחר כותרות ותיאורים של כרטיסים בלוח זה", "search-example": "טקסט לחיפוש ?", "select-color": "בחירת צבע", @@ -519,91 +519,91 @@ "parent-card": "כרטיס הורה", "source-board": "לוח מקור", "no-parent": "לא להציג את ההורה", - "activity-added-label": "added label '%s' to %s", - "activity-removed-label": "removed label '%s' from %s", - "activity-delete-attach": "deleted an attachment from %s", - "activity-added-label-card": "added label '%s'", - "activity-removed-label-card": "removed label '%s'", - "activity-delete-attach-card": "deleted an attachment", - "r-rule": "Rule", - "r-add-trigger": "Add trigger", - "r-add-action": "Add action", - "r-board-rules": "Board rules", - "r-add-rule": "Add rule", - "r-view-rule": "View rule", - "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", - "r-no-rules": "No rules", - "r-when-a-card-is": "When a card is", - "r-added-to": "Added to", - "r-removed-from": "Removed from", - "r-the-board": "the board", - "r-list": "list", - "r-moved-to": "Moved to", - "r-moved-from": "Moved from", - "r-archived": "Moved to Recycle Bin", - "r-unarchived": "Restored from Recycle Bin", - "r-a-card": "a card", - "r-when-a-label-is": "When a label is", - "r-when-the-label-is": "When the label is", - "r-list-name": "List name", - "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", - "r-name": "name", - "r-is": "is", - "r-when-a-attach": "When an attachment", - "r-when-a-checklist": "When a checklist is", - "r-when-the-checklist": "When the checklist", - "r-completed": "Completed", - "r-made-incomplete": "Made incomplete", - "r-when-a-item": "When a checklist item is", - "r-when-the-item": "When the checklist item", - "r-checked": "Checked", - "r-unchecked": "Unchecked", - "r-move-card-to": "Move card to", - "r-top-of": "Top of", - "r-bottom-of": "Bottom of", - "r-its-list": "its list", + "activity-added-label": "התווית ‚%s’ נוספה אל %s", + "activity-removed-label": "התווית ‚%s’ הוסרה מ־%s", + "activity-delete-attach": "הקובץ המצורף נמחק מ־%s", + "activity-added-label-card": "התווית ‚%s’ נוספה", + "activity-removed-label-card": "התווית ‚%s’ הוסרה", + "activity-delete-attach-card": "קובץ מצורף נמחק", + "r-rule": "כלל", + "r-add-trigger": "הוספת הקפצה", + "r-add-action": "הוספת פעולה", + "r-board-rules": "כללי הלוח", + "r-add-rule": "הוספת כלל", + "r-view-rule": "הצגת כלל", + "r-delete-rule": "מחיקת כל", + "r-new-rule-name": "הוספת כלל חדש", + "r-no-rules": "אין כללים", + "r-when-a-card-is": "כאשר כרטיס", + "r-added-to": "נוסף אל", + "r-removed-from": "מוסר מ־", + "r-the-board": "הלוח", + "r-list": "רשימה", + "r-moved-to": "מועבר אל", + "r-moved-from": "מועבר מ־", + "r-archived": "מועבר לסל המחזור", + "r-unarchived": "משוחזר מסל המחזור", + "r-a-card": "כרטיס", + "r-when-a-label-is": "כאשר תווית", + "r-when-the-label-is": "כאשר התווית היא", + "r-list-name": "שם הרשימה", + "r-when-a-member": "כאשר חבר הוא", + "r-when-the-member": "כאשר החבר הוא", + "r-name": "שם", + "r-is": "הוא", + "r-when-a-attach": "כאשר קובץ מצורף", + "r-when-a-checklist": "כאשר רשימת משימות", + "r-when-the-checklist": "כאשר רשימת המשימות", + "r-completed": "הושלמה", + "r-made-incomplete": "סומנה כבלתי מושלמת", + "r-when-a-item": "כאשר פריט ברשימת משימות", + "r-when-the-item": "כאשר הפריט ברשימת משימות", + "r-checked": "מסומן", + "r-unchecked": "לא מסומן", + "r-move-card-to": "העברת הכרטיס אל", + "r-top-of": "ראש", + "r-bottom-of": "תחתית", + "r-its-list": "הרשימה שלו", "r-archive": "העברה לסל המחזור", - "r-unarchive": "Restore from Recycle Bin", - "r-card": "card", + "r-unarchive": "שחזור מסל המחזור", + "r-card": "כרטיס", "r-add": "הוספה", - "r-remove": "Remove", - "r-label": "label", - "r-member": "member", - "r-remove-all": "Remove all members from the card", - "r-checklist": "checklist", - "r-check-all": "Check all", - "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", - "r-check": "Check", - "r-uncheck": "Uncheck", - "r-item": "item", - "r-of-checklist": "of checklist", - "r-send-email": "Send an email", - "r-to": "to", - "r-subject": "subject", - "r-rule-details": "Rule details", + "r-remove": "הסרה", + "r-label": "תווית", + "r-member": "חבר", + "r-remove-all": "הסרת כל החברים מהכרטיס", + "r-checklist": "רשימת משימות", + "r-check-all": "לסמן הכול", + "r-uncheck-all": "לבטל את הסימון", + "r-item-check": "פריטים לרשימת משימות", + "r-check": "סימון", + "r-uncheck": "ביטול סימון", + "r-item": "פריט", + "r-of-checklist": "של רשימת משימות", + "r-send-email": "שליחת דוא״ל", + "r-to": "אל", + "r-subject": "נושא", + "r-rule-details": "פרטי הכלל", "r-d-move-to-top-gen": "Move card to top of its list", "r-d-move-to-top-spec": "Move card to top of list", "r-d-move-to-bottom-gen": "Move card to bottom of its list", "r-d-move-to-bottom-spec": "Move card to bottom of list", - "r-d-send-email": "Send email", - "r-d-send-email-to": "to", - "r-d-send-email-subject": "subject", - "r-d-send-email-message": "message", - "r-d-archive": "Move card to Recycle Bin", - "r-d-unarchive": "Restore card from Recycle Bin", - "r-d-add-label": "Add label", - "r-d-remove-label": "Remove label", - "r-d-add-member": "Add member", - "r-d-remove-member": "Remove member", - "r-d-remove-all-member": "Remove all member", - "r-d-check-all": "Check all items of a list", - "r-d-uncheck-all": "Uncheck all items of a list", - "r-d-check-one": "Check item", - "r-d-uncheck-one": "Uncheck item", - "r-d-check-of-list": "of checklist", - "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-send-email": "שליחת דוא״ל", + "r-d-send-email-to": "אל", + "r-d-send-email-subject": "נושא", + "r-d-send-email-message": "הודעה", + "r-d-archive": "העברת כרטיס לסל המחזור", + "r-d-unarchive": "שחזור כרטיס מסל המחזור", + "r-d-add-label": "הוספת תווית", + "r-d-remove-label": "הסרת תווית", + "r-d-add-member": "הוספת חבר", + "r-d-remove-member": "הסרת חבר", + "r-d-remove-all-member": "הסרת כל החברים", + "r-d-check-all": "סימון כל הפריטים ברשימה", + "r-d-uncheck-all": "ביטול סימון הפריטים ברשימה", + "r-d-check-one": "סימון פריט", + "r-d-uncheck-one": "ביטול סימון פריט", + "r-d-check-of-list": "של רשימת משימות", + "r-d-add-checklist": "הוספת רשימת משימות", + "r-d-remove-checklist": "הסרת רשימת משימות" } \ No newline at end of file -- cgit v1.2.3-1-g7c22 From 6d11f3345f0675c079476437b803db4c059726ae Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 17 Sep 2018 13:35:38 +0300 Subject: - Remove OAuth2 until it is fixed. Thanks to xet7 ! --- .meteor/versions | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.meteor/versions b/.meteor/versions index f1f52d23..504e8aa1 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -1,6 +1,5 @@ 3stack:presence@1.1.2 accounts-base@1.4.0 -accounts-oauth@1.1.15 accounts-password@1.5.0 aldeed:collection2@2.10.0 aldeed:collection2-core@1.2.0 @@ -121,8 +120,6 @@ mquandalle:perfect-scrollbar@0.6.5_2 msavin:usercache@1.0.0 npm-bcrypt@0.9.3 npm-mongo@2.2.33 -oauth@1.2.1 -oauth2@1.2.0 observe-sequence@1.0.16 ongoworks:speakingurl@1.1.0 ordered-dict@1.0.9 @@ -144,8 +141,6 @@ reload@1.1.11 retry@1.0.9 routepolicy@1.0.12 rzymek:fullcalendar@3.8.0 -salleman:accounts-oidc@1.0.9 -salleman:oidc@1.0.9 service-configuration@1.0.11 session@1.1.7 sha@1.0.9 -- cgit v1.2.3-1-g7c22 From 70623df8990e4a1068a69f702907ea8d85f634ad Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 17 Sep 2018 13:41:20 +0300 Subject: v1.48 --- CHANGELOG.md | 2 +- package.json | 2 +- sandstorm-pkgdef.capnp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b32ba5c..ddcb8c0f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Upcoming Wekan release +# v1.48 2018-09-17 Wekan release This release removes the following new features: diff --git a/package.json b/package.json index 0244ea0e..ee370ed1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "1.46.0", + "version": "1.48.0", "description": "The open-source kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index efe16ffd..03c9bc35 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 = 131, + appVersion = 133, # Increment this for every release. - appMarketingVersion = (defaultText = "1.46.0~2018-09-15"), + appMarketingVersion = (defaultText = "1.48.0~2018-09-17"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, -- cgit v1.2.3-1-g7c22 From eb8c1530a5363f4e2fac42860b883038d8565d33 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 17 Sep 2018 15:53:03 +0300 Subject: Fix lint errors. --- models/users.js | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/models/users.js b/models/users.js index 070cbc40..07a3f75c 100644 --- a/models/users.js +++ b/models/users.js @@ -488,29 +488,29 @@ if (Meteor.isServer) { return user; } -// if (user.services.oidc) { -// const email = user.services.oidc.email.toLowerCase(); -// -// user.username = user.services.oidc.username; -// user.emails = [{ address: email, verified: true }]; -// const initials = user.services.oidc.fullname.match(/\b[a-zA-Z]/g).join('').toUpperCase(); -// user.profile = { initials, fullname: user.services.oidc.fullname }; -// -// // see if any existing user has this email address or username, otherwise create new -// const existingUser = Meteor.users.findOne({$or: [{'emails.address': email}, {'username':user.username}]}); -// if (!existingUser) -// return user; -// -// // copy across new service info -// const service = _.keys(user.services)[0]; -// existingUser.services[service] = user.services[service]; -// existingUser.emails = user.emails; -// existingUser.username = user.username; -// existingUser.profile = user.profile; -// -// Meteor.users.remove({_id: existingUser._id}); // remove existing record -// return existingUser; -// } + // if (user.services.oidc) { + // const email = user.services.oidc.email.toLowerCase(); + // + // user.username = user.services.oidc.username; + // user.emails = [{ address: email, verified: true }]; + // const initials = user.services.oidc.fullname.match(/\b[a-zA-Z]/g).join('').toUpperCase(); + // user.profile = { initials, fullname: user.services.oidc.fullname }; + // + // // see if any existing user has this email address or username, otherwise create new + // const existingUser = Meteor.users.findOne({$or: [{'emails.address': email}, {'username':user.username}]}); + // if (!existingUser) + // return user; + // + // // copy across new service info + // const service = _.keys(user.services)[0]; + // existingUser.services[service] = user.services[service]; + // existingUser.emails = user.emails; + // existingUser.username = user.username; + // existingUser.profile = user.profile; + // + // Meteor.users.remove({_id: existingUser._id}); // remove existing record + // return existingUser; + // } if (options.from === 'admin') { user.createdThroughApi = true; -- cgit v1.2.3-1-g7c22 From ddb8c28c3873efc55c1e18385c1e9a46c8e54b2b Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 17 Sep 2018 16:27:49 +0300 Subject: Update translations. --- i18n/he.i18n.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json index 053d18c6..8c912d00 100644 --- a/i18n/he.i18n.json +++ b/i18n/he.i18n.json @@ -47,7 +47,7 @@ "activity-unchecked-item": "unchecked %s in checklist %s of %s", "activity-checklist-added": "נוספה רשימת משימות אל %s", "activity-checklist-removed": "הוסרה רשימת משימות מ־%s", - "activity-checklist-completed": "completed the checklist %s of %s", + "activity-checklist-completed": "רשימת המשימות %s מתוך %s הושלמה", "activity-checklist-uncompleted": "uncompleted the checklist %s of %s", "activity-checklist-item-added": "נוסף פריט רשימת משימות אל ‚%s‘ תחת %s", "activity-checklist-item-removed": "removed a checklist item from '%s' in %s", @@ -584,10 +584,10 @@ "r-to": "אל", "r-subject": "נושא", "r-rule-details": "פרטי הכלל", - "r-d-move-to-top-gen": "Move card to top of its list", - "r-d-move-to-top-spec": "Move card to top of list", - "r-d-move-to-bottom-gen": "Move card to bottom of its list", - "r-d-move-to-bottom-spec": "Move card to bottom of list", + "r-d-move-to-top-gen": "העברת כרטיס לראש הרשימה שלו", + "r-d-move-to-top-spec": "העברת כרטיס לראש רשימה", + "r-d-move-to-bottom-gen": "העברת כרטיס לתחתית הרשימה שלו", + "r-d-move-to-bottom-spec": "העברת כרטיס לתחתית רשימה", "r-d-send-email": "שליחת דוא״ל", "r-d-send-email-to": "אל", "r-d-send-email-subject": "נושא", -- cgit v1.2.3-1-g7c22 From 4e21004c42504a584ca7964421f0f6961bc17425 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 17 Sep 2018 16:30:30 +0300 Subject: v1.49 --- CHANGELOG.md | 8 ++++++++ package.json | 2 +- sandstorm-pkgdef.capnp | 4 ++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ddcb8c0f..2fb48ac8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# v1.49 2018-09-17 Wekan release + +This release fixes the following bugs: + +- Fix lint errors. + +Thanks to GitHub user xet7 for contributions. + # v1.48 2018-09-17 Wekan release This release removes the following new features: diff --git a/package.json b/package.json index ee370ed1..c709a96c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "1.48.0", + "version": "1.49.0", "description": "The open-source kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 03c9bc35..449d46ec 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 = 133, + appVersion = 134, # Increment this for every release. - appMarketingVersion = (defaultText = "1.48.0~2018-09-17"), + appMarketingVersion = (defaultText = "1.49.0~2018-09-17"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, -- cgit v1.2.3-1-g7c22 From e7a03bb18747f349227fce0fa12f0ececfc009f4 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 17 Sep 2018 20:39:49 +0300 Subject: - Use official Node v8.12.0 Thanks to xet7 ! --- Dockerfile | 10 +++++----- snapcraft.yaml | 18 +++++++++--------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index eae85b1e..54cb6aec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -63,8 +63,8 @@ RUN \ apt-get update -y && apt-get install -y --no-install-recommends ${BUILD_DEPS} && \ \ # Download nodejs - #wget https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \ - #wget https://nodejs.org/dist/${NODE_VERSION}/SHASUMS256.txt.asc && \ + wget https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \ + wget https://nodejs.org/dist/${NODE_VERSION}/SHASUMS256.txt.asc && \ #--------------------------------------------------------------------------------------------- # Node Fibers 100% CPU usage issue: # https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161 @@ -73,10 +73,10 @@ RUN \ # Also see beginning of wekan/server/authentication.js # import Fiber from "fibers"; # Fiber.poolSize = 1e9; - # Download node version 8.12.0 prerelease that has fix included, + # OLD: Download node version 8.12.0 prerelease that has fix included, => Official 8.12.0 has been released # Description at https://releases.wekan.team/node.txt - wget https://releases.wekan.team/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \ - echo "1ed54adb8497ad8967075a0b5d03dd5d0a502be43d4a4d84e5af489c613d7795 node-v8.12.0-linux-x64.tar.gz" >> SHASUMS256.txt.asc && \ + #wget https://releases.wekan.team/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \ + #echo "1ed54adb8497ad8967075a0b5d03dd5d0a502be43d4a4d84e5af489c613d7795 node-v8.12.0-linux-x64.tar.gz" >> SHASUMS256.txt.asc && \ \ # Verify nodejs authenticity grep ${NODE_VERSION}-${ARCHITECTURE}.tar.gz SHASUMS256.txt.asc | shasum -a 256 -c - && \ diff --git a/snapcraft.yaml b/snapcraft.yaml index b91a2754..dbe738d0 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -81,7 +81,7 @@ parts: wekan: source: . plugin: nodejs - node-engine: 8.11.3 + node-engine: 8.12.0 node-packages: - npm - node-gyp @@ -108,16 +108,16 @@ parts: # Also see beginning of wekan/server/authentication.js # import Fiber from "fibers"; # Fiber.poolSize = 1e9; - # Download node version 8.12.0 prerelease build, + # OLD: Download node version 8.12.0 prerelease build => Official node 8.12.0 has been released # Description at https://releases.wekan.team/node.txt - echo "375bd8db50b9c692c0bbba6e96d4114cd29bee3770f901c1ff2249d1038f1348 node" >> node-SHASUMS256.txt.asc - curl https://releases.wekan.team/node -o node + ##echo "375bd8db50b9c692c0bbba6e96d4114cd29bee3770f901c1ff2249d1038f1348 node" >> node-SHASUMS256.txt.asc + ##curl https://releases.wekan.team/node -o node # Verify Fibers patched node authenticity - echo "Fibers 100% CPU issue patched node authenticity:" - grep node node-SHASUMS256.txt.asc | shasum -a 256 -c - - rm -f node-SHASUMS256.txt.asc - chmod +x node - mv node `which node` + ##echo "Fibers 100% CPU issue patched node authenticity:" + ##grep node node-SHASUMS256.txt.asc | shasum -a 256 -c - + ##rm -f node-SHASUMS256.txt.asc + ##chmod +x node + ##mv node `which node` # DOES NOT WORK: paxctl fix. # Removed from build-packages: - paxctl #echo "Applying paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303" -- cgit v1.2.3-1-g7c22 From bfabd6346033c3d3887a4693de8f13bc1705b582 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 17 Sep 2018 20:42:50 +0300 Subject: - Change from Node v8.12.0 prerelease to use official Node v8.12.0. Thanks to GitHub user xet7 for contributions. --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fb48ac8..dea3026a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# Upcoming Wekan release + +This release adds the following new features: + +- Change from Node v8.12.0 prerelease to use official Node v8.12.0. + +Thanks to GitHub user xet7 for contributions. + # v1.49 2018-09-17 Wekan release This release fixes the following bugs: -- cgit v1.2.3-1-g7c22 From 51c21fe63909df81432db569aab5cf621105cab5 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 18 Sep 2018 21:54:10 +0300 Subject: Update translations. --- i18n/fr.i18n.json | 2 +- i18n/pl.i18n.json | 140 +++++++++++++++++++++++++++--------------------------- 2 files changed, 71 insertions(+), 71 deletions(-) diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index a7bbcd3d..cae6cd81 100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -601,7 +601,7 @@ "r-d-remove-all-member": "Supprimer tous les membres", "r-d-check-all": "Cocher tous les éléments d'une liste", "r-d-uncheck-all": "Décocher tous les éléments d'une liste", - "r-d-check-one": "Cocker l'élément", + "r-d-check-one": "Cocher l'élément", "r-d-uncheck-one": "Décocher l'élément", "r-d-check-of-list": "de la checklist", "r-d-add-checklist": "Ajouter une checklist", diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index 60f591c3..61aa6fa3 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -59,7 +59,7 @@ "add-attachment": "Dodaj załącznik", "add-board": "Dodaj tablicę", "add-card": "Dodaj kartę", - "add-swimlane": "Add Swimlane", + "add-swimlane": "Dodaj diagram czynności", "add-subtask": "Dodano Podzadanie", "add-checklist": "Dodaj listę kontrolną", "add-checklist-item": "Dodaj element do listy kontrolnej", @@ -84,7 +84,7 @@ "archive-board": "Przenieś Tablicę do Kosza", "archive-card": "Przenieś Kartę do Kosza", "archive-list": "Przenieś Listę do Kosza", - "archive-swimlane": "Move Swimlane to Recycle Bin", + "archive-swimlane": "Przenieś diagram czynności do kosza", "archive-selection": "Przenieś zaznaczenie do Kosza", "archiveBoardPopup-title": "Przenieść Tablicę do Kosza?", "archived-items": "Kosz", @@ -109,12 +109,12 @@ "boardChangeColorPopup-title": "Zmień tło tablicy", "boardChangeTitlePopup-title": "Zmień nazwę tablicy", "boardChangeVisibilityPopup-title": "Zmień widoczność", - "boardChangeWatchPopup-title": "Change Watch", + "boardChangeWatchPopup-title": "Zmień sposób powiadamiania", "boardMenuPopup-title": "Menu tablicy", "boards": "Tablice", "board-view": "Widok tablicy", "board-view-cal": "Kalendarz", - "board-view-swimlanes": "Swimlanes", + "board-view-swimlanes": "Diagramy czynności", "board-view-lists": "Listy", "bucket-example": "Like “Bucket List” for example", "cancel": "Anuluj", @@ -126,15 +126,15 @@ "card-delete-suggest-archive": "Możesz przenieść Kartę do Kosza by usunąć ją z tablicy i zachować aktywności.", "card-due": "Due", "card-due-on": "Due on", - "card-spent": "Spent Time", + "card-spent": "Spędzony czas", "card-edit-attachments": "Edytuj załączniki", "card-edit-custom-fields": "Edytuj niestandardowe pola", "card-edit-labels": "Edytuj etykiety", "card-edit-members": "Edytuj członków", "card-labels-title": "Zmień etykiety karty", "card-members-title": "Dodaj lub usuń członków tablicy z karty.", - "card-start": "Start", - "card-start-on": "Starts on", + "card-start": "Rozpoczęcie", + "card-start-on": "Zaczyna się o", "cardAttachmentsPopup-title": "Załącz z", "cardCustomField-datePopup-title": "Zmień datę", "cardCustomFieldsPopup-title": "Edytuj niestandardowe pola", @@ -145,10 +145,10 @@ "cardMorePopup-title": "Więcej", "cards": "Karty", "cards-count": "Karty", - "casSignIn": "Sign In with CAS", - "cardType-card": "Card", - "cardType-linkedCard": "Linked Card", - "cardType-linkedBoard": "Linked Board", + "casSignIn": "Zaloguj się poprzez CAS", + "cardType-card": "Karta", + "cardType-linkedCard": "Podpięta karta", + "cardType-linkedBoard": "Podpięta tablica", "change": "Zmień", "change-avatar": "Zmień Avatar", "change-password": "Zmień hasło", @@ -159,14 +159,14 @@ "changePasswordPopup-title": "Zmień hasło", "changePermissionsPopup-title": "Zmień uprawnienia", "changeSettingsPopup-title": "Zmień ustawienia", - "subtasks": "Subtasks", + "subtasks": "Podzadania", "checklists": "Listy zadań", "click-to-star": "Kliknij by odznaczyć tę tablicę.", "click-to-unstar": "Kliknij by usunąć odznaczenie tej tablicy.", "clipboard": "Schowek lub przeciągnij & upuść", "close": "Zamknij", "close-board": "Zamknij tablicę", - "close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.", + "close-board-pop": "Będziesz w stanie przywrócić tablicę klikając na \"Kosz\" w nagłówku strony początkowej.", "color-black": "czarny", "color-blue": "niebieski", "color-green": "zielony", @@ -179,16 +179,16 @@ "color-yellow": "żółty", "comment": "Komentarz", "comment-placeholder": "Dodaj komentarz", - "comment-only": "Comment only", - "comment-only-desc": "Can comment on cards only.", - "no-comments": "No comments", - "no-comments-desc": "Can not see comments and activities.", + "comment-only": "Tylko komentowanie", + "comment-only-desc": "Może tylko komentować w kartach.", + "no-comments": "Bez komentarzy", + "no-comments-desc": "Nie widzi komentarzy i aktywności.", "computer": "Komputer", - "confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?", + "confirm-subtask-delete-dialog": "Czy jesteś pewien, że chcesz usunąć to podzadanie?", "confirm-checklist-delete-dialog": "Czy jesteś pewien, że chcesz usunąć listę zadań?", - "copy-card-link-to-clipboard": "Copy card link to clipboard", - "linkCardPopup-title": "Link Card", - "searchCardPopup-title": "Search Card", + "copy-card-link-to-clipboard": "Skopiuj łącze karty do schowka", + "linkCardPopup-title": "Podepnij kartę", + "searchCardPopup-title": "Znajdź kartę", "copyCardPopup-title": "Skopiuj kartę", "copyChecklistToManyCardsPopup-title": "Kopiuj szablon listy zadań do wielu kart", "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", @@ -200,16 +200,16 @@ "createCustomField": "Utwórz pole", "createCustomFieldPopup-title": "Utwórz pole", "current": "obecny", - "custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.", - "custom-field-checkbox": "Checkbox", + "custom-field-delete-pop": "Nie ma możliwości wycofania tej operacji. To usunie te niestandardowe pole ze wszystkich kart oraz usunie ich całą historię.", + "custom-field-checkbox": "Pole wyboru", "custom-field-date": "Data", - "custom-field-dropdown": "Dropdown List", - "custom-field-dropdown-none": "(none)", - "custom-field-dropdown-options": "List Options", - "custom-field-dropdown-options-placeholder": "Press enter to add more options", - "custom-field-dropdown-unknown": "(unknown)", - "custom-field-number": "Number", - "custom-field-text": "Text", + "custom-field-dropdown": "Lista rozwijana", + "custom-field-dropdown-none": "(puste)", + "custom-field-dropdown-options": "Opcje listy", + "custom-field-dropdown-options-placeholder": "Naciśnij przycisk Enter by zobaczyć więcej opcji", + "custom-field-dropdown-unknown": "(nieznany)", + "custom-field-number": "Numer", + "custom-field-text": "Tekst", "custom-fields": "Niestandardowe pola", "date": "Data", "decline": "Odrzuć", @@ -228,18 +228,18 @@ "edit-profile": "Edytuj profil", "edit-wip-limit": "Edit WIP Limit", "soft-wip-limit": "Soft WIP Limit", - "editCardStartDatePopup-title": "Change start date", + "editCardStartDatePopup-title": "Zmień datę rozpoczęcia", "editCardDueDatePopup-title": "Change due date", - "editCustomFieldPopup-title": "Edit Field", - "editCardSpentTimePopup-title": "Change spent time", + "editCustomFieldPopup-title": "Edytuj pole", + "editCardSpentTimePopup-title": "Zmień spędzony czas", "editLabelPopup-title": "Zmień etykietę", - "editNotificationPopup-title": "Edit Notification", + "editNotificationPopup-title": "Edytuj powiadomienia", "editProfilePopup-title": "Edytuj profil", "email": "Email", "email-enrollAccount-subject": "Konto zostało utworzone na __siteName__", "email-enrollAccount-text": "Witaj __user__,\nAby zacząć korzystać z serwisu, kliknij w link poniżej.\n__url__\nDzięki.", "email-fail": "Wysyłanie emaila nie powiodło się.", - "email-fail-text": "Error trying to send email", + "email-fail-text": "Bład w trakcie wysyłania wiadomości email", "email-invalid": "Nieprawidłowy email", "email-invite": "Zaproś przez email", "email-invite-subject": "__inviter__ wysłał Ci zaproszenie", @@ -260,18 +260,18 @@ "error-user-notAllowSelf": "Nie możesz zaprosić samego siebie", "error-user-notCreated": "Ten użytkownik nie został stworzony", "error-username-taken": "Ta nazwa jest już zajęta", - "error-email-taken": "Email has already been taken", + "error-email-taken": "Adres email jest już zarezerwowany", "export-board": "Eksportuj tablicę", "filter": "Filtr", "filter-cards": "Odfiltruj karty", "filter-clear": "Usuń filter", "filter-no-label": "Brak etykiety", - "filter-no-member": "No member", - "filter-no-custom-fields": "No Custom Fields", + "filter-no-member": "Brak członków", + "filter-no-custom-fields": "Brak niestandardowych pól", "filter-on": "Filtr jest włączony", "filter-on-desc": "Filtrujesz karty na tej tablicy. Kliknij tutaj by edytować filtr.", "filter-to-selection": "Odfiltruj zaznaczenie", - "advanced-filter-label": "Advanced Filter", + "advanced-filter-label": "Zaawansowane filtry", "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i", "fullname": "Full Name", "header-logo-title": "Wróć do swojej strony z tablicami.", @@ -284,17 +284,17 @@ "import-board-c": "Import tablicy", "import-board-title-trello": "Import board from Trello", "import-board-title-wekan": "Importuj tablice z Wekan", - "import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.", + "import-sandstorm-warning": "Zaimportowana tablica usunie wszystkie istniejące dane na aktualnej tablicy oraz zastąpi ją danymi z tej importowanej.", "from-trello": "Z Trello", "from-wekan": "Z Wekan", "import-board-instruction-trello": "W twojej tablicy na Trello, idź do 'Menu', następnie 'More', 'Print and Export', 'Export JSON' i skopiuj wynik", "import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.", "import-json-placeholder": "Wklej twój JSON tutaj", - "import-map-members": "Map members", + "import-map-members": "Przypisz członków", "import-members-map": "Twoje zaimportowane tablice mają kilku członków. Proszę wybierz członków których chcesz zaimportować do Wekan", "import-show-user-mapping": "Przejrzyj wybranych członków", "import-user-select": "Pick the Wekan user you want to use as this member", - "importMapMembersAddPopup-title": "Select Wekan member", + "importMapMembersAddPopup-title": "Wybierz użytkownika", "info": "Wersja", "initials": "Initials", "invalid-date": "Błędna data", @@ -310,22 +310,22 @@ "language": "Język", "last-admin-desc": "You can’t change roles because there must be at least one admin.", "leave-board": "Opuść tablicę", - "leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.", + "leave-board-pop": "Czy jesteś pewien, że chcesz opuścić tablicę __boardTitle__? Zostaniesz usunięty ze wszystkich kart tej tablicy.", "leaveBoardPopup-title": "Opuścić tablicę?", "link-card": "Link do tej karty", - "list-archive-cards": "Move all cards in this list to Recycle Bin", + "list-archive-cards": "Przenieś wszystkie karty tej listy do Kosza.", "list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.", "list-move-cards": "Przenieś wszystkie karty z tej listy", "list-select-cards": "Zaznacz wszystkie karty z tej listy", "listActionPopup-title": "Lista akcji", - "swimlaneActionPopup-title": "Swimlane Actions", + "swimlaneActionPopup-title": "Opcje diagramu czynności", "listImportCardPopup-title": "Zaimportuj kartę z Trello", "listMorePopup-title": "Więcej", - "link-list": "Link to this list", - "list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.", - "list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.", + "link-list": "Podepnij do tej listy", + "list-delete-pop": "Wszystkie czynności zostaną usunięte z Aktywności i nie będziesz w stanie przywrócić listy. Nie ma możliwości cofnięcia tej operacji.", + "list-delete-suggest-archive": "Możesz przenieść listę do Kosza i usunąć ją z tablicy zachowując aktywności.", "lists": "Listy", - "swimlanes": "Swimlanes", + "swimlanes": "Diagramy czynności", "log-out": "Wyloguj", "log-in": "Zaloguj", "loginPopup-title": "Zaloguj", @@ -334,8 +334,8 @@ "menu": "Menu", "move-selection": "Przenieś zaznaczone", "moveCardPopup-title": "Przenieś kartę", - "moveCardToBottom-title": "Move to Bottom", - "moveCardToTop-title": "Move to Top", + "moveCardToBottom-title": "Przenieś na dół", + "moveCardToTop-title": "Przenieś na górę", "moveSelectionPopup-title": "Przenieś zaznaczone", "multi-selection": "Wielokrotne zaznaczenie", "multi-selection-on": "Wielokrotne zaznaczenie jest włączone", @@ -343,22 +343,22 @@ "muted-info": "Nie zostaniesz powiadomiony o zmianach w tablicy", "my-boards": "Moje tablice", "name": "Nazwa", - "no-archived-cards": "No cards in Recycle Bin.", - "no-archived-lists": "No lists in Recycle Bin.", - "no-archived-swimlanes": "No swimlanes in Recycle Bin.", + "no-archived-cards": "Brak kart w Koszu.", + "no-archived-lists": "Brak list w Koszu.", + "no-archived-swimlanes": "Brak diagramów czynności w Koszu.", "no-results": "Brak wyników", "normal": "Normal", "normal-desc": "Może widzieć i edytować karty. Nie może zmieniać ustawiań.", "not-accepted-yet": "Zaproszenie jeszcze nie zaakceptowane", "notify-participate": "Otrzymuj aktualizacje kart, w których uczestniczysz jako twórca lub członek.", - "notify-watch": "Receive updates to any boards, lists, or cards you’re watching", + "notify-watch": "Otrzymuj powiadomienia z tablic, list i kart, które obserwujesz", "optional": "opcjonalny", "or": "lub", "page-maybe-private": "Ta strona może być prywatna. Możliwe, że możesz ją zobaczyć po zalogowaniu.", "page-not-found": "Strona nie znaleziona.", "password": "Hasło", "paste-or-dragdrop": "wklej lub przeciągnij & upuść obrazek", - "participating": "Participating", + "participating": "Uczestniczysz", "preview": "Podgląd", "previewAttachedImagePopup-title": "Podgląd", "previewClipboardImagePopup-title": "Podgląd", @@ -381,11 +381,11 @@ "restore": "Przywróć", "save": "Zapisz", "search": "Wyszukaj", - "rules": "Rules", - "search-cards": "Search from card titles and descriptions on this board", - "search-example": "Text to search for?", + "rules": "Reguły", + "search-cards": "Szukaj spośród tytułów kart oraz opisów na tej tablicy", + "search-example": "Czego mam szukać?", "select-color": "Wybierz kolor", - "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list", + "set-wip-limit-value": "Ustaw maksymalny limit zadań na tej liście", "setWipLimitPopup-title": "Set WIP Limit", "shortcut-assign-self": "Przypisz siebie do obecnej karty", "shortcut-autocomplete-emoji": "Autocomplete emoji", @@ -396,9 +396,9 @@ "shortcut-show-shortcuts": "Przypnij do listy skrótów", "shortcut-toggle-filterbar": "Przełącz boczny pasek filtru", "shortcut-toggle-sidebar": "Przełącz boczny pasek tablicy", - "show-cards-minimum-count": "Show cards count if list contains more than", - "sidebar-open": "Open Sidebar", - "sidebar-close": "Close Sidebar", + "show-cards-minimum-count": "Pokaż licznik kart, jeśli lista zawiera więcej niż", + "sidebar-open": "Otwórz pasek boczny", + "sidebar-close": "Zamknij pasek boczny", "signupPopup-title": "Utwórz konto", "star-board-title": "Click to star this board. It will show up at top of your boards list.", "starred-boards": "Odznaczone tablice", @@ -407,10 +407,10 @@ "team": "Zespół", "this-board": "ta tablica", "this-card": "ta karta", - "spent-time-hours": "Spent time (hours)", - "overtime-hours": "Overtime (hours)", - "overtime": "Overtime", - "has-overtime-cards": "Has overtime cards", + "spent-time-hours": "Spędzony czas (w godzinach)", + "overtime-hours": "Nadgodziny (czas)", + "overtime": "Dodatkowo", + "has-overtime-cards": "Ma dodatkowych kart", "has-spenttime-cards": "Has spent time cards", "time": "Czas", "title": "Tytuł", @@ -444,7 +444,7 @@ "disable-self-registration": "Wyłącz rejestrację samodzielną", "invite": "Zaproś", "invite-people": "Zaproś osoby", - "to-boards": "To board(s)", + "to-boards": "Do tablic(y)", "email-addresses": "Adres e-mail", "smtp-host-description": "Adres serwera SMTP, który wysyła Twoje maile.", "smtp-port-description": "Port, który Twój serwer SMTP wykorzystuje do wysyłania emaili.", @@ -473,7 +473,7 @@ "OS_Cpus": "Ilość rdzeni systemu operacyjnego", "OS_Freemem": "Wolna pamięć RAM", "OS_Loadavg": "Średnie obciążenie systemu operacyjnego", - "OS_Platform": "OS Platform", + "OS_Platform": "Platforma systemu", "OS_Release": "Wersja systemu operacyjnego", "OS_Totalmem": "Dostępna pamięć RAM", "OS_Type": "Wersja systemu operacyjnego", @@ -546,7 +546,7 @@ "r-a-card": "karta", "r-when-a-label-is": "Gdy etykieta jest", "r-when-the-label-is": "Gdy etykieta jest", - "r-list-name": "List name", + "r-list-name": "Nazwa listy", "r-when-a-member": "Gdy członek jest", "r-when-the-member": "Gdy członek jest", "r-name": "nazwa", -- cgit v1.2.3-1-g7c22 From 352e9033b6efb212e65e34bb9c407bb1d7dce824 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 19 Sep 2018 19:13:07 +0300 Subject: - Fix Dockerfile Meteor install by changing tar to bsdtar. Thanks to maurice-schleussinger and xet7 ! Closes #1900 --- Dockerfile | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 54cb6aec..1d0f20e6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,7 +28,7 @@ ARG OAUTH2_TOKEN_ENDPOINT # Set the environment variables (defaults where required) # DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303 # ENV BUILD_DEPS="paxctl" -ENV BUILD_DEPS="apt-utils gnupg gosu wget curl bzip2 build-essential python git ca-certificates gcc-7" \ +ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential python git ca-certificates gcc-7" \ NODE_VERSION=v8.12.0 \ METEOR_RELEASE=1.6.0.1 \ USE_EDGE=false \ @@ -62,6 +62,11 @@ RUN \ # OS dependencies apt-get update -y && apt-get install -y --no-install-recommends ${BUILD_DEPS} && \ \ + # Meteor installer doesn't work with the default tar binary, so using bsdtar while installing. + # https://github.com/coreos/bugs/issues/1095#issuecomment-350574389 + cp $(which tar) $(which tar)~ && \ + ln -sf $(which bsdtar) $(which tar) && \ + \ # Download nodejs wget https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \ wget https://nodejs.org/dist/${NODE_VERSION}/SHASUMS256.txt.asc && \ @@ -123,8 +128,10 @@ RUN \ # Change user to wekan and install meteor cd /home/wekan/ && \ chown wekan:wekan --recursive /home/wekan && \ - curl https://install.meteor.com -o /home/wekan/install_meteor.sh && \ - sed -i "s|RELEASE=.*|RELEASE=${METEOR_RELEASE}\"\"|g" ./install_meteor.sh && \ + curl "https://install.meteor.com/?release=${METEOR_RELEASE}" -o /home/wekan/install_meteor.sh && \ + # OLD: sed -i "s|RELEASE=.*|RELEASE=${METEOR_RELEASE}\"\"|g" ./install_meteor.sh && \ + # Install Meteor forcing its progress + sed -i 's/VERBOSITY="--silent"/VERBOSITY="--progress-bar"/' ./install_meteor.sh && \ echo "Starting meteor ${METEOR_RELEASE} installation... \n" && \ chown wekan:wekan /home/wekan/install_meteor.sh && \ \ @@ -163,6 +170,9 @@ RUN \ #gosu wekan:wekan npm install bcrypt && \ mv /home/wekan/app_build/bundle /build && \ \ + # Put back the original tar + mv $(which tar)~ $(which tar) && \ + \ # Cleanup apt-get remove --purge -y ${BUILD_DEPS} && \ apt-get autoremove -y && \ -- cgit v1.2.3-1-g7c22 From ff2d467d42962bf83f0e20d9e2bb6832ffffcb07 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 19 Sep 2018 19:17:05 +0300 Subject: - Fix Dockerfile Meteor install by changing tar to bsdtar. Thanks to maurice-schleussinger and xet7 ! Closes #1900 --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dea3026a..af00b931 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,10 @@ This release adds the following new features: -- Change from Node v8.12.0 prerelease to use official Node v8.12.0. +- [Change from Node v8.12.0 prerelease to use official Node v8.12.0](https://github.com/wekan/wekan/commit/bfabd6346033c3d3887a4693de8f13bc1705b582); +- [Fix Dockerfile Meteor install by changing tar to bsdtar](https://github.com/wekan/wekan/commit/352e9033b6efb212e65e34bb9c407bb1d7dce824). -Thanks to GitHub user xet7 for contributions. +Thanks to GitHub users maurice-schleussinger and xet7 for their contributions. # v1.49 2018-09-17 Wekan release -- cgit v1.2.3-1-g7c22 From 94cd2ce69098f02e4ac4bebb1a2b5eaf919f1020 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Thu, 20 Sep 2018 20:38:17 +0300 Subject: Add more debug log requirements --- .github/ISSUE_TEMPLATE.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index f1dad78f..dca55329 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -13,6 +13,9 @@ * ROOT_URL environment variable http(s)://(subdomain).example.com(/suburl): **Problem description**: -- *REQUIRED: Add recorded animated gif about how it works currently, and screenshot mockups how it should work* +- *REQUIRED: Add recorded animated gif about how it works currently, and screenshot mockups how it should work. Use peek to record animgif in Linux https://github.com/phw/peek* - *Explain steps how to reproduce* -- *Attach log files in .zip file)* +- *In webbrowser, what does show Right Click / Inspect / Console ? Chrome shows more detailed info than Firefox.* +- *If using Snap, what does show command `sudo snap logs wekan.wekan` ?* +- *If using Docker, what does show command `sudo docker logs wekan-app` ?* +- *If logs are very long, attach them in .zip file* -- cgit v1.2.3-1-g7c22 From f7731f4f5ec27e63e74a3265d105427ef3c0985a Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Thu, 20 Sep 2018 20:40:40 +0300 Subject: - Add npm-debug.log to .gitignore Thanks to xet7 ! --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3b63d811..d24d5422 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ *.sublime-workspace tmp/ node_modules/ +npm-debug.log .vscode/ .idea/ .build/* -- cgit v1.2.3-1-g7c22 From d652eb5cee3fd648a6023e38db444ad460ddef7e Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Thu, 20 Sep 2018 20:41:41 +0300 Subject: - Add .DS_Store to .gitignore Thansk to xet7 ! --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d24d5422..7a56bd2e 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ package-lock.json **/*.snap snap/.snapcraft/ .idea +.DS_Store -- cgit v1.2.3-1-g7c22 From 4f544429474813106a530215eab1908c6308a876 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Thu, 20 Sep 2018 20:51:17 +0300 Subject: - Update readme. Thanks to xet7 ! --- CHANGELOG.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af00b931..4fc281c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,14 @@ This release adds the following new features: -- [Change from Node v8.12.0 prerelease to use official Node v8.12.0](https://github.com/wekan/wekan/commit/bfabd6346033c3d3887a4693de8f13bc1705b582); -- [Fix Dockerfile Meteor install by changing tar to bsdtar](https://github.com/wekan/wekan/commit/352e9033b6efb212e65e34bb9c407bb1d7dce824). +- [Change from Node v8.12.0 prerelease to use official Node v8.12.0](https://github.com/wekan/wekan/commit/bfabd6346033c3d3887a4693de8f13bc1705b582). + +and fixes the following bugs: + +- [Fix Dockerfile Meteor install by changing tar to bsdtar](https://github.com/wekan/wekan/commit/352e9033b6efb212e65e34bb9c407bb1d7dce824); +- Add [npm-debug.log](https://github.com/wekan/wekan/commit/f7731f4f5ec27e63e74a3265d105427ef3c0985a) and + [.DS_Store](https://github.com/wekan/wekan/commit/d652eb5cee3fd648a6023e38db444ad460ddef7e) to .gitignore; +- [Add more debug log requirements to GitHub issue template](https://github.com/wekan/wekan/commit/94cd2ce69098f02e4ac4bebb1a2b5eaf919f1020). Thanks to GitHub users maurice-schleussinger and xet7 for their contributions. -- cgit v1.2.3-1-g7c22 From 39099106c6739c8ac4e0dca4ddee98422b554473 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Thu, 20 Sep 2018 20:51:17 +0300 Subject: - Update ChangeLog. Thanks to xet7 ! --- CHANGELOG.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af00b931..4fc281c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,14 @@ This release adds the following new features: -- [Change from Node v8.12.0 prerelease to use official Node v8.12.0](https://github.com/wekan/wekan/commit/bfabd6346033c3d3887a4693de8f13bc1705b582); -- [Fix Dockerfile Meteor install by changing tar to bsdtar](https://github.com/wekan/wekan/commit/352e9033b6efb212e65e34bb9c407bb1d7dce824). +- [Change from Node v8.12.0 prerelease to use official Node v8.12.0](https://github.com/wekan/wekan/commit/bfabd6346033c3d3887a4693de8f13bc1705b582). + +and fixes the following bugs: + +- [Fix Dockerfile Meteor install by changing tar to bsdtar](https://github.com/wekan/wekan/commit/352e9033b6efb212e65e34bb9c407bb1d7dce824); +- Add [npm-debug.log](https://github.com/wekan/wekan/commit/f7731f4f5ec27e63e74a3265d105427ef3c0985a) and + [.DS_Store](https://github.com/wekan/wekan/commit/d652eb5cee3fd648a6023e38db444ad460ddef7e) to .gitignore; +- [Add more debug log requirements to GitHub issue template](https://github.com/wekan/wekan/commit/94cd2ce69098f02e4ac4bebb1a2b5eaf919f1020). Thanks to GitHub users maurice-schleussinger and xet7 for their contributions. -- cgit v1.2.3-1-g7c22 From 12656ee9a13d2464cdc183590c76d3e09486c607 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sat, 22 Sep 2018 00:57:25 +0300 Subject: - Add default Wekan Snap MongoDB bind IP 127.0.0.1 Related #1908 --- snap-src/bin/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap-src/bin/config b/snap-src/bin/config index ffc39459..a54b13c2 100755 --- a/snap-src/bin/config +++ b/snap-src/bin/config @@ -17,7 +17,7 @@ DEFAULT_MONGODB_PORT="27019" KEY_MONGODB_PORT='mongodb-port' DESCRIPTION_MONGODB_BIND_IP="mongodb binding ip address: eg 127.0.0.1 for localhost\n\t\tIf not defined default unix socket is used instead" -DEFAULT_MONGODB_BIND_IP="" +DEFAULT_MONGODB_BIND_IP="127.0.0.1" KEY_MONGODB_BIND_IP="mongodb-bind-ip" DESCRIPTION_MAIL_URL="wekan mail binding" -- cgit v1.2.3-1-g7c22 From 73480a3e1c8e032d2216489a35770a90537653fb Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sat, 22 Sep 2018 01:11:31 +0300 Subject: v1.50 --- CHANGELOG.md | 5 +++-- package.json | 2 +- sandstorm-pkgdef.capnp | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fc281c4..7375d2d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Upcoming Wekan release +# v1.50 2018-09-22 Wekan release This release adds the following new features: @@ -9,7 +9,8 @@ and fixes the following bugs: - [Fix Dockerfile Meteor install by changing tar to bsdtar](https://github.com/wekan/wekan/commit/352e9033b6efb212e65e34bb9c407bb1d7dce824); - Add [npm-debug.log](https://github.com/wekan/wekan/commit/f7731f4f5ec27e63e74a3265d105427ef3c0985a) and [.DS_Store](https://github.com/wekan/wekan/commit/d652eb5cee3fd648a6023e38db444ad460ddef7e) to .gitignore; -- [Add more debug log requirements to GitHub issue template](https://github.com/wekan/wekan/commit/94cd2ce69098f02e4ac4bebb1a2b5eaf919f1020). +- [Add more debug log requirements to GitHub issue template](https://github.com/wekan/wekan/commit/94cd2ce69098f02e4ac4bebb1a2b5eaf919f1020); +- [Add default Wekan Snap MongoDB bind IP 127.0.0.1](https://github.com/wekan/wekan/commit/12656ee9a13d2464cdc183590c76d3e09486c607). Thanks to GitHub users maurice-schleussinger and xet7 for their contributions. diff --git a/package.json b/package.json index c709a96c..51e9bd7d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "1.49.0", + "version": "1.50.0", "description": "The open-source kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 449d46ec..6b1f1634 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 = 134, + appVersion = 135, # Increment this for every release. - appMarketingVersion = (defaultText = "1.49.0~2018-09-17"), + appMarketingVersion = (defaultText = "1.50.0~2018-09-22"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, -- cgit v1.2.3-1-g7c22 From 8c85955e6b10d679076d538d6bd42bcffa223d53 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sat, 22 Sep 2018 10:16:06 +0300 Subject: Update translations (pl). --- i18n/pl.i18n.json | 186 +++++++++++++++++++++++++++--------------------------- 1 file changed, 93 insertions(+), 93 deletions(-) diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index 61aa6fa3..ef69d399 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -1,7 +1,7 @@ { "accept": "Akceptuj", "act-activity-notify": "[Wekan] Powiadomienia - aktywności", - "act-addAttachment": "dodano załącznik __attachement__ do __karty__", + "act-addAttachment": "dodano załącznik __attachement__ do __card__", "act-addSubtask": "dodano podzadanie __checklist__ do __card__", "act-addChecklist": "dodano listę zadań __checklist__ to __card__", "act-addChecklistItem": "dodano __checklistItem__ do listy zadań __checklist__ na karcie __card__", @@ -26,7 +26,7 @@ "act-withBoardTitle": "[Wekan] __board__", "act-withCardTitle": "[__board__] __card__", "actions": "Akcje", - "activities": "Aktywności", + "activities": "Ostatnia aktywność", "activity": "Aktywność", "activity-added": "dodano %s z %s", "activity-archived": "%s przeniesiono do Kosza", @@ -60,7 +60,7 @@ "add-board": "Dodaj tablicę", "add-card": "Dodaj kartę", "add-swimlane": "Dodaj diagram czynności", - "add-subtask": "Dodano Podzadanie", + "add-subtask": "Dodano podzadanie", "add-checklist": "Dodaj listę kontrolną", "add-checklist-item": "Dodaj element do listy kontrolnej", "add-cover": "Dodaj okładkę", @@ -69,28 +69,28 @@ "add-members": "Dodaj członków", "added": "Dodano", "addMemberPopup-title": "Członkowie", - "admin": "Admin", + "admin": "Administrator", "admin-desc": "Może widzieć i edytować karty, usuwać członków oraz zmieniać ustawienia tablicy.", "admin-announcement": "Ogłoszenie", - "admin-announcement-active": "Aktywne Ogólnosystemowe Ogłoszenie ", - "admin-announcement-title": "Ogłoszenie od Administratora", + "admin-announcement-active": "Włącz ogłoszenie systemowe", + "admin-announcement-title": "Ogłoszenie od administratora", "all-boards": "Wszystkie tablice", "and-n-other-card": "And __count__ other card", "and-n-other-card_plural": "And __count__ other cards", "apply": "Zastosuj", - "app-is-offline": "Wekan jest aktualnie ładowany, proszę czekać. Odświeżenie strony spowoduję utratę danych. Jeżeli Wekan się nie ładuje, prosimy o upewnienie się czy serwer Wekan nie został zatrzymany.", + "app-is-offline": "Wekan jest aktualnie ładowany, proszę czekać. Odświeżenie strony spowoduję utratę danych. Jeżeli Wekan się nie ładuje, upewnij się czy serwer Wekan nie został zatrzymany.", "archive": "Przenieś do Kosza", - "archive-all": "Przenieś Wszystkie do Kosza", - "archive-board": "Przenieś Tablicę do Kosza", - "archive-card": "Przenieś Kartę do Kosza", - "archive-list": "Przenieś Listę do Kosza", + "archive-all": "Przenieś wszystko do Kosza", + "archive-board": "Przenieś tablicę do Kosza", + "archive-card": "Przenieś kartę do Kosza", + "archive-list": "Przenieś listę do Kosza", "archive-swimlane": "Przenieś diagram czynności do kosza", "archive-selection": "Przenieś zaznaczenie do Kosza", - "archiveBoardPopup-title": "Przenieść Tablicę do Kosza?", + "archiveBoardPopup-title": "Czy przenieść tablicę do Kosza?", "archived-items": "Kosz", "archived-boards": "Tablice w Koszu", "restore-board": "Przywróć tablicę", - "no-archived-boards": "Brak Tablic w Koszu.", + "no-archived-boards": "Brak tablic w Koszu.", "archives": "Kosz", "assign-member": "Dodaj członka", "attached": "załączono", @@ -108,7 +108,7 @@ "board-public-info": "Ta tablica będzie publiczna.", "boardChangeColorPopup-title": "Zmień tło tablicy", "boardChangeTitlePopup-title": "Zmień nazwę tablicy", - "boardChangeVisibilityPopup-title": "Zmień widoczność", + "boardChangeVisibilityPopup-title": "Zmień widoczność tablicy", "boardChangeWatchPopup-title": "Zmień sposób powiadamiania", "boardMenuPopup-title": "Menu tablicy", "boards": "Tablice", @@ -116,7 +116,7 @@ "board-view-cal": "Kalendarz", "board-view-swimlanes": "Diagramy czynności", "board-view-lists": "Listy", - "bucket-example": "Like “Bucket List” for example", + "bucket-example": "Tak jak na przykład \"lista kubełkowa\"", "cancel": "Anuluj", "card-archived": "Ta Karta została przeniesiona do Kosza.", "board-archived": "Ta Tablica została przeniesiona do Kosza.", @@ -124,8 +124,8 @@ "card-delete-notice": "Usunięcie jest trwałe. Stracisz wszystkie akcje powiązane z tą kartą.", "card-delete-pop": "Wszystkie akcje będą usunięte z widoku aktywności, nie można będzie ponownie otworzyć karty. Usunięcie jest nieodwracalne.", "card-delete-suggest-archive": "Możesz przenieść Kartę do Kosza by usunąć ją z tablicy i zachować aktywności.", - "card-due": "Due", - "card-due-on": "Due on", + "card-due": "Ukończenie\n", + "card-due-on": "Ukończenie w", "card-spent": "Spędzony czas", "card-edit-attachments": "Edytuj załączniki", "card-edit-custom-fields": "Edytuj niestandardowe pola", @@ -139,7 +139,7 @@ "cardCustomField-datePopup-title": "Zmień datę", "cardCustomFieldsPopup-title": "Edytuj niestandardowe pola", "cardDeletePopup-title": "Usunąć kartę?", - "cardDetailsActionsPopup-title": "Card Actions", + "cardDetailsActionsPopup-title": "Czynności kart", "cardLabelsPopup-title": "Etykiety", "cardMembersPopup-title": "Członkowie", "cardMorePopup-title": "Więcej", @@ -150,11 +150,11 @@ "cardType-linkedCard": "Podpięta karta", "cardType-linkedBoard": "Podpięta tablica", "change": "Zmień", - "change-avatar": "Zmień Avatar", + "change-avatar": "Zmień avatar", "change-password": "Zmień hasło", "change-permissions": "Zmień uprawnienia", "change-settings": "Zmień ustawienia", - "changeAvatarPopup-title": "Zmień Avatar", + "changeAvatarPopup-title": "Zmień avatar", "changeLanguagePopup-title": "Zmień język", "changePasswordPopup-title": "Zmień hasło", "changePermissionsPopup-title": "Zmień uprawnienia", @@ -191,8 +191,8 @@ "searchCardPopup-title": "Znajdź kartę", "copyCardPopup-title": "Skopiuj kartę", "copyChecklistToManyCardsPopup-title": "Kopiuj szablon listy zadań do wielu kart", - "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-instructions": "Docelowe tytuły i opisy kart są w formacie JSON", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Tytuł pierwszej karty\", \"description\":\"Opis pierwszej karty\"}, {\"title\":\"Tytuł drugiej karty\",\"description\":\"Opis drugiej karty\"},{\"title\":\"Tytuł ostatniej karty\",\"description\":\"Opis ostatniej karty\"} ]", "create": "Utwórz", "createBoardPopup-title": "Utwórz tablicę", "chooseBoardSourcePopup-title": "Import tablicy", @@ -218,22 +218,22 @@ "deleteCustomFieldPopup-title": "Usunąć niestandardowe pole?", "deleteLabelPopup-title": "Usunąć etykietę?", "description": "Opis", - "disambiguateMultiLabelPopup-title": "Disambiguate Label Action", - "disambiguateMultiMemberPopup-title": "Disambiguate Member Action", + "disambiguateMultiLabelPopup-title": "Ujednolić etykiety czynności", + "disambiguateMultiMemberPopup-title": "Ujednolić etykiety członków", "discard": "Odrzuć", "done": "Zrobiono", "download": "Pobierz", "edit": "Edytuj", - "edit-avatar": "Zmień Avatar", + "edit-avatar": "Zmień avatar", "edit-profile": "Edytuj profil", - "edit-wip-limit": "Edit WIP Limit", - "soft-wip-limit": "Soft WIP Limit", + "edit-wip-limit": "Zmień limit kart na liście", + "soft-wip-limit": "Pozwól na nadmiarowe karty na liście", "editCardStartDatePopup-title": "Zmień datę rozpoczęcia", - "editCardDueDatePopup-title": "Change due date", + "editCardDueDatePopup-title": "Zmień datę ukończenia", "editCustomFieldPopup-title": "Edytuj pole", "editCardSpentTimePopup-title": "Zmień spędzony czas", "editLabelPopup-title": "Zmień etykietę", - "editNotificationPopup-title": "Edytuj powiadomienia", + "editNotificationPopup-title": "Zmień tryb powiadamiania", "editProfilePopup-title": "Edytuj profil", "email": "Email", "email-enrollAccount-subject": "Konto zostało utworzone na __siteName__", @@ -249,12 +249,12 @@ "email-sent": "Email wysłany", "email-verifyEmail-subject": "Zweryfikuj swój adres email na __siteName__", "email-verifyEmail-text": "Witaj __user__,\nAby zweryfikować adres email, kliknij w link poniżej.\n__url__\nDzięki.", - "enable-wip-limit": "Enable WIP Limit", + "enable-wip-limit": "Włącz limit kart na liście", "error-board-doesNotExist": "Ta tablica nie istnieje", "error-board-notAdmin": "Musisz być administratorem tej tablicy żeby to zrobić", - "error-board-notAMember": "Musisz być członkiem tej tablicy żeby to zrobić", - "error-json-malformed": "Twój tekst nie jest poprawnym JSONem", - "error-json-schema": "Twój JSON nie zawiera prawidłowych informacji w poprawnym formacie", + "error-board-notAMember": "Musisz być członkiem tej tablicy, żeby wykonać tę czynność", + "error-json-malformed": "Twoja fraza nie jest w formacie JSON", + "error-json-schema": "Twoje dane JSON nie zawierają prawidłowych informacji w poprawnym formacie", "error-list-doesNotExist": "Ta lista nie isnieje", "error-user-doesNotExist": "Ten użytkownik nie istnieje", "error-user-notAllowSelf": "Nie możesz zaprosić samego siebie", @@ -272,31 +272,31 @@ "filter-on-desc": "Filtrujesz karty na tej tablicy. Kliknij tutaj by edytować filtr.", "filter-to-selection": "Odfiltruj zaznaczenie", "advanced-filter-label": "Zaawansowane filtry", - "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i", - "fullname": "Full Name", + "advanced-filter-description": "Zaawansowane filtry pozwalają na wykorzystanie ciągu znaków wraz z następującymi operatorami: == != <= >= && || (). Spacja jest używana jako separator pomiędzy operatorami. Możesz przefiltrowywać wszystkie niestandardowe pola wpisując ich nazwy lub wartości, na przykład: Pole1 == Wartość1.\nUwaga: Jeśli pola lub wartości zawierają spację, musisz je zawrzeć w pojedyncze cudzysłowie, na przykład: 'Pole 1' == 'Wartość 1'. Dla pojedynczych znaków, które powinny być pominięte należy użyć \\, na przykład Pole1 == I\\'m. Możesz także wykorzystywać mieszane warunki, na przykład P1 == W1 || P1 == W2. Standardowo wszystkie operatory są interpretowane od lewej do prawej. Możesz także zmienić kolejność interpretacji wykorzystując nawiasy, na przykład P1 == W1 && (P2 == W2 || P2 == W3). Możesz także wyszukiwać tekstowo wykorzystując wyrażenia regularne, na przykład: P1 == /Tes.*/i", + "fullname": "Pełna nazwa", "header-logo-title": "Wróć do swojej strony z tablicami.", "hide-system-messages": "Ukryj wiadomości systemowe", "headerBarCreateBoardPopup-title": "Utwórz tablicę", "home": "Strona główna", - "import": "Importu", - "link": "Link", + "import": "Importuj", + "link": "Podłącz", "import-board": "importuj tablice", "import-board-c": "Import tablicy", - "import-board-title-trello": "Import board from Trello", + "import-board-title-trello": "Importuj tablicę z Trello", "import-board-title-wekan": "Importuj tablice z Wekan", "import-sandstorm-warning": "Zaimportowana tablica usunie wszystkie istniejące dane na aktualnej tablicy oraz zastąpi ją danymi z tej importowanej.", "from-trello": "Z Trello", "from-wekan": "Z Wekan", - "import-board-instruction-trello": "W twojej tablicy na Trello, idź do 'Menu', następnie 'More', 'Print and Export', 'Export JSON' i skopiuj wynik", - "import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.", - "import-json-placeholder": "Wklej twój JSON tutaj", + "import-board-instruction-trello": "W twojej tablicy na Trello przejdź do 'Menu', następnie 'Więcej', 'Drukuj i eksportuj', 'Eksportuj jako JSON' i skopiuj wynik", + "import-board-instruction-wekan": "Na Twojej tablicy Wekan przejdź do 'Menu', a następnie wybierz 'Eksportuj tablicę' i skopiuj tekst w pobranym pliku.", + "import-json-placeholder": "Wklej Twoje dane JSON tutaj", "import-map-members": "Przypisz członków", "import-members-map": "Twoje zaimportowane tablice mają kilku członków. Proszę wybierz członków których chcesz zaimportować do Wekan", "import-show-user-mapping": "Przejrzyj wybranych członków", - "import-user-select": "Pick the Wekan user you want to use as this member", + "import-user-select": "Wybierz użytkownika Wekan, który ma stać się członkiem", "importMapMembersAddPopup-title": "Wybierz użytkownika", "info": "Wersja", - "initials": "Initials", + "initials": "Inicjały", "invalid-date": "Błędna data", "invalid-time": "Błędny czas", "invalid-user": "Zła nazwa użytkownika", @@ -305,16 +305,16 @@ "keyboard-shortcuts": "Skróty klawiaturowe", "label-create": "Utwórz etykietę", "label-default": "%s etykieta (domyślna)", - "label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.", + "label-delete-pop": "Nie da się tego wycofać. To usunie tę etykietę ze wszystkich kart i usunie ich historię.", "labels": "Etykiety", "language": "Język", - "last-admin-desc": "You can’t change roles because there must be at least one admin.", + "last-admin-desc": "Nie możesz zmienić roli użytkownika, ponieważ musi istnieć co najmniej jeden administrator.", "leave-board": "Opuść tablicę", "leave-board-pop": "Czy jesteś pewien, że chcesz opuścić tablicę __boardTitle__? Zostaniesz usunięty ze wszystkich kart tej tablicy.", "leaveBoardPopup-title": "Opuścić tablicę?", "link-card": "Link do tej karty", "list-archive-cards": "Przenieś wszystkie karty tej listy do Kosza.", - "list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.", + "list-archive-cards-pop": "To usunie wszystkie karty w tej liście z tablicy. By przejrzeć karty w Koszu i przywrócić je na tablicę, wybierz 'Menu', a następnie 'Kosz'.", "list-move-cards": "Przenieś wszystkie karty z tej listy", "list-select-cards": "Zaznacz wszystkie karty z tej listy", "listActionPopup-title": "Lista akcji", @@ -329,7 +329,7 @@ "log-out": "Wyloguj", "log-in": "Zaloguj", "loginPopup-title": "Zaloguj", - "memberMenuPopup-title": "Member Settings", + "memberMenuPopup-title": "Ustawienia członków", "members": "Członkowie", "menu": "Menu", "move-selection": "Przenieś zaznaczone", @@ -339,17 +339,17 @@ "moveSelectionPopup-title": "Przenieś zaznaczone", "multi-selection": "Wielokrotne zaznaczenie", "multi-selection-on": "Wielokrotne zaznaczenie jest włączone", - "muted": "Wyciszona", - "muted-info": "Nie zostaniesz powiadomiony o zmianach w tablicy", + "muted": "Wycisz", + "muted-info": "Nie zostaniesz powiadomiony o zmianach w tej tablicy", "my-boards": "Moje tablice", "name": "Nazwa", "no-archived-cards": "Brak kart w Koszu.", "no-archived-lists": "Brak list w Koszu.", "no-archived-swimlanes": "Brak diagramów czynności w Koszu.", "no-results": "Brak wyników", - "normal": "Normal", + "normal": "Użytkownik standardowy", "normal-desc": "Może widzieć i edytować karty. Nie może zmieniać ustawiań.", - "not-accepted-yet": "Zaproszenie jeszcze nie zaakceptowane", + "not-accepted-yet": "Zaproszenie jeszcze niezaakceptowane", "notify-participate": "Otrzymuj aktualizacje kart, w których uczestniczysz jako twórca lub członek.", "notify-watch": "Otrzymuj powiadomienia z tablic, list i kart, które obserwujesz", "optional": "opcjonalny", @@ -357,7 +357,7 @@ "page-maybe-private": "Ta strona może być prywatna. Możliwe, że możesz ją zobaczyć po zalogowaniu.", "page-not-found": "Strona nie znaleziona.", "password": "Hasło", - "paste-or-dragdrop": "wklej lub przeciągnij & upuść obrazek", + "paste-or-dragdrop": "wklej lub przeciągnij & upuść (tylko grafika)", "participating": "Uczestniczysz", "preview": "Podgląd", "previewAttachedImagePopup-title": "Podgląd", @@ -366,7 +366,7 @@ "private-desc": "Ta tablica jest prywatna. Tylko osoby dodane do tej tablicy mogą ją zobaczyć i edytować.", "profile": "Profil", "public": "Publiczny", - "public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.", + "public-desc": "Ta tablica jest publiczna. Jest widoczna dla wszystkich, którzy mają do niej odnośnik i będzie wynikiem silników wyszukiwania takich jak Google. Tylko użytkownicy dodani do tablicy mogą ją edytować.", "quick-access-description": "Odznacz tablicę aby dodać skrót na tym pasku.", "remove-cover": "Usuń okładkę", "remove-from-board": "Usuń z tablicy", @@ -386,10 +386,10 @@ "search-example": "Czego mam szukać?", "select-color": "Wybierz kolor", "set-wip-limit-value": "Ustaw maksymalny limit zadań na tej liście", - "setWipLimitPopup-title": "Set WIP Limit", + "setWipLimitPopup-title": "Ustaw limit kart na liście", "shortcut-assign-self": "Przypisz siebie do obecnej karty", - "shortcut-autocomplete-emoji": "Autocomplete emoji", - "shortcut-autocomplete-members": "Autocomplete members", + "shortcut-autocomplete-emoji": "Autouzupełnianie emoji", + "shortcut-autocomplete-members": "Autouzupełnianie członków", "shortcut-clear-filters": "Usuń wszystkie filtry", "shortcut-close-dialog": "Zamknij okno", "shortcut-filter-my-cards": "Filtruj moje karty", @@ -400,9 +400,9 @@ "sidebar-open": "Otwórz pasek boczny", "sidebar-close": "Zamknij pasek boczny", "signupPopup-title": "Utwórz konto", - "star-board-title": "Click to star this board. It will show up at top of your boards list.", + "star-board-title": "Kliknij by oznaczyć tę tablicę gwiazdką. Pojawi się wtedy na liście tablic na górze.", "starred-boards": "Odznaczone tablice", - "starred-boards-description": "Starred boards show up at the top of your boards list.", + "starred-boards-description": "Tablice oznaczone gwiazdką pojawią się na liście na górze.", "subscribe": "Zapisz się", "team": "Zespół", "this-board": "ta tablica", @@ -411,14 +411,14 @@ "overtime-hours": "Nadgodziny (czas)", "overtime": "Dodatkowo", "has-overtime-cards": "Ma dodatkowych kart", - "has-spenttime-cards": "Has spent time cards", + "has-spenttime-cards": "Ma karty z wykorzystanym czasem", "time": "Czas", "title": "Tytuł", "tracking": "Śledzenie", "tracking-info": "Zostaniesz poinformowany o zmianach kart, w których bierzesz udział jako twórca lub członek.", "type": "Typ", "unassign-member": "Nieprzypisany członek", - "unsaved-description": "You have an unsaved description.", + "unsaved-description": "Masz niezapisany opis.", "unwatch": "Nie obserwuj", "upload": "Wyślij", "upload-avatar": "Wyślij avatar", @@ -430,18 +430,18 @@ "watching": "Obserwujesz", "watching-info": "Będziesz poinformowany o każdej zmianie na tej tablicy", "welcome-board": "Tablica powitalna", - "welcome-swimlane": "Milestone 1", + "welcome-swimlane": "Kamień milowy 1", "welcome-list1": "Podstawy", "welcome-list2": "Zaawansowane", "what-to-do": "Co chcesz zrobić?", - "wipLimitErrorPopup-title": "Invalid WIP Limit", - "wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.", - "wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.", + "wipLimitErrorPopup-title": "Nieprawidłowy limit kart na liście", + "wipLimitErrorPopup-dialog-pt1": "Aktualna ilość kart na tej liście jest większa niż aktualny zdefiniowany limit kart.", + "wipLimitErrorPopup-dialog-pt2": "Proszę przenieś zadania z tej listy lub zmień limit kart na tej liście na wyższy.", "admin-panel": "Panel administracyjny", "settings": "Ustawienia", "people": "Osoby", "registration": "Rejestracja", - "disable-self-registration": "Wyłącz rejestrację samodzielną", + "disable-self-registration": "Wyłącz samodzielną rejestrację", "invite": "Zaproś", "invite-people": "Zaproś osoby", "to-boards": "Do tablic(y)", @@ -459,29 +459,29 @@ "invitation-code": "Kod z zaproszenia", "email-invite-register-subject": "__inviter__ wysłał Ci zaproszenie", "email-invite-register-text": "Drogi __user__,\n\n__inviter__ zaprasza Cię do współpracy na Wekan.\n\nAby kontynuować, wejdź w poniższy link:\n__url__\n\nTwój kod zaproszenia to: __icode__\n\nDziękuję.", - "email-smtp-test-subject": "Test SMTP z Wekan", + "email-smtp-test-subject": "Test serwera SMTP z Wekan", "email-smtp-test-text": "Wiadomość testowa została wysłana z powodzeniem.", "error-invitation-code-not-exist": "Kod zaproszenia nie istnieje", "error-notAuthorized": "Nie jesteś uprawniony do przeglądania tej strony.", - "outgoing-webhooks": "Outgoing Webhooks", - "outgoingWebhooksPopup-title": "Outgoing Webhooks", - "new-outgoing-webhook": "New Outgoing Webhook", + "outgoing-webhooks": "Wychodzące webhooki", + "outgoingWebhooksPopup-title": "Wychodzące webhooki", + "new-outgoing-webhook": "Nowy wychodzący webhook", "no-name": "(nieznany)", "Wekan_version": "Wersja Wekan", "Node_version": "Wersja Node", - "OS_Arch": "Architektura systemu operacyjnego", - "OS_Cpus": "Ilość rdzeni systemu operacyjnego", + "OS_Arch": "Architektura systemu", + "OS_Cpus": "Ilość rdzeni systemu", "OS_Freemem": "Wolna pamięć RAM", - "OS_Loadavg": "Średnie obciążenie systemu operacyjnego", + "OS_Loadavg": "Średnie obciążenie systemu", "OS_Platform": "Platforma systemu", - "OS_Release": "Wersja systemu operacyjnego", + "OS_Release": "Wersja jądra", "OS_Totalmem": "Dostępna pamięć RAM", - "OS_Type": "Wersja systemu operacyjnego", - "OS_Uptime": "Uptime systemu operacyjnego", + "OS_Type": "Typ systemu", + "OS_Uptime": "Czas działania systemu", "hours": "godzin", "minutes": "minut", "seconds": "sekund", - "show-field-on-card": "Show this field on card", + "show-field-on-card": "Pokaż te pole na karcie", "yes": "Tak", "no": "Nie", "accounts": "Konto", @@ -491,32 +491,32 @@ "verified": "Zweryfikowane", "active": "Aktywny", "card-received": "Odebrano", - "card-received-on": "Received on", + "card-received-on": "Odebrano", "card-end": "Koniec", "card-end-on": "Kończy się", "editCardReceivedDatePopup-title": "Zmień datę odebrania", "editCardEndDatePopup-title": "Zmień datę ukończenia", "assigned-by": "Przypisane przez", - "requested-by": "Requested By", + "requested-by": "Zlecone przez", "board-delete-notice": "Usuwanie jest permanentne. Stracisz wszystkie listy, kart oraz czynności przypisane do tej tablicy.", "delete-board-confirm-popup": "Wszystkie listy, etykiety oraz aktywności zostaną usunięte i nie będziesz w stanie przywrócić zawartości tablicy. Tego nie da się cofnąć.", "boardDeletePopup-title": "Usunąć tablicę?", "delete-board": "Usuń tablicę", - "default-subtasks-board": "Subtasks for __board__ board", + "default-subtasks-board": "Podzadania dla tablicy __board__", "default": "Domyślny", "queue": "Kolejka", - "subtask-settings": "Subtasks Settings", - "boardSubtaskSettingsPopup-title": "Board Subtasks Settings", - "show-subtasks-field": "Cards can have subtasks", - "deposit-subtasks-board": "Deposit subtasks to this board:", - "deposit-subtasks-list": "Landing list for subtasks deposited here:", - "show-parent-in-minicard": "Show parent in minicard:", - "prefix-with-full-path": "Prefix with full path", - "prefix-with-parent": "Prefix with parent", - "subtext-with-full-path": "Subtext with full path", - "subtext-with-parent": "Subtext with parent", + "subtask-settings": "Ustawienia podzadań", + "boardSubtaskSettingsPopup-title": "Ustawienia tablicy podzadań", + "show-subtasks-field": "Karty mogą mieć podzadania", + "deposit-subtasks-board": "Przechowuj podzadania na tablicy:", + "deposit-subtasks-list": "Początkowa lista dla podzadań jest przechowywana w:", + "show-parent-in-minicard": "Pokaż rodzica w minikarcie:", + "prefix-with-full-path": "Prefix z pełną ścieżką", + "prefix-with-parent": "Prefix z rodzicem", + "subtext-with-full-path": "Podtekst z pełną ścieżką", + "subtext-with-parent": "Podtekst z rodzicem", "change-card-parent": "Zmień rodzica karty", - "parent-card": "Parent card", + "parent-card": "Karta rodzica", "source-board": "Tablica źródłowa", "no-parent": "Nie pokazuj rodzica", "activity-added-label": "dodano etykietę '%s' z %s", @@ -526,7 +526,7 @@ "activity-removed-label-card": "usunięto etykietę '%s'", "activity-delete-attach-card": "usunięto załącznik", "r-rule": "Reguła", - "r-add-trigger": "Add trigger", + "r-add-trigger": "Dodaj przełącznik", "r-add-action": "Dodaj czynność", "r-board-rules": "Reguły tablicy", "r-add-rule": "Dodaj regułę", @@ -541,7 +541,7 @@ "r-list": "lista", "r-moved-to": "Przeniesiono do", "r-moved-from": "Przeniesiono z", - "r-archived": "Przeniesiono do kosza", + "r-archived": "Przeniesiono do Kosza", "r-unarchived": "Przywrócono z Kosza", "r-a-card": "karta", "r-when-a-label-is": "Gdy etykieta jest", @@ -555,7 +555,7 @@ "r-when-a-checklist": "Gdy lista zadań jest", "r-when-the-checklist": "Gdy lista zadań", "r-completed": "Ukończono", - "r-made-incomplete": "Made incomplete", + "r-made-incomplete": "Niedokończone", "r-when-a-item": "Gdy lista zadań jest", "r-when-the-item": "Gdy element listy zadań", "r-checked": "Zaznaczony", -- cgit v1.2.3-1-g7c22 From 4dd66eed8e59ae93225e2908239842aeabc39f10 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sun, 23 Sep 2018 12:44:49 +0300 Subject: Update translations. --- i18n/ar.i18n.json | 5 +++-- i18n/bg.i18n.json | 5 +++-- i18n/br.i18n.json | 5 +++-- i18n/ca.i18n.json | 5 +++-- i18n/cs.i18n.json | 5 +++-- i18n/de.i18n.json | 5 +++-- i18n/el.i18n.json | 5 +++-- i18n/en-GB.i18n.json | 5 +++-- i18n/eo.i18n.json | 5 +++-- i18n/es-AR.i18n.json | 5 +++-- i18n/es.i18n.json | 5 +++-- i18n/eu.i18n.json | 5 +++-- i18n/fa.i18n.json | 5 +++-- i18n/fi.i18n.json | 5 +++-- i18n/fr.i18n.json | 5 +++-- i18n/gl.i18n.json | 5 +++-- i18n/he.i18n.json | 5 +++-- i18n/hu.i18n.json | 5 +++-- i18n/hy.i18n.json | 5 +++-- i18n/id.i18n.json | 5 +++-- i18n/ig.i18n.json | 5 +++-- i18n/it.i18n.json | 5 +++-- i18n/ja.i18n.json | 5 +++-- i18n/ka.i18n.json | 5 +++-- i18n/km.i18n.json | 5 +++-- i18n/ko.i18n.json | 5 +++-- i18n/lv.i18n.json | 5 +++-- i18n/mn.i18n.json | 5 +++-- i18n/nb.i18n.json | 5 +++-- i18n/nl.i18n.json | 5 +++-- i18n/pl.i18n.json | 3 ++- i18n/pt-BR.i18n.json | 5 +++-- i18n/pt.i18n.json | 5 +++-- i18n/ro.i18n.json | 5 +++-- i18n/ru.i18n.json | 5 +++-- i18n/sr.i18n.json | 5 +++-- i18n/sv.i18n.json | 5 +++-- i18n/ta.i18n.json | 5 +++-- i18n/th.i18n.json | 5 +++-- i18n/tr.i18n.json | 5 +++-- i18n/uk.i18n.json | 5 +++-- i18n/vi.i18n.json | 5 +++-- i18n/zh-CN.i18n.json | 5 +++-- i18n/zh-TW.i18n.json | 5 +++-- 44 files changed, 131 insertions(+), 87 deletions(-) diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json index 7e47952c..62e886e5 100644 --- a/i18n/ar.i18n.json +++ b/i18n/ar.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json index 661d9a76..9a8c8b65 100644 --- a/i18n/bg.i18n.json +++ b/i18n/bg.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json index 9bba6154..467c99d9 100644 --- a/i18n/br.i18n.json +++ b/i18n/br.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json index 2a34ca96..dd54348e 100644 --- a/i18n/ca.i18n.json +++ b/i18n/ca.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json index 5ca9636b..e9bc74ab 100644 --- a/i18n/cs.i18n.json +++ b/i18n/cs.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Přidat checklist", - "r-d-remove-checklist": "Odstranit checklist" + "r-d-remove-checklist": "Odstranit checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json index 343c7519..408224fd 100644 --- a/i18n/de.i18n.json +++ b/i18n/de.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": " Wenn das Label ist", "r-list-name": "Listennamen", "r-when-a-member": "Wenn ein Mitglied ist", - "r-when-the-member": "Wenn das Mitglied ist", + "r-when-the-member": "Wenn das Mitglied", "r-name": "Name", "r-is": "ist", "r-when-a-attach": "Wenn ein Anhang", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Element demarkieren", "r-d-check-of-list": "der Checkliste", "r-d-add-checklist": "Checkliste hinzufügen", - "r-d-remove-checklist": "Checkliste entfernen" + "r-d-remove-checklist": "Checkliste entfernen", + "r-when-a-card-is-moved": "Wenn eine Karte in eine andere Liste verschoben wird" } \ No newline at end of file diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json index 5018f2cd..6f9c3a66 100644 --- a/i18n/el.i18n.json +++ b/i18n/el.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json index b2376ba3..bf2dbea3 100644 --- a/i18n/en-GB.i18n.json +++ b/i18n/en-GB.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json index 7b910421..a61208b3 100644 --- a/i18n/eo.i18n.json +++ b/i18n/eo.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json index d22380e4..a2d55ac2 100644 --- a/i18n/es-AR.i18n.json +++ b/i18n/es-AR.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json index 8e486464..1c11035b 100644 --- a/i18n/es.i18n.json +++ b/i18n/es.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json index cff6b838..19e36b19 100644 --- a/i18n/eu.i18n.json +++ b/i18n/eu.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json index dc53173b..9ebaee6a 100644 --- a/i18n/fa.i18n.json +++ b/i18n/fa.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json index bec3f19c..753acfaf 100644 --- a/i18n/fi.i18n.json +++ b/i18n/fi.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "Kun tunniste on", "r-list-name": "Listan nimi", "r-when-a-member": "Kun jäsen on", - "r-when-the-member": "Kun jäsen on", + "r-when-the-member": "Kun käyttäjä", "r-name": "nimi", "r-is": "on", "r-when-a-attach": "Kun liitetiedosto", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Poista ruksi kohdasta", "r-d-check-of-list": "tarkistuslistasta", "r-d-add-checklist": "Lisää tarkistuslista", - "r-d-remove-checklist": "Poista tarkistuslista" + "r-d-remove-checklist": "Poista tarkistuslista", + "r-when-a-card-is-moved": "Kun kortti on siirretty toiseen listaan" } \ No newline at end of file diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index cae6cd81..47da1ee2 100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "Quand l'étiquette est", "r-list-name": "Nom de la liste", "r-when-a-member": "Quand un membre est", - "r-when-the-member": "Quand le membre est", + "r-when-the-member": "Quand le membre", "r-name": "nom", "r-is": "est", "r-when-a-attach": "Quand une pièce jointe", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Décocher l'élément", "r-d-check-of-list": "de la checklist", "r-d-add-checklist": "Ajouter une checklist", - "r-d-remove-checklist": "Supprimer la checklist" + "r-d-remove-checklist": "Supprimer la checklist", + "r-when-a-card-is-moved": "Quand une carte est déplacée vers une autre liste" } \ No newline at end of file diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json index b539c02f..759bd1cd 100644 --- a/i18n/gl.i18n.json +++ b/i18n/gl.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json index 8c912d00..a0a3f01a 100644 --- a/i18n/he.i18n.json +++ b/i18n/he.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "כאשר התווית היא", "r-list-name": "שם הרשימה", "r-when-a-member": "כאשר חבר הוא", - "r-when-the-member": "כאשר החבר הוא", + "r-when-the-member": "When the member", "r-name": "שם", "r-is": "הוא", "r-when-a-attach": "כאשר קובץ מצורף", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "ביטול סימון פריט", "r-d-check-of-list": "של רשימת משימות", "r-d-add-checklist": "הוספת רשימת משימות", - "r-d-remove-checklist": "הסרת רשימת משימות" + "r-d-remove-checklist": "הסרת רשימת משימות", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json index fb1f04ff..1ebe8bef 100644 --- a/i18n/hu.i18n.json +++ b/i18n/hu.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json index d54fe4ac..d37621bc 100644 --- a/i18n/hy.i18n.json +++ b/i18n/hy.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json index b68ec9c8..11ce4d45 100644 --- a/i18n/id.i18n.json +++ b/i18n/id.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json index 43f99f71..9ff7f64c 100644 --- a/i18n/ig.i18n.json +++ b/i18n/ig.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json index 431d325c..85c760c6 100644 --- a/i18n/it.i18n.json +++ b/i18n/it.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json index c35a95ea..c86845b7 100644 --- a/i18n/ja.i18n.json +++ b/i18n/ja.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/ka.i18n.json b/i18n/ka.i18n.json index b82e4cc1..3012bb3e 100644 --- a/i18n/ka.i18n.json +++ b/i18n/ka.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/km.i18n.json b/i18n/km.i18n.json index c5e1d524..0e6c8934 100644 --- a/i18n/km.i18n.json +++ b/i18n/km.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json index 73f72932..17d42a59 100644 --- a/i18n/ko.i18n.json +++ b/i18n/ko.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json index 7552da44..7baad114 100644 --- a/i18n/lv.i18n.json +++ b/i18n/lv.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json index 2c4ecbdd..e7698c57 100644 --- a/i18n/mn.i18n.json +++ b/i18n/mn.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json index ff7c453b..15d8a651 100644 --- a/i18n/nb.i18n.json +++ b/i18n/nb.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json index a77e6f3b..51332157 100644 --- a/i18n/nl.i18n.json +++ b/i18n/nl.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index ef69d399..aeeddb2c 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Odznacz element", "r-d-check-of-list": "z listy zadań", "r-d-add-checklist": "Dodaj listę zadań", - "r-d-remove-checklist": "Usuń listę zadań" + "r-d-remove-checklist": "Usuń listę zadań", + "r-when-a-card-is-moved": "Gdy karta jest przeniesiona do innej listy" } \ No newline at end of file diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json index 55ed4082..8338b68b 100644 --- a/i18n/pt-BR.i18n.json +++ b/i18n/pt-BR.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json index 3c6b896e..986efb39 100644 --- a/i18n/pt.i18n.json +++ b/i18n/pt.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json index 41d8e858..6ece0bcc 100644 --- a/i18n/ro.i18n.json +++ b/i18n/ro.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json index 82691aa2..b55e4dda 100644 --- a/i18n/ru.i18n.json +++ b/i18n/ru.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json index d7b57095..968b6a18 100644 --- a/i18n/sr.i18n.json +++ b/i18n/sr.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json index 0ec67b3d..670f6844 100644 --- a/i18n/sv.i18n.json +++ b/i18n/sv.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json index 841d3695..07686e88 100644 --- a/i18n/ta.i18n.json +++ b/i18n/ta.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json index e38cc9b5..3227dd34 100644 --- a/i18n/th.i18n.json +++ b/i18n/th.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json index 862aabad..e6b5e275 100644 --- a/i18n/tr.i18n.json +++ b/i18n/tr.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json index afcb5f7d..0fc8265e 100644 --- a/i18n/uk.i18n.json +++ b/i18n/uk.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json index 94ae8893..be1a166e 100644 --- a/i18n/vi.i18n.json +++ b/i18n/vi.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json index 1c365f7b..7f49807f 100644 --- a/i18n/zh-CN.i18n.json +++ b/i18n/zh-CN.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json index d7b3a9db..89ea22e5 100644 --- a/i18n/zh-TW.i18n.json +++ b/i18n/zh-TW.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -605,5 +605,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } \ No newline at end of file -- cgit v1.2.3-1-g7c22 From b342cfed3abaeb72a3b0b6c8de0ab4240cce2da7 Mon Sep 17 00:00:00 2001 From: ppoulard Date: Mon, 24 Sep 2018 16:14:41 +0200 Subject: Add CAS with attributes --- .meteor/packages | 2 +- .meteor/versions | 2 +- Dockerfile | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.meteor/packages b/.meteor/packages index 990f8717..cf859f61 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -84,7 +84,7 @@ cfs:gridfs eluck:accounts-lockout rzymek:fullcalendar momentjs:moment@2.22.2 -atoy40:accounts-cas browser-policy-framing mquandalle:moment msavin:usercache +ppoulard:accounts-cas diff --git a/.meteor/versions b/.meteor/versions index 504e8aa1..c318eebe 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -9,7 +9,6 @@ aldeed:simple-schema@1.5.3 alethes:pages@1.8.6 allow-deny@1.1.0 arillo:flow-router-helpers@0.5.2 -atoy40:accounts-cas@0.0.2 audit-argument-checks@1.0.7 autoupdate@1.3.12 babel-compiler@6.24.7 @@ -129,6 +128,7 @@ peerlibrary:blaze-components@0.15.1 peerlibrary:computed-field@0.7.0 peerlibrary:reactive-field@0.3.0 perak:markdown@1.0.5 +ppoulard:accounts-cas@0.1.0 promise@0.10.0 raix:eventemitter@0.1.3 raix:handlebar-helpers@0.2.5 diff --git a/Dockerfile b/Dockerfile index 1d0f20e6..dd0d85a3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -148,6 +148,7 @@ RUN \ cd /home/wekan/app/packages && \ gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/flow-router.git kadira-flow-router && \ gosu wekan:wekan git clone --depth 1 -b master git://github.com/meteor-useraccounts/core.git meteor-useraccounts-core && \ + gosu wekan:wekan git clone --depth 1 -b master git://github.com/ppoulard/meteor-accounts-cas.git meteor-accounts-cas && \ sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js && \ cd /home/wekan/.meteor && \ gosu wekan:wekan /home/wekan/.meteor/meteor -- help; \ @@ -155,6 +156,8 @@ RUN \ # Build app cd /home/wekan/app && \ gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js && \ + # adding CAS + gosu wekan:wekan /home/wekan/.meteor/meteor add ppoulard:accounts-cas && \ gosu wekan:wekan /home/wekan/.meteor/meteor npm install && \ gosu wekan:wekan /home/wekan/.meteor/meteor build --directory /home/wekan/app_build && \ cp /home/wekan/app/fix-download-unicode/cfs_access-point.txt /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \ -- cgit v1.2.3-1-g7c22 From c6cea2fb4e9e17403fe0ce2ba5bf2d20dcf81a8f Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 28 Sep 2018 00:38:17 +0300 Subject: - Add CAS with attributes. Thanks to ppoulard ! --- .gitignore | 1 + .meteor/packages | 3 +-- .meteor/versions | 2 +- Dockerfile | 4 +--- snapcraft.yaml | 5 +++++ 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 7a56bd2e..c3f1293e 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ npm-debug.log .build/* packages/kadira-flow-router/ packages/meteor-useraccounts-core/ +packages/meteor-accounts-cas/ package-lock.json **/parts/ **/stage diff --git a/.meteor/packages b/.meteor/packages index cf859f61..2339c484 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -31,7 +31,6 @@ kenton:accounts-sandstorm service-configuration@1.0.11 useraccounts:unstyled useraccounts:flow-routing -#salleman:accounts-oidc # Utilities check@1.2.5 @@ -87,4 +86,4 @@ momentjs:moment@2.22.2 browser-policy-framing mquandalle:moment msavin:usercache -ppoulard:accounts-cas +wekan:accounts-cas diff --git a/.meteor/versions b/.meteor/versions index c318eebe..184cba0e 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -128,7 +128,6 @@ peerlibrary:blaze-components@0.15.1 peerlibrary:computed-field@0.7.0 peerlibrary:reactive-field@0.3.0 perak:markdown@1.0.5 -ppoulard:accounts-cas@0.1.0 promise@0.10.0 raix:eventemitter@0.1.3 raix:handlebar-helpers@0.2.5 @@ -175,4 +174,5 @@ useraccounts:unstyled@1.14.2 verron:autosize@3.0.8 webapp@1.4.0 webapp-hashing@1.0.9 +wekan:accounts-cas@0.1.0 zimme:active-route@2.3.2 diff --git a/Dockerfile b/Dockerfile index dd0d85a3..376389a2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -148,7 +148,7 @@ RUN \ cd /home/wekan/app/packages && \ gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/flow-router.git kadira-flow-router && \ gosu wekan:wekan git clone --depth 1 -b master git://github.com/meteor-useraccounts/core.git meteor-useraccounts-core && \ - gosu wekan:wekan git clone --depth 1 -b master git://github.com/ppoulard/meteor-accounts-cas.git meteor-accounts-cas && \ + gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas && \ sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js && \ cd /home/wekan/.meteor && \ gosu wekan:wekan /home/wekan/.meteor/meteor -- help; \ @@ -156,8 +156,6 @@ RUN \ # Build app cd /home/wekan/app && \ gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js && \ - # adding CAS - gosu wekan:wekan /home/wekan/.meteor/meteor add ppoulard:accounts-cas && \ gosu wekan:wekan /home/wekan/.meteor/meteor npm install && \ gosu wekan:wekan /home/wekan/.meteor/meteor build --directory /home/wekan/app_build && \ cp /home/wekan/app/fix-download-unicode/cfs_access-point.txt /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \ diff --git a/snapcraft.yaml b/snapcraft.yaml index dbe738d0..e4276976 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -142,6 +142,11 @@ parts: sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' meteor-useraccounts-core/package.js cd .. fi + if [ ! -d "packages/meteor-accounts-cas" ]; then + cd packages + git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas + cd .. + fi rm -rf package-lock.json .build meteor add standard-minifier-js --allow-superuser meteor npm install --allow-superuser -- cgit v1.2.3-1-g7c22 From 07f155d82e26b7de2cc9fc1c0d43832b1191685c Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 28 Sep 2018 00:39:43 +0300 Subject: - Add CAS with attributes Thanks to ppoulard ! --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7375d2d7..07b72637 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# Upcoming Wekan release + +This release adds the following new features: + +- [Add CAS with attributes](https://github.com/wekan/wekan/commit/c6cea2fb4e9e17403fe0ce2ba5bf2d20dcf81a8f). + +Thanks to GitHub user ppoulard for contributions. + # v1.50 2018-09-22 Wekan release This release adds the following new features: -- cgit v1.2.3-1-g7c22 From cf5b962349682b44591e5a7d124cf40012cba4d5 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 28 Sep 2018 00:52:10 +0300 Subject: Update translations. --- i18n/he.i18n.json | 16 ++++++++-------- i18n/pl.i18n.json | 36 ++++++++++++++++++------------------ i18n/ru.i18n.json | 2 +- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json index a0a3f01a..ff52b699 100644 --- a/i18n/he.i18n.json +++ b/i18n/he.i18n.json @@ -43,17 +43,17 @@ "activity-sent": "%s נשלח ל%s", "activity-unjoined": "בטל צירוף %s", "activity-subtask-added": "נוספה תת־משימה אל %s", - "activity-checked-item": "checked %s in checklist %s of %s", - "activity-unchecked-item": "unchecked %s in checklist %s of %s", + "activity-checked-item": "%s סומן ברשימת המשימות %s מתוך %s", + "activity-unchecked-item": "בוטל הסימון של %s ברשימת המשימות %s מתוך %s", "activity-checklist-added": "נוספה רשימת משימות אל %s", "activity-checklist-removed": "הוסרה רשימת משימות מ־%s", "activity-checklist-completed": "רשימת המשימות %s מתוך %s הושלמה", - "activity-checklist-uncompleted": "uncompleted the checklist %s of %s", + "activity-checklist-uncompleted": "רשימת המשימות %s מתוך %s סומנה כבלתי מושלמת", "activity-checklist-item-added": "נוסף פריט רשימת משימות אל ‚%s‘ תחת %s", - "activity-checklist-item-removed": "removed a checklist item from '%s' in %s", + "activity-checklist-item-removed": "הוסר פריט מרשימת המשימות ‚%s’ תחת %s", "add": "הוספה", - "activity-checked-item-card": "checked %s in checklist %s", - "activity-unchecked-item-card": "unchecked %s in checklist %s", + "activity-checked-item-card": "סומן %s ברשימת המשימות %s", + "activity-unchecked-item-card": "הסימון של %s בוטל ברשימת המשימות %s", "activity-checklist-completed-card": "רשימת המשימות %s הושלמה", "activity-checklist-uncompleted-card": "רשימת המשימות %s סומנה כבלתי מושלמת", "add-attachment": "הוספת קובץ מצורף", @@ -548,7 +548,7 @@ "r-when-the-label-is": "כאשר התווית היא", "r-list-name": "שם הרשימה", "r-when-a-member": "כאשר חבר הוא", - "r-when-the-member": "When the member", + "r-when-the-member": "כאשר חבר", "r-name": "שם", "r-is": "הוא", "r-when-a-attach": "כאשר קובץ מצורף", @@ -606,5 +606,5 @@ "r-d-check-of-list": "של רשימת משימות", "r-d-add-checklist": "הוספת רשימת משימות", "r-d-remove-checklist": "הסרת רשימת משימות", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "כאשר כרטיס מועבר לרשימה אחרת" } \ No newline at end of file diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index aeeddb2c..85c7dca4 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -2,15 +2,15 @@ "accept": "Akceptuj", "act-activity-notify": "[Wekan] Powiadomienia - aktywności", "act-addAttachment": "dodano załącznik __attachement__ do __card__", - "act-addSubtask": "dodano podzadanie __checklist__ do __card__", - "act-addChecklist": "dodano listę zadań __checklist__ to __card__", - "act-addChecklistItem": "dodano __checklistItem__ do listy zadań __checklist__ na karcie __card__", + "act-addSubtask": "dodał(a) podzadanie __checklist__ do __card__", + "act-addChecklist": "dodał(a) listę zadań __checklist__ to __card__", + "act-addChecklistItem": "dodał(a) __checklistItem__ do listy zadań __checklist__ na karcie __card__", "act-addComment": "skomentowano __card__: __comment__", "act-createBoard": "utworzono __board__", - "act-createCard": "dodano __card__ do __list__", + "act-createCard": "dodał(a) __card__ do __list__", "act-createCustomField": "dodano niestandardowe pole __customField__", - "act-createList": "dodano __list__ do __board__", - "act-addBoardMember": "dodano __member__ do __board__", + "act-createList": "dodał(a) __list__ do __board__", + "act-addBoardMember": "dodał(a) __member__ do __board__", "act-archivedBoard": "__board__ została przeniesiona do kosza", "act-archivedCard": "__card__ została przeniesiona do Kosza", "act-archivedList": "__list__ została przeniesiona do Kosza", @@ -18,17 +18,17 @@ "act-importBoard": "zaimportowano __board__", "act-importCard": "zaimportowano __card__", "act-importList": "zaimportowano __list__", - "act-joinMember": "dodano __member_ do __card__", - "act-moveCard": "przeniesiono __card__ z __oldList__ do __list__", - "act-removeBoardMember": "usunięto __member__ z __board__", + "act-joinMember": "dodał(a) __member_ do __card__", + "act-moveCard": "przeniósł/przeniosła __card__ z __oldList__ do __list__", + "act-removeBoardMember": "usunął/usunęła __member__ z __board__", "act-restoredCard": "przywrócono __card__ do __board__", - "act-unjoinMember": "usunięto __member__ z __card__", + "act-unjoinMember": "usunął/usunęła __member__ z __card__", "act-withBoardTitle": "[Wekan] __board__", "act-withCardTitle": "[__board__] __card__", "actions": "Akcje", "activities": "Ostatnia aktywność", "activity": "Aktywność", - "activity-added": "dodano %s z %s", + "activity-added": "dodał(a) %s z %s", "activity-archived": "%s przeniesiono do Kosza", "activity-attached": "załączono %s z %s", "activity-created": "utworzono %s", @@ -37,19 +37,19 @@ "activity-imported": "zaimportowano %s to %s z %s", "activity-imported-board": "zaimportowano %s z %s", "activity-joined": "dołączono %s", - "activity-moved": "przeniesiono % z %s to %s", + "activity-moved": "przeniósł/przeniosła % z %s to %s", "activity-on": "w %s", "activity-removed": "usunięto %s z %s", "activity-sent": "wysłano %s z %s", "activity-unjoined": "odłączono %s", - "activity-subtask-added": "dodano podzadanie do %s", + "activity-subtask-added": "dodał(a) podzadanie do %s", "activity-checked-item": "zaznaczono %s w liście zadań%s z %s", "activity-unchecked-item": "odznaczono %s w liście zadań %s z %s", - "activity-checklist-added": "dodano listę zadań do %s", + "activity-checklist-added": "dodał(a) listę zadań do %s", "activity-checklist-removed": "usunięto listę zadań z %s", "activity-checklist-completed": "ukończono listę zadań %s z %s", "activity-checklist-uncompleted": "nieukończono listy zadań %s z %s", - "activity-checklist-item-added": "dodano zadanie '%s' do %s", + "activity-checklist-item-added": "dodał(a) zadanie '%s' do %s", "activity-checklist-item-removed": "usunięto element z listy zadań %s w %s", "add": "Dodaj", "activity-checked-item-card": "zaznaczono %s w liście zadań %s", @@ -67,7 +67,7 @@ "add-label": "Dodaj etykietę", "add-list": "Dodaj listę", "add-members": "Dodaj członków", - "added": "Dodano", + "added": "Dodane", "addMemberPopup-title": "Członkowie", "admin": "Administrator", "admin-desc": "Może widzieć i edytować karty, usuwać członków oraz zmieniać ustawienia tablicy.", @@ -519,10 +519,10 @@ "parent-card": "Karta rodzica", "source-board": "Tablica źródłowa", "no-parent": "Nie pokazuj rodzica", - "activity-added-label": "dodano etykietę '%s' z %s", + "activity-added-label": "dodał(a) etykietę '%s' z %s", "activity-removed-label": "usunięto etykietę '%s' z %s", "activity-delete-attach": "usunięto załącznik z %s", - "activity-added-label-card": "usunięto etykietę '%s'", + "activity-added-label-card": "dodał(a) etykietę '%s'", "activity-removed-label-card": "usunięto etykietę '%s'", "activity-delete-attach-card": "usunięto załącznik", "r-rule": "Reguła", diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json index b55e4dda..d501d77e 100644 --- a/i18n/ru.i18n.json +++ b/i18n/ru.i18n.json @@ -46,7 +46,7 @@ "activity-checked-item": "checked %s in checklist %s of %s", "activity-unchecked-item": "unchecked %s in checklist %s of %s", "activity-checklist-added": "добавил контрольный список в %s", - "activity-checklist-removed": "removed a checklist from %s", + "activity-checklist-removed": "удалил контрольный список из %s", "activity-checklist-completed": "completed the checklist %s of %s", "activity-checklist-uncompleted": "uncompleted the checklist %s of %s", "activity-checklist-item-added": "добавил пункт контрольного списка в '%s' в карточке %s", -- cgit v1.2.3-1-g7c22 From a8f1711890ba36c5ac56f61dd66b1b93e0202321 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 28 Sep 2018 01:03:05 +0300 Subject: Update translations. --- i18n/en.i18n.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 81206ae3..896c10a3 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -548,7 +548,7 @@ "r-when-the-label-is": "When the label is", "r-list-name": "List name", "r-when-a-member": "When a member is", - "r-when-the-member": "When the member is", + "r-when-the-member": "When the member", "r-name": "name", "r-is": "is", "r-when-a-attach": "When an attachment", @@ -606,5 +606,6 @@ "r-d-uncheck-one": "Uncheck item", "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist" + "r-d-remove-checklist": "Remove checklist", + "r-when-a-card-is-moved": "When a card is moved to another list" } -- cgit v1.2.3-1-g7c22 From a10b6fb173d529220861668cfb1c341ec45e2a53 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 28 Sep 2018 10:48:30 +0300 Subject: - Move Add Board button to top left, so there is no need to scroll to bottom when there is a lot of boards. Thanks to xet7 ! --- client/components/boards/boardsList.jade | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/client/components/boards/boardsList.jade b/client/components/boards/boardsList.jade index 95ce3678..89852570 100644 --- a/client/components/boards/boardsList.jade +++ b/client/components/boards/boardsList.jade @@ -1,6 +1,8 @@ template(name="boardList") .wrapper ul.board-list.clearfix + li.js-add-board + a.board-list-item.label {{_ 'add-board'}} each boards li(class="{{#if isStarred}}starred{{/if}}" class=colorClass) if isInvited @@ -27,9 +29,6 @@ template(name="boardList") title="{{#if hasOvertimeCards}}{{_ 'has-overtime-cards'}}{{else}}{{_ 'has-spenttime-cards'}}{{/if}}") p.board-list-item-desc= description - li.js-add-board - a.board-list-item.label {{_ 'add-board'}} - template(name="boardListHeaderBar") h1 {{_ 'my-boards'}} -- cgit v1.2.3-1-g7c22 From d61d9994e3227e1a97cf7fa46aa70174e5f9d167 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 28 Sep 2018 10:51:01 +0300 Subject: - Move Add Board button to top left, so there is no need to scroll to bottom when there is a lot of boards. Thanks to xet7 ! --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07b72637..de1d5085 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,9 @@ This release adds the following new features: - [Add CAS with attributes](https://github.com/wekan/wekan/commit/c6cea2fb4e9e17403fe0ce2ba5bf2d20dcf81a8f). +- [Move Add Board button to top left, so there is no need to scroll to bottom when there is a lot of boards]((https://github.com/wekan/wekan/commit/a10b6fb173d529220861668cfb1c341ec45e2a53). -Thanks to GitHub user ppoulard for contributions. +Thanks to GitHub users ppoulard and xet7 for their contributions. # v1.50 2018-09-22 Wekan release -- cgit v1.2.3-1-g7c22 From 6b86b3b6e768b065d4a6e4779b18958ee932d9dc Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Fri, 28 Sep 2018 11:00:26 +0300 Subject: v1.51 --- CHANGELOG.md | 6 +++--- package.json | 2 +- sandstorm-pkgdef.capnp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index de1d5085..725b4c1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ -# Upcoming Wekan release +# v1.51 2018-09-28 Wekan release This release adds the following new features: -- [Add CAS with attributes](https://github.com/wekan/wekan/commit/c6cea2fb4e9e17403fe0ce2ba5bf2d20dcf81a8f). -- [Move Add Board button to top left, so there is no need to scroll to bottom when there is a lot of boards]((https://github.com/wekan/wekan/commit/a10b6fb173d529220861668cfb1c341ec45e2a53). +- [Add CAS with attributes](https://github.com/wekan/wekan/commit/c6cea2fb4e9e17403fe0ce2ba5bf2d20dcf81a8f); +- [Move Add Board button to top left, so there is no need to scroll to bottom when there is a lot of boards](https://github.com/wekan/wekan/commit/a10b6fb173d529220861668cfb1c341ec45e2a53). Thanks to GitHub users ppoulard and xet7 for their contributions. diff --git a/package.json b/package.json index 51e9bd7d..87b04a31 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "1.50.0", + "version": "1.51.0", "description": "The open-source kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 6b1f1634..cd094742 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 = 135, + appVersion = 139, # Increment this for every release. - appMarketingVersion = (defaultText = "1.50.0~2018-09-22"), + appMarketingVersion = (defaultText = "1.51.0~2018-09-28"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, -- cgit v1.2.3-1-g7c22 From 5923585584f9cb8121476bf5e5d0abf7891e86f6 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 1 Oct 2018 16:33:29 +0300 Subject: - Remove CAS from Wekan stable, because it does not work correctly. CAS developent continues at edge. Thanks to xet7 ! Related #1925 --- .meteor/packages | 1 - .meteor/versions | 1 - Dockerfile | 1 - client/components/main/layouts.jade | 3 --- client/components/main/layouts.js | 17 ----------------- snapcraft.yaml | 5 ----- 6 files changed, 28 deletions(-) diff --git a/.meteor/packages b/.meteor/packages index 2339c484..0bb90513 100644 --- a/.meteor/packages +++ b/.meteor/packages @@ -86,4 +86,3 @@ momentjs:moment@2.22.2 browser-policy-framing mquandalle:moment msavin:usercache -wekan:accounts-cas diff --git a/.meteor/versions b/.meteor/versions index 184cba0e..fc7d64b0 100644 --- a/.meteor/versions +++ b/.meteor/versions @@ -174,5 +174,4 @@ useraccounts:unstyled@1.14.2 verron:autosize@3.0.8 webapp@1.4.0 webapp-hashing@1.0.9 -wekan:accounts-cas@0.1.0 zimme:active-route@2.3.2 diff --git a/Dockerfile b/Dockerfile index 376389a2..1d0f20e6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -148,7 +148,6 @@ RUN \ cd /home/wekan/app/packages && \ gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/flow-router.git kadira-flow-router && \ gosu wekan:wekan git clone --depth 1 -b master git://github.com/meteor-useraccounts/core.git meteor-useraccounts-core && \ - gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas && \ sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js && \ cd /home/wekan/.meteor && \ gosu wekan:wekan /home/wekan/.meteor/meteor -- help; \ diff --git a/client/components/main/layouts.jade b/client/components/main/layouts.jade index b0024b33..bd9fac23 100644 --- a/client/components/main/layouts.jade +++ b/client/components/main/layouts.jade @@ -18,9 +18,6 @@ template(name="userFormsLayout") img(src="{{pathFor '/wekan-logo.png'}}" alt="Wekan") section.auth-dialog +Template.dynamic(template=content) - if isCas - .at-form - button#cas(class='at-btn submit' type='submit') {{casSignInLabel}} div.at-form-lang select.select-lang.js-userform-set-language each languages diff --git a/client/components/main/layouts.js b/client/components/main/layouts.js index 6d6e616d..f12718a7 100644 --- a/client/components/main/layouts.js +++ b/client/components/main/layouts.js @@ -39,16 +39,6 @@ Template.userFormsLayout.helpers({ const curLang = T9n.getLanguage() || 'en'; return t9nTag === curLang; }, - - isCas() { - return Meteor.settings.public && - Meteor.settings.public.cas && - Meteor.settings.public.cas.loginUrl; - }, - - casSignInLabel() { - return TAPi18n.__('casSignIn', {}, T9n.getLanguage() || 'en'); - }, }); Template.userFormsLayout.events({ @@ -57,13 +47,6 @@ Template.userFormsLayout.events({ T9n.setLanguage(i18nTagToT9n(i18nTag)); evt.preventDefault(); }, - 'click button#cas'() { - Meteor.loginWithCas(function() { - if (FlowRouter.getRouteName() === 'atSignIn') { - FlowRouter.go('/'); - } - }); - }, }); Template.defaultLayout.events({ diff --git a/snapcraft.yaml b/snapcraft.yaml index e4276976..dbe738d0 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -142,11 +142,6 @@ parts: sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' meteor-useraccounts-core/package.js cd .. fi - if [ ! -d "packages/meteor-accounts-cas" ]; then - cd packages - git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git meteor-accounts-cas - cd .. - fi rm -rf package-lock.json .build meteor add standard-minifier-js --allow-superuser meteor npm install --allow-superuser -- cgit v1.2.3-1-g7c22 From 2ad318b57c354de4be7b1764de43bcfe2fbddbc0 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 1 Oct 2018 16:40:18 +0300 Subject: - Removed CAS from Wekan stable, because it does not work correctly. CAS developent continues at edge. Thanks to xet7 ! Related #1925 --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 725b4c1e..6b6bf69d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +# Upcoming Wekan release + +This release removes the following new features: + +- [Removed CAS from Wekan stable](https://github.com/wekan/wekan/commit/5923585584f9cb8121476bf5e5d0abf7891e86f6), + because [it does not work correctly](https://github.com/wekan/wekan/issues/1925). + CAS developent continues at edge. + +Thanks to GitHub user xet7 for contributions. + # v1.51 2018-09-28 Wekan release This release adds the following new features: -- cgit v1.2.3-1-g7c22 From 1d803d4b5185f6941d3589a48e355f04e8538f55 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Mon, 1 Oct 2018 16:47:06 +0300 Subject: v1.52 --- CHANGELOG.md | 2 +- package.json | 2 +- sandstorm-pkgdef.capnp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b6bf69d..bbb9ef1c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Upcoming Wekan release +# v1.52 2018-10-01 Wekan release This release removes the following new features: diff --git a/package.json b/package.json index 87b04a31..df8d6234 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "1.51.0", + "version": "1.52.0", "description": "The open-source kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index cd094742..31ecbc33 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 = 139, + appVersion = 142, # Increment this for every release. - appMarketingVersion = (defaultText = "1.51.0~2018-09-28"), + appMarketingVersion = (defaultText = "1.52.0~2018-10-01"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, -- cgit v1.2.3-1-g7c22 From cb9c94cf9df860cf44fe3f16962fd652939b9260 Mon Sep 17 00:00:00 2001 From: Lukas Berk Date: Tue, 2 Oct 2018 14:46:38 -0400 Subject: Drop default namespace value and duplicate WEKAN_SERVICE_NAME parameter --- openshift/wekan.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/openshift/wekan.yml b/openshift/wekan.yml index 0bc96ce8..542cb59a 100644 --- a/openshift/wekan.yml +++ b/openshift/wekan.yml @@ -319,7 +319,6 @@ parameters: - description: The OpenShift Namespace where the ImageStream resides. displayName: Namespace name: NAMESPACE - value: openshift - description: The name of the OpenShift Service exposed for the database. displayName: Database Service Name name: DATABASE_SERVICE_NAME @@ -367,8 +366,3 @@ parameters: value: quay.io/wekan/wekan:latest description: The metabase docker image to use required: true -- name: WEKAN_SERVICE_NAME - displayName: WeKan Service Name - value: wekan - required: true - -- cgit v1.2.3-1-g7c22 From f8b89129a308718b9676d3fa9743ce4655507f42 Mon Sep 17 00:00:00 2001 From: Schulz Date: Wed, 3 Oct 2018 15:58:17 +0300 Subject: Card url fixed --- client/components/boards/boardBody.js | 7 +++++++ client/components/cards/cardDetails.js | 20 +++++++++++++++++++- client/components/main/editor.js | 7 +++++-- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/client/components/boards/boardBody.js b/client/components/boards/boardBody.js index b68c9b12..ccbd0f23 100644 --- a/client/components/boards/boardBody.js +++ b/client/components/boards/boardBody.js @@ -147,6 +147,13 @@ BlazeComponent.extendComponent({ }); }, + scrollTop(position = 0) { + const swimlanes = this.$('.js-swimlanes'); + swimlanes && swimlanes.animate({ + scrollTop: position, + }); + }, + }).register('boardBody'); BlazeComponent.extendComponent({ diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 2cd399c1..d1bb3a1e 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -69,6 +69,20 @@ BlazeComponent.extendComponent({ if (offset) { bodyBoardComponent.scrollLeft(cardContainerScroll + offset); } + + //Scroll top + const cardViewStartTop = $cardView.offset().top; + const cardContainerScrollTop = $cardContainer.scrollTop(); + let topOffset = false; + if(cardViewStartTop < 0){ + topOffset = 0; + } else if(cardViewStartTop - cardContainerScrollTop > 100) { + topOffset = cardViewStartTop - cardContainerScrollTop - 100; + } + if(topOffset !== false) { + bodyBoardComponent.scrollTop(topOffset); + } + }, presentParentTask() { @@ -96,7 +110,11 @@ BlazeComponent.extendComponent({ }, onRendered() { - if (!Utils.isMiniScreen()) this.scrollParentContainer(); + if (!Utils.isMiniScreen()){ + Meteor.setTimeout(() => { + this.scrollParentContainer(); + }, 500); + } const $checklistsDom = this.$('.card-checklist-items'); $checklistsDom.sortable({ diff --git a/client/components/main/editor.js b/client/components/main/editor.js index 888fbe00..695c2e84 100755 --- a/client/components/main/editor.js +++ b/client/components/main/editor.js @@ -38,8 +38,11 @@ Blaze.Template.registerHelper('mentions', new Template('mentions', function() { const view = this; const currentBoard = Boards.findOne(Session.get('currentBoard')); const knowedUsers = currentBoard.members.map((member) => { - member.username = Users.findOne(member.userId).username; - return member; + const u = Users.findOne(member.userId); + if(u){ + member.username = u.username; + } + return member; }); const mentionRegex = /\B@([\w.]*)/gi; let content = Blaze.toHTML(view.templateContentBlock); -- cgit v1.2.3-1-g7c22 From 0aac9405ee0d23fe3c9fe502b92b536e94f95766 Mon Sep 17 00:00:00 2001 From: Lukas Berk Date: Wed, 3 Oct 2018 09:34:51 -0400 Subject: Update wekan.yml --- openshift/wekan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openshift/wekan.yml b/openshift/wekan.yml index 542cb59a..9ccdf8c0 100644 --- a/openshift/wekan.yml +++ b/openshift/wekan.yml @@ -358,7 +358,7 @@ parameters: required: true value: '3.2' - name: WEKAN_SERVICE_NAME - displayName: WeKan Service Name + displayName: Wekan Service Name value: wekan required: true - name: WEKAN_IMAGE -- cgit v1.2.3-1-g7c22 From 111e4d8478e79f578ae20a72c951b614ba81ef86 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 3 Oct 2018 16:39:16 +0300 Subject: - Fix lint error: whitespace. Thanks to xet7 ! --- client/components/main/editor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/components/main/editor.js b/client/components/main/editor.js index 695c2e84..20ece562 100755 --- a/client/components/main/editor.js +++ b/client/components/main/editor.js @@ -42,7 +42,7 @@ Blaze.Template.registerHelper('mentions', new Template('mentions', function() { if(u){ member.username = u.username; } - return member; + return member; }); const mentionRegex = /\B@([\w.]*)/gi; let content = Blaze.toHTML(view.templateContentBlock); -- cgit v1.2.3-1-g7c22 From 3d150b63dd361514c90d1fc8f21502b281b4896a Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 3 Oct 2018 16:46:20 +0300 Subject: - Fix Card URL https://github.com/wekan/wekan/pull/1932 Thanks to schulz ! --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bbb9ef1c..98c35853 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# Upcoming Wekan release + +This release fixes the following bugs: + +- [Fix Card URL](https://github.com/wekan/wekan/pull/1932). + +Thanks to GitHub user schulz for contributions. + # v1.52 2018-10-01 Wekan release This release removes the following new features: -- cgit v1.2.3-1-g7c22 From 29cebc8d3d8974fc0cd29cf5bd42b7e4ffd1fb96 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 3 Oct 2018 17:03:45 +0300 Subject: - OpenShift: Drop default namespace value and duplicate WEKAN_SERVICE_NAME parameter. Thanks to lberk ! Thanks to GitHub users lberk and schulz for their contributions. --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 98c35853..c080f68d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,10 @@ This release fixes the following bugs: -- [Fix Card URL](https://github.com/wekan/wekan/pull/1932). +- [Fix Card URL](https://github.com/wekan/wekan/pull/1932); +- [OpenShift: Drop default namespace value and duplicate WEKAN_SERVICE_NAME parameter](https://github.com/wekan/wekan/pull/1930). -Thanks to GitHub user schulz for contributions. +Thanks to GitHub users lberk and schulz for their contributions. # v1.52 2018-10-01 Wekan release -- cgit v1.2.3-1-g7c22 From f437d8370e03439d7ba5649496ec188c5d7b7e0c Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 3 Oct 2018 17:05:01 +0300 Subject: - Add whole packages/ directory to .gitignore Thanks to xet7 ! --- .gitignore | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c3f1293e..bfc54a42 100644 --- a/.gitignore +++ b/.gitignore @@ -8,9 +8,7 @@ npm-debug.log .vscode/ .idea/ .build/* -packages/kadira-flow-router/ -packages/meteor-useraccounts-core/ -packages/meteor-accounts-cas/ +packages/ package-lock.json **/parts/ **/stage -- cgit v1.2.3-1-g7c22 From 463b4f2442c94f7c2315ab6b034b5bde52af0f05 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 3 Oct 2018 17:07:56 +0300 Subject: - Add whole packages/ directory to .gitignore Thanks to xet7 ! --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c080f68d..e934a908 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,9 +3,10 @@ This release fixes the following bugs: - [Fix Card URL](https://github.com/wekan/wekan/pull/1932); -- [OpenShift: Drop default namespace value and duplicate WEKAN_SERVICE_NAME parameter](https://github.com/wekan/wekan/pull/1930). +- [OpenShift: Drop default namespace value and duplicate WEKAN_SERVICE_NAME parameter](https://github.com/wekan/wekan/pull/1930); +- [Add whole packages/ directory to .gitignore](https://github.com/wekan/wekan/commit/f437d8370e03439d7ba5649496ec188c5d7b7e0c). -Thanks to GitHub users lberk and schulz for their contributions. +Thanks to GitHub users lberk, schulz and xet7 for their contributions. # v1.52 2018-10-01 Wekan release -- cgit v1.2.3-1-g7c22 From 001c8f2b0138fb26a8c84acab62a604d0c6e5dda Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 3 Oct 2018 17:20:20 +0300 Subject: - Add info about root-url to GitHub issue template. Thanks to xet7 ! --- .github/ISSUE_TEMPLATE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index dca55329..8a92ed83 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -3,6 +3,7 @@ **Server Setup Information**: * Did you test in newest Wekan?: +* For new Wekan install, did you configure root-url correctly https://github.com/wekan/wekan/wiki/Settings ? * Wekan version: * If this is about old version of Wekan, what upgrade problem you have?: * Operating System: -- cgit v1.2.3-1-g7c22 From 0d22f683fe6b5fc856ef9739fa75aa33d556168a Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 3 Oct 2018 17:24:38 +0300 Subject: - [Add info about root-url to GitHub issue template](https://github.com/wekan/wekan/commit/001c8f2b0138fb26a8c84acab62a604d0c6e5dda). Thanks to xet7 ! --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e934a908..cb67b3ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,8 @@ This release fixes the following bugs: - [Fix Card URL](https://github.com/wekan/wekan/pull/1932); - [OpenShift: Drop default namespace value and duplicate WEKAN_SERVICE_NAME parameter](https://github.com/wekan/wekan/pull/1930); -- [Add whole packages/ directory to .gitignore](https://github.com/wekan/wekan/commit/f437d8370e03439d7ba5649496ec188c5d7b7e0c). +- [Add whole packages/ directory to .gitignore](https://github.com/wekan/wekan/commit/f437d8370e03439d7ba5649496ec188c5d7b7e0c); +- [Add info about root-url to GitHub issue template](https://github.com/wekan/wekan/commit/001c8f2b0138fb26a8c84acab62a604d0c6e5dda). Thanks to GitHub users lberk, schulz and xet7 for their contributions. -- cgit v1.2.3-1-g7c22 From a26f9bc1e78041c65ed5b986c93d08ebe660a249 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 3 Oct 2018 18:15:01 +0300 Subject: - [OpenShift: Drop default namespace value and duplicate WEKAN_SERVICE_NAME parameter](https://github.com/wekan/wekan/pull/1930); Thanks to lberk and InfoSec812 ! --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb67b3ed..865e6de1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ This release fixes the following bugs: - [Add whole packages/ directory to .gitignore](https://github.com/wekan/wekan/commit/f437d8370e03439d7ba5649496ec188c5d7b7e0c); - [Add info about root-url to GitHub issue template](https://github.com/wekan/wekan/commit/001c8f2b0138fb26a8c84acab62a604d0c6e5dda). -Thanks to GitHub users lberk, schulz and xet7 for their contributions. +Thanks to GitHub users lberk, InfoSec812 and xet7 for their contributions. # v1.52 2018-10-01 Wekan release -- cgit v1.2.3-1-g7c22 From 22077af137b50e8203ca1105bf22f72b4d17d1f8 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 3 Oct 2018 19:25:11 +0300 Subject: - Add info about stable and edge. Thanks to xet7 ! --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index a57a144c..5fd6dc70 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,14 @@ # Wekan +## Stable + +- master+devel branch. At release, devel is merged to master. +- Receives fixes and features that have been tested at edge that they work. + +## Edge + +- edge branch. All new fixes and features are added to here first. [Testing Edge](https://github.com/wekan/wekan-snap/wiki/Snap-Developer-Docs). + [![Translate Wekan at Transifex](https://img.shields.io/badge/Translate%20Wekan-at%20Transifex-brightgreen.svg "Freenode IRC")](https://transifex.com/wekan/wekan) [![Wekan Vanila Chat][vanila_badge]][vanila_chat] -- cgit v1.2.3-1-g7c22 From 1623ef65bb49cd0a3e5cb11145ded68f2c11d2fb Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 3 Oct 2018 21:34:00 +0300 Subject: v1.53 --- CHANGELOG.md | 2 +- package.json | 2 +- sandstorm-pkgdef.capnp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 865e6de1..6f7688a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Upcoming Wekan release +# v1.53 2018-10-03 Wekan release This release fixes the following bugs: diff --git a/package.json b/package.json index df8d6234..8ce4098a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "1.52.0", + "version": "1.53.0", "description": "The open-source kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 31ecbc33..8bd249e4 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 = 142, + appVersion = 144, # Increment this for every release. - appMarketingVersion = (defaultText = "1.52.0~2018-10-01"), + appMarketingVersion = (defaultText = "1.53.0~2018-10-03"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, -- cgit v1.2.3-1-g7c22 From a2866ce6f3c3bfc0be91eade626faa27c111ff83 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sat, 6 Oct 2018 15:06:56 +0300 Subject: Update translations (pt-BR). --- i18n/pt-BR.i18n.json | 74 ++++++++++++++++++++++++++-------------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json index 8338b68b..c1038b2c 100644 --- a/i18n/pt-BR.i18n.json +++ b/i18n/pt-BR.i18n.json @@ -541,9 +541,9 @@ "r-list": "list", "r-moved-to": "Moved to", "r-moved-from": "Moved from", - "r-archived": "Moved to Recycle Bin", - "r-unarchived": "Restored from Recycle Bin", - "r-a-card": "a card", + "r-archived": "Enviado para a lixeira", + "r-unarchived": "Restaurado da lixeira", + "r-a-card": "um cartão", "r-when-a-label-is": "When a label is", "r-when-the-label-is": "When the label is", "r-list-name": "List name", @@ -558,53 +558,53 @@ "r-made-incomplete": "Made incomplete", "r-when-a-item": "When a checklist item is", "r-when-the-item": "When the checklist item", - "r-checked": "Checked", - "r-unchecked": "Unchecked", + "r-checked": "Marcado", + "r-unchecked": "Desmarcado", "r-move-card-to": "Move card to", "r-top-of": "Top of", "r-bottom-of": "Bottom of", "r-its-list": "its list", "r-archive": "Mover para a lixeira", "r-unarchive": "Restore from Recycle Bin", - "r-card": "card", + "r-card": "cartão", "r-add": "Novo", - "r-remove": "Remove", - "r-label": "label", - "r-member": "member", + "r-remove": "Remover", + "r-label": "etiqueta", + "r-member": "membro", "r-remove-all": "Remove all members from the card", "r-checklist": "checklist", - "r-check-all": "Check all", - "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", - "r-check": "Check", - "r-uncheck": "Uncheck", + "r-check-all": "Marcar todos", + "r-uncheck-all": "Desmarcar todos", + "r-item-check": "itens do checklist", + "r-check": "Marcar", + "r-uncheck": "Desmarcar", "r-item": "item", - "r-of-checklist": "of checklist", - "r-send-email": "Send an email", - "r-to": "to", - "r-subject": "subject", + "r-of-checklist": "do checklist", + "r-send-email": "Enviar um e-mail", + "r-to": "para", + "r-subject": "assunto", "r-rule-details": "Rule details", "r-d-move-to-top-gen": "Move card to top of its list", "r-d-move-to-top-spec": "Move card to top of list", "r-d-move-to-bottom-gen": "Move card to bottom of its list", "r-d-move-to-bottom-spec": "Move card to bottom of list", - "r-d-send-email": "Send email", - "r-d-send-email-to": "to", - "r-d-send-email-subject": "subject", - "r-d-send-email-message": "message", - "r-d-archive": "Move card to Recycle Bin", - "r-d-unarchive": "Restore card from Recycle Bin", - "r-d-add-label": "Add label", - "r-d-remove-label": "Remove label", - "r-d-add-member": "Add member", - "r-d-remove-member": "Remove member", - "r-d-remove-all-member": "Remove all member", - "r-d-check-all": "Check all items of a list", - "r-d-uncheck-all": "Uncheck all items of a list", - "r-d-check-one": "Check item", - "r-d-uncheck-one": "Uncheck item", - "r-d-check-of-list": "of checklist", - "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-d-send-email": "Enviar e-mail", + "r-d-send-email-to": "para", + "r-d-send-email-subject": "assunto", + "r-d-send-email-message": "mensagem", + "r-d-archive": "Enviar cartão para a lixeira", + "r-d-unarchive": "Restaurar cartão da lixeira", + "r-d-add-label": "Adicionar etiqueta", + "r-d-remove-label": "Remover etiqueta", + "r-d-add-member": "Adicionar membro", + "r-d-remove-member": "Remover membro", + "r-d-remove-all-member": "Remover todos os membros", + "r-d-check-all": "Marcar todos os itens de uma lista", + "r-d-uncheck-all": "Desmarcar todos os itens de uma lista", + "r-d-check-one": "Marcar item", + "r-d-uncheck-one": "Desmarcar item", + "r-d-check-of-list": "do checklist", + "r-d-add-checklist": "Adicionar checklist", + "r-d-remove-checklist": "Remover checklist", + "r-when-a-card-is-moved": "Quando um cartão é movido de outra lista" } \ No newline at end of file -- cgit v1.2.3-1-g7c22 From 9e5d01601732b7339222a950d40ef329cb118296 Mon Sep 17 00:00:00 2001 From: Tom O'Dwyer <24863179+tomodwyer@users.noreply.github.com> Date: Sat, 13 Oct 2018 18:08:53 +0100 Subject: Fix vertical text for swimlanes in IE11 https://github.com/wekan/wekan/issues/1798 --- client/components/swimlanes/swimlanes.styl | 1 + 1 file changed, 1 insertion(+) diff --git a/client/components/swimlanes/swimlanes.styl b/client/components/swimlanes/swimlanes.styl index dce298b0..abcc90d4 100644 --- a/client/components/swimlanes/swimlanes.styl +++ b/client/components/swimlanes/swimlanes.styl @@ -32,6 +32,7 @@ border-bottom: 1px solid #CCC .swimlane-header + -ms-writing-mode: tb-rl; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 14px; -- cgit v1.2.3-1-g7c22 From 63ee764a9be8d9897f88b5d4739e098635324096 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sat, 13 Oct 2018 23:37:46 +0300 Subject: - [Fix vertical text for swimlanes in IE11](https://github.com/wekan/wekan/issues/1798). Thanks to tomodwyer ! Closes #1798 --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f7688a0..37097a3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# Upcoming Wekan release + +This release fixes the following bugs: + +- [Fix vertical text for swimlanes in IE11](https://github.com/wekan/wekan/issues/1798). + +Thanks to GitHub user tomodwyer for contributions. + # v1.53 2018-10-03 Wekan release This release fixes the following bugs: -- cgit v1.2.3-1-g7c22 From bedd3767cece1784c9622b5c9d17d61251ba61e1 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sat, 13 Oct 2018 23:42:13 +0300 Subject: Update translations. --- i18n/ar.i18n.json | 11 +++++-- i18n/bg.i18n.json | 11 +++++-- i18n/br.i18n.json | 11 +++++-- i18n/ca.i18n.json | 11 +++++-- i18n/cs.i18n.json | 11 +++++-- i18n/de.i18n.json | 11 +++++-- i18n/el.i18n.json | 11 +++++-- i18n/en-GB.i18n.json | 11 +++++-- i18n/en.i18n.json | 11 +++++-- i18n/eo.i18n.json | 11 +++++-- i18n/es-AR.i18n.json | 11 +++++-- i18n/es.i18n.json | 11 +++++-- i18n/eu.i18n.json | 11 +++++-- i18n/fa.i18n.json | 11 +++++-- i18n/fi.i18n.json | 11 +++++-- i18n/fr.i18n.json | 11 +++++-- i18n/gl.i18n.json | 11 +++++-- i18n/he.i18n.json | 11 +++++-- i18n/hu.i18n.json | 11 +++++-- i18n/hy.i18n.json | 11 +++++-- i18n/id.i18n.json | 11 +++++-- i18n/ig.i18n.json | 11 +++++-- i18n/it.i18n.json | 85 +++++++++++++++++++++++++++------------------------- i18n/ja.i18n.json | 11 +++++-- i18n/ka.i18n.json | 11 +++++-- i18n/km.i18n.json | 11 +++++-- i18n/ko.i18n.json | 11 +++++-- i18n/lv.i18n.json | 11 +++++-- i18n/mn.i18n.json | 11 +++++-- i18n/nb.i18n.json | 11 +++++-- i18n/nl.i18n.json | 11 +++++-- i18n/pl.i18n.json | 11 +++++-- i18n/pt-BR.i18n.json | 15 ++++++---- i18n/pt.i18n.json | 11 +++++-- i18n/ro.i18n.json | 11 +++++-- i18n/ru.i18n.json | 11 +++++-- i18n/sr.i18n.json | 11 +++++-- i18n/sv.i18n.json | 11 +++++-- i18n/ta.i18n.json | 11 +++++-- i18n/th.i18n.json | 11 +++++-- i18n/tr.i18n.json | 11 +++++-- i18n/uk.i18n.json | 11 +++++-- i18n/vi.i18n.json | 11 +++++-- i18n/zh-CN.i18n.json | 79 +++++++++++++++++++++++++----------------------- i18n/zh-TW.i18n.json | 11 +++++-- 45 files changed, 433 insertions(+), 208 deletions(-) diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json index 62e886e5..52ac4640 100644 --- a/i18n/ar.i18n.json +++ b/i18n/ar.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json index 9a8c8b65..b5694a76 100644 --- a/i18n/bg.i18n.json +++ b/i18n/bg.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json index 467c99d9..a952fc1d 100644 --- a/i18n/br.i18n.json +++ b/i18n/br.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json index dd54348e..199b3837 100644 --- a/i18n/ca.i18n.json +++ b/i18n/ca.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json index e9bc74ab..55e07d3c 100644 --- a/i18n/cs.i18n.json +++ b/i18n/cs.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Přidat pravidlo", "r-view-rule": "Zobrazit pravidlo", "r-delete-rule": "Smazat pravidlo", - "r-new-rule-name": "Přidat nové pravidlo", + "r-new-rule-name": "New rule title", "r-no-rules": "Žádná pravidla", "r-when-a-card-is": "Pokud je karta", "r-added-to": "Přidáno do", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Přidat checklist", "r-d-remove-checklist": "Odstranit checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json index 408224fd..bf04cb87 100644 --- a/i18n/de.i18n.json +++ b/i18n/de.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Regel hinzufügen", "r-view-rule": "Regel anzeigen", "r-delete-rule": "Regel löschen", - "r-new-rule-name": "Neue Regel hinzufügen", + "r-new-rule-name": "Neuer Regeltitel", "r-no-rules": "Keine Regeln", "r-when-a-card-is": "Wenn eine Karte ist", "r-added-to": "Hinzugefügt zu", @@ -575,7 +575,7 @@ "r-checklist": "Checkliste", "r-check-all": "Alle markieren", "r-uncheck-all": "Alle demarkieren", - "r-item-check": "Elemente der Checkliste", + "r-items-check": "Elemente der Checkliste", "r-check": "Markieren", "r-uncheck": "Demarkieren", "r-item": "Element", @@ -606,5 +606,10 @@ "r-d-check-of-list": "der Checkliste", "r-d-add-checklist": "Checkliste hinzufügen", "r-d-remove-checklist": "Checkliste entfernen", - "r-when-a-card-is-moved": "Wenn eine Karte in eine andere Liste verschoben wird" + "r-when-a-card-is-moved": "Wenn eine Karte in eine andere Liste verschoben wird", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentifizierungsmethode", + "authentication-type": "Authentifizierungstyp" } \ No newline at end of file diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json index 6f9c3a66..822f2ead 100644 --- a/i18n/el.i18n.json +++ b/i18n/el.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json index bf2dbea3..0780077b 100644 --- a/i18n/en-GB.i18n.json +++ b/i18n/en-GB.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 896c10a3..2e52dcfb 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -576,7 +576,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -607,5 +607,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json index a61208b3..986f78f5 100644 --- a/i18n/eo.i18n.json +++ b/i18n/eo.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json index a2d55ac2..aac925c7 100644 --- a/i18n/es-AR.i18n.json +++ b/i18n/es-AR.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json index 1c11035b..5735d012 100644 --- a/i18n/es.i18n.json +++ b/i18n/es.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json index 19e36b19..c905b61b 100644 --- a/i18n/eu.i18n.json +++ b/i18n/eu.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json index 9ebaee6a..58f7a3ad 100644 --- a/i18n/fa.i18n.json +++ b/i18n/fa.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json index 753acfaf..63ac2175 100644 --- a/i18n/fi.i18n.json +++ b/i18n/fi.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Lisää sääntö", "r-view-rule": "Näytä sääntö", "r-delete-rule": "Poista sääntö", - "r-new-rule-name": "Lisää uusi sääntö", + "r-new-rule-name": "Uuden säännön otsikko", "r-no-rules": "Ei sääntöjä", "r-when-a-card-is": "Kun kortti on", "r-added-to": "Lisätty kohteeseen", @@ -575,7 +575,7 @@ "r-checklist": "tarkistuslista", "r-check-all": "Ruksaa kaikki", "r-uncheck-all": "Poista ruksi kaikista", - "r-item-check": "Kohtaa tarkistuslistassa", + "r-items-check": "kohtaa tarkistuslistassa", "r-check": "Ruksaa", "r-uncheck": "Poista ruksi", "r-item": "kohta", @@ -606,5 +606,10 @@ "r-d-check-of-list": "tarkistuslistasta", "r-d-add-checklist": "Lisää tarkistuslista", "r-d-remove-checklist": "Poista tarkistuslista", - "r-when-a-card-is-moved": "Kun kortti on siirretty toiseen listaan" + "r-when-a-card-is-moved": "Kun kortti on siirretty toiseen listaan", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Kirjautumistapa", + "authentication-type": "Kirjautumistyyppi" } \ No newline at end of file diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index 47da1ee2..bb67e05b 100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Ajouter une règle", "r-view-rule": "Voir la règle", "r-delete-rule": "Supprimer la règle", - "r-new-rule-name": "Ajouter une nouvelle règle", + "r-new-rule-name": "Titre de la nouvelle règle", "r-no-rules": "Pas de règles", "r-when-a-card-is": "Quand une carte est", "r-added-to": "Ajouté à", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Tout cocher", "r-uncheck-all": "Tout décocher", - "r-item-check": "Éléments de la checklist", + "r-items-check": "Élément de checklist", "r-check": "Cocher", "r-uncheck": "Décocher", "r-item": "élément", @@ -606,5 +606,10 @@ "r-d-check-of-list": "de la checklist", "r-d-add-checklist": "Ajouter une checklist", "r-d-remove-checklist": "Supprimer la checklist", - "r-when-a-card-is-moved": "Quand une carte est déplacée vers une autre liste" + "r-when-a-card-is-moved": "Quand une carte est déplacée vers une autre liste", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Méthode d'authentification", + "authentication-type": "Type d'authentification" } \ No newline at end of file diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json index 759bd1cd..0dccb86d 100644 --- a/i18n/gl.i18n.json +++ b/i18n/gl.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json index ff52b699..6fc31d26 100644 --- a/i18n/he.i18n.json +++ b/i18n/he.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "הוספת כלל", "r-view-rule": "הצגת כלל", "r-delete-rule": "מחיקת כל", - "r-new-rule-name": "הוספת כלל חדש", + "r-new-rule-name": "New rule title", "r-no-rules": "אין כללים", "r-when-a-card-is": "כאשר כרטיס", "r-added-to": "נוסף אל", @@ -575,7 +575,7 @@ "r-checklist": "רשימת משימות", "r-check-all": "לסמן הכול", "r-uncheck-all": "לבטל את הסימון", - "r-item-check": "פריטים לרשימת משימות", + "r-items-check": "items of checklist", "r-check": "סימון", "r-uncheck": "ביטול סימון", "r-item": "פריט", @@ -606,5 +606,10 @@ "r-d-check-of-list": "של רשימת משימות", "r-d-add-checklist": "הוספת רשימת משימות", "r-d-remove-checklist": "הסרת רשימת משימות", - "r-when-a-card-is-moved": "כאשר כרטיס מועבר לרשימה אחרת" + "r-when-a-card-is-moved": "כאשר כרטיס מועבר לרשימה אחרת", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json index 1ebe8bef..8420e27c 100644 --- a/i18n/hu.i18n.json +++ b/i18n/hu.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json index d37621bc..7c5904df 100644 --- a/i18n/hy.i18n.json +++ b/i18n/hy.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json index 11ce4d45..8cf0195a 100644 --- a/i18n/id.i18n.json +++ b/i18n/id.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json index 9ff7f64c..08f2d06c 100644 --- a/i18n/ig.i18n.json +++ b/i18n/ig.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json index 85c760c6..08a975bc 100644 --- a/i18n/it.i18n.json +++ b/i18n/it.i18n.json @@ -43,7 +43,7 @@ "activity-sent": "inviato %s a %s", "activity-unjoined": "ha abbandonato %s", "activity-subtask-added": "aggiunto il sottocompito a 1%s", - "activity-checked-item": "checked %s in checklist %s of %s", + "activity-checked-item": " selezionata %s nella checklist %s di %s", "activity-unchecked-item": "unchecked %s in checklist %s of %s", "activity-checklist-added": "aggiunta checklist a %s", "activity-checklist-removed": "removed a checklist from %s", @@ -522,23 +522,23 @@ "activity-added-label": "added label '%s' to %s", "activity-removed-label": "removed label '%s' from %s", "activity-delete-attach": "deleted an attachment from %s", - "activity-added-label-card": "added label '%s'", + "activity-added-label-card": "aggiunta etichetta '%s'", "activity-removed-label-card": "removed label '%s'", - "activity-delete-attach-card": "deleted an attachment", - "r-rule": "Rule", - "r-add-trigger": "Add trigger", - "r-add-action": "Add action", - "r-board-rules": "Board rules", - "r-add-rule": "Add rule", - "r-view-rule": "View rule", - "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", - "r-no-rules": "No rules", - "r-when-a-card-is": "When a card is", - "r-added-to": "Added to", - "r-removed-from": "Removed from", - "r-the-board": "the board", - "r-list": "list", + "activity-delete-attach-card": "Cancella un allegato", + "r-rule": "Ruolo", + "r-add-trigger": "Aggiungi trigger", + "r-add-action": "Aggiungi azione", + "r-board-rules": "Regole del cruscotto", + "r-add-rule": "Aggiungi regola", + "r-view-rule": "Visualizza regola", + "r-delete-rule": "Cancella regola", + "r-new-rule-name": "Titolo nuova regola", + "r-no-rules": "Nessuna regola", + "r-when-a-card-is": "Quando la tessera è", + "r-added-to": "Aggiunta a", + "r-removed-from": "Rimosso da", + "r-the-board": "Il cruscotto", + "r-list": "lista", "r-moved-to": "Moved to", "r-moved-from": "Moved from", "r-archived": "Moved to Recycle Bin", @@ -575,36 +575,41 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", - "r-of-checklist": "of checklist", + "r-of-checklist": "della lista di cose da fare", "r-send-email": "Send an email", "r-to": "to", - "r-subject": "subject", + "r-subject": "soggetto", "r-rule-details": "Rule details", "r-d-move-to-top-gen": "Move card to top of its list", "r-d-move-to-top-spec": "Move card to top of list", - "r-d-move-to-bottom-gen": "Move card to bottom of its list", - "r-d-move-to-bottom-spec": "Move card to bottom of list", - "r-d-send-email": "Send email", + "r-d-move-to-bottom-gen": "Sposta la scheda in fondo alla sua lista", + "r-d-move-to-bottom-spec": "Muovi la scheda in fondo alla lista", + "r-d-send-email": "Spedisci email", "r-d-send-email-to": "to", - "r-d-send-email-subject": "subject", - "r-d-send-email-message": "message", - "r-d-archive": "Move card to Recycle Bin", - "r-d-unarchive": "Restore card from Recycle Bin", - "r-d-add-label": "Add label", - "r-d-remove-label": "Remove label", - "r-d-add-member": "Add member", - "r-d-remove-member": "Remove member", - "r-d-remove-all-member": "Remove all member", - "r-d-check-all": "Check all items of a list", - "r-d-uncheck-all": "Uncheck all items of a list", - "r-d-check-one": "Check item", - "r-d-uncheck-one": "Uncheck item", - "r-d-check-of-list": "of checklist", - "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-d-send-email-subject": "soggetto", + "r-d-send-email-message": "Messaggio", + "r-d-archive": "Metti la scheda nel cestino", + "r-d-unarchive": "Recupera scheda da cestino", + "r-d-add-label": "Aggiungi etichetta", + "r-d-remove-label": "Rimuovi Etichetta", + "r-d-add-member": "Aggiungi membro", + "r-d-remove-member": "Rimuovi membro", + "r-d-remove-all-member": "Rimouvi tutti i membri", + "r-d-check-all": "Seleziona tutti gli item di una lista", + "r-d-uncheck-all": "Deseleziona tutti gli items di una lista", + "r-d-check-one": "Seleziona", + "r-d-uncheck-one": "Deselezionalo", + "r-d-check-of-list": "della lista di cose da fare", + "r-d-add-checklist": "Aggiungi lista di cose da fare", + "r-d-remove-checklist": "Rimuovi check list", + "r-when-a-card-is-moved": "Quando una scheda viene spostata su un'altra lista", + "ldap": "LDAP", + "oauth2": "Oauth2", + "cas": "CAS", + "authentication-method": "Metodo di Autenticazione", + "authentication-type": "Tipo Autenticazione" } \ No newline at end of file diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json index c86845b7..02be3546 100644 --- a/i18n/ja.i18n.json +++ b/i18n/ja.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/ka.i18n.json b/i18n/ka.i18n.json index 3012bb3e..bca85c90 100644 --- a/i18n/ka.i18n.json +++ b/i18n/ka.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/km.i18n.json b/i18n/km.i18n.json index 0e6c8934..5545829f 100644 --- a/i18n/km.i18n.json +++ b/i18n/km.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json index 17d42a59..b0fbe280 100644 --- a/i18n/ko.i18n.json +++ b/i18n/ko.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json index 7baad114..f4e82278 100644 --- a/i18n/lv.i18n.json +++ b/i18n/lv.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json index e7698c57..ebfedea3 100644 --- a/i18n/mn.i18n.json +++ b/i18n/mn.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json index 15d8a651..8ee7ccef 100644 --- a/i18n/nb.i18n.json +++ b/i18n/nb.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json index 51332157..10d3fa22 100644 --- a/i18n/nl.i18n.json +++ b/i18n/nl.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index 85c7dca4..cd0be002 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Dodaj regułę", "r-view-rule": "Zobacz regułę", "r-delete-rule": "Usuń regułę", - "r-new-rule-name": "Dodaj nową regułę", + "r-new-rule-name": "New rule title", "r-no-rules": "Brak regułę", "r-when-a-card-is": "Gdy karta jest", "r-added-to": "Dodano do", @@ -575,7 +575,7 @@ "r-checklist": "lista zadań", "r-check-all": "Zaznacz wszystkie", "r-uncheck-all": "Odznacz wszystkie", - "r-item-check": "Elementy listy zadań", + "r-items-check": "items of checklist", "r-check": "Zaznacz", "r-uncheck": "Odznacz", "r-item": "element", @@ -606,5 +606,10 @@ "r-d-check-of-list": "z listy zadań", "r-d-add-checklist": "Dodaj listę zadań", "r-d-remove-checklist": "Usuń listę zadań", - "r-when-a-card-is-moved": "Gdy karta jest przeniesiona do innej listy" + "r-when-a-card-is-moved": "Gdy karta jest przeniesiona do innej listy", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json index c1038b2c..613b4192 100644 --- a/i18n/pt-BR.i18n.json +++ b/i18n/pt-BR.i18n.json @@ -181,7 +181,7 @@ "comment-placeholder": "Escrever Comentário", "comment-only": "Somente comentários", "comment-only-desc": "Pode comentar apenas em cartões.", - "no-comments": "No comments", + "no-comments": "Sem comentários", "no-comments-desc": "Can not see comments and activities.", "computer": "Computador", "confirm-subtask-delete-dialog": "Tem certeza que deseja deletar a subtarefa?", @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -565,7 +565,7 @@ "r-bottom-of": "Bottom of", "r-its-list": "its list", "r-archive": "Mover para a lixeira", - "r-unarchive": "Restore from Recycle Bin", + "r-unarchive": "Restaurar da Lixeira", "r-card": "cartão", "r-add": "Novo", "r-remove": "Remover", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Marcar todos", "r-uncheck-all": "Desmarcar todos", - "r-item-check": "itens do checklist", + "r-items-check": "items of checklist", "r-check": "Marcar", "r-uncheck": "Desmarcar", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "do checklist", "r-d-add-checklist": "Adicionar checklist", "r-d-remove-checklist": "Remover checklist", - "r-when-a-card-is-moved": "Quando um cartão é movido de outra lista" + "r-when-a-card-is-moved": "Quando um cartão é movido de outra lista", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json index 986efb39..248f42d5 100644 --- a/i18n/pt.i18n.json +++ b/i18n/pt.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json index 6ece0bcc..c2943f78 100644 --- a/i18n/ro.i18n.json +++ b/i18n/ro.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json index d501d77e..b31ee2b2 100644 --- a/i18n/ru.i18n.json +++ b/i18n/ru.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json index 968b6a18..1e59bf93 100644 --- a/i18n/sr.i18n.json +++ b/i18n/sr.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json index 670f6844..81ba2ecd 100644 --- a/i18n/sv.i18n.json +++ b/i18n/sv.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json index 07686e88..29630ead 100644 --- a/i18n/ta.i18n.json +++ b/i18n/ta.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json index 3227dd34..aa2d7d44 100644 --- a/i18n/th.i18n.json +++ b/i18n/th.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json index e6b5e275..731ab7c8 100644 --- a/i18n/tr.i18n.json +++ b/i18n/tr.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json index 0fc8265e..3e5d1adf 100644 --- a/i18n/uk.i18n.json +++ b/i18n/uk.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json index be1a166e..9727eb7d 100644 --- a/i18n/vi.i18n.json +++ b/i18n/vi.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json index 7f49807f..0a41a12f 100644 --- a/i18n/zh-CN.i18n.json +++ b/i18n/zh-CN.i18n.json @@ -46,7 +46,7 @@ "activity-checked-item": "checked %s in checklist %s of %s", "activity-unchecked-item": "unchecked %s in checklist %s of %s", "activity-checklist-added": "已经将清单添加到 %s", - "activity-checklist-removed": "removed a checklist from %s", + "activity-checklist-removed": "已从%s移除待办清单", "activity-checklist-completed": "completed the checklist %s of %s", "activity-checklist-uncompleted": "uncompleted the checklist %s of %s", "activity-checklist-item-added": "添加清单项至'%s' 于 %s", @@ -181,8 +181,8 @@ "comment-placeholder": "添加评论", "comment-only": "仅能评论", "comment-only-desc": "只能在卡片上评论。", - "no-comments": "No comments", - "no-comments-desc": "Can not see comments and activities.", + "no-comments": "暂无评论", + "no-comments-desc": "无法查看评论和活动。", "computer": "从本机上传", "confirm-subtask-delete-dialog": "确定要删除子任务吗?", "confirm-checklist-delete-dialog": "确定要删除清单吗?", @@ -381,7 +381,7 @@ "restore": "还原", "save": "保存", "search": "搜索", - "rules": "Rules", + "rules": "规则", "search-cards": "搜索当前看板上的卡片标题和描述", "search-example": "搜索", "select-color": "选择颜色", @@ -525,36 +525,36 @@ "activity-added-label-card": "added label '%s'", "activity-removed-label-card": "removed label '%s'", "activity-delete-attach-card": "deleted an attachment", - "r-rule": "Rule", - "r-add-trigger": "Add trigger", + "r-rule": "规则", + "r-add-trigger": "添加触发器", "r-add-action": "Add action", "r-board-rules": "Board rules", - "r-add-rule": "Add rule", - "r-view-rule": "View rule", - "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", - "r-no-rules": "No rules", + "r-add-rule": "添加规则", + "r-view-rule": "查看规则", + "r-delete-rule": "删除规则", + "r-new-rule-name": "新建规则标题", + "r-no-rules": "暂无规则", "r-when-a-card-is": "When a card is", - "r-added-to": "Added to", + "r-added-to": "添加到", "r-removed-from": "Removed from", - "r-the-board": "the board", - "r-list": "list", - "r-moved-to": "Moved to", + "r-the-board": "该看板", + "r-list": "列表", + "r-moved-to": "移至", "r-moved-from": "Moved from", "r-archived": "Moved to Recycle Bin", "r-unarchived": "Restored from Recycle Bin", "r-a-card": "a card", "r-when-a-label-is": "When a label is", "r-when-the-label-is": "When the label is", - "r-list-name": "List name", + "r-list-name": "清单名称", "r-when-a-member": "When a member is", "r-when-the-member": "When the member", - "r-name": "name", + "r-name": "名称", "r-is": "is", "r-when-a-attach": "When an attachment", "r-when-a-checklist": "When a checklist is", "r-when-the-checklist": "When the checklist", - "r-completed": "Completed", + "r-completed": "已完成", "r-made-incomplete": "Made incomplete", "r-when-a-item": "When a checklist item is", "r-when-the-item": "When the checklist item", @@ -575,36 +575,41 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", "r-of-checklist": "of checklist", "r-send-email": "Send an email", - "r-to": "to", - "r-subject": "subject", + "r-to": "收件人", + "r-subject": "标题", "r-rule-details": "Rule details", "r-d-move-to-top-gen": "Move card to top of its list", "r-d-move-to-top-spec": "Move card to top of list", "r-d-move-to-bottom-gen": "Move card to bottom of its list", "r-d-move-to-bottom-spec": "Move card to bottom of list", - "r-d-send-email": "Send email", - "r-d-send-email-to": "to", - "r-d-send-email-subject": "subject", - "r-d-send-email-message": "message", - "r-d-archive": "Move card to Recycle Bin", - "r-d-unarchive": "Restore card from Recycle Bin", - "r-d-add-label": "Add label", - "r-d-remove-label": "Remove label", - "r-d-add-member": "Add member", - "r-d-remove-member": "Remove member", - "r-d-remove-all-member": "Remove all member", + "r-d-send-email": "发送邮件", + "r-d-send-email-to": "收件人", + "r-d-send-email-subject": "标题", + "r-d-send-email-message": "消息", + "r-d-archive": "移动卡片到回收站", + "r-d-unarchive": "从回收站恢复卡片", + "r-d-add-label": "添加标签", + "r-d-remove-label": "移除标签", + "r-d-add-member": "添加成员", + "r-d-remove-member": "移除成员", + "r-d-remove-all-member": "移除所有成员", "r-d-check-all": "Check all items of a list", "r-d-uncheck-all": "Uncheck all items of a list", - "r-d-check-one": "Check item", - "r-d-uncheck-one": "Uncheck item", + "r-d-check-one": "勾选该项", + "r-d-uncheck-one": "取消勾选", "r-d-check-of-list": "of checklist", - "r-d-add-checklist": "Add checklist", - "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-d-add-checklist": "添加待办清单", + "r-d-remove-checklist": "移除待办清单", + "r-when-a-card-is-moved": "当移动卡片到另一个清单时", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "认证方式", + "authentication-type": "认证类型" } \ No newline at end of file diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json index 89ea22e5..1c1922d9 100644 --- a/i18n/zh-TW.i18n.json +++ b/i18n/zh-TW.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Add rule", "r-view-rule": "View rule", "r-delete-rule": "Delete rule", - "r-new-rule-name": "Add new rule", + "r-new-rule-name": "New rule title", "r-no-rules": "No rules", "r-when-a-card-is": "When a card is", "r-added-to": "Added to", @@ -575,7 +575,7 @@ "r-checklist": "checklist", "r-check-all": "Check all", "r-uncheck-all": "Uncheck all", - "r-item-check": "Items of checklist", + "r-items-check": "items of checklist", "r-check": "Check", "r-uncheck": "Uncheck", "r-item": "item", @@ -606,5 +606,10 @@ "r-d-check-of-list": "of checklist", "r-d-add-checklist": "Add checklist", "r-d-remove-checklist": "Remove checklist", - "r-when-a-card-is-moved": "When a card is moved to another list" + "r-when-a-card-is-moved": "When a card is moved to another list", + "ldap": "LDAP", + "oauth2": "OAuth2", + "cas": "CAS", + "authentication-method": "Authentication method", + "authentication-type": "Authentication type" } \ No newline at end of file -- cgit v1.2.3-1-g7c22 From 8cd5f7c185d31849c12ec0d9188120a6cb3e361e Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sat, 13 Oct 2018 23:51:54 +0300 Subject: - [Fix deleting Custom Fields, removing broken references](https://github.com/wekan/wekan/issues/1872). Thanks to Akuket and Clement87 ! --- models/customFields.js | 6 ++++++ server/migrations.js | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/models/customFields.js b/models/customFields.js index 6c5fe7c4..38481d8c 100644 --- a/models/customFields.js +++ b/models/customFields.js @@ -71,6 +71,12 @@ if (Meteor.isServer) { Activities.remove({ customFieldId: doc._id, }); + + Cards.update( + {'boardId': doc.boardId, 'customFields._id': doc._id}, + {$pull: {'customFields': {'_id': doc._id}}}, + {multi: true} + ); }); } diff --git a/server/migrations.js b/server/migrations.js index 91c34be2..ac33d836 100644 --- a/server/migrations.js +++ b/server/migrations.js @@ -321,3 +321,21 @@ Migrations.add('add-subtasks-allowed', () => { }, }, noValidateMulti); }); + +Migrations.add('remove-tag', () => { + Users.update({ + }, { + $unset: { + 'profile.tags':1, + }, + }, noValidateMulti); +}); + +Migrations.add('remove-customFields-references-broken', () => { + Cards.update({'customFields.$value': null}, + { $pull: { + customFields: {value: null}, + }, + }, noValidateMulti); +}); + -- cgit v1.2.3-1-g7c22 From a90f648d5edb119519f1178ccdf5d4d37f8f91d6 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sat, 13 Oct 2018 23:53:41 +0300 Subject: - [Fix deleting Custom Fields, removing broken references](https://github.com/wekan/wekan/issues/1872). Thanks to Akuket and Clement87 ! Closes #1872 --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37097a3d..cdc38d17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,9 @@ This release fixes the following bugs: - [Fix vertical text for swimlanes in IE11](https://github.com/wekan/wekan/issues/1798). +- [Fix deleting Custom Fields, removing broken references](https://github.com/wekan/wekan/issues/1872). -Thanks to GitHub user tomodwyer for contributions. +Thanks to GitHub users Akuket, Clement87 and tomodwyer for their contributions. # v1.53 2018-10-03 Wekan release -- cgit v1.2.3-1-g7c22 From e9f8e150e7227fa78c80274c5bc1296cc2fb2707 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sun, 14 Oct 2018 00:09:41 +0300 Subject: - [Improve notifications](https://github.com/wekan/wekan/pull/1948). Thanks to Akuket ! Closes #1304 --- client/components/users/userHeader.jade | 18 ------------------ client/components/users/userHeader.js | 20 -------------------- models/activities.js | 12 ------------ models/settings.js | 1 + models/users.js | 4 ---- server/notifications/notifications.js | 8 ++------ 6 files changed, 3 insertions(+), 60 deletions(-) diff --git a/client/components/users/userHeader.jade b/client/components/users/userHeader.jade index a8fdb143..b6e10d8a 100644 --- a/client/components/users/userHeader.jade +++ b/client/components/users/userHeader.jade @@ -17,7 +17,6 @@ template(name="memberMenuPopup") li: a.js-change-avatar {{_ 'edit-avatar'}} li: a.js-change-password {{_ 'changePasswordPopup-title'}} li: a.js-change-language {{_ 'changeLanguagePopup-title'}} - li: a.js-edit-notification {{_ 'editNotificationPopup-title'}} if currentUser.isAdmin li: a.js-go-setting(href="{{pathFor 'setting'}}") {{_ 'admin-panel'}} hr @@ -50,23 +49,6 @@ template(name="editProfilePopup") input.js-profile-email(type="email" value="{{emails.[0].address}}" readonly) input.primary.wide(type="submit" value="{{_ 'save'}}") -template(name="editNotificationPopup") - ul.pop-over-list - li - a.js-toggle-tag-notify-watch - i.fa.fa-eye.colorful - | {{_ 'watching'}} - if hasTag "notify-watch" - i.fa.fa-check - span.sub-name {{_ 'notify-watch'}} - li - a.js-toggle-tag-notify-participate - i.fa.fa-bell.colorful - | {{_ 'tracking'}} - if hasTag "notify-participate" - i.fa.fa-check - span.sub-name {{_ 'notify-participate'}} - template(name="changePasswordPopup") +atForm(state='changePwd') diff --git a/client/components/users/userHeader.js b/client/components/users/userHeader.js index d96a9b3d..63cbb14f 100644 --- a/client/components/users/userHeader.js +++ b/client/components/users/userHeader.js @@ -9,7 +9,6 @@ Template.memberMenuPopup.events({ 'click .js-change-avatar': Popup.open('changeAvatar'), 'click .js-change-password': Popup.open('changePassword'), 'click .js-change-language': Popup.open('changeLanguage'), - 'click .js-edit-notification': Popup.open('editNotification'), 'click .js-logout'(evt) { evt.preventDefault(); @@ -89,25 +88,6 @@ Template.editProfilePopup.events({ }, }); -Template.editNotificationPopup.helpers({ - hasTag(tag) { - const user = Meteor.user(); - return user && user.hasTag(tag); - }, -}); - -// we defined github like rules, see: https://github.com/settings/notifications -Template.editNotificationPopup.events({ - 'click .js-toggle-tag-notify-participate'() { - const user = Meteor.user(); - if (user) user.toggleTag('notify-participate'); - }, - 'click .js-toggle-tag-notify-watch'() { - const user = Meteor.user(); - if (user) user.toggleTag('notify-watch'); - }, -}); - // XXX For some reason the useraccounts autofocus isnt working in this case. // See https://github.com/meteor-useraccounts/core/issues/384 Template.changePasswordPopup.onRendered(function () { diff --git a/models/activities.js b/models/activities.js index 2228f66e..577aab68 100644 --- a/models/activities.js +++ b/models/activities.js @@ -143,18 +143,6 @@ if (Meteor.isServer) { } if (board) { const watchingUsers = _.pluck(_.where(board.watchers, {level: 'watching'}), 'userId'); - const trackingUsers = _.pluck(_.where(board.watchers, {level: 'tracking'}), 'userId'); - const mutedUsers = _.pluck(_.where(board.watchers, {level: 'muted'}), 'userId'); - switch(board.getWatchDefault()) { - case 'muted': - participants = _.intersection(participants, trackingUsers); - watchers = _.intersection(watchers, trackingUsers); - break; - case 'tracking': - participants = _.difference(participants, mutedUsers); - watchers = _.difference(watchers, mutedUsers); - break; - } watchers = _.union(watchers, watchingUsers || []); } diff --git a/models/settings.js b/models/settings.js index 3b9b4eae..5d01f2ea 100644 --- a/models/settings.js +++ b/models/settings.js @@ -116,6 +116,7 @@ if (Meteor.isServer) { url: FlowRouter.url('sign-up'), }; const lang = author.getLanguage(); + Email.send({ to: icode.email, from: Accounts.emailTemplates.from, diff --git a/models/users.js b/models/users.js index 07a3f75c..dc0ab608 100644 --- a/models/users.js +++ b/models/users.js @@ -89,10 +89,6 @@ Users.attachSchema(new SimpleSchema({ type: [String], optional: true, }, - 'profile.tags': { - type: [String], - optional: true, - }, 'profile.icode': { type: String, optional: true, diff --git a/server/notifications/notifications.js b/server/notifications/notifications.js index bc5557e1..72692ef8 100644 --- a/server/notifications/notifications.js +++ b/server/notifications/notifications.js @@ -25,16 +25,12 @@ Notifications = { participants.forEach((userId) => { if (userMap[userId]) return; const user = Users.findOne(userId); - if (user && user.hasTag('notify-participate')) { - userMap[userId] = user; - } + userMap[userId] = user; }); watchers.forEach((userId) => { if (userMap[userId]) return; const user = Users.findOne(userId); - if (user && user.hasTag('notify-watch')) { - userMap[userId] = user; - } + userMap[userId] = user; }); return _.map(userMap, (v) => v); }, -- cgit v1.2.3-1-g7c22 From cb98b1326dc192238e6b50304e6043e122bde4ac Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sun, 14 Oct 2018 00:11:18 +0300 Subject: - [Improve notifications](https://github.com/wekan/wekan/pull/1948). Thanks to Akuket ! Closes #1304 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cdc38d17..ce7f7afb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ This release fixes the following bugs: - [Fix vertical text for swimlanes in IE11](https://github.com/wekan/wekan/issues/1798). - [Fix deleting Custom Fields, removing broken references](https://github.com/wekan/wekan/issues/1872). +- [Improve notifications](https://github.com/wekan/wekan/pull/1948). Thanks to GitHub users Akuket, Clement87 and tomodwyer for their contributions. -- cgit v1.2.3-1-g7c22 From 9faa85a1c3b886d9e23e29148d1cbbfa7c214d51 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sun, 14 Oct 2018 00:18:20 +0300 Subject: - [REST API: Get cards by swimlane id](https://github.com/wekan/wekan/pull/1944). Please [add docs](https://github.com/wekan/wekan/wiki/REST-API-Swimlanes). Thanks to dcmcand ! Closes #1934 --- models/cards.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/models/cards.js b/models/cards.js index 73b9a023..7a0bcd5c 100644 --- a/models/cards.js +++ b/models/cards.js @@ -1056,6 +1056,29 @@ if (Meteor.isServer) { cardRemover(userId, doc); }); } +//SWIMLANES REST API +if (Meteor.isServer) { + JsonRoutes.add('GET', '/api/boards/:boardId/swimlanes/:swimlaneId/cards', function(req, res) { + const paramBoardId = req.params.boardId; + const paramSwimlaneId = req.params.swimlaneId; + Authentication.checkBoardAccess(req.userId, paramBoardId); + JsonRoutes.sendResult(res, { + code: 200, + data: Cards.find({ + boardId: paramBoardId, + swimlaneId: paramSwimlaneId, + archived: false, + }).map(function(doc) { + return { + _id: doc._id, + title: doc.title, + description: doc.description, + listId: doc.listId, + }; + }), + }); + }); +} //LISTS REST API if (Meteor.isServer) { JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId/cards', function (req, res) { -- cgit v1.2.3-1-g7c22 From ad663d2df99137b2e85074d22e6150912185516a Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sun, 14 Oct 2018 00:19:41 +0300 Subject: - [REST API: Get cards by swimlane id](https://github.com/wekan/wekan/pull/1944). Please [add docs](https://github.com/wekan/wekan/wiki/REST-API-Swimlanes). Thanks to dcmcand ! Closes #1934 --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce7f7afb..ce009b80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,8 +5,9 @@ This release fixes the following bugs: - [Fix vertical text for swimlanes in IE11](https://github.com/wekan/wekan/issues/1798). - [Fix deleting Custom Fields, removing broken references](https://github.com/wekan/wekan/issues/1872). - [Improve notifications](https://github.com/wekan/wekan/pull/1948). +- [REST API: Get cards by swimlane id](https://github.com/wekan/wekan/pull/1944). Please [add docs](https://github.com/wekan/wekan/wiki/REST-API-Swimlanes). -Thanks to GitHub users Akuket, Clement87 and tomodwyer for their contributions. +Thanks to GitHub users Akuket, Clement87, dcmcand and tomodwyer for their contributions. # v1.53 2018-10-03 Wekan release -- cgit v1.2.3-1-g7c22 From f5125b76bcdaa7afda065035786c6bd9b1c04026 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Sun, 14 Oct 2018 00:37:00 +0300 Subject: v1.54 --- CHANGELOG.md | 2 +- package.json | 2 +- sandstorm-pkgdef.capnp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce009b80..72476a2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Upcoming Wekan release +# v1.54 2018-10-14 Wekan release This release fixes the following bugs: diff --git a/package.json b/package.json index 8ce4098a..58f67fd6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "1.53.0", + "version": "1.54.0", "description": "The open-source kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 8bd249e4..e627dae7 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 = 144, + appVersion = 154, # Increment this for every release. - appMarketingVersion = (defaultText = "1.53.0~2018-10-03"), + appMarketingVersion = (defaultText = "1.54.0~2018-10-14"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, -- cgit v1.2.3-1-g7c22 From 849f15ceee8f40514fe75cbc0b8492394989b2b6 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 16 Oct 2018 13:52:45 +0300 Subject: - Fix: Update broke the ability to mute notifications; - Automatically close the sidebar. Thanks to Akuket ! Closes #1952 --- client/components/sidebar/sidebar.js | 3 +-- models/activities.js | 5 +++-- server/notifications/notifications.js | 14 ++++---------- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js index 5d34c4a8..83b12666 100644 --- a/client/components/sidebar/sidebar.js +++ b/client/components/sidebar/sidebar.js @@ -16,8 +16,7 @@ BlazeComponent.extendComponent({ }, onCreated() { - const initOpen = Utils.isMiniScreen() ? false : (!Session.get('currentCard')); - this._isOpen = new ReactiveVar(initOpen); + this._isOpen = new ReactiveVar(false); this._view = new ReactiveVar(defaultView); Sidebar = this; }, diff --git a/models/activities.js b/models/activities.js index 577aab68..e49cbf0a 100644 --- a/models/activities.js +++ b/models/activities.js @@ -143,10 +143,11 @@ if (Meteor.isServer) { } if (board) { const watchingUsers = _.pluck(_.where(board.watchers, {level: 'watching'}), 'userId'); - watchers = _.union(watchers, watchingUsers || []); + const trackingUsers = _.pluck(_.where(board.watchers, {level: 'tracking'}), 'userId'); + watchers = _.union(watchers, watchingUsers, _.intersection(participants, trackingUsers)); } - Notifications.getUsers(participants, watchers).forEach((user) => { + Notifications.getUsers(watchers).forEach((user) => { Notifications.notify(user, title, description, params); }); diff --git a/server/notifications/notifications.js b/server/notifications/notifications.js index 72692ef8..19d43bc4 100644 --- a/server/notifications/notifications.js +++ b/server/notifications/notifications.js @@ -20,19 +20,13 @@ Notifications = { }, // filter recipients according to user settings for notification - getUsers: (participants, watchers) => { - const userMap = {}; - participants.forEach((userId) => { - if (userMap[userId]) return; - const user = Users.findOne(userId); - userMap[userId] = user; - }); + getUsers: (watchers) => { + const users = []; watchers.forEach((userId) => { - if (userMap[userId]) return; const user = Users.findOne(userId); - userMap[userId] = user; + if (user) users.push(user); }); - return _.map(userMap, (v) => v); + return users; }, notify: (user, title, description, params) => { -- cgit v1.2.3-1-g7c22 From ba5ee34d83bc6143d58c9a34d69e52d4a252b674 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 16 Oct 2018 13:57:38 +0300 Subject: - [Automatically close the sidebar](https://github.com/wekan/wekan/pull/1954). - [Fix: Update broke the ability to mute notifications](https://github.com/wekan/wekan/issues/1952). Thanks to Akuket ! --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72476a2c..bf100863 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +# Upcoming Wekan release + +This release adds the following new features: + +- [Automatically close the sidebar](https://github.com/wekan/wekan/pull/1954). + +and fixes the following bugs: + +- [Update broke the ability to mute notifications](https://github.com/wekan/wekan/issues/1952). + +Thanks to GitHub user Akuket for contributions. + # v1.54 2018-10-14 Wekan release This release fixes the following bugs: -- cgit v1.2.3-1-g7c22 From 6308352f90a0714b3ab00ef8e52aafe0c3127590 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 16 Oct 2018 14:05:47 +0300 Subject: Update translations. --- i18n/pl.i18n.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index cd0be002..87b8537c 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -532,7 +532,7 @@ "r-add-rule": "Dodaj regułę", "r-view-rule": "Zobacz regułę", "r-delete-rule": "Usuń regułę", - "r-new-rule-name": "New rule title", + "r-new-rule-name": "Nowa nazwa reguły", "r-no-rules": "Brak regułę", "r-when-a-card-is": "Gdy karta jest", "r-added-to": "Dodano do", @@ -575,7 +575,7 @@ "r-checklist": "lista zadań", "r-check-all": "Zaznacz wszystkie", "r-uncheck-all": "Odznacz wszystkie", - "r-items-check": "items of checklist", + "r-items-check": "elementy listy", "r-check": "Zaznacz", "r-uncheck": "Odznacz", "r-item": "element", @@ -610,6 +610,6 @@ "ldap": "LDAP", "oauth2": "OAuth2", "cas": "CAS", - "authentication-method": "Authentication method", - "authentication-type": "Authentication type" + "authentication-method": "Sposób autoryzacji", + "authentication-type": "Typ autoryzacji" } \ No newline at end of file -- cgit v1.2.3-1-g7c22 From 50136fe3144fcff711cf43931018d7d2f0cea42e Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Tue, 16 Oct 2018 14:11:33 +0300 Subject: v1.55 --- CHANGELOG.md | 2 +- package.json | 4 ++-- sandstorm-pkgdef.capnp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf100863..d4740127 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Upcoming Wekan release +# v1.55 2018-10-16 Wekan release This release adds the following new features: diff --git a/package.json b/package.json index 58f67fd6..6247c4a4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "wekan", - "version": "1.54.0", - "description": "The open-source kanban", + "version": "1.55.0", + "description": "Open-Source kanban", "private": true, "scripts": { "lint": "eslint --ignore-pattern 'packages/*' .", diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index e627dae7..f66b6d0c 100644 --- a/sandstorm-pkgdef.capnp +++ b/sandstorm-pkgdef.capnp @@ -25,7 +25,7 @@ const pkgdef :Spk.PackageDefinition = ( appVersion = 154, # Increment this for every release. - appMarketingVersion = (defaultText = "1.54.0~2018-10-14"), + appMarketingVersion = (defaultText = "1.55.0~2018-10-16"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, -- cgit v1.2.3-1-g7c22 From 790234775f1876d4a8d6d4ae8cc431e170818f39 Mon Sep 17 00:00:00 2001 From: Lauri Ojansivu Date: Wed, 17 Oct 2018 12:00:51 +0300 Subject: Update translations. --- i18n/zh-CN.i18n.json | 126 +++++++++++++++++++++++++-------------------------- 1 file changed, 63 insertions(+), 63 deletions(-) diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json index 0a41a12f..5a387323 100644 --- a/i18n/zh-CN.i18n.json +++ b/i18n/zh-CN.i18n.json @@ -43,19 +43,19 @@ "activity-sent": "发送 %s 至 %s", "activity-unjoined": "已解除 %s 关联", "activity-subtask-added": "添加子任务到%s", - "activity-checked-item": "checked %s in checklist %s of %s", - "activity-unchecked-item": "unchecked %s in checklist %s of %s", + "activity-checked-item": "勾选%s于清单 %s 共 %s", + "activity-unchecked-item": "未勾选 %s 于清单 %s 共 %s", "activity-checklist-added": "已经将清单添加到 %s", "activity-checklist-removed": "已从%s移除待办清单", - "activity-checklist-completed": "completed the checklist %s of %s", - "activity-checklist-uncompleted": "uncompleted the checklist %s of %s", + "activity-checklist-completed": "已完成清单 %s 共 %s", + "activity-checklist-uncompleted": "未完成清单 %s 共 %s", "activity-checklist-item-added": "添加清单项至'%s' 于 %s", - "activity-checklist-item-removed": "removed a checklist item from '%s' in %s", + "activity-checklist-item-removed": "已从 '%s' 于 %s中 移除一个清单项", "add": "添加", - "activity-checked-item-card": "checked %s in checklist %s", - "activity-unchecked-item-card": "unchecked %s in checklist %s", - "activity-checklist-completed-card": "completed the checklist %s", - "activity-checklist-uncompleted-card": "uncompleted the checklist %s", + "activity-checked-item-card": "勾选 %s 与清单 %s 中", + "activity-unchecked-item-card": "取消勾选 %s 于清单 %s中", + "activity-checklist-completed-card": "已完成清单 %s", + "activity-checklist-uncompleted-card": "未完成清单 %s", "add-attachment": "添加附件", "add-board": "添加看板", "add-card": "添加卡片", @@ -519,75 +519,75 @@ "parent-card": "上级卡片", "source-board": "源看板", "no-parent": "不显示上级", - "activity-added-label": "added label '%s' to %s", - "activity-removed-label": "removed label '%s' from %s", - "activity-delete-attach": "deleted an attachment from %s", - "activity-added-label-card": "added label '%s'", - "activity-removed-label-card": "removed label '%s'", - "activity-delete-attach-card": "deleted an attachment", + "activity-added-label": "已添加标签 '%s' 到 %s", + "activity-removed-label": "已将标签 '%s' 从 %s 移除", + "activity-delete-attach": "已从 %s 删除附件", + "activity-added-label-card": "已添加标签 '%s'", + "activity-removed-label-card": "已移除标签 '%s'", + "activity-delete-attach-card": "已删除附件", "r-rule": "规则", "r-add-trigger": "添加触发器", - "r-add-action": "Add action", - "r-board-rules": "Board rules", + "r-add-action": "添加行动", + "r-board-rules": "面板规则", "r-add-rule": "添加规则", "r-view-rule": "查看规则", "r-delete-rule": "删除规则", "r-new-rule-name": "新建规则标题", "r-no-rules": "暂无规则", - "r-when-a-card-is": "When a card is", + "r-when-a-card-is": "当卡片是", "r-added-to": "添加到", - "r-removed-from": "Removed from", + "r-removed-from": "已移除", "r-the-board": "该看板", "r-list": "列表", "r-moved-to": "移至", - "r-moved-from": "Moved from", - "r-archived": "Moved to Recycle Bin", - "r-unarchived": "Restored from Recycle Bin", - "r-a-card": "a card", - "r-when-a-label-is": "When a label is", - "r-when-the-label-is": "When the label is", + "r-moved-from": "已移动", + "r-archived": "已放入回收站", + "r-unarchived": "已从回收站恢复", + "r-a-card": "一个卡片", + "r-when-a-label-is": "当一个标签是", + "r-when-the-label-is": "当该标签是", "r-list-name": "清单名称", - "r-when-a-member": "When a member is", - "r-when-the-member": "When the member", + "r-when-a-member": "当一个成员是", + "r-when-the-member": "当该成员", "r-name": "名称", - "r-is": "is", - "r-when-a-attach": "When an attachment", - "r-when-a-checklist": "When a checklist is", - "r-when-the-checklist": "When the checklist", + "r-is": "是", + "r-when-a-attach": "当一个附件", + "r-when-a-checklist": "当一个清单是", + "r-when-the-checklist": "当该清单", "r-completed": "已完成", - "r-made-incomplete": "Made incomplete", - "r-when-a-item": "When a checklist item is", - "r-when-the-item": "When the checklist item", - "r-checked": "Checked", - "r-unchecked": "Unchecked", - "r-move-card-to": "Move card to", - "r-top-of": "Top of", - "r-bottom-of": "Bottom of", - "r-its-list": "its list", + "r-made-incomplete": "置为未完成", + "r-when-a-item": "当一个清单项是", + "r-when-the-item": "当该清单项", + "r-checked": "勾选", + "r-unchecked": "未勾选", + "r-move-card-to": "移动卡片到", + "r-top-of": "的顶部", + "r-bottom-of": "的尾部", + "r-its-list": "其清单", "r-archive": "移入回收站", - "r-unarchive": "Restore from Recycle Bin", - "r-card": "card", + "r-unarchive": "从回收站恢复", + "r-card": "卡片", "r-add": "添加", - "r-remove": "Remove", - "r-label": "label", - "r-member": "member", - "r-remove-all": "Remove all members from the card", - "r-checklist": "checklist", - "r-check-all": "Check all", - "r-uncheck-all": "Uncheck all", - "r-items-check": "items of checklist", - "r-check": "Check", - "r-uncheck": "Uncheck", - "r-item": "item", - "r-of-checklist": "of checklist", - "r-send-email": "Send an email", + "r-remove": "移除", + "r-label": "标签", + "r-member": "成员", + "r-remove-all": "从卡片移除所有成员", + "r-checklist": "清单", + "r-check-all": "勾选所有", + "r-uncheck-all": "取消勾选所有", + "r-items-check": "清单条目", + "r-check": "勾选", + "r-uncheck": "取消勾选", + "r-item": "条目", + "r-of-checklist": "清单的", + "r-send-email": "发送邮件", "r-to": "收件人", "r-subject": "标题", - "r-rule-details": "Rule details", - "r-d-move-to-top-gen": "Move card to top of its list", - "r-d-move-to-top-spec": "Move card to top of list", - "r-d-move-to-bottom-gen": "Move card to bottom of its list", - "r-d-move-to-bottom-spec": "Move card to bottom of list", + "r-rule-details": "规则详情", + "r-d-move-to-top-gen": "移动卡片到其清单顶部", + "r-d-move-to-top-spec": "移动卡片到清单顶部", + "r-d-move-to-bottom-gen": "移动卡片到其清单尾部", + "r-d-move-to-bottom-spec": "移动卡片到清单尾部", "r-d-send-email": "发送邮件", "r-d-send-email-to": "收件人", "r-d-send-email-subject": "标题", @@ -599,11 +599,11 @@ "r-d-add-member": "添加成员", "r-d-remove-member": "移除成员", "r-d-remove-all-member": "移除所有成员", - "r-d-check-all": "Check all items of a list", - "r-d-uncheck-all": "Uncheck all items of a list", + "r-d-check-all": "勾选所有清单项", + "r-d-uncheck-all": "取消勾选所有清单项", "r-d-check-one": "勾选该项", "r-d-uncheck-one": "取消勾选", - "r-d-check-of-list": "of checklist", + "r-d-check-of-list": "清单的", "r-d-add-checklist": "添加待办清单", "r-d-remove-checklist": "移除待办清单", "r-when-a-card-is-moved": "当移动卡片到另一个清单时", -- cgit v1.2.3-1-g7c22