Compare commits

...
19 Commits
Author SHA1 Message Date
Lauri Ojansivu 4bc6ad3b4c v3.95 2020-04-12 18:07:38 +03:00
Lauri Ojansivu 7f558fede0 Update translations. 2020-04-12 17:45:33 +03:00
Lauri Ojansivu 544bc1d6ad Merge branch 'master' of https://github.com/NicoP-S/wekan 2020-04-12 16:58:08 +03:00
Lauri Ojansivu 89d25f52fa Update ChangeLog. 2020-04-12 16:55:26 +03:00
Lauri Ojansivu 2fd71d5be8 Merge pull request #3009 from juniormendonca/juniormendonca/gitpod-setup
Add gitpod config
2020-04-12 16:53:32 +03:00
Lauri Ojansivu dc643f3d43 Merge pull request #3010 from jtbairdsr/master
fix error in notifications cleanup cron
2020-04-12 16:50:19 +03:00
Lauri Ojansivu 4469b12203 Merge pull request #3012 from boeserwolf/master
Fix styling issue in notifications drawer
2020-04-12 16:42:09 +03:00
boeserwolf 9cacaafb8f Fix styling issue in notifications drawer
The header of the notification drawer had a margin to the
right side in Google Chrome caused by overflow: scroll on
the #notifications-drawer element.
2020-04-12 11:57:22 +02:00
Jonathan Baird 269382869e fix error in notifications cleanup cron 2020-04-11 17:28:15 -06:00
Júnior Mendonça 8648e32108 Add gitpod config
this commit adds support for Gitpod.io, a free automated
dev environment that makes contributing and generally working on GitHub
projects much easier. It allows anyone to start a ready-to-code dev
environment for any branch, issue and pull request with a single click.
2020-04-11 23:27:59 +00:00
Nico edf52bc438 Public boards overview 2020-04-12 00:56:35 +02:00
Lauri Ojansivu 58ce859368 v3.94 2020-04-12 00:01:07 +03:00
Lauri Ojansivu e23aacedb3 Update translations. 2020-04-11 22:38:24 +03:00
Lauri Ojansivu 7f02990626 Update ChangeLog. 2020-04-11 22:25:25 +03:00
Lauri Ojansivu c86155f1aa Update ChangeLog. 2020-04-10 12:22:47 +03:00
Lauri Ojansivu 3fae5355d4 Add robots.txt disallow all.
Thanks to xet7 !

Related #3001
2020-04-10 12:19:18 +03:00
Lauri Ojansivu 20e88159ae Update translations. 2020-04-10 12:14:58 +03:00
Lauri Ojansivu a81921382a Merge pull request #3006 from NicoP-S/master
Public vote
2020-04-10 12:05:10 +03:00
Nico 8f28a409c7 Public vote 2020-04-10 01:46:36 +02:00
78 changed files with 392 additions and 2498 deletions

No files matched your search

