Compare commits

...
33 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
Lauri Ojansivu 7566f05b97 v3.93 2020-04-09 23:00:00 +03:00
Lauri Ojansivu 268d7fcb32 Upgrade Node to 12.16.2, part 2.
Thanks to Node developers and xet7 !
2020-04-09 22:53:04 +03:00
Lauri Ojansivu 70edd44a01 Update ChangeLog. 2020-04-09 22:50:00 +03:00
Lauri Ojansivu 6db717b9b3 Upgrade to Node v12.16.2
Thanks to Node developers and xet7 !
2020-04-09 22:47:11 +03:00
Lauri Ojansivu f389fd95fb Update translations. 2020-04-09 22:37:36 +03:00
Lauri Ojansivu 363bcab98b Update ChangeLog. 2020-04-09 22:30:31 +03:00
Lauri Ojansivu c4a7e53661 Merge pull request #3005 from jtbairdsr/master
fix bug that prevents editing or deleting comments
2020-04-09 22:30:02 +03:00
Lauri Ojansivu c6afe8d007 Merge pull request #3004 from slvrpdr/master
When adding a user to a board that has subtasks, also add user to the subtask board
2020-04-09 22:26:34 +03:00
Lauri Ojansivu 93eccffd44 Merge pull request #3000 from NicoP-S/master
Trello vote import & hide export button if with_api is disabled
2020-04-09 22:21:43 +03:00
Jonathan Baird fe66169415 fix bug that prevents editing or deleting comments 2020-04-09 12:46:24 -06:00
Pedro Sousa 6ced47aa8c When adding a user to a board that has subtasks, also add user to the subtask board 2020-04-09 19:10:50 +01:00
Nico e661d03e8d Add vote import from Trello 2020-04-09 02:00:15 +02:00
Nico f09219cbfd Remove export button if WITH_API is not enabled
#2938
https://github.com/wekan/wekan/issues/2938#issuecomment-589782402
2020-04-09 01:55:01 +02:00
NicoP-S 7c25542976 Merge pull request #5 from wekan/master
Update
2020-04-08 23:22:49 +02:00
89 changed files with 711 additions and 2754 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.92.0",
"version": "v3.95.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "v3.92.0",
"version": "v3.95.0",
"description": "Open-Source kanban",
"private": true,
"scripts": {
+1 -1
View File
@@ -3,7 +3,7 @@ sudo: required
env:
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
TRAVIS_NODE_VERSION: 12.15.0
TRAVIS_NODE_VERSION: 12.16.2
TRAVIS_NPM_VERSION: latest
before_install:
+62 -2
View File
@@ -1,3 +1,63 @@
# 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:
- [Trello vote import & hide export button if with_api is
disabled](https://github.com/wekan/wekan/pull/3000).
Thanks to NicoP-S.
- [When adding a user to a board that has subtasks, also add user to the subtask
board](https://github.com/wekan/wekan/pull/3004).
Thanks to slvrpdr.
and adds the following updates:
- Upgrade to Node v12.16.2 [Part1](https://github.com/wekan/wekan/commit/6db717b9b384fe1491063e507b80e67791a07e3a)
and [Part2](https://github.com/wekan/wekan/commit/268d7fcb32186a902a84e7f6d80c50b1f3790bad).
Thanks to Node developers and xet7.
and fixes the following bugs:
- [Fix bug that prevents editing or deleting
comments](https://github.com/wekan/wekan/pull/3005).
Thanks to jtbairdsr.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.92 2020-04-09 Wekan release
This release adds the following new features:
@@ -67,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
@@ -107,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
+1 -1
View File
@@ -6,7 +6,7 @@ LABEL maintainer="wekan"
# ENV BUILD_DEPS="paxctl"
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
DEBUG=false \
NODE_VERSION=v12.16.1 \
NODE_VERSION=v12.16.2 \
METEOR_RELEASE=1.10-rc.2 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
+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.92.0"
appVersion: "v3.95.0"
files:
userUploads:
- README.md
+2 -2
View File
@@ -180,7 +180,7 @@ BlazeComponent.extendComponent({
{
// XXX We should use Popup.afterConfirmation here
'click .js-delete-comment'() {
const commentId = this.currentData().commentId;
const commentId = this.currentData().activity.commentId;
CardComments.remove(commentId);
},
'submit .js-edit-comment'(evt) {
@@ -188,7 +188,7 @@ BlazeComponent.extendComponent({
const commentText = this.currentComponent()
.getValue()
.trim();
const commentId = Template.parentData().commentId;
const commentId = Template.parentData().activity.commentId;
if (commentText) {
CardComments.update(commentId, {
$set: {
-16
View File
@@ -33,22 +33,6 @@ Template.boardMenuPopup.events({
'click .js-card-settings': Popup.open('boardCardSettings'),
});
Template.boardMenuPopup.helpers({
exportUrl() {
const params = {
boardId: Session.get('currentBoard'),
};
const queryParams = {
authToken: Accounts._storedLoginToken(),
};
return FlowRouter.path('/api/boards/:boardId/export', params, queryParams);
},
exportFilename() {
const boardId = Session.get('currentBoard');
return `wekan-export-board-${boardId}.json`;
},
});
Template.boardChangeTitlePopup.events({
submit(event, templateInstance) {
const newTitle = templateInstance
+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
+11 -9
View File
@@ -298,10 +298,11 @@ template(name="boardMenuPopup")
if currentUser.isBoardAdmin
hr
ul.pop-over-list
li
a(href="{{exportUrl}}", download="{{exportFilename}}")
i.fa.fa-share-alt
| {{_ 'export-board'}}
if withApi
li
a(href="{{exportUrl}}", download="{{exportFilename}}")
i.fa.fa-share-alt
| {{_ 'export-board'}}
li
a.js-outgoing-webhooks
i.fa.fa-globe
@@ -326,11 +327,12 @@ template(name="boardMenuPopup")
if isSandstorm
hr
ul.pop-over-list
li
a(href="{{exportUrl}}", download="{{exportFilename}}")
i.fa.fa-share-alt
i.fa.fa-sign-out
| {{_ 'export-board'}}
if withApi
li
a(href="{{exportUrl}}", download="{{exportFilename}}")
i.fa.fa-share-alt
i.fa.fa-sign-out
| {{_ 'export-board'}}
li
a.js-import-board
i.fa.fa-share-alt
+15 -4
View File
@@ -196,14 +196,14 @@ Template.boardMenuPopup.events({
},
'click .js-change-board-color': Popup.open('boardChangeColor'),
'click .js-change-language': Popup.open('changeLanguage'),
'click .js-archive-board ': Popup.afterConfirm('archiveBoard', function() {
'click .js-archive-board ': Popup.afterConfirm('archiveBoard', function () {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
currentBoard.archive();
// XXX We should have some kind of notification on top of the page to
// confirm that the board was successfully archived.
FlowRouter.go('home');
}),
'click .js-delete-board': Popup.afterConfirm('deleteBoard', function() {
'click .js-delete-board': Popup.afterConfirm('deleteBoard', function () {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
Popup.close();
Boards.remove(currentBoard._id);
@@ -215,7 +215,18 @@ Template.boardMenuPopup.events({
'click .js-card-settings': Popup.open('boardCardSettings'),
});
Template.boardMenuPopup.onCreated(function () {
this.apiEnabled = new ReactiveVar(false);
Meteor.call('_isApiEnabled', (e, result) => {
this.apiEnabled.set(result)
})
})
Template.boardMenuPopup.helpers({
withApi() {
return Template.instance().apiEnabled.get()
},
exportUrl() {
const params = {
boardId: Session.get('currentBoard'),
@@ -237,7 +248,7 @@ Template.memberPopup.events({
Popup.close();
},
'click .js-change-role': Popup.open('changePermissions'),
'click .js-remove-member': Popup.afterConfirm('removeMember', function() {
'click .js-remove-member': Popup.afterConfirm('removeMember', function () {
const boardId = Session.get('currentBoard');
const memberId = this.userId;
Cards.find({ boardId, members: memberId }).forEach(card => {
@@ -578,7 +589,7 @@ BlazeComponent.extendComponent({
'subtext-with-parent',
'no-parent',
];
options.forEach(function(element) {
options.forEach(function (element) {
if (element !== value) {
$(`#${element} ${MCB}`).toggleClass(CKCLS, false);
$(`#${element}`).toggleClass(CKCLS, false);
+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?",
+4 -1
View File
@@ -152,7 +152,7 @@
"card-spent": "זמן שהושקע",
"card-edit-attachments": "עריכת קבצים מצורפים",
"card-edit-custom-fields": "עריכת שדות בהתאמה אישית",
"card-start-voting": "התחילו להצביע",
"card-start-voting": "ניתן להצביע",
"card-cancel-voting": "מחיקת אפשרות ההצבעה ואת כל הקולות",
"card-edit-labels": "עריכת תוויות",
"card-edit-members": "עריכת חברים",
@@ -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?",
+11 -8
View File
@@ -152,8 +152,8 @@
"card-spent": "Tempo trascorso",
"card-edit-attachments": "Modifica allegati",
"card-edit-custom-fields": "Modifica campo personalizzato",
"card-start-voting": "Start voting",
"card-cancel-voting": "Delete voting and all votes",
"card-start-voting": "Inizia a votare",
"card-cancel-voting": "Cancella votazione e tutti i voti",
"card-edit-labels": "Modifica etichette",
"card-edit-members": "Modifica membri",
"card-labels-title": "Cambia le etichette per questa scheda.",
@@ -163,10 +163,13 @@
"cardAttachmentsPopup-title": "Allega da",
"cardCustomField-datePopup-title": "Cambia data",
"cardCustomFieldsPopup-title": "Modifica campo personalizzato",
"cardStartVotingPopup-title": "Start a vote",
"vote-question": "Voting question",
"vote-for-it": "for it",
"vote-against": "against",
"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?",
"cardDetailsActionsPopup-title": "Azioni scheda",
"cardLabelsPopup-title": "Etichette",
@@ -325,7 +328,7 @@
"filter-clear": "Pulisci filtri",
"filter-no-label": "Nessuna etichetta",
"filter-no-member": "Nessun membro",
"filter-no-assignee": "No assignee",
"filter-no-assignee": "Nessun assegnatario",
"filter-no-custom-fields": "Nessun campo personalizzato",
"filter-show-archive": "Mostra le liste archiviate",
"filter-hide-empty": "Nascondi liste vuote",
@@ -771,7 +774,7 @@
"view-all": "Mostra Tutto",
"filter-by-unread": "Filtra per non letto",
"mark-all-as-read": "Segna come letto",
"remove-all-read": "Remove all read",
"remove-all-read": "Rimuovi tutti i già letti",
"allow-rename": "Consenti Rinomina",
"allowRenamePopup-title": "Consenti Rinomina"
}
+12 -9
View File
@@ -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,10 +163,13 @@
"cardAttachmentsPopup-title": "添付元",
"cardCustomField-datePopup-title": "日時変更",
"cardCustomFieldsPopup-title": "カスタムフィールドの編集",
"cardStartVotingPopup-title": "Start a vote",
"vote-question": "Voting question",
"vote-for-it": "for it",
"vote-against": "against",
"cardStartVotingPopup-title": "投票を開始",
"positiveVoteMembersPopup-title": "支持者",
"negativeVoteMembersPopup-title": "反対者",
"vote-question": "投票の質問事項",
"vote-public": "投票を公開",
"vote-for-it": "賛成",
"vote-against": "反対",
"cardDeletePopup-title": "カードを削除しますか?",
"cardDetailsActionsPopup-title": "カード操作",
"cardLabelsPopup-title": "ラベル",
@@ -325,7 +328,7 @@
"filter-clear": "フィルターの解除",
"filter-no-label": "ラベルなし",
"filter-no-member": "メンバーなし",
"filter-no-assignee": "No assignee",
"filter-no-assignee": "担当者なし",
"filter-no-custom-fields": "カスタムフィールドなし",
"filter-show-archive": "アーカイブされたリストを表示",
"filter-hide-empty": "空のリストを隠す",
@@ -447,7 +450,7 @@
"save": "保存",
"search": "検索",
"rules": "ルール",
"search-cards": "Search from card/list titles, descriptions and custom fields on this board",
"search-cards": "このボード上のカード/リストタイトル、詳細、カスタムフィールドから検索",
"search-example": "検索文字",
"select-color": "色を選択",
"set-wip-limit-value": "このリスト中のタスクの最大数を設定",
@@ -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": "დროის ცვლილება",
"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?",
+11 -8
View File
@@ -152,8 +152,8 @@
"card-spent": "Gespendeerde tijd",
"card-edit-attachments": "Wijzig bijlagen",
"card-edit-custom-fields": "Wijzig maatwerkvelden",
"card-start-voting": "Start voting",
"card-cancel-voting": "Delete voting and all votes",
"card-start-voting": "Start stemming",
"card-cancel-voting": "Verwijder stemming en verwijder stemmen",
"card-edit-labels": "Wijzig labels",
"card-edit-members": "Wijzig leden",
"card-labels-title": "Wijzig de labels van de kaart.",
@@ -163,10 +163,13 @@
"cardAttachmentsPopup-title": "Voeg bestand toe vanuit",
"cardCustomField-datePopup-title": "Wijzigingsdatum",
"cardCustomFieldsPopup-title": "Wijzig maatwerkvelden",
"cardStartVotingPopup-title": "Start a vote",
"vote-question": "Voting question",
"vote-for-it": "for it",
"vote-against": "against",
"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?",
"cardDetailsActionsPopup-title": "Kaart actie ondernemen",
"cardLabelsPopup-title": "Labels",
@@ -325,7 +328,7 @@
"filter-clear": "Wis filter",
"filter-no-label": "Geen label",
"filter-no-member": "Geen lid",
"filter-no-assignee": "No assignee",
"filter-no-assignee": "Niemand toegewezen",
"filter-no-custom-fields": "Geen maatwerkvelden",
"filter-show-archive": "Toon gearchiveerde lijsten",
"filter-hide-empty": "Verberg lege lijsten",
@@ -771,7 +774,7 @@
"view-all": "Bekijk alles",
"filter-by-unread": "Filter op Ongelezen",
"mark-all-as-read": "Markeer alles als gelezen",
"remove-all-read": "Remove all read",
"remove-all-read": "verwijder alle gelezen",
"allow-rename": "Sta Hernoemen toe",
"allowRenamePopup-title": "Sta Hernoemen toe"
}
+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?",
+186 -183
View File
@@ -79,30 +79,30 @@
"add-board": "Add Board",
"add-card": "Dodaj karticu",
"add-swimlane": "Add Swimlane",
"add-subtask": "Add Subtask",
"add-subtask": "Dodaj podzadatak",
"add-checklist": "Add Checklist",
"add-checklist-item": "Dodaj novu stavku u listu",
"add-cover": "Dodaj zaglavlje",
"add-label": "Add Label",
"add-label": "Dodaj oznaku",
"add-list": "Dodaj Listu",
"add-members": "Dodaj Članove",
"add-members": "Dodaj članove",
"added": "Dodao",
"addMemberPopup-title": "Članovi",
"admin": "Administrator",
"admin-desc": "Može da pregleda i menja kartice, uklanja članove i menja podešavanja table",
"admin-announcement": "Announcement",
"admin-announcement": "Najava",
"admin-announcement-active": "Active System-Wide Announcement",
"admin-announcement-title": "Announcement from Administrator",
"admin-announcement-title": "Najava za administratora",
"all-boards": "Sve table",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
"apply": "Primeni",
"app-is-offline": "Loading, please wait. Refreshing the page will cause data loss. If loading does not work, please check that server has not stopped.",
"archive": "Move to Archive",
"archive-all": "Move All to Archive",
"archive": "Premesti u arhivu",
"archive-all": "Premesti sve u arhivu",
"archive-board": "Move Board to Archive",
"archive-card": "Move Card to Archive",
"archive-list": "Move List to Archive",
"archive-card": "Premesti karticu u arhivu",
"archive-list": "Premesti listu u arhivu",
"archive-swimlane": "Move Swimlane to Archive",
"archive-selection": "Move selection to Archive",
"archiveBoardPopup-title": "Move Board to Archive?",
@@ -117,7 +117,7 @@
"attached": "Prikačeno",
"attachment": "Prikačeni dokument",
"attachment-delete-pop": "Brisanje prikačenog dokumenta je trajno. Ne postoji vraćanje obrisanog.",
"attachmentDeletePopup-title": "Obrisati prikačeni dokument ?",
"attachmentDeletePopup-title": "Obrisati prikačeni dokument?",
"attachments": "Prikačeni dokumenti",
"auto-watch": "Automatically watch boards when they are created",
"avatar-too-big": "Avatar je prevelik (maksimum je 70KB)",
@@ -129,25 +129,25 @@
"board-public-info": "Ova tabla će biti <strong>javna<strong>.",
"boardChangeColorPopup-title": "Promeni pozadinu table",
"boardChangeTitlePopup-title": "Preimenuj tablu",
"boardChangeVisibilityPopup-title": "Promeni Vidljivost",
"boardChangeVisibilityPopup-title": "Promeni vidljivost",
"boardChangeWatchPopup-title": "Change Watch",
"boardMenuPopup-title": "Board Settings",
"boardChangeViewPopup-title": "Board View",
"boards": "Table",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-cal": "Kalendar",
"board-view-swimlanes": "Swimlanes",
"board-view-collapse": "Sažmi",
"board-view-lists": "Lists",
"board-view-lists": "Liste",
"bucket-example": "Na primer \"Lista zadataka\"",
"cancel": "Otkaži",
"card-archived": "This card is moved to Archive.",
"card-archived": "Ova kartica je premeštena u arhivu.",
"board-archived": "This board is moved to Archive.",
"card-comments-title": "Ova kartica ima %s komentar.",
"card-delete-notice": "Brisanje je trajno. Izgubićeš sve akcije povezane sa ovom karticom.",
"card-delete-pop": "Sve akcije će biti uklonjene sa liste aktivnosti i kartica neće moći biti ponovo otvorena. Nema vraćanja unazad.",
"card-delete-suggest-archive": "You can move a card to Archive to remove it from the board and preserve the activity.",
"card-due": "Krajnji datum",
"card-due": "Rok",
"card-due-on": "Završava se",
"card-spent": "Spent Time",
"card-edit-attachments": "Uredi priloge",
@@ -161,110 +161,113 @@
"card-start": "Početak",
"card-start-on": "Počinje",
"cardAttachmentsPopup-title": "Attach From",
"cardCustomField-datePopup-title": "Change date",
"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": "Delete Card?",
"cardDeletePopup-title": "Obrisati karticu?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
"cardLabelsPopup-title": "Oznake",
"cardMembersPopup-title": "Članovi",
"cardMorePopup-title": "More",
"cardTemplatePopup-title": "Create template",
"cards": "Cards",
"cards-count": "Cards",
"cardMorePopup-title": "Više",
"cardTemplatePopup-title": "Napravi šemu",
"cards": "Kartice",
"cards-count": "Kartice",
"casSignIn": "Sign In with CAS",
"cardType-card": "Card",
"cardType-linkedCard": "Linked Card",
"cardType-card": "Kartica",
"cardType-linkedCard": "Povezana kartica",
"cardType-linkedBoard": "Linked Board",
"change": "Change",
"change-avatar": "Change Avatar",
"change-password": "Change Password",
"change-permissions": "Change permissions",
"change-settings": "Izmeni podešavanja",
"changeAvatarPopup-title": "Change Avatar",
"changeLanguagePopup-title": "Change Language",
"changePasswordPopup-title": "Change Password",
"changePermissionsPopup-title": "Change Permissions",
"changeSettingsPopup-title": "Izmeni podešavanja",
"subtasks": "Subtasks",
"change": "Promeni",
"change-avatar": "Promeni avatara",
"change-password": "Promeni lozinku",
"change-permissions": "Promeni dozvole",
"change-settings": "Promeni podešavanja",
"changeAvatarPopup-title": "Promeni avatara",
"changeLanguagePopup-title": "Promeni jezik",
"changePasswordPopup-title": "Promeni lozinku",
"changePermissionsPopup-title": "Promeni dozvole",
"changeSettingsPopup-title": "Promeni podešavanja",
"subtasks": "Podzadaci",
"checklists": "Liste",
"click-to-star": "Click to star this board.",
"click-to-unstar": "Click to unstar this board.",
"clipboard": "Clipboard or drag & drop",
"close": "Close",
"close": "Zatvori",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
"color-black": "black",
"color-blue": "blue",
"color-crimson": "crimson",
"color-darkgreen": "darkgreen",
"color-gold": "gold",
"color-gray": "gray",
"color-green": "green",
"color-black": "crno",
"color-blue": "plavo",
"color-crimson": "grimizno",
"color-darkgreen": "tamnozeleno",
"color-gold": "zlatno",
"color-gray": "sivo",
"color-green": "zeleno",
"color-indigo": "indigo",
"color-lime": "lime",
"color-magenta": "magenta",
"color-mistyrose": "mistyrose",
"color-navy": "navy",
"color-orange": "orange",
"color-navy": "mornarsko",
"color-orange": "narandžasto",
"color-paleturquoise": "paleturquoise",
"color-peachpuff": "peachpuff",
"color-pink": "pink",
"color-plum": "plum",
"color-purple": "purple",
"color-red": "red",
"color-plum": "šljiva",
"color-purple": "ljubičasto",
"color-red": "crveno",
"color-saddlebrown": "saddlebrown",
"color-silver": "silver",
"color-sky": "sky",
"color-silver": "srebrno",
"color-sky": "nebesko",
"color-slateblue": "slateblue",
"color-white": "white",
"color-yellow": "yellow",
"color-white": "belo",
"color-yellow": "žuto",
"unset-color": "Unset",
"comment": "Comment",
"comment-placeholder": "Write Comment",
"comment-only": "Comment only",
"comment": "Komentar",
"comment-placeholder": "Napiši komentar",
"comment-only": "Samo komentari",
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Radnik",
"worker-desc": "Može samo da pomera kartice, dodeljuje sebe kartici i da komentariše. ",
"computer": "Computer",
"computer": "Računar",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"linkCardPopup-title": "Link Card",
"linkCardPopup-title": "Poveži karticu",
"searchElementPopup-title": "Pretraga",
"copyCardPopup-title": "Copy Card",
"copyCardPopup-title": "Kopiraj karticu",
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"create": "Create",
"create": "Napravi",
"createBoardPopup-title": "Create Board",
"chooseBoardSourcePopup-title": "Import board",
"createLabelPopup-title": "Create Label",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createLabelPopup-title": "Napravi oznaku",
"createCustomField": "Napravi polje",
"createCustomFieldPopup-title": "Napravi polje",
"current": "current",
"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-date": "Datum",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown": "Padajuća lista",
"custom-field-dropdown-none": "(ništa)",
"custom-field-dropdown-options": "Opcije liste",
"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-unknown": "(nepoznato)",
"custom-field-number": "Broj",
"custom-field-text": "Tekst",
"custom-fields": "Custom Fields",
"date": "Datum",
"decline": "Decline",
"decline": "Odbij",
"default-avatar": "Default avatar",
"delete": "Delete",
"delete": "Obriši",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteLabelPopup-title": "Delete Label?",
"deleteLabelPopup-title": "Obrisati oznaku?",
"description": "Opis",
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
"disambiguateMultiMemberPopup-title": "Disambiguate Member Action",
@@ -272,21 +275,21 @@
"done": "Završeno",
"download": "Preuzmi",
"edit": "Uredi",
"edit-avatar": "Change Avatar",
"edit-avatar": "Promeni avatara",
"edit-profile": "Uredi profil",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Izmeni početni datum",
"editCardDueDatePopup-title": "Izmeni krajnji datum",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "Izmeni polje",
"editCardSpentTimePopup-title": "Change spent time",
"editLabelPopup-title": "Change Label",
"editNotificationPopup-title": "Izmeni notifikaciju",
"editProfilePopup-title": "Edit Profile",
"email": "Email",
"editLabelPopup-title": "Izmeni oznaku",
"editNotificationPopup-title": "Izmeni obaveštenje",
"editProfilePopup-title": "Izmeni profil",
"email": "Epošta",
"email-enrollAccount-subject": "An account created for you on __siteName__",
"email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.",
"email-fail": "Sending email failed",
"email-fail": "Neuspelo slanje epošte",
"email-fail-text": "Error trying to send email",
"email-invalid": "Invalid email",
"email-invite": "Invite via Email",
@@ -304,9 +307,9 @@
"error-json-malformed": "Your text is not valid JSON",
"error-json-schema": "Your JSON data does not include the proper information in the correct format",
"error-list-doesNotExist": "This list does not exist",
"error-user-doesNotExist": "This user does not exist",
"error-user-notAllowSelf": "You can not invite yourself",
"error-user-notCreated": "This user is not created",
"error-user-doesNotExist": "Korisnik ne postoji",
"error-user-notAllowSelf": "Ne možeš pozvati samog sebe",
"error-user-notCreated": "Korisnik nije kreiran",
"error-username-taken": "Korisničko ime je već zauzeto",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
@@ -322,25 +325,25 @@
"filter": "Filter",
"filter-cards": "Filtriraj kartice ili liste",
"list-filter-label": "Filtriraj liste po naslovu",
"filter-clear": "Clear filter",
"filter-clear": "Očisti filter",
"filter-no-label": "Nema oznake",
"filter-no-member": "Nema člana",
"filter-no-assignee": "Nema zastupnika",
"filter-no-custom-fields": "No Custom Fields",
"filter-show-archive": "Prikaži arhivirane liste",
"filter-hide-empty": "Sakrij prazne liste",
"filter-on": "Filter is on",
"filter-on": "Filter je uključen",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-label": "Napredni filter",
"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",
"fullname": "Puno ime",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Sakrij sistemske poruke",
"headerBarCreateBoardPopup-title": "Create Board",
"home": "Home",
"import": "Import",
"link": "Link",
"home": "Početna",
"import": "Uvezi",
"link": "Veza",
"import-board": "import board",
"import-board-c": "Import board",
"import-board-title-trello": "Uvezi tablu iz Trella",
@@ -349,7 +352,7 @@
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From previous export",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
"import-json-placeholder": "Paste your valid JSON data here",
@@ -357,48 +360,48 @@
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
"import-show-user-mapping": "Review members mapping",
"import-user-select": "Pick your existing user you want to use as this member",
"importMapMembersAddPopup-title": "Select member",
"info": "Version",
"initials": "Initials",
"importMapMembersAddPopup-title": "Izaberi člana",
"info": "Verzija",
"initials": "Inicijali",
"invalid-date": "Neispravan datum",
"invalid-time": "Invalid time",
"invalid-user": "Invalid user",
"invalid-time": "Neispravno vreme",
"invalid-user": "Neispravan korisnik",
"joined": "joined",
"just-invited": "You are just invited to this board",
"keyboard-shortcuts": "Keyboard shortcuts",
"label-create": "Create Label",
"keyboard-shortcuts": "Prečice tastature",
"label-create": "Napravi oznaku",
"label-default": "%s label (default)",
"label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.",
"labels": "Labels",
"language": "Language",
"labels": "Oznake",
"language": "Jezik",
"last-admin-desc": "You can’t change roles because there must be at least one admin.",
"leave-board": "Leave Board",
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
"leaveBoardPopup-title": "Leave Board ?",
"link-card": "Link to this card",
"link-card": "Veza do ove kartice",
"list-archive-cards": "Move all cards in this list to Archive",
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Archive and bring them back to the board, click “Menu” > “Archive”.",
"list-move-cards": "Move all cards in this list",
"list-select-cards": "Select all cards in this list",
"set-color-list": "Set Color",
"list-move-cards": "Premesti sve kartice u ovoj listi",
"list-select-cards": "Izaberi sve kartice u ovoj listi",
"set-color-list": "Postavi boju",
"listActionPopup-title": "List Actions",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneAddPopup-title": "Add a Swimlane below",
"listImportCardPopup-title": "Import a Trello card",
"listMorePopup-title": "More",
"listMorePopup-title": "Više",
"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 Archive to remove it from the board and preserve the activity.",
"lists": "Lists",
"lists": "Liste",
"swimlanes": "Swimlanes",
"log-out": "Log Out",
"log-in": "Log In",
"loginPopup-title": "Log In",
"log-out": "Odjavi se",
"log-in": "Prijava",
"loginPopup-title": "Prijava",
"memberMenuPopup-title": "Member Settings",
"members": "Članovi",
"menu": "Menu",
"menu": "Meni",
"move-selection": "Move selection",
"moveCardPopup-title": "Move Card",
"moveCardPopup-title": "Premesti karticu",
"moveCardToBottom-title": "Premesti na dno",
"moveCardToTop-title": "Premesti na vrh",
"moveSelectionPopup-title": "Move selection",
@@ -416,7 +419,7 @@
"normal-desc": "Can view and edit cards. Can't change settings.",
"not-accepted-yet": "Invitation not accepted yet",
"notify-participate": "Receive updates to any cards you participate as creater or member",
"notify-watch": "Budite obavešteni o novim događajima u tablama, listama ili karticama koje pratite.",
"notify-watch": "Receive updates to any boards, lists, or cards you’re watching",
"optional": "opciono",
"or": "ili",
"page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.",
@@ -435,21 +438,21 @@
"quick-access-description": "Star a board to add a shortcut in this bar.",
"remove-cover": "Remove Cover",
"remove-from-board": "Ukloni iz table",
"remove-label": "Remove Label",
"listDeletePopup-title": "Delete List ?",
"remove-label": "Ukloni oznaku",
"listDeletePopup-title": "Obrisati listu?",
"remove-member": "Ukloni člana",
"remove-member-from-card": "Ukloni iz kartice",
"remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.",
"removeMemberPopup-title": "Ukloni člana ?",
"removeMemberPopup-title": "Ukloni člana?",
"rename": "Preimenuj",
"rename-board": "Preimenuj tablu",
"restore": "Oporavi",
"save": "Snimi",
"search": "Pretraga",
"rules": "Rules",
"rules": "Pravila",
"search-cards": "Pretraži u naslovima kartica/listi, opsima i proizvoljnim poljima sa ove table",
"search-example": "Text to search for?",
"select-color": "Select Color",
"search-example": "Tekst za pretragu?",
"select-color": "Izaberi boju",
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
"setWipLimitPopup-title": "Set WIP Limit",
"shortcut-assign-self": "Pridruži sebe trenutnoj kartici",
@@ -481,7 +484,7 @@
"title": "Naslov",
"tracking": "Praćenje",
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
"type": "Type",
"type": "Tip",
"unassign-member": "Unassign member",
"unsaved-description": "Imaš nesnimljen opis.",
"unwatch": "Ne posmatraj",
@@ -498,22 +501,22 @@
"welcome-swimlane": "Milestone 1",
"welcome-list1": "Osnove",
"welcome-list2": "Napredno",
"card-templates-swimlane": "Card Templates",
"list-templates-swimlane": "List Templates",
"card-templates-swimlane": "Šeme kartice",
"list-templates-swimlane": "Šeme liste",
"board-templates-swimlane": "Board Templates",
"what-to-do": "Šta želiš da uradiš ?",
"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.",
"admin-panel": "Admin Panel",
"settings": "Settings",
"people": "People",
"registration": "Registration",
"settings": "Podešavanja",
"people": "Ljudi",
"registration": "Registracija",
"disable-self-registration": "Disable Self-Registration",
"invite": "Invite",
"invite-people": "Invite People",
"to-boards": "To board(s)",
"email-addresses": "Email Addresses",
"email-addresses": "Adrese epošte",
"smtp-host-description": "The address of the SMTP server that handles your emails.",
"smtp-port-description": "The port your SMTP server uses for outgoing emails.",
"smtp-tls-description": "Enable TLS support for SMTP server",
@@ -521,8 +524,8 @@
"smtp-port": "SMTP Port",
"smtp-username": "Korisničko ime",
"smtp-password": "Lozinka",
"smtp-tls": "TLS support",
"send-from": "From",
"smtp-tls": "TLS podrška",
"send-from": "Od",
"send-smtp-test": "Send a test email to yourself",
"invitation-code": "Invitation Code",
"email-invite-register-subject": "__inviter__ sent you an invitation",
@@ -540,8 +543,8 @@
"disable-webhook": "Onesposobi ovu mrežnu kuku",
"global-webhook": "Globalna mrežna kuka",
"new-outgoing-webhook": "New Outgoing Webhook",
"no-name": "(Unknown)",
"Node_version": "Node version",
"no-name": "(Nepoznato)",
"Node_version": "Verzija čvora",
"Meteor_version": "Verzija Meteor-a",
"MongoDB_version": "Verzija MongoDB-a",
"MongoDB_storage_engine": "MongoDB mehanizam za skladištenje",
@@ -555,16 +558,16 @@
"OS_Totalmem": "OS Total Memory",
"OS_Type": "OS Type",
"OS_Uptime": "OS Uptime",
"days": "days",
"hours": "hours",
"minutes": "minutes",
"seconds": "seconds",
"days": "dana",
"hours": "sati",
"minutes": "minuta",
"seconds": "sekundi",
"show-field-on-card": "Show this field on card",
"automatically-field-on-card": "Auto create field to all cards",
"showLabel-field-on-card": "Show field label on minicard",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
"yes": "Da",
"no": "Ne",
"accounts": "Nalozi",
"accounts-allowEmailChange": "Allow Email Change",
"accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
@@ -576,10 +579,10 @@
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date",
"setCardColorPopup-title": "Set color",
"setCardActionsColorPopup-title": "Choose a color",
"setSwimlaneColorPopup-title": "Choose a color",
"setListColorPopup-title": "Choose a color",
"setCardColorPopup-title": "Podesi boju",
"setCardActionsColorPopup-title": "Izaberi boju",
"setSwimlaneColorPopup-title": "Izaberi boju",
"setListColorPopup-title": "Izaberi boju",
"assigned-by": "Dodeljeno od strane",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
@@ -587,7 +590,7 @@
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board",
"default-subtasks-board": "Subtasks for __board__ board",
"default": "Default",
"default": "Predefinisano",
"queue": "Queue",
"subtask-settings": "Subtasks Settings",
"card-settings": "Podešavanja kartice",
@@ -612,22 +615,22 @@
"activity-delete-attach-card": "deleted an attachment",
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
"activity-unset-customfield": "unset custom field '%s' in %s",
"r-rule": "Rule",
"r-add-trigger": "Add trigger",
"r-add-action": "Add action",
"r-rule": "Pravilo",
"r-add-trigger": "Dodaj okidač",
"r-add-action": "Dodaj akciju",
"r-board-rules": "Board rules",
"r-add-rule": "Add rule",
"r-view-rule": "View rule",
"r-delete-rule": "Delete rule",
"r-new-rule-name": "New rule title",
"r-no-rules": "No rules",
"r-when-a-card": "When a card",
"r-is": "is",
"r-is-moved": "is moved",
"r-added-to": "added to",
"r-removed-from": "Removed from",
"r-the-board": "the board",
"r-list": "list",
"r-add-rule": "Dodaj pravilo",
"r-view-rule": "Pregledaj pravilo",
"r-delete-rule": "Obriši pravilo",
"r-new-rule-name": "Novi naslov pravila",
"r-no-rules": "Nema pravila",
"r-when-a-card": "Kada kartica",
"r-is": "je",
"r-is-moved": "je premeštena",
"r-added-to": "dodata u",
"r-removed-from": "Uklonjena iz",
"r-the-board": "table",
"r-list": "liste",
"set-filter": "Set Filter",
"r-moved-to": "Moved to",
"r-moved-from": "Moved from",
@@ -643,7 +646,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": "Završeno",
"r-made-incomplete": "Made incomplete",
"r-when-a-item": "When a checklist item is",
"r-when-the-item": "When the checklist item",
@@ -655,11 +658,11 @@
"r-its-list": "its list",
"r-archive": "Move to Archive",
"r-unarchive": "Restore from Archive",
"r-card": "card",
"r-card": "kartica",
"r-add": "Dodaj",
"r-remove": "Remove",
"r-label": "label",
"r-member": "member",
"r-remove": "Ukloni",
"r-label": "oznaka",
"r-member": "član",
"r-remove-all": "Remove all members from the card",
"r-set-color": "Set color to",
"r-checklist": "checklist",
@@ -668,30 +671,30 @@
"r-items-check": "items of checklist",
"r-check": "Check",
"r-uncheck": "Uncheck",
"r-item": "item",
"r-item": "stavka",
"r-of-checklist": "of checklist",
"r-send-email": "Send an email",
"r-to": "to",
"r-subject": "subject",
"r-rule-details": "Rule details",
"r-send-email": "Pošalji epoštu",
"r-to": "za",
"r-subject": "naslov",
"r-rule-details": "Detalji pravila",
"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-send-email": "Pošalji epoštu",
"r-d-send-email-to": "za",
"r-d-send-email-subject": "naslov",
"r-d-send-email-message": "poruka",
"r-d-archive": "Move card to Archive",
"r-d-unarchive": "Restore card from Archive",
"r-d-add-label": "Add label",
"r-d-remove-label": "Remove label",
"r-create-card": "Create new card",
"r-in-list": "in list",
"r-d-add-label": "Dodaj oznaku",
"r-d-remove-label": "Ukloni oznaku",
"r-create-card": "Napravi novu karticu",
"r-in-list": "u listi",
"r-in-swimlane": "in swimlane",
"r-d-add-member": "Add member",
"r-d-remove-member": "Remove member",
"r-d-remove-all-member": "Remove all member",
"r-d-add-member": "Dodaj člana",
"r-d-remove-member": "Ukloni člana",
"r-d-remove-all-member": "Ukloni sve članove",
"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",
@@ -720,11 +723,11 @@
"ldap": "LDAP",
"oauth2": "OAuth2",
"cas": "CAS",
"authentication-method": "Authentication method",
"authentication-type": "Authentication type",
"authentication-method": "Metod autentifikacije",
"authentication-type": "Tip autentifikacije",
"custom-product-name": "Custom Product Name",
"layout": "Layout",
"hide-logo": "Hide Logo",
"layout": "Raspored",
"hide-logo": "Sakrij logo",
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
"error-undefined": "Something went wrong",
@@ -736,8 +739,8 @@
"swimlaneDeletePopup-title": "Delete Swimlane ?",
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
"restore-all": "Restore all",
"delete-all": "Delete all",
"loading": "Loading, please wait.",
"delete-all": "Obriši sve",
"loading": "Učitavanje, molim sačekajte.",
"previous_as": "prošli put je bio",
"act-a-dueAt": "modifikovano u vreme\nKada:__vremenskaVrednost__\nGde:__kartica__\nprethodni rok je bio__StaraVremenskaVrednost",
"act-a-endAt": "izmenjeno vreme završetaka za__vremenskaVrednost__od (__StaraVremenskaVrednost__)",
@@ -760,8 +763,8 @@
"accounts-allowUserDelete": "Dozvoli korisnicima da sami brišu svoj nalog",
"hide-minicard-label-text": "Sakrij tekst nalepnice minikartice",
"show-desktop-drag-handles": "Prikaži kvake za povlačenje sa radne površine",
"assignee": "Asignat",
"cardAssigneesPopup-title": "Asignat",
"assignee": "Zastupnik",
"cardAssigneesPopup-title": "Zastupnik",
"addmore-detail": "Dodaj detaljaniji opis",
"show-on-card": "Prikaži na kartici",
"new": "Novo",
+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?",
+11 -8
View File
@@ -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,10 +163,13 @@
"cardAttachmentsPopup-title": "附件來源",
"cardCustomField-datePopup-title": "修改日期",
"cardCustomFieldsPopup-title": "編輯自訂欄位",
"cardStartVotingPopup-title": "Start a vote",
"vote-question": "Voting question",
"vote-for-it": "for it",
"vote-against": "against",
"cardStartVotingPopup-title": "建立投票",
"positiveVoteMembersPopup-title": "支持",
"negativeVoteMembersPopup-title": "反對",
"vote-question": "投票題目",
"vote-public": "公開投票",
"vote-for-it": "同意",
"vote-against": "反對",
"cardDeletePopup-title": "徹底刪除卡片?",
"cardDetailsActionsPopup-title": "卡片操作",
"cardLabelsPopup-title": "標籤",
@@ -325,7 +328,7 @@
"filter-clear": "清除篩選條件",
"filter-no-label": "沒有標籤",
"filter-no-member": "沒有成員",
"filter-no-assignee": "No assignee",
"filter-no-assignee": "沒有代理人",
"filter-no-custom-fields": "沒有自訂欄位",
"filter-show-archive": "顯示封存的清單",
"filter-hide-empty": "隱藏空清單",
@@ -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": "允許更名"
}
+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;
+8
View File
@@ -198,6 +198,10 @@ if (Meteor.isServer) {
return process.env.CAS_ENABLED === 'true';
}
function isApiEnabled() {
return process.env.WITH_API === 'true';
}
Meteor.methods({
sendInvitation(emails, boards) {
check(emails, [String]);
@@ -314,6 +318,10 @@ if (Meteor.isServer) {
return isCasEnabled();
},
_isApiEnabled() {
return isApiEnabled();
},
// Gets all connection methods to use it in the Template
getAuthenticationsEnabled() {
return {
+26 -2
View File
@@ -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();
});
@@ -285,6 +285,30 @@ export class TrelloCreator {
cardToCreate.members = wekanMembers;
}
}
// add vote
if (card.idMembersVoted) {
// Trello only know's positive votes
const positiveVotes = [];
card.idMembersVoted.forEach(trelloId => {
if (this.members[trelloId]) {
const wekanId = this.members[trelloId];
// we may map multiple Trello members to the same wekan user
// in which case we risk adding the same user multiple times
if (!positiveVotes.find(wId => wId === wekanId)) {
positiveVotes.push(wekanId);
}
}
return true;
})
if (positiveVotes.length > 0) {
cardToCreate.vote = {
question: cardToCreate.title,
public: true,
positive: positiveVotes,
}
}
}
// insert card
const cardId = Cards.direct.insert(cardToCreate);
// keep track of Trello id => Wekan id
@@ -345,7 +369,7 @@ export class TrelloCreator {
// 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) {
file.attachData(att.url, function(error) {
file.attachData(att.url, function (error) {
file.boardId = boardId;
file.cardId = cardId;
file.userId = self._user(att.idMemberCreator);
+11
View File
@@ -814,6 +814,16 @@ if (Meteor.isServer) {
board.addMember(user._id);
user.addInvite(boardId);
//Check if there is a subtasks board
if (board.subtasksDefaultBoardId) {
const subBoard = Boards.findOne(board.subtasksDefaultBoardId);
//If there is, also add user to that board
if (subBoard) {
subBoard.addMember(user._id);
user.addInvite(subBoard._id);
}
}
try {
const params = {
user: user.username,
@@ -942,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.92.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.92.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.92
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
@@ -18,8 +18,8 @@ REM Install chocolatey
choco install -y git curl python2 dotnet4.5.2 nano mongodb-3 mongoclient meteor
curl -O https://nodejs.org/dist/v12.16.1/node-v12.16.1-x64.msi
call node-v12.16.1-x64.msi
curl -O https://nodejs.org/dist/v12.16.2/node-v12.16.2-x64.msi
call node-v12.16.2-x64.msi
call npm config -g set msvs_version 2015
call meteor npm config -g set msvs_version 2015
+2 -2
View File
@@ -5,7 +5,7 @@ echo " with 'sudo dpkg-reconfigure locales' , so that MongoDB works correct
echo " You can still use any other locale as your main locale."
#Below script installs newest node 8.x for Debian/Ubuntu/Mint.
#NODE_VERSION=12.16.1
#NODE_VERSION=12.16.2
#X64NODE="https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz"
function pause(){
@@ -79,7 +79,7 @@ do
curl -0 -L https://npmjs.org/install.sh | sudo sh
sudo chown -R $(id -u):$(id -g) $HOME/.npm
sudo npm -g install n
sudo n 12.16.1
sudo n 12.16.2
#curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
#sudo apt-get install -y nodejs
elif [[ "$OSTYPE" == "darwin"* ]]; then
+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 = 392,
appVersion = 395,
# Increment this for every release.
appMarketingVersion = (defaultText = "3.92.0~2020-04-09"),
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 } } },
+1 -1
View File
@@ -81,7 +81,7 @@ parts:
wekan:
source: .
plugin: nodejs
node-engine: 12.16.1
node-engine: 12.16.2
node-packages:
- node-gyp
- node-pre-gyp
+1 -1
View File
@@ -2,7 +2,7 @@
set -euxo pipefail
BUILD_DEPS="bsdtar gnupg wget curl bzip2 python git ca-certificates perl-Digest-SHA"
NODE_VERSION=v12.16.1
NODE_VERSION=v12.16.2
#METEOR_RELEASE=1.6.0.1 - for Stacksmith, meteor-1.8 branch that could have METEOR@1.8.1-beta.8 or newer
USE_EDGE=false
METEOR_EDGE=1.5-beta.17