+10
View File
@@ -0,0 +1,10 @@
FROM gitpod/workspace-mongodb
USER gitpod
# Install custom tools, runtime, etc. using apt-get
# For example, the command below would install "bastet" - a command line tetris clone:
#
# RUN sudo apt-get -q update && # sudo apt-get install -yq bastet && # sudo rm -rf /var/lib/apt/lists/*
#
# More information: https://www.gitpod.io/docs/config-docker/
+4
View File
@@ -0,0 +1,4 @@
tasks:
- init: npm install
image:
file: .gitpod.Dockerfile
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v3.93.0",
"version": "v3.95.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v3.93.0",
"version": "v3.95.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
+37 -2
View File
@@ -1,3 +1,38 @@
# v3.95 2020-04-12 Wekan release
This release adds the following new features:
- [Add gitpod config](https://github.com/wekan/wekan/pull/3009).
This adds support for Gitpod.io, a free automated
dev environment that makes contributing and generally working on GitHub
projects much easier. It allows anyone to start a ready-to-code dev
environment for any branch, issue and pull request with a single click.
Thanks to juniormendonca.
- [Public boards overview](https://github.com/wekan/wekan/pull/3008).
Thanks to NicoP-S.
- Try to upgrade Sandstorm Wekan to Meteor 1.10.1 and Node 12.x.
Thanks to kentonv and xet7.
and fixes the following bugs:
- [Fix styling issue in notifications drawer](https://github.com/wekan/wekan/pull/3012).
Thanks to boeserwolf.
- [Fix error in notifications cleanup cron](https://github.com/wekan/wekan/pull/3010).
Thanks to jtbairdsr.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.94 2020-04-12 Wekan release
This release adds the following new features:
- [Public vote](https://github.com/wekan/wekan/pull/3006).
Thanks to NicoP-S.
- [Add robots.txt disallow all](https://github.com/wekan/wekan/commit/3fae5355d40055757bf4a5f0c503581195609720).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.93 2020-04-10 Wekan release
This release adds the following new features:
@@ -92,7 +127,7 @@ and fixes the following bugs:
- [Fix start-wekan.sh MongoDB port to 27017](https://github.com/wekan/wekan/commit/c60a092fc0ed9fe15c417bcb443b1e3e3aaedf7e).
Thanks to Keelan and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.87 2020-04-01 Wekan release
@@ -132,7 +167,7 @@ This release fixes the following bugs:
@member mention not close card, and disabling clicking of
@member mention](https://github.com/wekan/wekan/commit/b9099a8b7ea6f63c79bdcbb871cb993b2cb7e325).
Thanks to xet7 !
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.85 2020-03-23 Wekan release
+2
View File
@@ -1,3 +1,5 @@
[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/wekan/wekan)
# Wekan - Open Source kanban
[![Contributors](https://img.shields.io/github/contributors/wekan/wekan.svg "Contributors")](https://github.com/wekan/wekan/graphs/contributors)
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v3.93.0"
appVersion: "v3.95.0"
files:
userUploads:
- README.md
+1 -1
View File
@@ -55,7 +55,7 @@ template(name="boardList")
title="{{_ 'archive-board'}}")
template(name="boardListHeaderBar")
h1 {{_ 'my-boards'}}
h1 {{_ title }}
.board-header-btns.right
a.board-header-btn.js-open-archived-board
i.fa.fa-archive
+13 -5
View File
@@ -7,6 +7,9 @@ Template.boardListHeaderBar.events({
});
Template.boardListHeaderBar.helpers({
title(){
return FlowRouter.getRouteName() == 'home' ? 'my-boards' :'public';
},
templatesBoardId() {
return Meteor.user() && Meteor.user().getTemplatesBoardId();
},
@@ -21,12 +24,17 @@ BlazeComponent.extendComponent({
},
boards() {
let query = {
archived: false,
type: 'board',
}
if (FlowRouter.getRouteName() == 'home')
query['members.userId'] = Meteor.userId()
else
query.permission = 'public'
return Boards.find(
{
archived: false,
'members.userId': Meteor.userId(),
type: 'board',
},
query,
{ sort: ['title'] },
);
},
+29 -6
View File
@@ -206,12 +206,12 @@ template(name="cardDetails")
i.fa.fa-thumbs-up
card-details-item-title {{_ 'vote-question'}}
.vote-result
.card-label.card-label-green
+viewer
= voteCountPositive
.card-label.card-label-red
+viewer
= voteCountNegative
if votePublic
a.card-label.card-label-green.js-show-positive-votes {{ voteCountPositive }}
a.card-label.card-label-red.js-show-negative-votes {{ voteCountNegative }}
else
.card-label.card-label-green {{ voteCountPositive }}
.card-label.card-label-red {{ voteCountNegative }}
+viewer
= getVoteQuestion
button.card-details-green.js-vote.js-vote-positive(class="{{#if voteState}}voted{{/if}}") {{_ 'vote-for-it'}}
@@ -572,6 +572,29 @@ template(name="cardStartVotingPopup")
.fields
label(for="vote") {{_ 'vote-question'}}
input.js-vote-field#vote(type="text" name="vote" value="{{card.getVoteQuestion}}" autofocus)
label(for="vote-public") {{_ 'vote-public'}}
a.js-toggle-vote-public
.materialCheckBox#vote-public(name="vote-public")
button.primary.confirm.js-submit {{_ 'save'}}
//- button.js-remove-color.negate.wide.right {{_ 'delete'}}
template(name="positiveVoteMembersPopup")
ul.pop-over-list.js-card-member-list
each m in voteMemberPositive
li.item
a.name
+userAvatar(userId=m._id)
span.full-name
= m.profile.fullname
| (<span class="username">{{ m.username }}</span>)
template(name="negativeVoteMembersPopup")
ul.pop-over-list.js-card-member-list
each m in voteMemberNegative
li.item
a.name
+userAvatar(userId=m._id)
span.full-name
= m.profile.fullname
| (<span class="username">{{ m.username }}</span>)
+19 -6
View File
@@ -54,6 +54,12 @@ BlazeComponent.extendComponent({
}
return null;
},
votePublic() {
const card = this.currentData();
if (card.vote)
return card.vote.public
return null
},
voteCountPositive() {
const card = this.currentData();
if (card.vote && card.vote.positive) return card.vote.positive.length;
@@ -382,6 +388,8 @@ BlazeComponent.extendComponent({
'click .js-start-date': Popup.open('editCardStartDate'),
'click .js-due-date': Popup.open('editCardDueDate'),
'click .js-end-date': Popup.open('editCardEndDate'),
'click .js-show-positive-votes':Popup.open('positiveVoteMembers'),
'click .js-show-negative-votes': Popup.open('negativeVoteMembers'),
'mouseenter .js-card-details'() {
const parentComponent = this.parentComponent().parentComponent();
//on mobile view parent is Board, not BoardBody.
@@ -647,7 +655,7 @@ Template.cardDetailsActionsPopup.events({
},
});
Template.editCardTitleForm.onRendered(function() {
Template.editCardTitleForm.onRendered(function () {
autosize(this.$('.js-edit-card-title'));
});
@@ -661,7 +669,7 @@ Template.editCardTitleForm.events({
},
});
Template.editCardRequesterForm.onRendered(function() {
Template.editCardRequesterForm.onRendered(function () {
autosize(this.$('.js-edit-card-requester'));
});
@@ -674,7 +682,7 @@ Template.editCardRequesterForm.events({
},
});
Template.editCardAssignerForm.onRendered(function() {
Template.editCardAssignerForm.onRendered(function () {
autosize(this.$('.js-edit-card-assigner'));
});
@@ -814,7 +822,7 @@ Template.copyChecklistToManyCardsPopup.events({
// copy subtasks
cursor = Cards.find({ parentId: oldId });
cursor.forEach(function() {
cursor.forEach(function () {
'use strict';
const subtask = arguments[0];
subtask.parentId = _id;
@@ -963,7 +971,7 @@ BlazeComponent.extendComponent({
}
}
},
'click .js-delete': Popup.afterConfirm('cardDelete', function() {
'click .js-delete': Popup.afterConfirm('cardDelete', function () {
Popup.close();
Cards.remove(this._id);
Utils.goBoardId(this.boardId);
@@ -1001,9 +1009,14 @@ BlazeComponent.extendComponent({
'submit .edit-vote-question'(evt) {
evt.preventDefault();
const voteQuestion = evt.target.vote.value;
this.currentCard.setVoteQuestion(voteQuestion);
const publicVote = $('#vote-public').hasClass('is-checked');
this.currentCard.setVoteQuestion(voteQuestion, publicVote);
Popup.close();
},
'click a.js-toggle-vote-public'(event) {
event.preventDefault();
$('#vote-public').toggleClass('is-checked');
},
},
];
},
+2
View File
@@ -338,3 +338,5 @@ card-details-color(background, color...)
justify-content: space-between
.vote-result
display: flex
.js-show-positive-votes
cursor: pointer
+5
View File
@@ -24,6 +24,11 @@ template(name="header")
a(href="{{pathFor 'home'}}")
span.fa.fa-home
| {{_ 'all-boards'}}
li.separator -
li
a(href="{{pathFor 'public'}}")
span.fa.fa-globe
| {{_ 'public'}}
each currentUser.starredBoards
li.separator -
li(class="{{#if $.Session.equals 'currentBoard' _id}}current{{/if}}")
+1 -1
View File
@@ -127,7 +127,7 @@
&.current
color: darken(white, 5%)
&:first-child .fa-home
&:first-child .fa-home,&:nth-child(3) .fa-globe
margin-right: 5px
a.js-create-board
@@ -10,8 +10,7 @@ section#notifications-drawer
border-radius: 2px
max-height: calc(100vh - 28px - 36px)
color: black
padding-top 36px;
overflow: scroll
padding-top 36px
a:hover
color: belize !important
@@ -66,3 +65,5 @@ section#notifications-drawer
display: block
padding: 0px 16px
margin: 0
height: calc(100vh - 102px)
overflow-y: scroll
+21
View File
@@ -26,6 +26,27 @@ FlowRouter.route('/', {
},
});
FlowRouter.route('/public', {
name: 'public',
triggersEnter: [AccountsTemplates.ensureSignedIn],
action() {
Session.set('currentBoard', null);
Session.set('currentList', null);
Session.set('currentCard', null);
Filter.reset();
EscapeActions.executeAll();
Utils.manageCustomUI();
Utils.manageMatomo();
BlazeLayout.render('defaultLayout', {
headerBar: 'boardListHeaderBar',
content: 'boardList',
});
},
});
FlowRouter.route('/b/:id/:slug', {
name: 'board',
action(params) {
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "تغير التاريخ",
"cardCustomFieldsPopup-title": "تعديل الحقل المعدل",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "حذف البطاقة ?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Промени датата",
"cardCustomFieldsPopup-title": "Промени собствените полета",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Желаете да изтриете картата?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Diverkañ ar gartenn ?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Canviar data",
"cardCustomFieldsPopup-title": "Editar camps personalitzats",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Esborrar fitxa?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Změnit datum",
"cardCustomFieldsPopup-title": "Upravit vlastní pole",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Smazat kartu?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+4 -1
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Datum ändern",
"cardCustomFieldsPopup-title": "Benutzerdefinierte Felder editieren",
"cardStartVotingPopup-title": "Abstimmung starten",
"positiveVoteMembersPopup-title": "Befürworter",
"negativeVoteMembersPopup-title": "Gegner",
"vote-question": "Abstimmen über",
"vote-public": "Öffentliche Abstimmung",
"vote-for-it": "Dafür",
"vote-against": "Dagegen",
"cardDeletePopup-title": "Karte löschen?",
@@ -769,7 +772,7 @@
"newUserPopup-title": "Neuer Benutzer",
"notifications": "Benachrichtigungen",
"view-all": "Alle anzeigen",
"filter-by-unread": "Nach Ungelesenen filtern",
"filter-by-unread": "Nur ungelesene",
"mark-all-as-read": "Alle als gelesen markieren",
"remove-all-read": "Alle gelesenen entfernen",
"allow-rename": "Umbenennen erlauben",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Διαγραφή Κάρτας;",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Cambiar fecha",
"cardCustomFieldsPopup-title": "Editar campos personalizados",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "¿Borrar Tarjeta?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Cambiar la fecha",
"cardCustomFieldsPopup-title": "Editar los campos personalizados",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "¿Eliminar la tarjeta?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Ezabatu txartela?",
+16 -13
View File
@@ -64,7 +64,7 @@
"activity-unchecked-item": "چک نشده %s در چک لیست %s از %s",
"activity-checklist-added": "سیاهه به %s اضافه شد",
"activity-checklist-removed": "از چک لیست حذف گردید",
"activity-checklist-completed": "completed checklist %s of %s",
"activity-checklist-completed": "چک‌لیست انجام شده %s از %s",
"activity-checklist-uncompleted": "تمام نشده ها در چک لیست %s از %s",
"activity-checklist-item-added": "added checklist item to '%s' in %s",
"activity-checklist-item-removed": "حذف شده از چک لیست '%s' در %s",
@@ -152,8 +152,8 @@
"card-spent": "زمان صرف شده",
"card-edit-attachments": "ویرایش ضمائم",
"card-edit-custom-fields": "ویرایش فیلدهای شخصی",
"card-start-voting": "Start voting",
"card-cancel-voting": "Delete voting and all votes",
"card-start-voting": "شروع رای گیری",
"card-cancel-voting": "حذف رای گیری و همه آرا",
"card-edit-labels": "ویرایش برچسب",
"card-edit-members": "ویرایش اعضا",
"card-labels-title": "تغییر برچسب کارت",
@@ -163,8 +163,11 @@
"cardAttachmentsPopup-title": "ضمیمه از",
"cardCustomField-datePopup-title": "تغییر تاریخ",
"cardCustomFieldsPopup-title": "ویرایش فیلدهای شخصی",
"cardStartVotingPopup-title": "Start a vote",
"vote-question": "Voting question",
"cardStartVotingPopup-title": "شروع به رای",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "سوال رای گیری",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "آیا می خواهید کارت را حذف کنید؟",
@@ -764,14 +767,14 @@
"cardAssigneesPopup-title": "Assignee",
"addmore-detail": "Add a more detailed description",
"show-on-card": "Show on Card",
"new": "New",
"editUserPopup-title": "Edit User",
"newUserPopup-title": "New User",
"notifications": "Notifications",
"view-all": "View All",
"filter-by-unread": "Filter by Unread",
"mark-all-as-read": "Mark all as read",
"remove-all-read": "Remove all read",
"new": "جدید",
"editUserPopup-title": "ویرایش کاربر",
"newUserPopup-title": "کاربر جدید",
"notifications": "اعلان‌ها",
"view-all": "مشاهده همه",
"filter-by-unread": "فیلتر با خوانده نشده",
"mark-all-as-read": "علامت همه به خوانده شده",
"remove-all-read": "حذف همه خوانده شده",
"allow-rename": "Allow Rename",
"allowRenamePopup-title": "Allow Rename"
}
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Muokkaa päivää",
"cardCustomFieldsPopup-title": "Muokkaa mukautettuja kenttiä",
"cardStartVotingPopup-title": "Äänestä",
"positiveVoteMembersPopup-title": "Kannattajat",
"negativeVoteMembersPopup-title": "Vastustajat",
"vote-question": "Äänestys kysymys",
"vote-public": "Julkinen äänestys",
"vote-for-it": "puolesta",
"vote-against": "vastaan",
"cardDeletePopup-title": "Poista kortti?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Modifier la date",
"cardCustomFieldsPopup-title": "Éditer les champs personnalisés",
"cardStartVotingPopup-title": "Commencer un vote",
"positiveVoteMembersPopup-title": "Pour",
"negativeVoteMembersPopup-title": "Contre",
"vote-question": "Question du vote",
"vote-public": "Vote public",
"vote-for-it": "pour",
"vote-against": "contre",
"cardDeletePopup-title": "Supprimer la carte ?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "החלפת תאריך",
"cardCustomFieldsPopup-title": "עריכת שדות בהתאמה אישית",
"cardStartVotingPopup-title": "התחלת הצבעה",
"positiveVoteMembersPopup-title": "תומכים",
"negativeVoteMembersPopup-title": "יריבים",
"vote-question": "שאלת הסקר",
"vote-public": "הצבעה ציבורית",
"vote-for-it": "בעד",
"vote-against": "נגד",
"cardDeletePopup-title": "למחוק כרטיס?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "तारीख बदलें",
"cardCustomFieldsPopup-title": "संपादित करें प्रचलन क्षेत्र",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "मिटाएँ कार्ड?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Dátum megváltoztatása",
"cardCustomFieldsPopup-title": "Egyéni mezők szerkesztése",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Törli a kártyát?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Hapus kartu",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Cambia data",
"cardCustomFieldsPopup-title": "Modifica campo personalizzato",
"cardStartVotingPopup-title": "Inizia una votazione",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Domanda di votazione",
"vote-public": "Public vote",
"vote-for-it": "a favore",
"vote-against": "contro",
"cardDeletePopup-title": "Elimina scheda?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "日時変更",
"cardCustomFieldsPopup-title": "カスタムフィールドの編集",
"cardStartVotingPopup-title": "投票を開始",
"positiveVoteMembersPopup-title": "支持者",
"negativeVoteMembersPopup-title": "反対者",
"vote-question": "投票の質問事項",
"vote-public": "投票を公開",
"vote-for-it": "賛成",
"vote-against": "反対",
"cardDeletePopup-title": "カードを削除しますか?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "დროის ცვლილება",
"cardCustomFieldsPopup-title": "მომხმარებლის ველის შესწორება",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "წავშალოთ ბარათი? ",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "카드를 삭제합니까?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Промени датата",
"cardCustomFieldsPopup-title": "Промени собствените полета",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Желаете да изтриете картата?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Slett kort?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Wijzigingsdatum",
"cardCustomFieldsPopup-title": "Wijzig maatwerkvelden",
"cardStartVotingPopup-title": "Start een stemming",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Stemvraag",
"vote-public": "Public vote",
"vote-for-it": "Voor",
"vote-against": "tegen",
"cardDeletePopup-title": "Kaart verwijderen?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Cambiar la data",
"cardCustomFieldsPopup-title": "Cambiar los camps personalizats",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Suprimir la carta?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Zmień datę",
"cardCustomFieldsPopup-title": "Edytuj niestandardowe pola",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Usunąć kartę?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Mudar data",
"cardCustomFieldsPopup-title": "Editar campos customizados",
"cardStartVotingPopup-title": "Iniciar um voto",
"positiveVoteMembersPopup-title": "Proponentes",
"negativeVoteMembersPopup-title": "Oponentes",
"vote-question": "Questão em votação",
"vote-public": "Voto público",
"vote-for-it": "a favor",
"vote-against": "contra",
"cardDeletePopup-title": "Excluir Cartão?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Alterar a data",
"cardCustomFieldsPopup-title": "Editar campos personalizados",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Apagar Cartão?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+5 -2
View File
@@ -64,7 +64,7 @@
"activity-unchecked-item": "снял %s в контрольном списке %s в %s",
"activity-checklist-added": "добавил контрольный список в %s",
"activity-checklist-removed": "удалил контрольный список из %s",
"activity-checklist-completed": "завершил чек-лист %s в %s",
"activity-checklist-completed": "завершил контрольный список %s в %s",
"activity-checklist-uncompleted": "вновь открыл контрольный список %s в %s",
"activity-checklist-item-added": "добавил пункт в контрольный список '%s' в карточке %s",
"activity-checklist-item-removed": "удалил пункт из контрольного списка '%s' в карточке %s",
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Изменить дату",
"cardCustomFieldsPopup-title": "редактировать настраиваемые поля",
"cardStartVotingPopup-title": "Голосовать",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Вопрос для голосования",
"vote-public": "Public vote",
"vote-for-it": "за",
"vote-against": "против",
"cardDeletePopup-title": "Удалить карточку?",
@@ -771,7 +774,7 @@
"view-all": "Показать все",
"filter-by-unread": "Фильтр по непрочитанным",
"mark-all-as-read": "Отметить все как прочитанные",
"remove-all-read": "Remove all read",
"remove-all-read": "Удалить все прочитанные",
"allow-rename": "Разрешить переименование",
"allowRenamePopup-title": "Разрешить переименование"
}
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Spremeni datum",
"cardCustomFieldsPopup-title": "Uredi poljubna polja",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Briši kartico?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Promeni datum",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Novo glasanje",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Pitanje za glasanje",
"vote-public": "Public vote",
"vote-for-it": "za",
"vote-against": "protiv",
"cardDeletePopup-title": "Obrisati karticu?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Ändra datum",
"cardCustomFieldsPopup-title": "Redigera anpassade fält",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Ta bort kort?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Badilisha tarehe",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "ลบการ์ดนี้หรือไม่",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Tarihi değiştir",
"cardCustomFieldsPopup-title": "Özel alanları düzenle",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Kart Silinsin mi?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Видалити картку?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "修改日期",
"cardCustomFieldsPopup-title": "编辑自定义字段",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "彻底删除卡片?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardStartVotingPopup-title": "Start a vote",
"positiveVoteMembersPopup-title": "Proponents",
"negativeVoteMembersPopup-title": "Opponents",
"vote-question": "Voting question",
"vote-public": "Public vote",
"vote-for-it": "for it",
"vote-against": "against",
"cardDeletePopup-title": "Delete Card?",
+3
View File
@@ -164,7 +164,10 @@
"cardCustomField-datePopup-title": "修改日期",
"cardCustomFieldsPopup-title": "編輯自訂欄位",
"cardStartVotingPopup-title": "建立投票",
"positiveVoteMembersPopup-title": "支持",
"negativeVoteMembersPopup-title": "反對",
"vote-question": "投票題目",
"vote-public": "公開投票",
"vote-for-it": "同意",
"vote-against": "反對",
"cardDeletePopup-title": "徹底刪除卡片?",
+44 -12
View File
@@ -336,6 +336,10 @@ Cards.attachSchema(
optional: true,
defaultValue: null,
},
'vote.public': {
type: Boolean,
defaultValue: false,
},
}),
);
@@ -728,7 +732,7 @@ Cards.helpers({
parentString(sep) {
return this.parentList()
.map(function(elem) {
.map(function (elem) {
return elem.title;
})
.join(sep);
@@ -1028,6 +1032,33 @@ Cards.helpers({
}
},
getVotePublic() {
if (this.isLinkedCard()) {
const card = Cards.findOne({ _id: this.linkedId });
if (card && card.vote) return card.vote.public;
else return null;
} else if (this.isLinkedBoard()) {
const board = Boards.findOne({ _id: this.linkedId });
if (board && board.vote) return board.vote.public;
else return null;
} else if (this.vote) {
return this.vote.public;
} else {
return null;
}
},
voteMemberPositive() {
if (this.vote && this.vote.positive)
return Users.find({ _id: { $in: this.vote.positive } })
return []
},
voteMemberNegative() {
if (this.vote && this.vote.negative)
return Users.find({ _id: { $in: this.vote.negative } })
return []
},
getId() {
if (this.isLinked()) {
return this.linkedId;
@@ -1444,11 +1475,12 @@ Cards.mutations({
},
};
},
setVoteQuestion(question) {
setVoteQuestion(question, public) {
return {
$set: {
vote: {
question,
public,
positive: [],
negative: [],
},
@@ -1897,7 +1929,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;
const oldBoardId = this.previous.boardId;
@@ -1943,7 +1975,7 @@ if (Meteor.isServer) {
// change list modifiedAt, when user modified the key values in timingaction array, if it's endAt, put the modifiedAt of list back to one year ago for sorting purpose
const modifiedAt = new Date(
new Date(value).getTime() -
(action === 'endAt' ? 365 * 24 * 3600 * 1e3 : 0),
(action === 'endAt' ? 365 * 24 * 3600 * 1e3 : 0),
); // set it as 1 year before
const boardId = list.boardId;
Lists.direct.update(
@@ -1997,7 +2029,7 @@ if (Meteor.isServer) {
JsonRoutes.add(
'GET',
'/api/boards/:boardId/swimlanes/:swimlaneId/cards',
function(req, res) {
function (req, res) {
const paramBoardId = req.params.boardId;
const paramSwimlaneId = req.params.swimlaneId;
Authentication.checkBoardAccess(req.userId, paramBoardId);
@@ -2007,7 +2039,7 @@ if (Meteor.isServer) {
boardId: paramBoardId,
swimlaneId: paramSwimlaneId,
archived: false,
}).map(function(doc) {
}).map(function (doc) {
return {
_id: doc._id,
title: doc.title,
@@ -2031,7 +2063,7 @@ if (Meteor.isServer) {
* title: string,
* description: string}]
*/
JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId/cards', function(
JsonRoutes.add('GET', '/api/boards/:boardId/lists/:listId/cards', function (
req,
res,
) {
@@ -2044,7 +2076,7 @@ if (Meteor.isServer) {
boardId: paramBoardId,
listId: paramListId,
archived: false,
}).map(function(doc) {
}).map(function (doc) {
return {
_id: doc._id,
title: doc.title,
@@ -2066,7 +2098,7 @@ if (Meteor.isServer) {
JsonRoutes.add(
'GET',
'/api/boards/:boardId/lists/:listId/cards/:cardId',
function(req, res) {
function (req, res) {
const paramBoardId = req.params.boardId;
const paramListId = req.params.listId;
const paramCardId = req.params.cardId;
@@ -2098,7 +2130,7 @@ if (Meteor.isServer) {
* @param {string} [assignees] the array of maximum one ID of assignee of the new card
* @return_type {_id: string}
*/
JsonRoutes.add('POST', '/api/boards/:boardId/lists/:listId/cards', function(
JsonRoutes.add('POST', '/api/boards/:boardId/lists/:listId/cards', function (
req,
res,
) {
@@ -2205,7 +2237,7 @@ if (Meteor.isServer) {
JsonRoutes.add(
'PUT',
'/api/boards/:boardId/lists/:listId/cards/:cardId',
function(req, res) {
function (req, res) {
Authentication.checkUserId(req.userId);
const paramBoardId = req.params.boardId;
const paramCardId = req.params.cardId;
@@ -2504,7 +2536,7 @@ if (Meteor.isServer) {
JsonRoutes.add(
'DELETE',
'/api/boards/:boardId/lists/:listId/cards/:cardId',
function(req, res) {
function (req, res) {
Authentication.checkUserId(req.userId);
const paramBoardId = req.params.boardId;
const paramListId = req.params.listId;
+1
View File
@@ -303,6 +303,7 @@ export class TrelloCreator {
if (positiveVotes.length > 0) {
cardToCreate.vote = {
question: cardToCreate.title,
public: true,
positive: positiveVotes,
}
}
+3 -2
View File
@@ -815,7 +815,7 @@ if (Meteor.isServer) {
user.addInvite(boardId);
//Check if there is a subtasks board
if (board.subtasksDefaultBoardId){
if (board.subtasksDefaultBoardId) {
const subBoard = Boards.findOne(board.subtasksDefaultBoardId);
//If there is, also add user to that board
if (subBoard) {
@@ -823,7 +823,7 @@ if (Meteor.isServer) {
user.addInvite(subBoard._id);
}
}
try {
const params = {
user: user.username,
@@ -952,6 +952,7 @@ const addCronJob = _.debounce(
schedule: parser => parser.text('every 1 days'),
job: () => {
for (const user of Users.find()) {
if (!user.profile || !user.profile.notifications) continue;
for (const notification of user.profile.notifications) {
if (notification.read) {
const removeDate = new Date(notification.read);
+12 -12
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v3.93.0",
"version": "v3.95.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -25,11 +25,11 @@
}
},
"@babel/runtime": {
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz",
"integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==",
"version": "7.9.2",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz",
"integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==",
"requires": {
"regenerator-runtime": "^0.13.2"
"regenerator-runtime": "^0.13.4"
}
},
"@samverschueren/stream-to-observable": {
@@ -3149,11 +3149,11 @@
}
},
"mkdirp": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
"integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"requires": {
"minimist": "1.2.5"
"minimist": "^1.2.5"
}
},
"moment": {
@@ -3882,9 +3882,9 @@
}
},
"regenerator-runtime": {
"version": "0.13.3",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
"integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
"version": "0.13.5",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
"integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA=="
},
"regex-not": {
"version": "1.0.2",
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v3.93.0",
"version": "v3.95.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
@@ -53,7 +53,7 @@
"prettier-eslint": "^9.0.1"
},
"dependencies": {
"@babel/runtime": "^7.8.4",
"@babel/runtime": "^7.9.2",
"ajv": "^5.0.0",
"babel-runtime": "^6.26.0",
"bcrypt": "^3.0.7",
+2 -1897
View File
File diff suppressed because it is too large. Load diff
+1 -528
View File
@@ -1,7 +1,7 @@
swagger: '2.0'
info:
title: Wekan REST API
version: v3.93
version: v3.94
description: |
The REST API allows you to control and extend Wekan with ease.
@@ -1221,296 +1221,6 @@ paths:
properties:
_id:
type: string
/api/boards/{board}/lists/{list}/cards:
get:
operationId: get_all_cards
summary: Get all Cards attached to a List
tags:
- Cards
parameters:
- name: board
in: path
description: |
the board ID
type: string
required: true
- name: list
in: path
description: |
the list ID
type: string
required: true
produces:
- application/json
security:
- UserSecurity: []
responses:
'200':
description: |-
200 response
schema:
type: array
items:
type: object
properties:
_id:
type: string
title:
type: string
description:
type: string
post:
operationId: new_card
summary: Create a new Card
tags:
- Cards
consumes:
- multipart/form-data
- application/json
parameters:
- name: authorId
in: formData
description: the authorId value
type: string
required: true
- name: members
in: formData
description: |
the member IDs list of the new card
type: string
required: false
- name: assignees
in: formData
description: |
the array of maximum one ID of assignee of the new card
type: string
required: false
- name: title
in: formData
description: |
the title of the new card
type: string
required: true
- name: description
in: formData
description: |
the description of the new card
type: string
required: true
- name: swimlaneId
in: formData
description: |
the swimlane ID of the new card
type: string
required: true
- name: board
in: path
description: |
the board ID of the new card
type: string
required: true
- name: list
in: path
description: |
the list ID of the new card
type: string
required: true
produces:
- application/json
security:
- UserSecurity: []
responses:
'200':
description: |-
200 response
schema:
type: object
properties:
_id:
type: string
/api/boards/{board}/lists/{list}/cards/{card}:
get:
operationId: get_board_list_card
tags:
- Cards
parameters:
- name: board
in: path
description: the board value
type: string
required: true
- name: list
in: path
description: the list value
type: string
required: true
- name: card
in: path
description: the card value
type: string
required: true
produces:
- application/json
security:
- UserSecurity: []
responses:
'200':
description: |-
200 response
put:
operationId: put_board_list_card
tags:
- Cards
consumes:
- multipart/form-data
- application/json
parameters:
- name: title
in: formData
description: the title value
type: string
required: true
- name: listId
in: formData
description: the listId value
type: string
required: true
- name: authorId
in: formData
description: the authorId value
type: string
required: true
- name: parentId
in: formData
description: the parentId value
type: string
required: true
- name: description
in: formData
description: the description value
type: string
required: true
- name: color
in: formData
description: the color value
type: string
required: true
- name: labelIds
in: formData
description: the labelIds value
type: string
required: true
- name: requestedBy
in: formData
description: the requestedBy value
type: string
required: true
- name: assignedBy
in: formData
description: the assignedBy value
type: string
required: true
- name: receivedAt
in: formData
description: the receivedAt value
type: string
required: true
- name: startAt
in: formData
description: the startAt value
type: string
required: true
- name: dueAt
in: formData
description: the dueAt value
type: string
required: true
- name: endAt
in: formData
description: the endAt value
type: string
required: true
- name: spentTime
in: formData
description: the spentTime value
type: string
required: true
- name: isOverTime
in: formData
description: the isOverTime value
type: string
required: true
- name: customFields
in: formData
description: the customFields value
type: string
required: true
- name: members
in: formData
description: the members value
type: string
required: true
- name: assignees
in: formData
description: the assignees value
type: string
required: true
- name: swimlaneId
in: formData
description: the swimlaneId value
type: string
required: true
- name: board
in: path
description: the board value
type: string
required: true
- name: list
in: path
description: the list value
type: string
required: true
- name: card
in: path
description: the card value
type: string
required: true
produces:
- application/json
security:
- UserSecurity: []
responses:
'200':
description: |-
200 response
delete:
operationId: delete_board_list_card
tags:
- Cards
parameters:
- name: board
in: path
description: the board value
type: string
required: true
- name: list
in: path
description: the list value
type: string
required: true
- name: card
in: path
description: the card value
type: string
required: true
produces:
- application/json
security:
- UserSecurity: []
responses:
'200':
description: |-
200 response
/api/boards/{board}/members/{member}:
post:
operationId: set_board_member_permission
@@ -1780,30 +1490,6 @@ paths:
'200':
description: |-
200 response
/api/boards/{board}/swimlanes/{swimlane}/cards:
get:
operationId: get_board_swimlane_cards
tags:
- Cards
parameters:
- name: board
in: path
description: the board value
type: string
required: true
- name: swimlane
in: path
description: the swimlane value
type: string
required: true
produces:
- application/json
security:
- UserSecurity: []
responses:
'200':
description: |-
200 response
/api/user:
get:
operationId: get_current_user
@@ -2349,219 +2035,6 @@ definitions:
- createdAt
- modifiedAt
- userId
Cards:
type: object
properties:
title:
description: |
the title of the card
type: string
x-nullable: true
archived:
description: |
is the card archived
type: boolean
parentId:
description: |
ID of the parent card
type: string
x-nullable: true
listId:
description: |
List ID where the card is
type: string
x-nullable: true
swimlaneId:
description: |
Swimlane ID where the card is
type: string
boardId:
description: |
Board ID of the card
type: string
x-nullable: true
coverId:
description: |
Cover ID of the card
type: string
x-nullable: true
color:
type: string
enum:
- white
- green
- yellow
- orange
- red
- purple
- blue
- sky
- lime
- pink
- black
- silver
- peachpuff
- crimson
- plum
- darkgreen
- slateblue
- magenta
- gold
- navy
- gray
- saddlebrown
- paleturquoise
- mistyrose
- indigo
x-nullable: true
createdAt:
description: |
creation date
type: string
modifiedAt:
type: string
customFields:
description: |
list of custom fields
type: array
items:
$ref: "#/definitions/CardsCustomfields"
x-nullable: true
dateLastActivity:
description: |
Date of last activity
type: string
description:
description: |
description of the card
type: string
x-nullable: true
requestedBy:
description: |
who requested the card (ID of the user)
type: string
x-nullable: true
assignedBy:
description: |
who assigned the card (ID of the user)
type: string
x-nullable: true
labelIds:
description: |
list of labels ID the card has
type: array
items:
type: string
x-nullable: true
x-nullable: true
members:
description: |
list of members (user IDs)
type: array
items:
type: string
x-nullable: true
x-nullable: true
assignees:
description: |
who is assignee of the card (user ID),
maximum one ID of assignee in array.
type: array
items:
type: string
x-nullable: true
x-nullable: true
receivedAt:
description: |
Date the card was received
type: string
x-nullable: true
startAt:
description: |
Date the card was started to be worked on
type: string
x-nullable: true
dueAt:
description: |
Date the card is due
type: string
x-nullable: true
endAt:
description: |
Date the card ended
type: string
x-nullable: true
spentTime:
description: |
How much time has been spent on this
type: number
x-nullable: true
isOvertime:
description: |
is the card over time?
type: boolean
x-nullable: true
userId:
description: |
user ID of the author of the card
type: string
sort:
description: |
Sort value
type: number
subtaskSort:
description: |
subtask sort value
type: number
x-nullable: true
type:
description: |
type of the card
type: string
linkedId:
description: |
ID of the linked card
type: string
x-nullable: true
vote:
description: |
vote object, see below
$ref: "#/definitions/CardsVote"
x-nullable: true
required:
- archived
- swimlaneId
- createdAt
- modifiedAt
- dateLastActivity
- userId
- sort
- type
CardsVote:
type: object
properties:
question:
type: string
positive:
description: |
list of members (user IDs)
type: array
items:
type: string
x-nullable: true
negative:
description: |
list of members (user IDs)
type: array
items:
type: string
x-nullable: true
end:
type: string
required:
- question
CardsCustomfields:
type: object
ChecklistItems:
type: object
description: An item in a checklist
+2
View File
@@ -0,0 +1,2 @@
User-agent: *
Disallow: /
+2 -2
View File
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
appVersion = 393,
appVersion = 395,
# Increment this for every release.
appMarketingVersion = (defaultText = "3.93.0~2020-04-10"),
appMarketingVersion = (defaultText = "3.95.0~2020-04-12"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
+1 -1
View File
@@ -18,7 +18,7 @@ Meteor.publish('boards', function() {
archived: false,
$or: [
{
_id: { $in: starredBoards },
// _id: { $in: starredBoards }, // Commented out, to get a list of all public boards
permission: 'public',
},
{ members: { $elemMatch: { userId, isActive: true } } },