Compare commits
1 Commits
stable0.8
...
enh/87/use
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2ae8fee6b3 |
22
.drone.yml
22
.drone.yml
@@ -5,7 +5,7 @@ steps:
|
|||||||
image: nextcloudci/php7.2:php7.2-13
|
image: nextcloudci/php7.2:php7.2-13
|
||||||
environment:
|
environment:
|
||||||
APP_NAME: deck
|
APP_NAME: deck
|
||||||
CORE_BRANCH: stable17
|
CORE_BRANCH: master
|
||||||
DB: sqlite
|
DB: sqlite
|
||||||
commands:
|
commands:
|
||||||
# Pre-setup steps
|
# Pre-setup steps
|
||||||
@@ -20,7 +20,7 @@ steps:
|
|||||||
image: nextcloudci/php7.2:php7.2-13
|
image: nextcloudci/php7.2:php7.2-13
|
||||||
environment:
|
environment:
|
||||||
APP_NAME: deck
|
APP_NAME: deck
|
||||||
CORE_BRANCH: stable17
|
CORE_BRANCH: master
|
||||||
DB: sqlite
|
DB: sqlite
|
||||||
commands:
|
commands:
|
||||||
- composer install
|
- composer install
|
||||||
@@ -29,7 +29,7 @@ steps:
|
|||||||
image: nextcloudci/php7.3:php7.3-2
|
image: nextcloudci/php7.3:php7.3-2
|
||||||
environment:
|
environment:
|
||||||
APP_NAME: deck
|
APP_NAME: deck
|
||||||
CORE_BRANCH: stable17
|
CORE_BRANCH: master
|
||||||
DB: sqlite
|
DB: sqlite
|
||||||
commands:
|
commands:
|
||||||
- composer install
|
- composer install
|
||||||
@@ -38,7 +38,7 @@ steps:
|
|||||||
image: nextcloudci/php7.4:2
|
image: nextcloudci/php7.4:2
|
||||||
environment:
|
environment:
|
||||||
APP_NAME: deck
|
APP_NAME: deck
|
||||||
CORE_BRANCH: stable17
|
CORE_BRANCH: master
|
||||||
DB: sqlite
|
DB: sqlite
|
||||||
commands:
|
commands:
|
||||||
- composer install
|
- composer install
|
||||||
@@ -58,7 +58,7 @@ steps:
|
|||||||
image: nextcloudci/php7.2:php7.2-13
|
image: nextcloudci/php7.2:php7.2-13
|
||||||
environment:
|
environment:
|
||||||
APP_NAME: deck
|
APP_NAME: deck
|
||||||
CORE_BRANCH: stable17
|
CORE_BRANCH: master
|
||||||
DB: sqlite
|
DB: sqlite
|
||||||
commands:
|
commands:
|
||||||
# Pre-setup steps
|
# Pre-setup steps
|
||||||
@@ -68,8 +68,8 @@ steps:
|
|||||||
- php occ app:enable deck
|
- php occ app:enable deck
|
||||||
- cd apps/$APP_NAME
|
- cd apps/$APP_NAME
|
||||||
- composer install
|
- composer install
|
||||||
- ./vendor/bin/phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
|
- phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
|
||||||
- ./vendor/bin/phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
|
- phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
- master
|
- master
|
||||||
@@ -85,7 +85,7 @@ steps:
|
|||||||
image: nextcloudci/php7.3:php7.3-5
|
image: nextcloudci/php7.3:php7.3-5
|
||||||
environment:
|
environment:
|
||||||
APP_NAME: deck
|
APP_NAME: deck
|
||||||
CORE_BRANCH: stable17
|
CORE_BRANCH: master
|
||||||
DB: sqlite
|
DB: sqlite
|
||||||
commands:
|
commands:
|
||||||
# Pre-setup steps
|
# Pre-setup steps
|
||||||
@@ -95,8 +95,8 @@ steps:
|
|||||||
- php occ app:enable deck
|
- php occ app:enable deck
|
||||||
- cd apps/$APP_NAME
|
- cd apps/$APP_NAME
|
||||||
- composer install
|
- composer install
|
||||||
- ./vendor/bin/phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
|
- phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
|
||||||
- ./vendor/bin/phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
|
- phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
- master
|
- master
|
||||||
@@ -112,7 +112,7 @@ steps:
|
|||||||
image: nextcloudci/php7.2:php7.2-13
|
image: nextcloudci/php7.2:php7.2-13
|
||||||
environment:
|
environment:
|
||||||
APP_NAME: deck
|
APP_NAME: deck
|
||||||
CORE_BRANCH: stable17
|
CORE_BRANCH: master
|
||||||
DB: sqlite
|
DB: sqlite
|
||||||
commands:
|
commands:
|
||||||
# Pre-setup steps
|
# Pre-setup steps
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
/build/
|
|
||||||
/.git
|
|
||||||
/js/node_modules
|
|
||||||
/js/tests
|
|
||||||
/js/legacy
|
|
||||||
/js/controller
|
|
||||||
/js/directive
|
|
||||||
/js/filters
|
|
||||||
/js/service
|
|
||||||
/js/bower.json
|
|
||||||
/js/.bowerrc
|
|
||||||
/js/.jshintrc
|
|
||||||
/js/Gruntfile.js
|
|
||||||
/js/package.json
|
|
||||||
/js/package-lock.json
|
|
||||||
/docs/
|
|
||||||
/tests
|
|
||||||
/.codecov.yml
|
|
||||||
/composer.json
|
|
||||||
/composer.lock
|
|
||||||
/_config.yml
|
|
||||||
/.drone.yml
|
|
||||||
/.travis.yml
|
|
||||||
/.eslintignore
|
|
||||||
/.eslintrc.yml
|
|
||||||
/.gitignore
|
|
||||||
/issue_template.md
|
|
||||||
/krankerl.toml
|
|
||||||
/Makefile
|
|
||||||
/mkdocs.yml
|
|
||||||
/run-eslint.sh
|
|
||||||
@@ -5,7 +5,7 @@ php:
|
|||||||
- 7.2
|
- 7.2
|
||||||
- 7.3
|
- 7.3
|
||||||
env:
|
env:
|
||||||
- CORE_BRANCH=stable17 DB=mysql
|
- CORE_BRANCH=master DB=mysql
|
||||||
|
|
||||||
before_install:
|
before_install:
|
||||||
- export PATH="$PWD/vendor/bin:$PATH"
|
- export PATH="$PWD/vendor/bin:$PATH"
|
||||||
|
|||||||
33
CHANGELOG.md
33
CHANGELOG.md
@@ -1,39 +1,6 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## 0.8.3 - 2020-06-26
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
- Bump dependencies
|
|
||||||
|
|
||||||
## 0.8.2 - 2020-04-08
|
|
||||||
|
|
||||||
## Fixed
|
|
||||||
- Fix build with missing javascript bundles
|
|
||||||
|
|
||||||
## 0.8.1 - 2020-04-08
|
|
||||||
|
|
||||||
## Added
|
|
||||||
- Nextcloud 19 compatibility
|
|
||||||
|
|
||||||
## Fixed
|
|
||||||
- Let new shares only use the current users permissions
|
|
||||||
- Check for board membership on comments entity event
|
|
||||||
|
|
||||||
## 0.8.0 - 2020-01-16
|
|
||||||
|
|
||||||
## Added
|
|
||||||
- Case insensitive search (@matchish)
|
|
||||||
|
|
||||||
## Fixed
|
|
||||||
- Fix reversed permissions for reordering stacks (@JLueke)
|
|
||||||
- Fix reversed visibility of 'add stack' field (@JLueke)
|
|
||||||
- Fix occ export command
|
|
||||||
- Fix error causing cron execution to fail
|
|
||||||
- Fix activity entry on moving cards
|
|
||||||
- Proper wording in activity timeline (@a11exandru)
|
|
||||||
|
|
||||||
## 0.7.0 - 2019-08-20
|
## 0.7.0 - 2019-08-20
|
||||||
|
|
||||||
## Added
|
## Added
|
||||||
|
|||||||
12
Makefile
12
Makefile
@@ -81,8 +81,16 @@ test: test-unit test-integration
|
|||||||
|
|
||||||
test-unit:
|
test-unit:
|
||||||
mkdir -p build/
|
mkdir -p build/
|
||||||
./vendor/bin/phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
|
ifeq (, $(shell which phpunit 2> /dev/null))
|
||||||
./vendor/bin/phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
|
@echo "No phpunit command available, downloading a copy from the web"
|
||||||
|
mkdir -p $(build_tools_directory)
|
||||||
|
curl -sSL https://phar.phpunit.de/phpunit-5.7.phar -o $(build_tools_directory)/phpunit.phar
|
||||||
|
php $(build_tools_directory)/phpunit.phar -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
|
||||||
|
php $(build_tools_directory)/phpunit.phar -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
|
||||||
|
else
|
||||||
|
phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
|
||||||
|
phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
|
||||||
|
endif
|
||||||
|
|
||||||
test-integration:
|
test-integration:
|
||||||
cd tests/integration && ./run.sh
|
cd tests/integration && ./run.sh
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
- 🚀 Get your project organized
|
- 🚀 Get your project organized
|
||||||
|
|
||||||
</description>
|
</description>
|
||||||
<version>0.8.3</version>
|
<version>0.7.0</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author>Julius Härtl</author>
|
<author>Julius Härtl</author>
|
||||||
<namespace>Deck</namespace>
|
<namespace>Deck</namespace>
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
<database min-version="9.4">pgsql</database>
|
<database min-version="9.4">pgsql</database>
|
||||||
<database>sqlite</database>
|
<database>sqlite</database>
|
||||||
<database min-version="5.5">mysql</database>
|
<database min-version="5.5">mysql</database>
|
||||||
<nextcloud min-version="17" max-version="17" />
|
<nextcloud min-version="17" max-version="18" />
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<background-jobs>
|
<background-jobs>
|
||||||
<job>OCA\Deck\Cron\DeleteCron</job>
|
<job>OCA\Deck\Cron\DeleteCron</job>
|
||||||
|
|||||||
@@ -15,6 +15,6 @@
|
|||||||
"roave/security-advisories": "dev-master",
|
"roave/security-advisories": "dev-master",
|
||||||
"christophwurst/nextcloud": "^17",
|
"christophwurst/nextcloud": "^17",
|
||||||
"jakub-onderka/php-parallel-lint": "^1.0.0",
|
"jakub-onderka/php-parallel-lint": "^1.0.0",
|
||||||
"phpunit/phpunit": "6.5.*"
|
"phpunit/phpunit": "^8"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
27
docs/API.md
27
docs/API.md
@@ -651,33 +651,6 @@ The board list endpoint supports setting an `If-Modified-Since` header to limit
|
|||||||
|
|
||||||
##### 200 Success
|
##### 200 Success
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"id": 3,
|
|
||||||
"participant": {
|
|
||||||
"primaryKey": "admin",
|
|
||||||
"uid": "admin",
|
|
||||||
"displayname": "admin"
|
|
||||||
},
|
|
||||||
"cardId": 1
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
##### 400 Bad request
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"status": 400,
|
|
||||||
"message": "The user is already assigned to the card"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
The request can fail with a bad request response for the following reasons:
|
|
||||||
- Missing or wrongly formatted request parameters
|
|
||||||
- The user is already assigned to the card
|
|
||||||
- The user is not part of the board
|
|
||||||
|
|
||||||
|
|
||||||
### PUT /boards/{boardId}/stacks/{stackId}/cards/{cardId}/unassignUser - Assign a user to a card
|
### PUT /boards/{boardId}/stacks/{stackId}/cards/{cardId}/unassignUser - Assign a user to a card
|
||||||
|
|
||||||
#### Request parameters
|
#### Request parameters
|
||||||
|
|||||||
@@ -4,20 +4,20 @@
|
|||||||
* @author Julius Härtl <jus@bitgrid.net>
|
* @author Julius Härtl <jus@bitgrid.net>
|
||||||
*
|
*
|
||||||
* @license GNU AGPL version 3 or any later version
|
* @license GNU AGPL version 3 or any later version
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU Affero General Public License as
|
* it under the terms of the GNU Affero General Public License as
|
||||||
* published by the Free Software Foundation, either version 3 of the
|
* published by the Free Software Foundation, either version 3 of the
|
||||||
* License, or (at your option) any later version.
|
* License, or (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU Affero General Public License for more details.
|
* GNU Affero General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Affero General Public License
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
import app from '../app/App.js';
|
import app from '../app/App.js';
|
||||||
|
|
||||||
@@ -31,9 +31,7 @@ app.filter('cardSearchFilter', function() {
|
|||||||
angular.forEach(cards, function(card){
|
angular.forEach(cards, function(card){
|
||||||
var _card = card;
|
var _card = card;
|
||||||
Object.keys(rules).some(function(rule) {
|
Object.keys(rules).some(function(rule) {
|
||||||
var pattern = rules[rule];
|
if(_card[rule].search(rules[rule])>=0) {
|
||||||
// eslint-disable-next-line detect-non-literal-regexp
|
|
||||||
if(_card[rule].search(new RegExp(pattern, 'i'))>=0) {
|
|
||||||
_result[_card.id] = _card;
|
_result[_card.id] = _card;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
5744
js/package-lock.json
generated
5744
js/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -7,12 +7,12 @@
|
|||||||
"test": "tests"
|
"test": "tests"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@uirouter/angularjs": "^1.0.28",
|
"@uirouter/angularjs": "^1.0.24",
|
||||||
"angular": "^1.8.0",
|
"angular": "^1.7.9",
|
||||||
"angular-animate": "^1.8.0",
|
"angular-animate": "^1.7.9",
|
||||||
"angular-file-upload": "^2.6.1",
|
"angular-file-upload": "^2.5.0",
|
||||||
"angular-markdown-it": "^0.6.1",
|
"angular-markdown-it": "^0.6.1",
|
||||||
"angular-sanitize": "^1.8.0",
|
"angular-sanitize": "^1.7.9",
|
||||||
"babel-polyfill": "^6.26.0",
|
"babel-polyfill": "^6.26.0",
|
||||||
"markdown-it": "^10.0.0",
|
"markdown-it": "^10.0.0",
|
||||||
"markdown-it-link-target": "^1.0.2",
|
"markdown-it-link-target": "^1.0.2",
|
||||||
@@ -22,26 +22,25 @@
|
|||||||
"ng-infinite-scroll": "^1.3.0",
|
"ng-infinite-scroll": "^1.3.0",
|
||||||
"ng-sortable": "^1.3.8",
|
"ng-sortable": "^1.3.8",
|
||||||
"ui-select": "^0.19.8",
|
"ui-select": "^0.19.8",
|
||||||
"vue": "^2.6.12",
|
"vue": "^2.6.11",
|
||||||
"vuex": "^3.5.1"
|
"vuex": "^3.1.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.11.4",
|
"@babel/core": "^7.7.7",
|
||||||
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
"@babel/plugin-syntax-dynamic-import": "^7.7.4",
|
||||||
"@babel/polyfill": "^7.10.4",
|
"@babel/polyfill": "^7.7.0",
|
||||||
"@babel/preset-env": "^7.11.0",
|
"@babel/preset-env": "^7.7.7",
|
||||||
"babel-loader": "^8.1.0",
|
"babel-loader": "^8.0.6",
|
||||||
"css-loader": "^3.6.0",
|
"css-loader": "^3.4.1",
|
||||||
"karma": "^5.1.1",
|
"karma": "^4.4.1",
|
||||||
"mini-css-extract-plugin": "^0.9.0",
|
"mini-css-extract-plugin": "^0.9.0",
|
||||||
"minimist": "^1.2.5",
|
"style-loader": "^1.1.2",
|
||||||
"style-loader": "^1.2.1",
|
"url-loader": "^3.0.0",
|
||||||
"url-loader": "^4.1.0",
|
"vue-loader": "^15.8.3",
|
||||||
"vue-loader": "^15.9.3",
|
|
||||||
"vue-style-loader": "^4.1.2",
|
"vue-style-loader": "^4.1.2",
|
||||||
"vue-template-compiler": "^2.6.12",
|
"vue-template-compiler": "^2.6.11",
|
||||||
"webpack": "^4.44.1",
|
"webpack": "^4.41.5",
|
||||||
"webpack-cli": "^3.3.12",
|
"webpack-cli": "^3.3.10",
|
||||||
"webpack-merge": "^4.2.2"
|
"webpack-merge": "^4.2.2"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,4 +1,38 @@
|
|||||||
[package]
|
[package]
|
||||||
|
exclude = [
|
||||||
|
"build/",
|
||||||
|
".git",
|
||||||
|
"js/node_modules",
|
||||||
|
"js/tests",
|
||||||
|
"js/legacy",
|
||||||
|
"js/controller",
|
||||||
|
"js/directive",
|
||||||
|
"js/filters",
|
||||||
|
"js/service",
|
||||||
|
"js/bower.json",
|
||||||
|
"js/.bowerrc",
|
||||||
|
"js/.jshintrc",
|
||||||
|
"js/Gruntfile.js",
|
||||||
|
"js/package.json",
|
||||||
|
"js/package-lock.json",
|
||||||
|
"docs/",
|
||||||
|
"tests",
|
||||||
|
".codecov.yml",
|
||||||
|
"composer.json",
|
||||||
|
"composer.lock",
|
||||||
|
"_config.yml",
|
||||||
|
".drone.yml",
|
||||||
|
".travis.yml",
|
||||||
|
".eslintignore",
|
||||||
|
".eslintrc.yml",
|
||||||
|
".gitignore",
|
||||||
|
"issue_template.md",
|
||||||
|
"krankerl.toml",
|
||||||
|
"Makefile",
|
||||||
|
"mkdocs.yml",
|
||||||
|
"run-eslint.sh"
|
||||||
|
]
|
||||||
|
|
||||||
before_cmds = [
|
before_cmds = [
|
||||||
'make clean-build',
|
'make clean-build',
|
||||||
'make build'
|
'make build'
|
||||||
|
|||||||
110
l10n/cs.js
110
l10n/cs.js
@@ -4,13 +4,13 @@ OC.L10N.register(
|
|||||||
"Please provide a content for your comment." : "Zadejte obsah svého komentáře.",
|
"Please provide a content for your comment." : "Zadejte obsah svého komentáře.",
|
||||||
"Posting the comment failed." : "Odeslání komentáře se nezdařilo.",
|
"Posting the comment failed." : "Odeslání komentáře se nezdařilo.",
|
||||||
"The comment has been deleted" : "Komentář byl smazán",
|
"The comment has been deleted" : "Komentář byl smazán",
|
||||||
"The associated stack is deleted as well, it will be restored as well." : "Související sloupec je také smazaný a bude také obnoven.",
|
"The associated stack is deleted as well, it will be restored as well." : "Související stack je také smazaný a bude také obnoven.",
|
||||||
"Restore associated stack" : "Obnovit související sloupec",
|
"Restore associated stack" : "Obnovit související stack",
|
||||||
"Remove user from card" : "Odebrat uživatele z karty",
|
"Remove user from card" : "Odebrat uživatele z karty",
|
||||||
"Hours" : "Hodiny",
|
"Hours" : "Hodiny",
|
||||||
"Minutes" : "Minuty",
|
"Minutes" : "Minuty",
|
||||||
"Link to a board" : "Propojit s tabulí",
|
"Link to a board" : "Propojit s tabulí",
|
||||||
"Maximum file size of {size} exceeded" : "Překročena nejvyšší umožněná velikost souboru {size}",
|
"Maximum file size of {size} exceeded" : "U souboru {size} překročena nejvyšší umožněná velikost",
|
||||||
"File already exists" : "Soubor už existuje",
|
"File already exists" : "Soubor už existuje",
|
||||||
"You have created a new board {board}" : "Vytvořili jste tabuli {board}",
|
"You have created a new board {board}" : "Vytvořili jste tabuli {board}",
|
||||||
"{user} has created a new board {board}" : "{user} vytvořil(a) novou tabuli {board}",
|
"{user} has created a new board {board}" : "{user} vytvořil(a) novou tabuli {board}",
|
||||||
@@ -28,55 +28,55 @@ OC.L10N.register(
|
|||||||
"{user} has archived the board {before}" : "{user} zaarchivoval(a) tabuli {before}",
|
"{user} has archived the board {before}" : "{user} zaarchivoval(a) tabuli {before}",
|
||||||
"You have unarchived the board {board}" : "Vrátili jste zpět z archivace tabuli {board}",
|
"You have unarchived the board {board}" : "Vrátili jste zpět z archivace tabuli {board}",
|
||||||
"{user} has unarchived the board {before}" : "{user} vrátil(a) tabuli {before} zpět z archivace",
|
"{user} has unarchived the board {before}" : "{user} vrátil(a) tabuli {before} zpět z archivace",
|
||||||
"You have created a new stack {stack} on board {board}" : "Vytvořili jste nový sloupec {stack} na tabuli {board}",
|
"You have created a new stack {stack} on board {board}" : "Vytvořili jste novou hromádku {stack} na tabuli {board}",
|
||||||
"{user} has created a new stack {stack} on board {board}" : "{user} vytvořil(a) nový sloupec {stack} na tabuli {board}",
|
"{user} has created a new stack {stack} on board {board}" : "{user} vytvořil(a) nový balíček {stack} na tabuli {board}",
|
||||||
"You have renamed stack {before} to {stack} on board {board}" : "Přejmenovali jste sloupec {before} na {stack} na tabuli {board}",
|
"You have renamed stack {before} to {stack} on board {board}" : "Přejmenovali jste hromádku {before} na {stack} na desce {board}",
|
||||||
"{user} has renamed stack {before} to {stack} on board {board}" : "{user} přejmenoval(a) sloupec {before} na {stack} na tabuli {board}",
|
"{user} has renamed stack {before} to {stack} on board {board}" : "{user} přejmenoval(a) hromádku {before} na {stack} na desce {board}",
|
||||||
"You have deleted stack {stack} on board {board}" : "Smazali jste sloupec {stack} na tabuli {board}",
|
"You have deleted stack {stack} on board {board}" : "Smazali jste balíček {stack} na desce {board}",
|
||||||
"{user} has deleted stack {stack} on board {board}" : "{user} smazal(a) sloupec {stack} na tabuli {board}",
|
"{user} has deleted stack {stack} on board {board}" : "{user} smazal(a) balíček {stack} na desce {board}",
|
||||||
"You have created card {card} in stack {stack} on board {board}" : "Vytvořili jste kartu {card} ve sloupci {stack} na tabuli {board}",
|
"You have created card {card} in stack {stack} on board {board}" : "Vytvořili jste kartu {card} v balíčku {stack} na kartě {board}",
|
||||||
"{user} has created card {card} in stack {stack} on board {board}" : "{user} vytvořil(a) kartu {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has created card {card} in stack {stack} on board {board}" : "{user} vytvořil(a) kartu {card} ve sloupci {stack} na tabuli {board}",
|
||||||
"You have deleted card {card} in stack {stack} on board {board}" : "Smazali jste kartu {card} ve sloupci {stack} na tabuli {board}",
|
"You have deleted card {card} in stack {stack} on board {board}" : "Smazali jste kartu {card} na hromádce {stack} na desce {board}",
|
||||||
"{user} has deleted card {card} in stack {stack} on board {board}" : "{user} smazal(a) kartu {card} ve sloupci {board} na tabuli {board}",
|
"{user} has deleted card {card} in stack {stack} on board {board}" : "{user} smazal(a) kartu {card} v balíčku {board} na desce {board}",
|
||||||
"You have renamed the card {before} to {card}" : "Přejmenovali jste kartu {before} na {card}",
|
"You have renamed the card {before} to {card}" : "Přejmenovali jste kartu {before} na {card}",
|
||||||
"{user} has renamed the card {before} to {card}" : "{user} přejmenoval(a) {before} na {card}",
|
"{user} has renamed the card {before} to {card}" : "{user} přejmenoval(a) {before} na {card}",
|
||||||
"You have added a description to card {card} in stack {stack} on board {board}" : "Přidali jste popis ke kartě {card} ve sloupci {stack} na tabuli {board}",
|
"You have added a description to card {card} in stack {stack} on board {board}" : "Přidali jste popis ke kartě {card} v hromádce {stack} na tabuli {board}",
|
||||||
"{user} has added a description to card {card} in stack {stack} on board {board}" : "{user} přidal(a) popis ke kartě {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has added a description to card {card} in stack {stack} on board {board}" : "{user} přidal(a) popis ke kartě {card} v hromádce {stack} na tabuli {board}",
|
||||||
"You have updated the description of card {card} in stack {stack} on board {board}" : "Aktualizovali jste popis karty {card} ve sloupci {stack} na tabuli {board}",
|
"You have updated the description of card {card} in stack {stack} on board {board}" : "Aktualizovali jste popis karty {card} v hromádce {stack} na desce {board}",
|
||||||
"{user} has updated the description of the card {card} in stack {stack} on board {board}" : "{user} aktualizoval(a) popis karty {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has updated the description of the card {card} in stack {stack} on board {board}" : "{user} aktualizoval(a) popis karty {card} na hromádce {stack} na nástěnce {board}",
|
||||||
"You have archived card {card} in stack {stack} on board {board}" : "Zaarchivovali kartu {card} ve sloupci {stack} na tabuli {board}",
|
"You have archived card {card} in stack {stack} on board {board}" : "Zaarchivovali kartu {card} v balíčku {stack} na tabuli {board}",
|
||||||
"{user} has archived card {card} in stack {stack} on board {board}" : "{user} zaarchivoval(a) kartu {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has archived card {card} in stack {stack} on board {board}" : "{user} zaarchivoval(a) kartu {card} v balíčku {stack} na desce {board}",
|
||||||
"You have unarchived card {card} in stack {stack} on board {board}" : "Zrušili jste archivaci karty {card} ve sloupci {stack} na tabuli {board}",
|
"You have unarchived card {card} in stack {stack} on board {board}" : "Zrušili jste archivaci karty {card} na hromádce {stack} na desce {board}",
|
||||||
"{user} has unarchived card {card} in stack {stack} on board {board}" : "{user} zrušil(a) archivaci karty {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has unarchived card {card} in stack {stack} on board {board}" : "{user} zrušil(a) archivaci karty {card} na hromádce {stack} na tabuli {board}",
|
||||||
"You have removed the due date of card {card}" : "Odebrali jste termín u karty {card}",
|
"You have removed the due date of card {card}" : "Odebrali jste termín karty {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} odebral(a) termín u karty {card}",
|
"{user} has removed the due date of card {card}" : "{user} odebral(a) termín karty {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Nastavili jste termín u karty {card} na {after}",
|
"You have set the due date of card {card} to {after}" : "Nastavili jste termín na kartě {card} na {after}",
|
||||||
"{user} has set the due date of card {card} to {after}" : "{user} nastavil(a) termín u karty {card} na {after}",
|
"{user} has set the due date of card {card} to {after}" : "{user} nastavil(a) termín karty {card} na {after}",
|
||||||
"You have updated the due date of card {card} to {after}" : "Změnili jste termín u karty {card} na {after}",
|
"You have updated the due date of card {card} to {after}" : "Změnili jste termín na kartě {card} na {after}",
|
||||||
"{user} has updated the due date of card {card} to {after}" : "{user} aktualizoval(a) termín u karty {card} na {after}",
|
"{user} has updated the due date of card {card} to {after}" : "{user} aktualizoval termín karty {card} na {after}",
|
||||||
"You have added the tag {label} to card {card} in stack {stack} on board {board}" : "Přidali jste štítek {label} kartě {card} ve sloupci {stack} na tabuli {board}",
|
"You have added the tag {label} to card {card} in stack {stack} on board {board}" : "Přidali jste štítek {label} kartě {card} v hromádce {stack} na nástěnce {board}",
|
||||||
"{user} has added the tag {label} to card {card} in stack {stack} on board {board}" : "{user} přidal(a) štítek {label} ke kartě {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has added the tag {label} to card {card} in stack {stack} on board {board}" : "{user} přidal(a) štítek {label} ke kartě {card} v hromádce {stack} na nástěnce {board}",
|
||||||
"You have removed the tag {label} from card {card} in stack {stack} on board {board}" : "Odebrali jste štítek {label} z karty {card} ve sloupci {stack} na tabuli {board}",
|
"You have removed the tag {label} from card {card} in stack {stack} on board {board}" : "Odebrali jste štítek {label} z karty {card} v hromádce {stack} na desce {board}",
|
||||||
"{user} has removed the tag {label} from card {card} in stack {stack} on board {board}" : "{user} odebral(a) štítek {label} z karty {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has removed the tag {label} from card {card} in stack {stack} on board {board}" : "{user} odebral(a) štítek {label} z karty {card} na hromádce {stack} na tabuli {board}",
|
||||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Přiřadili jste {assigneduser} ke kartě {card} na tabuli {board}",
|
"You have assigned {assigneduser} to card {card} on board {board}" : "Přiřadili jste {assigneduser} ke kartě {card} na tabuli {board}",
|
||||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} přiřadil(a) {assigneduser} ke kartě {card} na tabuli {board}",
|
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} přiřadil(a) {assigneduser} ke kartě {card} na desce {board}",
|
||||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Zrušili jste přiřazení {assigneduser} u karty {card} na tabuli {board}",
|
"You have unassigned {assigneduser} from card {card} on board {board}" : "Zrušili jste přiřazení {assigneduser} u karty {card} na nástěnce {board}",
|
||||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} zrušil(a) přiřazení {assigneduser} z karty {card} na tabuli {board}",
|
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} zrušil(a) přiřazení {assigneduser} z karty {card} na desce {board}",
|
||||||
"You have moved the card {card} from stack {stackBefore} to {stack}" : "Přesunuli jste kartu {card} ze sloupce {stackBefore} do {stack}",
|
"You have moved the card {card} from stack {stackBefore} to {stack}" : "Přesunuli jste kartu {card} z balíčku {stackBefore} do {stack}",
|
||||||
"{user} has moved the card {card} from stack {stackBefore} to {stack}" : "{user} přesunul(a) kartu {card} ze sloupce {stackBefore} do {stack}",
|
"{user} has moved the card {card} from stack {stackBefore} to {stack}" : "{user} přesunul(a) kartu {card} z balíčku {stackBefore} do {stack}",
|
||||||
"You have added the attachment {attachment} to card {card}" : "Přidali jste přílohu {attachment} ke kartě {card}",
|
"You have added the attachment {attachment} to card {card}" : "Přidali jste přílohu {attachment} ke kartě {card}",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} přidal(a) přílohu {attachment} ke kartě {card}",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} přidal(a) přílohu {attachment} ke kartě {card}",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Aktualizovali jste přílohu {attachment} u karty {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Aktualizovali jste přílohu {attachment} na kartě {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} aktualizoval(a) přílohu {attachment} u karty {card}",
|
"{user} has updated the attachment {attachment} on card {card}" : "{user} aktualizoval(a) přílohu {attachment} na kartě {card}",
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Smazali jste přílohu {attachment} u karty {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Smazali jste přílohu {attachment} u karty {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} smazal(a) přílohu {attachment} u karty {card}",
|
"{user} has deleted the attachment {attachment} from card {card}" : "{user} smazal(a) přílohu {attachment} na kartě {card}",
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Obnovili jste přílohu {attachment} ke kartě {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Obnovili jste přílohu {attachment} ke kartě {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} obnovil(a) přílohu {attachment} ke kartě {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} obnovil(a) přílohu {attachment} ke kartě {card}",
|
||||||
"You have commented on card {card}" : "Přidali jste komentář na kartě {card}",
|
"You have commented on card {card}" : "Přidali jste komentář na kartě {card}",
|
||||||
"{user} has commented on card {card}" : "{user} přidal(a) komentář na kartě {card}",
|
"{user} has commented on card {card}" : "{user} přidal(a) komentář na kartě {card}",
|
||||||
"A <strong>card description</strong> inside the Deck app has been changed" : "<strong>Popis karty</strong> v aplikaci Deck byl změněn",
|
"A <strong>card description</strong> inside the Deck app has been changed" : "<strong>Popis karty</strong> v Deck-aplikace byl změněn",
|
||||||
"Deck" : "Deck",
|
"Deck" : "Balík",
|
||||||
"Changes in the <strong>Deck app</strong>" : "Změny v <strong>aplikaci Deck</strong>",
|
"Changes in the <strong>Deck app</strong>" : "Změny v <strong>Deck aplikace</strong>",
|
||||||
"A <strong>comment</strong> was created on a card" : "Na kartě byl vytvořen <strong>komentář</strong>",
|
"A <strong>comment</strong> was created on a card" : "Na kartě byl vytvořen <strong>komentář</strong>",
|
||||||
"Personal" : "Osobní",
|
"Personal" : "Osobní",
|
||||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kartu „%s“ na „%s“ vám přiřadil(a) %s.",
|
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kartu „%s“ na „%s“ vám přiřadil(a) %s.",
|
||||||
@@ -107,10 +107,10 @@ OC.L10N.register(
|
|||||||
"A PHP extension stopped the file upload" : "PHP rozšíření zastavilo nahrávání souboru.",
|
"A PHP extension stopped the file upload" : "PHP rozšíření zastavilo nahrávání souboru.",
|
||||||
"No file uploaded or file size exceeds maximum of %s" : "Nebyl nahrán žádný soubor nebo jeho velikost přesáhla %s",
|
"No file uploaded or file size exceeds maximum of %s" : "Nebyl nahrán žádný soubor nebo jeho velikost přesáhla %s",
|
||||||
"A kanban style project and personal management tool for Nextcloud" : "Nástroj pro projektový a osobní řízení ve stylu Kanban.",
|
"A kanban style project and personal management tool for Nextcloud" : "Nástroj pro projektový a osobní řízení ve stylu Kanban.",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck je nástroj cílený na osobní nebo projektové plánování týmů v Kanban stylu, vestavěný v Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky \n- 🔖 Přiřazujte štítky pro ještě lepší organizaci\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 🚀 Dostaňte svůj projekt pod kontrolu",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Karty jsou nástroj zacílený na osobní nebo projektové plánování týmů v Kanban stylu, vestavěný v Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky \n- 🔖 Přiřazujte štítky pro ještě lepší organizaci\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 🚀 Dostaňte svůj projekt pod kontrolu",
|
||||||
"Select the board to link to a project" : "Vyberte tabuli kterou propojit s projektem",
|
"Select the board to link to a project" : "Vyberte nástěnku kterou propojit s projektem",
|
||||||
"Select board" : "Vybrat tabuli",
|
"Select board" : "Vybrat tabuli",
|
||||||
"Add a new stack" : "Přidat nový sloupec",
|
"Add a new stack" : "Přidat nový zásobník",
|
||||||
"Submit" : "Odeslat",
|
"Submit" : "Odeslat",
|
||||||
"Show archived cards" : "Zobrazit archivované karty",
|
"Show archived cards" : "Zobrazit archivované karty",
|
||||||
"Hide archived cards" : "Skrýt archivované karty",
|
"Hide archived cards" : "Skrýt archivované karty",
|
||||||
@@ -131,7 +131,7 @@ OC.L10N.register(
|
|||||||
"Add card" : "Přidat kartu",
|
"Add card" : "Přidat kartu",
|
||||||
"Close" : "Zavřít",
|
"Close" : "Zavřít",
|
||||||
"Sharing" : "Sdílení",
|
"Sharing" : "Sdílení",
|
||||||
"Tags" : "Štítky",
|
"Tags" : "Značky",
|
||||||
"Deleted items" : "Smazané položky",
|
"Deleted items" : "Smazané položky",
|
||||||
"Timeline" : "Časová osa",
|
"Timeline" : "Časová osa",
|
||||||
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
|
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
|
||||||
@@ -149,20 +149,20 @@ OC.L10N.register(
|
|||||||
"Delete tag" : "Smazat štítek",
|
"Delete tag" : "Smazat štítek",
|
||||||
"Create" : "Vytvořit",
|
"Create" : "Vytvořit",
|
||||||
"Create a new tag" : "Vytvořit nový štítek",
|
"Create a new tag" : "Vytvořit nový štítek",
|
||||||
"Deleted stacks" : "Smazané sloupce",
|
"Deleted stacks" : "Smazané zásobníky",
|
||||||
"Deleted cards" : "Smazané karty",
|
"Deleted cards" : "Smazané karty",
|
||||||
"Status" : "Stav",
|
"Status" : "Stav",
|
||||||
"No archived boards to display" : "Žádné archivované tabule k zobrazení",
|
"No archived boards to display" : "Žádné archivované nástěnky k zobrazení",
|
||||||
"No shared boards to display" : "Žádné sdílené tabule k zobrazení",
|
"No shared boards to display" : "Žádné sdílené nástěnky k zobrazení",
|
||||||
"Title" : "Název",
|
"Title" : "Název",
|
||||||
"Members" : "Členové",
|
"Members" : "Členové",
|
||||||
"More actions" : "Více akcí",
|
"More actions" : "Více akcí",
|
||||||
"Edit board" : "Upravit tabuli",
|
"Edit board" : "Upravit tabuli",
|
||||||
"Archive board" : "Archivovat tabuli",
|
"Archive board" : "Archivovaná tabule",
|
||||||
"Unarchive board" : "Vrátit tabuli zpět z archivu",
|
"Unarchive board" : "Vrátit tabuli zpět z archivu",
|
||||||
"Delete board" : "Smazat tabuli",
|
"Delete board" : "Smazat tabuli",
|
||||||
"Update board" : "Aktualizovat tabuli",
|
"Update board" : "Aktualizovat tabuli",
|
||||||
"Reset board" : "Vrátit tabuli do předchozího stavu",
|
"Reset board" : "Vrátit tabuli do výchozího stavu",
|
||||||
"Undo board deletion - Otherwise the board will be deleted during the next cronjob run." : "Vrátit smazání tabule – jinak bude nadobro odstraněna během příštího spuštění naplánovaných úloh.",
|
"Undo board deletion - Otherwise the board will be deleted during the next cronjob run." : "Vrátit smazání tabule – jinak bude nadobro odstraněna během příštího spuštění naplánovaných úloh.",
|
||||||
"Create new board" : "Vytvořit novou tabuli",
|
"Create new board" : "Vytvořit novou tabuli",
|
||||||
"New board title" : "Název nové tabule",
|
"New board title" : "Název nové tabule",
|
||||||
@@ -176,14 +176,14 @@ OC.L10N.register(
|
|||||||
"Delete attachment" : "Smazat přílohu",
|
"Delete attachment" : "Smazat přílohu",
|
||||||
"Modified:" : "Změněno:",
|
"Modified:" : "Změněno:",
|
||||||
"Created:" : "Vytvořeno:",
|
"Created:" : "Vytvořeno:",
|
||||||
"Choose a tag" : "Zvolte štítek",
|
"Choose a tag" : "Vyberte štítek",
|
||||||
"Add a tag" : "Přidat štítek",
|
"Add a tag" : "Přidat štítek",
|
||||||
"Select tags" : "Výběr štítků",
|
"Select tags" : "Výběr štítků",
|
||||||
"Assign users" : "Přiřadit uživatele",
|
"Assign users" : "Přiřadit uživatele",
|
||||||
"Choose a user to assign" : "Zvolte uživatele kterého přiřadit",
|
"Choose a user to assign" : "Zvolte uživatele kterého přiřadit",
|
||||||
"Assign this card to a user" : "Přiřadit tuto kartu uživateli",
|
"Assign this card to a user" : "Přiřadit kartu uživateli",
|
||||||
"Due date" : "Termín",
|
"Due date" : "Termín",
|
||||||
"Click to set" : "Klikn. vyberte",
|
"Click to set" : "Klikněte pro výběr",
|
||||||
"Remove due date" : "Odstranit termín",
|
"Remove due date" : "Odstranit termín",
|
||||||
"Description" : "Popis",
|
"Description" : "Popis",
|
||||||
"Attachments" : "Přílohy",
|
"Attachments" : "Přílohy",
|
||||||
@@ -192,12 +192,12 @@ OC.L10N.register(
|
|||||||
"Insert attachment" : "Vložit přílohu",
|
"Insert attachment" : "Vložit přílohu",
|
||||||
"Formatting help" : "Nápověda k formátování",
|
"Formatting help" : "Nápověda k formátování",
|
||||||
"Upload attachment" : "Nahrát přílohu",
|
"Upload attachment" : "Nahrát přílohu",
|
||||||
"Add a card description…" : "Přidejte popis karty…",
|
"Add a card description…" : "Přidat popis karty…",
|
||||||
"Shared boards" : "Sdílené tabule",
|
"Shared boards" : "Sdílené tabule",
|
||||||
"Move board to archive" : "Přesunout tabuli do archivu",
|
"Move board to archive" : "Přesunout tabuli do archivu",
|
||||||
"Create a new board" : "Vytvořit novou tabuli",
|
"Create a new board" : "Vytvořit novou tabuli",
|
||||||
"Settings" : "Nastavení",
|
"Settings" : "Nastavení",
|
||||||
"Limit deck to groups" : "Omezit Deck na skupiny",
|
"Limit deck to groups" : "Omezit Deck na skupiny",
|
||||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Omezení nastavené pro Deck brání uživatelům, kteří nejsou součástí těchto skupin, ve vytváření vlastních tabulí. Nicméně i tak ale pořád budou moci pracovat na tabulích, které jsou jim nasdíleny."
|
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Omezení Decků brání uživatelům, kteří nejsou součástí těchto skupin, při vytváření vlastních tabulí. Uživatelé mohou stále pracovat na tabulích, které jsou s nimi sdíleny."
|
||||||
},
|
},
|
||||||
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
|
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
|
||||||
|
|||||||
110
l10n/cs.json
110
l10n/cs.json
@@ -2,13 +2,13 @@
|
|||||||
"Please provide a content for your comment." : "Zadejte obsah svého komentáře.",
|
"Please provide a content for your comment." : "Zadejte obsah svého komentáře.",
|
||||||
"Posting the comment failed." : "Odeslání komentáře se nezdařilo.",
|
"Posting the comment failed." : "Odeslání komentáře se nezdařilo.",
|
||||||
"The comment has been deleted" : "Komentář byl smazán",
|
"The comment has been deleted" : "Komentář byl smazán",
|
||||||
"The associated stack is deleted as well, it will be restored as well." : "Související sloupec je také smazaný a bude také obnoven.",
|
"The associated stack is deleted as well, it will be restored as well." : "Související stack je také smazaný a bude také obnoven.",
|
||||||
"Restore associated stack" : "Obnovit související sloupec",
|
"Restore associated stack" : "Obnovit související stack",
|
||||||
"Remove user from card" : "Odebrat uživatele z karty",
|
"Remove user from card" : "Odebrat uživatele z karty",
|
||||||
"Hours" : "Hodiny",
|
"Hours" : "Hodiny",
|
||||||
"Minutes" : "Minuty",
|
"Minutes" : "Minuty",
|
||||||
"Link to a board" : "Propojit s tabulí",
|
"Link to a board" : "Propojit s tabulí",
|
||||||
"Maximum file size of {size} exceeded" : "Překročena nejvyšší umožněná velikost souboru {size}",
|
"Maximum file size of {size} exceeded" : "U souboru {size} překročena nejvyšší umožněná velikost",
|
||||||
"File already exists" : "Soubor už existuje",
|
"File already exists" : "Soubor už existuje",
|
||||||
"You have created a new board {board}" : "Vytvořili jste tabuli {board}",
|
"You have created a new board {board}" : "Vytvořili jste tabuli {board}",
|
||||||
"{user} has created a new board {board}" : "{user} vytvořil(a) novou tabuli {board}",
|
"{user} has created a new board {board}" : "{user} vytvořil(a) novou tabuli {board}",
|
||||||
@@ -26,55 +26,55 @@
|
|||||||
"{user} has archived the board {before}" : "{user} zaarchivoval(a) tabuli {before}",
|
"{user} has archived the board {before}" : "{user} zaarchivoval(a) tabuli {before}",
|
||||||
"You have unarchived the board {board}" : "Vrátili jste zpět z archivace tabuli {board}",
|
"You have unarchived the board {board}" : "Vrátili jste zpět z archivace tabuli {board}",
|
||||||
"{user} has unarchived the board {before}" : "{user} vrátil(a) tabuli {before} zpět z archivace",
|
"{user} has unarchived the board {before}" : "{user} vrátil(a) tabuli {before} zpět z archivace",
|
||||||
"You have created a new stack {stack} on board {board}" : "Vytvořili jste nový sloupec {stack} na tabuli {board}",
|
"You have created a new stack {stack} on board {board}" : "Vytvořili jste novou hromádku {stack} na tabuli {board}",
|
||||||
"{user} has created a new stack {stack} on board {board}" : "{user} vytvořil(a) nový sloupec {stack} na tabuli {board}",
|
"{user} has created a new stack {stack} on board {board}" : "{user} vytvořil(a) nový balíček {stack} na tabuli {board}",
|
||||||
"You have renamed stack {before} to {stack} on board {board}" : "Přejmenovali jste sloupec {before} na {stack} na tabuli {board}",
|
"You have renamed stack {before} to {stack} on board {board}" : "Přejmenovali jste hromádku {before} na {stack} na desce {board}",
|
||||||
"{user} has renamed stack {before} to {stack} on board {board}" : "{user} přejmenoval(a) sloupec {before} na {stack} na tabuli {board}",
|
"{user} has renamed stack {before} to {stack} on board {board}" : "{user} přejmenoval(a) hromádku {before} na {stack} na desce {board}",
|
||||||
"You have deleted stack {stack} on board {board}" : "Smazali jste sloupec {stack} na tabuli {board}",
|
"You have deleted stack {stack} on board {board}" : "Smazali jste balíček {stack} na desce {board}",
|
||||||
"{user} has deleted stack {stack} on board {board}" : "{user} smazal(a) sloupec {stack} na tabuli {board}",
|
"{user} has deleted stack {stack} on board {board}" : "{user} smazal(a) balíček {stack} na desce {board}",
|
||||||
"You have created card {card} in stack {stack} on board {board}" : "Vytvořili jste kartu {card} ve sloupci {stack} na tabuli {board}",
|
"You have created card {card} in stack {stack} on board {board}" : "Vytvořili jste kartu {card} v balíčku {stack} na kartě {board}",
|
||||||
"{user} has created card {card} in stack {stack} on board {board}" : "{user} vytvořil(a) kartu {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has created card {card} in stack {stack} on board {board}" : "{user} vytvořil(a) kartu {card} ve sloupci {stack} na tabuli {board}",
|
||||||
"You have deleted card {card} in stack {stack} on board {board}" : "Smazali jste kartu {card} ve sloupci {stack} na tabuli {board}",
|
"You have deleted card {card} in stack {stack} on board {board}" : "Smazali jste kartu {card} na hromádce {stack} na desce {board}",
|
||||||
"{user} has deleted card {card} in stack {stack} on board {board}" : "{user} smazal(a) kartu {card} ve sloupci {board} na tabuli {board}",
|
"{user} has deleted card {card} in stack {stack} on board {board}" : "{user} smazal(a) kartu {card} v balíčku {board} na desce {board}",
|
||||||
"You have renamed the card {before} to {card}" : "Přejmenovali jste kartu {before} na {card}",
|
"You have renamed the card {before} to {card}" : "Přejmenovali jste kartu {before} na {card}",
|
||||||
"{user} has renamed the card {before} to {card}" : "{user} přejmenoval(a) {before} na {card}",
|
"{user} has renamed the card {before} to {card}" : "{user} přejmenoval(a) {before} na {card}",
|
||||||
"You have added a description to card {card} in stack {stack} on board {board}" : "Přidali jste popis ke kartě {card} ve sloupci {stack} na tabuli {board}",
|
"You have added a description to card {card} in stack {stack} on board {board}" : "Přidali jste popis ke kartě {card} v hromádce {stack} na tabuli {board}",
|
||||||
"{user} has added a description to card {card} in stack {stack} on board {board}" : "{user} přidal(a) popis ke kartě {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has added a description to card {card} in stack {stack} on board {board}" : "{user} přidal(a) popis ke kartě {card} v hromádce {stack} na tabuli {board}",
|
||||||
"You have updated the description of card {card} in stack {stack} on board {board}" : "Aktualizovali jste popis karty {card} ve sloupci {stack} na tabuli {board}",
|
"You have updated the description of card {card} in stack {stack} on board {board}" : "Aktualizovali jste popis karty {card} v hromádce {stack} na desce {board}",
|
||||||
"{user} has updated the description of the card {card} in stack {stack} on board {board}" : "{user} aktualizoval(a) popis karty {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has updated the description of the card {card} in stack {stack} on board {board}" : "{user} aktualizoval(a) popis karty {card} na hromádce {stack} na nástěnce {board}",
|
||||||
"You have archived card {card} in stack {stack} on board {board}" : "Zaarchivovali kartu {card} ve sloupci {stack} na tabuli {board}",
|
"You have archived card {card} in stack {stack} on board {board}" : "Zaarchivovali kartu {card} v balíčku {stack} na tabuli {board}",
|
||||||
"{user} has archived card {card} in stack {stack} on board {board}" : "{user} zaarchivoval(a) kartu {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has archived card {card} in stack {stack} on board {board}" : "{user} zaarchivoval(a) kartu {card} v balíčku {stack} na desce {board}",
|
||||||
"You have unarchived card {card} in stack {stack} on board {board}" : "Zrušili jste archivaci karty {card} ve sloupci {stack} na tabuli {board}",
|
"You have unarchived card {card} in stack {stack} on board {board}" : "Zrušili jste archivaci karty {card} na hromádce {stack} na desce {board}",
|
||||||
"{user} has unarchived card {card} in stack {stack} on board {board}" : "{user} zrušil(a) archivaci karty {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has unarchived card {card} in stack {stack} on board {board}" : "{user} zrušil(a) archivaci karty {card} na hromádce {stack} na tabuli {board}",
|
||||||
"You have removed the due date of card {card}" : "Odebrali jste termín u karty {card}",
|
"You have removed the due date of card {card}" : "Odebrali jste termín karty {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} odebral(a) termín u karty {card}",
|
"{user} has removed the due date of card {card}" : "{user} odebral(a) termín karty {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Nastavili jste termín u karty {card} na {after}",
|
"You have set the due date of card {card} to {after}" : "Nastavili jste termín na kartě {card} na {after}",
|
||||||
"{user} has set the due date of card {card} to {after}" : "{user} nastavil(a) termín u karty {card} na {after}",
|
"{user} has set the due date of card {card} to {after}" : "{user} nastavil(a) termín karty {card} na {after}",
|
||||||
"You have updated the due date of card {card} to {after}" : "Změnili jste termín u karty {card} na {after}",
|
"You have updated the due date of card {card} to {after}" : "Změnili jste termín na kartě {card} na {after}",
|
||||||
"{user} has updated the due date of card {card} to {after}" : "{user} aktualizoval(a) termín u karty {card} na {after}",
|
"{user} has updated the due date of card {card} to {after}" : "{user} aktualizoval termín karty {card} na {after}",
|
||||||
"You have added the tag {label} to card {card} in stack {stack} on board {board}" : "Přidali jste štítek {label} kartě {card} ve sloupci {stack} na tabuli {board}",
|
"You have added the tag {label} to card {card} in stack {stack} on board {board}" : "Přidali jste štítek {label} kartě {card} v hromádce {stack} na nástěnce {board}",
|
||||||
"{user} has added the tag {label} to card {card} in stack {stack} on board {board}" : "{user} přidal(a) štítek {label} ke kartě {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has added the tag {label} to card {card} in stack {stack} on board {board}" : "{user} přidal(a) štítek {label} ke kartě {card} v hromádce {stack} na nástěnce {board}",
|
||||||
"You have removed the tag {label} from card {card} in stack {stack} on board {board}" : "Odebrali jste štítek {label} z karty {card} ve sloupci {stack} na tabuli {board}",
|
"You have removed the tag {label} from card {card} in stack {stack} on board {board}" : "Odebrali jste štítek {label} z karty {card} v hromádce {stack} na desce {board}",
|
||||||
"{user} has removed the tag {label} from card {card} in stack {stack} on board {board}" : "{user} odebral(a) štítek {label} z karty {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has removed the tag {label} from card {card} in stack {stack} on board {board}" : "{user} odebral(a) štítek {label} z karty {card} na hromádce {stack} na tabuli {board}",
|
||||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Přiřadili jste {assigneduser} ke kartě {card} na tabuli {board}",
|
"You have assigned {assigneduser} to card {card} on board {board}" : "Přiřadili jste {assigneduser} ke kartě {card} na tabuli {board}",
|
||||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} přiřadil(a) {assigneduser} ke kartě {card} na tabuli {board}",
|
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} přiřadil(a) {assigneduser} ke kartě {card} na desce {board}",
|
||||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Zrušili jste přiřazení {assigneduser} u karty {card} na tabuli {board}",
|
"You have unassigned {assigneduser} from card {card} on board {board}" : "Zrušili jste přiřazení {assigneduser} u karty {card} na nástěnce {board}",
|
||||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} zrušil(a) přiřazení {assigneduser} z karty {card} na tabuli {board}",
|
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} zrušil(a) přiřazení {assigneduser} z karty {card} na desce {board}",
|
||||||
"You have moved the card {card} from stack {stackBefore} to {stack}" : "Přesunuli jste kartu {card} ze sloupce {stackBefore} do {stack}",
|
"You have moved the card {card} from stack {stackBefore} to {stack}" : "Přesunuli jste kartu {card} z balíčku {stackBefore} do {stack}",
|
||||||
"{user} has moved the card {card} from stack {stackBefore} to {stack}" : "{user} přesunul(a) kartu {card} ze sloupce {stackBefore} do {stack}",
|
"{user} has moved the card {card} from stack {stackBefore} to {stack}" : "{user} přesunul(a) kartu {card} z balíčku {stackBefore} do {stack}",
|
||||||
"You have added the attachment {attachment} to card {card}" : "Přidali jste přílohu {attachment} ke kartě {card}",
|
"You have added the attachment {attachment} to card {card}" : "Přidali jste přílohu {attachment} ke kartě {card}",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} přidal(a) přílohu {attachment} ke kartě {card}",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} přidal(a) přílohu {attachment} ke kartě {card}",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Aktualizovali jste přílohu {attachment} u karty {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Aktualizovali jste přílohu {attachment} na kartě {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} aktualizoval(a) přílohu {attachment} u karty {card}",
|
"{user} has updated the attachment {attachment} on card {card}" : "{user} aktualizoval(a) přílohu {attachment} na kartě {card}",
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Smazali jste přílohu {attachment} u karty {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Smazali jste přílohu {attachment} u karty {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} smazal(a) přílohu {attachment} u karty {card}",
|
"{user} has deleted the attachment {attachment} from card {card}" : "{user} smazal(a) přílohu {attachment} na kartě {card}",
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Obnovili jste přílohu {attachment} ke kartě {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Obnovili jste přílohu {attachment} ke kartě {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} obnovil(a) přílohu {attachment} ke kartě {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} obnovil(a) přílohu {attachment} ke kartě {card}",
|
||||||
"You have commented on card {card}" : "Přidali jste komentář na kartě {card}",
|
"You have commented on card {card}" : "Přidali jste komentář na kartě {card}",
|
||||||
"{user} has commented on card {card}" : "{user} přidal(a) komentář na kartě {card}",
|
"{user} has commented on card {card}" : "{user} přidal(a) komentář na kartě {card}",
|
||||||
"A <strong>card description</strong> inside the Deck app has been changed" : "<strong>Popis karty</strong> v aplikaci Deck byl změněn",
|
"A <strong>card description</strong> inside the Deck app has been changed" : "<strong>Popis karty</strong> v Deck-aplikace byl změněn",
|
||||||
"Deck" : "Deck",
|
"Deck" : "Balík",
|
||||||
"Changes in the <strong>Deck app</strong>" : "Změny v <strong>aplikaci Deck</strong>",
|
"Changes in the <strong>Deck app</strong>" : "Změny v <strong>Deck aplikace</strong>",
|
||||||
"A <strong>comment</strong> was created on a card" : "Na kartě byl vytvořen <strong>komentář</strong>",
|
"A <strong>comment</strong> was created on a card" : "Na kartě byl vytvořen <strong>komentář</strong>",
|
||||||
"Personal" : "Osobní",
|
"Personal" : "Osobní",
|
||||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kartu „%s“ na „%s“ vám přiřadil(a) %s.",
|
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kartu „%s“ na „%s“ vám přiřadil(a) %s.",
|
||||||
@@ -105,10 +105,10 @@
|
|||||||
"A PHP extension stopped the file upload" : "PHP rozšíření zastavilo nahrávání souboru.",
|
"A PHP extension stopped the file upload" : "PHP rozšíření zastavilo nahrávání souboru.",
|
||||||
"No file uploaded or file size exceeds maximum of %s" : "Nebyl nahrán žádný soubor nebo jeho velikost přesáhla %s",
|
"No file uploaded or file size exceeds maximum of %s" : "Nebyl nahrán žádný soubor nebo jeho velikost přesáhla %s",
|
||||||
"A kanban style project and personal management tool for Nextcloud" : "Nástroj pro projektový a osobní řízení ve stylu Kanban.",
|
"A kanban style project and personal management tool for Nextcloud" : "Nástroj pro projektový a osobní řízení ve stylu Kanban.",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck je nástroj cílený na osobní nebo projektové plánování týmů v Kanban stylu, vestavěný v Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky \n- 🔖 Přiřazujte štítky pro ještě lepší organizaci\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 🚀 Dostaňte svůj projekt pod kontrolu",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Karty jsou nástroj zacílený na osobní nebo projektové plánování týmů v Kanban stylu, vestavěný v Nextcloud.\n\n\n- 📥 Zadávejte a uspořádávejte své úkoly do karet\n- 📄 Zapisujte si dodatečné poznámky \n- 🔖 Přiřazujte štítky pro ještě lepší organizaci\n- 👥 Sdílejte se svým týmem, přáteli nebo rodinou\n- 🚀 Dostaňte svůj projekt pod kontrolu",
|
||||||
"Select the board to link to a project" : "Vyberte tabuli kterou propojit s projektem",
|
"Select the board to link to a project" : "Vyberte nástěnku kterou propojit s projektem",
|
||||||
"Select board" : "Vybrat tabuli",
|
"Select board" : "Vybrat tabuli",
|
||||||
"Add a new stack" : "Přidat nový sloupec",
|
"Add a new stack" : "Přidat nový zásobník",
|
||||||
"Submit" : "Odeslat",
|
"Submit" : "Odeslat",
|
||||||
"Show archived cards" : "Zobrazit archivované karty",
|
"Show archived cards" : "Zobrazit archivované karty",
|
||||||
"Hide archived cards" : "Skrýt archivované karty",
|
"Hide archived cards" : "Skrýt archivované karty",
|
||||||
@@ -129,7 +129,7 @@
|
|||||||
"Add card" : "Přidat kartu",
|
"Add card" : "Přidat kartu",
|
||||||
"Close" : "Zavřít",
|
"Close" : "Zavřít",
|
||||||
"Sharing" : "Sdílení",
|
"Sharing" : "Sdílení",
|
||||||
"Tags" : "Štítky",
|
"Tags" : "Značky",
|
||||||
"Deleted items" : "Smazané položky",
|
"Deleted items" : "Smazané položky",
|
||||||
"Timeline" : "Časová osa",
|
"Timeline" : "Časová osa",
|
||||||
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
|
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
|
||||||
@@ -147,20 +147,20 @@
|
|||||||
"Delete tag" : "Smazat štítek",
|
"Delete tag" : "Smazat štítek",
|
||||||
"Create" : "Vytvořit",
|
"Create" : "Vytvořit",
|
||||||
"Create a new tag" : "Vytvořit nový štítek",
|
"Create a new tag" : "Vytvořit nový štítek",
|
||||||
"Deleted stacks" : "Smazané sloupce",
|
"Deleted stacks" : "Smazané zásobníky",
|
||||||
"Deleted cards" : "Smazané karty",
|
"Deleted cards" : "Smazané karty",
|
||||||
"Status" : "Stav",
|
"Status" : "Stav",
|
||||||
"No archived boards to display" : "Žádné archivované tabule k zobrazení",
|
"No archived boards to display" : "Žádné archivované nástěnky k zobrazení",
|
||||||
"No shared boards to display" : "Žádné sdílené tabule k zobrazení",
|
"No shared boards to display" : "Žádné sdílené nástěnky k zobrazení",
|
||||||
"Title" : "Název",
|
"Title" : "Název",
|
||||||
"Members" : "Členové",
|
"Members" : "Členové",
|
||||||
"More actions" : "Více akcí",
|
"More actions" : "Více akcí",
|
||||||
"Edit board" : "Upravit tabuli",
|
"Edit board" : "Upravit tabuli",
|
||||||
"Archive board" : "Archivovat tabuli",
|
"Archive board" : "Archivovaná tabule",
|
||||||
"Unarchive board" : "Vrátit tabuli zpět z archivu",
|
"Unarchive board" : "Vrátit tabuli zpět z archivu",
|
||||||
"Delete board" : "Smazat tabuli",
|
"Delete board" : "Smazat tabuli",
|
||||||
"Update board" : "Aktualizovat tabuli",
|
"Update board" : "Aktualizovat tabuli",
|
||||||
"Reset board" : "Vrátit tabuli do předchozího stavu",
|
"Reset board" : "Vrátit tabuli do výchozího stavu",
|
||||||
"Undo board deletion - Otherwise the board will be deleted during the next cronjob run." : "Vrátit smazání tabule – jinak bude nadobro odstraněna během příštího spuštění naplánovaných úloh.",
|
"Undo board deletion - Otherwise the board will be deleted during the next cronjob run." : "Vrátit smazání tabule – jinak bude nadobro odstraněna během příštího spuštění naplánovaných úloh.",
|
||||||
"Create new board" : "Vytvořit novou tabuli",
|
"Create new board" : "Vytvořit novou tabuli",
|
||||||
"New board title" : "Název nové tabule",
|
"New board title" : "Název nové tabule",
|
||||||
@@ -174,14 +174,14 @@
|
|||||||
"Delete attachment" : "Smazat přílohu",
|
"Delete attachment" : "Smazat přílohu",
|
||||||
"Modified:" : "Změněno:",
|
"Modified:" : "Změněno:",
|
||||||
"Created:" : "Vytvořeno:",
|
"Created:" : "Vytvořeno:",
|
||||||
"Choose a tag" : "Zvolte štítek",
|
"Choose a tag" : "Vyberte štítek",
|
||||||
"Add a tag" : "Přidat štítek",
|
"Add a tag" : "Přidat štítek",
|
||||||
"Select tags" : "Výběr štítků",
|
"Select tags" : "Výběr štítků",
|
||||||
"Assign users" : "Přiřadit uživatele",
|
"Assign users" : "Přiřadit uživatele",
|
||||||
"Choose a user to assign" : "Zvolte uživatele kterého přiřadit",
|
"Choose a user to assign" : "Zvolte uživatele kterého přiřadit",
|
||||||
"Assign this card to a user" : "Přiřadit tuto kartu uživateli",
|
"Assign this card to a user" : "Přiřadit kartu uživateli",
|
||||||
"Due date" : "Termín",
|
"Due date" : "Termín",
|
||||||
"Click to set" : "Klikn. vyberte",
|
"Click to set" : "Klikněte pro výběr",
|
||||||
"Remove due date" : "Odstranit termín",
|
"Remove due date" : "Odstranit termín",
|
||||||
"Description" : "Popis",
|
"Description" : "Popis",
|
||||||
"Attachments" : "Přílohy",
|
"Attachments" : "Přílohy",
|
||||||
@@ -190,12 +190,12 @@
|
|||||||
"Insert attachment" : "Vložit přílohu",
|
"Insert attachment" : "Vložit přílohu",
|
||||||
"Formatting help" : "Nápověda k formátování",
|
"Formatting help" : "Nápověda k formátování",
|
||||||
"Upload attachment" : "Nahrát přílohu",
|
"Upload attachment" : "Nahrát přílohu",
|
||||||
"Add a card description…" : "Přidejte popis karty…",
|
"Add a card description…" : "Přidat popis karty…",
|
||||||
"Shared boards" : "Sdílené tabule",
|
"Shared boards" : "Sdílené tabule",
|
||||||
"Move board to archive" : "Přesunout tabuli do archivu",
|
"Move board to archive" : "Přesunout tabuli do archivu",
|
||||||
"Create a new board" : "Vytvořit novou tabuli",
|
"Create a new board" : "Vytvořit novou tabuli",
|
||||||
"Settings" : "Nastavení",
|
"Settings" : "Nastavení",
|
||||||
"Limit deck to groups" : "Omezit Deck na skupiny",
|
"Limit deck to groups" : "Omezit Deck na skupiny",
|
||||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Omezení nastavené pro Deck brání uživatelům, kteří nejsou součástí těchto skupin, ve vytváření vlastních tabulí. Nicméně i tak ale pořád budou moci pracovat na tabulích, které jsou jim nasdíleny."
|
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Omezení Decků brání uživatelům, kteří nejsou součástí těchto skupin, při vytváření vlastních tabulí. Uživatelé mohou stále pracovat na tabulích, které jsou s nimi sdíleny."
|
||||||
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
|
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
|
||||||
}
|
}
|
||||||
@@ -197,7 +197,6 @@ OC.L10N.register(
|
|||||||
"Move board to archive" : "Artxibatu txartela",
|
"Move board to archive" : "Artxibatu txartela",
|
||||||
"Create a new board" : "Sortu taula berri bat",
|
"Create a new board" : "Sortu taula berri bat",
|
||||||
"Settings" : "Ezarpenak",
|
"Settings" : "Ezarpenak",
|
||||||
"Limit deck to groups" : "Mugatu deck-a taldeei",
|
"Limit deck to groups" : "Mugatu deck-a taldeei"
|
||||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Deck mugatzeak taldeetako kide ez diren erabiltzaileei bere arbel propioak sortzea eragotziko die. Erabiltzaileek beraiekin partekatu diren arbeletan lan egin ahalko dute."
|
|
||||||
},
|
},
|
||||||
"nplurals=2; plural=(n != 1);");
|
"nplurals=2; plural=(n != 1);");
|
||||||
|
|||||||
@@ -195,7 +195,6 @@
|
|||||||
"Move board to archive" : "Artxibatu txartela",
|
"Move board to archive" : "Artxibatu txartela",
|
||||||
"Create a new board" : "Sortu taula berri bat",
|
"Create a new board" : "Sortu taula berri bat",
|
||||||
"Settings" : "Ezarpenak",
|
"Settings" : "Ezarpenak",
|
||||||
"Limit deck to groups" : "Mugatu deck-a taldeei",
|
"Limit deck to groups" : "Mugatu deck-a taldeei"
|
||||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Deck mugatzeak taldeetako kide ez diren erabiltzaileei bere arbel propioak sortzea eragotziko die. Erabiltzaileek beraiekin partekatu diren arbeletan lan egin ahalko dute."
|
|
||||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||||
}
|
}
|
||||||
15
l10n/fa.js
15
l10n/fa.js
@@ -4,40 +4,25 @@ OC.L10N.register(
|
|||||||
"Hours" : "ساعت ها",
|
"Hours" : "ساعت ها",
|
||||||
"Minutes" : "دقایق",
|
"Minutes" : "دقایق",
|
||||||
"Personal" : "شخصی",
|
"Personal" : "شخصی",
|
||||||
"Finished" : "تمام شده",
|
|
||||||
"Done" : "انجام شد",
|
"Done" : "انجام شد",
|
||||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "حداکثر حجم قابل بار گذاری از طریق HTML MAX_FILE_SIZE است",
|
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "حداکثر حجم قابل بار گذاری از طریق HTML MAX_FILE_SIZE است",
|
||||||
"No file was uploaded" : "هیچ پروندهای بارگذاری نشده",
|
"No file was uploaded" : "هیچ پروندهای بارگذاری نشده",
|
||||||
"Missing a temporary folder" : "یک پوشه موقت گم شده",
|
"Missing a temporary folder" : "یک پوشه موقت گم شده",
|
||||||
"Share board" : "صفحه مشترک",
|
|
||||||
"Actions" : "فعالیت ها",
|
"Actions" : "فعالیت ها",
|
||||||
"Assign card to me" : "کارت را به من اختصاص دهید",
|
|
||||||
"Unassign card from me" : "جدا کردن کارت از من",
|
|
||||||
"Archive card" : "کارت بایگانی",
|
|
||||||
"Delete card" : "حذف کارت",
|
|
||||||
"Add card" : "کارت اضافه کنید",
|
|
||||||
"Close" : "بستن",
|
"Close" : "بستن",
|
||||||
"Sharing" : "اشتراک گذاری",
|
"Sharing" : "اشتراک گذاری",
|
||||||
"Tags" : "برچسبها",
|
"Tags" : "برچسبها",
|
||||||
"Group" : "گروه",
|
"Group" : "گروه",
|
||||||
"Circle" : "حلقه",
|
|
||||||
"Loading" : "در حال بار گزاری",
|
"Loading" : "در حال بار گزاری",
|
||||||
"Edit" : "ویرایش",
|
"Edit" : "ویرایش",
|
||||||
"Share" : "همرسانی",
|
"Share" : "همرسانی",
|
||||||
"Create" : "ایجاد کردن",
|
"Create" : "ایجاد کردن",
|
||||||
"Title" : "عنوان",
|
"Title" : "عنوان",
|
||||||
"More actions" : "اقدامات بیشتر",
|
|
||||||
"Edit board" : "ویرایش تخته ها",
|
|
||||||
"Archive board" : " بایگانی تابلو",
|
|
||||||
"Delete board" : "حذف تابلو",
|
|
||||||
"Cancel upload" : "متوقف کردن بار گذاری",
|
"Cancel upload" : "متوقف کردن بار گذاری",
|
||||||
"by" : "با",
|
"by" : "با",
|
||||||
"Modified:" : "تغییر یافته توسط:",
|
"Modified:" : "تغییر یافته توسط:",
|
||||||
"Created:" : "ایجاد شده توسط:",
|
"Created:" : "ایجاد شده توسط:",
|
||||||
"Assign users" : "اختصاص کاربران",
|
|
||||||
"Due date" : "موعد مقرر",
|
|
||||||
"Description" : "توضیحات",
|
"Description" : "توضیحات",
|
||||||
"Attachments" : "پیوست ها",
|
|
||||||
"Saved" : "ذخیره شد",
|
"Saved" : "ذخیره شد",
|
||||||
"Settings" : "تنظیمات"
|
"Settings" : "تنظیمات"
|
||||||
},
|
},
|
||||||
|
|||||||
15
l10n/fa.json
15
l10n/fa.json
@@ -2,40 +2,25 @@
|
|||||||
"Hours" : "ساعت ها",
|
"Hours" : "ساعت ها",
|
||||||
"Minutes" : "دقایق",
|
"Minutes" : "دقایق",
|
||||||
"Personal" : "شخصی",
|
"Personal" : "شخصی",
|
||||||
"Finished" : "تمام شده",
|
|
||||||
"Done" : "انجام شد",
|
"Done" : "انجام شد",
|
||||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "حداکثر حجم قابل بار گذاری از طریق HTML MAX_FILE_SIZE است",
|
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "حداکثر حجم قابل بار گذاری از طریق HTML MAX_FILE_SIZE است",
|
||||||
"No file was uploaded" : "هیچ پروندهای بارگذاری نشده",
|
"No file was uploaded" : "هیچ پروندهای بارگذاری نشده",
|
||||||
"Missing a temporary folder" : "یک پوشه موقت گم شده",
|
"Missing a temporary folder" : "یک پوشه موقت گم شده",
|
||||||
"Share board" : "صفحه مشترک",
|
|
||||||
"Actions" : "فعالیت ها",
|
"Actions" : "فعالیت ها",
|
||||||
"Assign card to me" : "کارت را به من اختصاص دهید",
|
|
||||||
"Unassign card from me" : "جدا کردن کارت از من",
|
|
||||||
"Archive card" : "کارت بایگانی",
|
|
||||||
"Delete card" : "حذف کارت",
|
|
||||||
"Add card" : "کارت اضافه کنید",
|
|
||||||
"Close" : "بستن",
|
"Close" : "بستن",
|
||||||
"Sharing" : "اشتراک گذاری",
|
"Sharing" : "اشتراک گذاری",
|
||||||
"Tags" : "برچسبها",
|
"Tags" : "برچسبها",
|
||||||
"Group" : "گروه",
|
"Group" : "گروه",
|
||||||
"Circle" : "حلقه",
|
|
||||||
"Loading" : "در حال بار گزاری",
|
"Loading" : "در حال بار گزاری",
|
||||||
"Edit" : "ویرایش",
|
"Edit" : "ویرایش",
|
||||||
"Share" : "همرسانی",
|
"Share" : "همرسانی",
|
||||||
"Create" : "ایجاد کردن",
|
"Create" : "ایجاد کردن",
|
||||||
"Title" : "عنوان",
|
"Title" : "عنوان",
|
||||||
"More actions" : "اقدامات بیشتر",
|
|
||||||
"Edit board" : "ویرایش تخته ها",
|
|
||||||
"Archive board" : " بایگانی تابلو",
|
|
||||||
"Delete board" : "حذف تابلو",
|
|
||||||
"Cancel upload" : "متوقف کردن بار گذاری",
|
"Cancel upload" : "متوقف کردن بار گذاری",
|
||||||
"by" : "با",
|
"by" : "با",
|
||||||
"Modified:" : "تغییر یافته توسط:",
|
"Modified:" : "تغییر یافته توسط:",
|
||||||
"Created:" : "ایجاد شده توسط:",
|
"Created:" : "ایجاد شده توسط:",
|
||||||
"Assign users" : "اختصاص کاربران",
|
|
||||||
"Due date" : "موعد مقرر",
|
|
||||||
"Description" : "توضیحات",
|
"Description" : "توضیحات",
|
||||||
"Attachments" : "پیوست ها",
|
|
||||||
"Saved" : "ذخیره شد",
|
"Saved" : "ذخیره شد",
|
||||||
"Settings" : "تنظیمات"
|
"Settings" : "تنظیمات"
|
||||||
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
||||||
|
|||||||
@@ -69,7 +69,6 @@ OC.L10N.register(
|
|||||||
"You have updated the attachment {attachment} on card {card}" : "Vous avez mis à jour la pièce jointe {attachment} de la carte {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Vous avez mis à jour la pièce jointe {attachment} de la carte {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} a mis à jour la pièce jointe {attachment} de la carte {card}",
|
"{user} has updated the attachment {attachment} on card {card}" : "{user} a mis à jour la pièce jointe {attachment} de la carte {card}",
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Vous avez supprimé la pièce jointe {attachment} de la carte {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Vous avez supprimé la pièce jointe {attachment} de la carte {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} a supprimé la pièce jointe {attachment} de la carte {card}",
|
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Vous avez restauré la pièce jointe {attachment} de la carte {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Vous avez restauré la pièce jointe {attachment} de la carte {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} a restauré la pièce jointe {attachment} de la carte {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} a restauré la pièce jointe {attachment} de la carte {card}",
|
||||||
"You have commented on card {card}" : "Vous avez commenté la carte {card}",
|
"You have commented on card {card}" : "Vous avez commenté la carte {card}",
|
||||||
|
|||||||
@@ -67,7 +67,6 @@
|
|||||||
"You have updated the attachment {attachment} on card {card}" : "Vous avez mis à jour la pièce jointe {attachment} de la carte {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Vous avez mis à jour la pièce jointe {attachment} de la carte {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} a mis à jour la pièce jointe {attachment} de la carte {card}",
|
"{user} has updated the attachment {attachment} on card {card}" : "{user} a mis à jour la pièce jointe {attachment} de la carte {card}",
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Vous avez supprimé la pièce jointe {attachment} de la carte {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Vous avez supprimé la pièce jointe {attachment} de la carte {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} a supprimé la pièce jointe {attachment} de la carte {card}",
|
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Vous avez restauré la pièce jointe {attachment} de la carte {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Vous avez restauré la pièce jointe {attachment} de la carte {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} a restauré la pièce jointe {attachment} de la carte {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} a restauré la pièce jointe {attachment} de la carte {card}",
|
||||||
"You have commented on card {card}" : "Vous avez commenté la carte {card}",
|
"You have commented on card {card}" : "Vous avez commenté la carte {card}",
|
||||||
|
|||||||
@@ -67,9 +67,7 @@ OC.L10N.register(
|
|||||||
"You have added the attachment {attachment} to card {card}" : "Dodali ste privitak {attachment} kartici {card}",
|
"You have added the attachment {attachment} to card {card}" : "Dodali ste privitak {attachment} kartici {card}",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} je dodao privitak {attachment} kartici {card}",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} je dodao privitak {attachment} kartici {card}",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Ažurirali ste privitak {attachment} na kartici {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Ažurirali ste privitak {attachment} na kartici {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} je ažurirao privitak {attachment} na kartici {card}",
|
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Izbrisali ste privitak {attachment} s kartice {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Izbrisali ste privitak {attachment} s kartice {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} je izbrisao privitak {attachment} s kartice {card}",
|
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Vratili ste privitak {attachment} na karticu {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Vratili ste privitak {attachment} na karticu {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} je vratio privitak {attachment} na karticu {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} je vratio privitak {attachment} na karticu {card}",
|
||||||
"You have commented on card {card}" : "Komentirali ste karticu {card}",
|
"You have commented on card {card}" : "Komentirali ste karticu {card}",
|
||||||
|
|||||||
@@ -65,9 +65,7 @@
|
|||||||
"You have added the attachment {attachment} to card {card}" : "Dodali ste privitak {attachment} kartici {card}",
|
"You have added the attachment {attachment} to card {card}" : "Dodali ste privitak {attachment} kartici {card}",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} je dodao privitak {attachment} kartici {card}",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} je dodao privitak {attachment} kartici {card}",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Ažurirali ste privitak {attachment} na kartici {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Ažurirali ste privitak {attachment} na kartici {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} je ažurirao privitak {attachment} na kartici {card}",
|
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Izbrisali ste privitak {attachment} s kartice {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Izbrisali ste privitak {attachment} s kartice {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} je izbrisao privitak {attachment} s kartice {card}",
|
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Vratili ste privitak {attachment} na karticu {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Vratili ste privitak {attachment} na karticu {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} je vratio privitak {attachment} na karticu {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} je vratio privitak {attachment} na karticu {card}",
|
||||||
"You have commented on card {card}" : "Komentirali ste karticu {card}",
|
"You have commented on card {card}" : "Komentirali ste karticu {card}",
|
||||||
|
|||||||
@@ -67,9 +67,7 @@ OC.L10N.register(
|
|||||||
"You have added the attachment {attachment} to card {card}" : "Je voegde bijlage {attachment} toe aan kaart {card}",
|
"You have added the attachment {attachment} to card {card}" : "Je voegde bijlage {attachment} toe aan kaart {card}",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} voegde bijlage {attachment} toe aan kaart {card}",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} voegde bijlage {attachment} toe aan kaart {card}",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Je werkte bijlage {attachment} bij op kaart {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Je werkte bijlage {attachment} bij op kaart {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} werkte bijlage {attachment} bij op kaart {card}",
|
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Je verwijderde bijlage {attachment} van kaart {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Je verwijderde bijlage {attachment} van kaart {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} verwijderde bijlage {attachment} van kaart {card}",
|
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Je herstelde bijlage {attachment} bij kaart {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Je herstelde bijlage {attachment} bij kaart {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} herstelde bijlage {attachment} bij kaart {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} herstelde bijlage {attachment} bij kaart {card}",
|
||||||
"You have commented on card {card}" : "Je hebt gereageerd op kaart {card}",
|
"You have commented on card {card}" : "Je hebt gereageerd op kaart {card}",
|
||||||
|
|||||||
@@ -65,9 +65,7 @@
|
|||||||
"You have added the attachment {attachment} to card {card}" : "Je voegde bijlage {attachment} toe aan kaart {card}",
|
"You have added the attachment {attachment} to card {card}" : "Je voegde bijlage {attachment} toe aan kaart {card}",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} voegde bijlage {attachment} toe aan kaart {card}",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} voegde bijlage {attachment} toe aan kaart {card}",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Je werkte bijlage {attachment} bij op kaart {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Je werkte bijlage {attachment} bij op kaart {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} werkte bijlage {attachment} bij op kaart {card}",
|
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Je verwijderde bijlage {attachment} van kaart {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Je verwijderde bijlage {attachment} van kaart {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} verwijderde bijlage {attachment} van kaart {card}",
|
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Je herstelde bijlage {attachment} bij kaart {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Je herstelde bijlage {attachment} bij kaart {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} herstelde bijlage {attachment} bij kaart {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} herstelde bijlage {attachment} bij kaart {card}",
|
||||||
"You have commented on card {card}" : "Je hebt gereageerd op kaart {card}",
|
"You have commented on card {card}" : "Je hebt gereageerd op kaart {card}",
|
||||||
|
|||||||
42
l10n/pl.js
42
l10n/pl.js
@@ -28,51 +28,51 @@ OC.L10N.register(
|
|||||||
"{user} has archived the board {before}" : "Użytkownik {user} zarchiwizował(-a) tablicę {board}",
|
"{user} has archived the board {before}" : "Użytkownik {user} zarchiwizował(-a) tablicę {board}",
|
||||||
"You have unarchived the board {board}" : "Przywróciłeś(-aś) tablicę {board} z archiwum",
|
"You have unarchived the board {board}" : "Przywróciłeś(-aś) tablicę {board} z archiwum",
|
||||||
"{user} has unarchived the board {before}" : "{user} przywrócił(-a) tablicę {board} z archiwum",
|
"{user} has unarchived the board {before}" : "{user} przywrócił(-a) tablicę {board} z archiwum",
|
||||||
"You have created a new stack {stack} on board {board}" : "Utworzyłeś nowy stos {stack} na tablicy {board}",
|
"You have created a new stack {stack} on board {board}" : "Utworzyłeś/-aś nowy stos {stack} na tablicy {board}",
|
||||||
"{user} has created a new stack {stack} on board {board}" : "{user} utworzył nowy stos {stack} na tablicy {board}",
|
"{user} has created a new stack {stack} on board {board}" : "{user} utworzył nowy stos {stack} na tablicy {board}",
|
||||||
"You have renamed stack {before} to {stack} on board {board}" : "Zmieniłeś nazwę stosu {before} dla {stack} na tablicy {board}",
|
"You have renamed stack {before} to {stack} on board {board}" : "Zmieniłeś/-aś nazwę stosu {before} dla {stack} na tablicy {board}",
|
||||||
"{user} has renamed stack {before} to {stack} on board {board}" : "{user} zmienił nazwę stosu {before} dla {stack} na tablicy {board}",
|
"{user} has renamed stack {before} to {stack} on board {board}" : "{user} zmienił nazwę stosu {before} dla {stack} na tablicy {board}",
|
||||||
"You have deleted stack {stack} on board {board}" : "Usunąłeś stos {stack} na tablicy {board}",
|
"You have deleted stack {stack} on board {board}" : "Usunąłeś/-aś stos {stack} na tablicy {board}",
|
||||||
"{user} has deleted stack {stack} on board {board}" : "{user} usunął stos {stack} na tablicy {board}",
|
"{user} has deleted stack {stack} on board {board}" : "{user} usunął stos {stack} na tablicy {board}",
|
||||||
"You have created card {card} in stack {stack} on board {board}" : "Utworzyłeś kartę {card} w stosie {stack} na tablicy {board}",
|
"You have created card {card} in stack {stack} on board {board}" : "Utworzyłeś/-aś kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has created card {card} in stack {stack} on board {board}" : "{user} utworzył kartę {card} w stosie {stack} na tablicy {board}",
|
"{user} has created card {card} in stack {stack} on board {board}" : "{user} utworzył kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have deleted card {card} in stack {stack} on board {board}" : "Usunąłeś kartę {card} w stosie {stack} na tablicy {board}",
|
"You have deleted card {card} in stack {stack} on board {board}" : "Usunąłeś/-aś kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has deleted card {card} in stack {stack} on board {board}" : "{user} usunął kartę {card} w stosie {stack} na tablicy {board}",
|
"{user} has deleted card {card} in stack {stack} on board {board}" : "{user} usunął kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have renamed the card {before} to {card}" : "Zmieniłeś(-aś) nazwę karty {before} na {card}",
|
"You have renamed the card {before} to {card}" : "Zmieniłeś(-aś) nazwę karty {before} na {card}",
|
||||||
"{user} has renamed the card {before} to {card}" : "Użytkownik {user} zmienił(-a) nazwę karty {before} na {card}",
|
"{user} has renamed the card {before} to {card}" : "Użytkownik {user} zmienił(-a) nazwę karty {before} na {card}",
|
||||||
"You have added a description to card {card} in stack {stack} on board {board}" : "Dodałeś opis karty {card} w stosie {stack} na tablicy {board}",
|
"You have added a description to card {card} in stack {stack} on board {board}" : "Dodałeś/-aś opis karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has added a description to card {card} in stack {stack} on board {board}" : "{user} dodał opis karty {card} w stosie {stack} na tablicy {board}",
|
"{user} has added a description to card {card} in stack {stack} on board {board}" : "{user} dodał opis karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have updated the description of card {card} in stack {stack} on board {board}" : "Zaktualizowałeś opis karty {card} w stosie {stack} na tablicy {board}",
|
"You have updated the description of card {card} in stack {stack} on board {board}" : "Zaktualizowałeś/-aś opis karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has updated the description of the card {card} in stack {stack} on board {board}" : "{user} zaktualizował opis karty {card} w stosie {stack} na tablicy {board}",
|
"{user} has updated the description of the card {card} in stack {stack} on board {board}" : "{user} zaktualizował opis karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have archived card {card} in stack {stack} on board {board}" : "Zarchiwizowałeś kartę {card} w stosie {stack} na tablicy {board}",
|
"You have archived card {card} in stack {stack} on board {board}" : "Zarchiwizowałeś/-aś kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has archived card {card} in stack {stack} on board {board}" : "{user} zarchiwizował kartę {card} w stosie {stack} na tablicy {board}",
|
"{user} has archived card {card} in stack {stack} on board {board}" : "{user} zarchiwizował kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have unarchived card {card} in stack {stack} on board {board}" : "Masz niezarchiwizowaną kartę {card} w stosie {stack} na tablicy {board}",
|
"You have unarchived card {card} in stack {stack} on board {board}" : "Masz niezarchiwizowaną kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has unarchived card {card} in stack {stack} on board {board}" : "{user} ma niezarchiwizowaną kartę {card} w stosie {stack} na tablicy {board}",
|
"{user} has unarchived card {card} in stack {stack} on board {board}" : "{user} ma niezarchiwizowaną kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have removed the due date of card {card}" : "Usunąłeś datę ważności karty {card}",
|
"You have removed the due date of card {card}" : "Usunąłeś/-aś datę ważności karty {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} usunął datę ważności karty {card}",
|
"{user} has removed the due date of card {card}" : "{user} usunął datę ważności karty {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Ustawiłeś datę ważności karty {card} na {after}",
|
"You have set the due date of card {card} to {after}" : "Ustawiłeś/-aś datę ważności karty {card} na {after}",
|
||||||
"{user} has set the due date of card {card} to {after}" : "{user} ustawił datę ważności karty {card} na {after}",
|
"{user} has set the due date of card {card} to {after}" : "{user} ustawił datę ważności karty {card} na {after}",
|
||||||
"You have updated the due date of card {card} to {after}" : "Zaktualizowałeś datę ważności karty {card} na {after}",
|
"You have updated the due date of card {card} to {after}" : "Zaktualizowałeś/-aś datę ważności karty {card} na {after}",
|
||||||
"{user} has updated the due date of card {card} to {after}" : "{user} zaktualizował datę ważności karty {card} na {after}",
|
"{user} has updated the due date of card {card} to {after}" : "{user} zaktualizował datę ważności karty {card} na {after}",
|
||||||
"You have added the tag {label} to card {card} in stack {stack} on board {board}" : "Dodałeś etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
"You have added the tag {label} to card {card} in stack {stack} on board {board}" : "Dodałeś/-aś etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has added the tag {label} to card {card} in stack {stack} on board {board}" : "{user} dodał etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
"{user} has added the tag {label} to card {card} in stack {stack} on board {board}" : "{user} dodał etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have removed the tag {label} from card {card} in stack {stack} on board {board}" : "Usunąłeś etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
"You have removed the tag {label} from card {card} in stack {stack} on board {board}" : "Usunąłeś/-aś etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has removed the tag {label} from card {card} in stack {stack} on board {board}" : "{user} usunął etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
"{user} has removed the tag {label} from card {card} in stack {stack} on board {board}" : "{user} usunął etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Przydzieliłeś {assigneduser} do karty {card} na tablicy {board}",
|
"You have assigned {assigneduser} to card {card} on board {board}" : "Przydzieliłeś/-aś {assigneduser} do karty {card} na tablicy {board}",
|
||||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} przydzielił {assigneduser} do karty {card} na tablicy {board}",
|
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} przydzielił {assigneduser} do karty {card} na tablicy {board}",
|
||||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Usunąłeś przydzielenie {assigneduser} do karty {card} na tablicy {board}",
|
"You have unassigned {assigneduser} from card {card} on board {board}" : "Usunąłeś/-aś przydzielenie {assigneduser} do karty {card} na tablicy {board}",
|
||||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} usunął przydzielenie {assigneduser} do karty {card} na tablicy {board}",
|
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} usunął przydzielenie {assigneduser} do karty {card} na tablicy {board}",
|
||||||
"You have moved the card {card} from stack {stackBefore} to {stack}" : "Przeniosłeś kartę {card} ze stosu {stackBefore} do {stack}",
|
"You have moved the card {card} from stack {stackBefore} to {stack}" : "Przeniosłeś/-aś kartę {card} ze stosu {stackBefore} do {stack}",
|
||||||
"{user} has moved the card {card} from stack {stackBefore} to {stack}" : "{user} przeniósł kartę {card} ze stosu {stackBefore} do {stack}",
|
"{user} has moved the card {card} from stack {stackBefore} to {stack}" : "{user} przeniósł kartę {card} ze stosu {stackBefore} do {stack}",
|
||||||
"You have added the attachment {attachment} to card {card}" : "Dodałeś załącznik {attachment} do karty {card}",
|
"You have added the attachment {attachment} to card {card}" : "Dodałeś/-aś załącznik {attachment} do karty {card}",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} dodał załącznik {attachment} do karty {card}",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} dodał załącznik {attachment} do karty {card}",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Zaktualizowałeś załącznik {attachment} na karcie {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Zaktualizowałeś/-aś załącznik {attachment} na karcie {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} zaktualizował załącznik {attachment} na karcie {card}",
|
"{user} has updated the attachment {attachment} on card {card}" : "{user} zaktualizował załącznik {attachment} na karcie {card}",
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Usunąłeś załącznik {attachment} z karty {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Usunąłeś/-aś załącznik {attachment} z karty {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} usunął załącznik {attachment} z karty {card}",
|
"{user} has deleted the attachment {attachment} from card {card}" : "{user} usunął załącznik {attachment} z karty {card}",
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Przywróciłeś załącznik {attachment} na kartę {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Przywróciłeś/-aś załącznik {attachment} na kartę {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} przywrócił załącznik {attachment} na kartę {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} przywrócił załącznik {attachment} na kartę {card}",
|
||||||
"You have commented on card {card}" : "Skomentowałeś kartę {card}",
|
"You have commented on card {card}" : "Skomentowałeś/-aś kartę {card}",
|
||||||
"{user} has commented on card {card}" : "{user} skomentował kartę {card}",
|
"{user} has commented on card {card}" : "{user} skomentował kartę {card}",
|
||||||
"A <strong>card description</strong> inside the Deck app has been changed" : "<strong>Opis karty</strong> w aplikacji Deck został zmieniony",
|
"A <strong>card description</strong> inside the Deck app has been changed" : "<strong>Opis karty</strong> w aplikacji Deck został zmieniony",
|
||||||
"Deck" : "Tablica",
|
"Deck" : "Tablica",
|
||||||
|
|||||||
42
l10n/pl.json
42
l10n/pl.json
@@ -26,51 +26,51 @@
|
|||||||
"{user} has archived the board {before}" : "Użytkownik {user} zarchiwizował(-a) tablicę {board}",
|
"{user} has archived the board {before}" : "Użytkownik {user} zarchiwizował(-a) tablicę {board}",
|
||||||
"You have unarchived the board {board}" : "Przywróciłeś(-aś) tablicę {board} z archiwum",
|
"You have unarchived the board {board}" : "Przywróciłeś(-aś) tablicę {board} z archiwum",
|
||||||
"{user} has unarchived the board {before}" : "{user} przywrócił(-a) tablicę {board} z archiwum",
|
"{user} has unarchived the board {before}" : "{user} przywrócił(-a) tablicę {board} z archiwum",
|
||||||
"You have created a new stack {stack} on board {board}" : "Utworzyłeś nowy stos {stack} na tablicy {board}",
|
"You have created a new stack {stack} on board {board}" : "Utworzyłeś/-aś nowy stos {stack} na tablicy {board}",
|
||||||
"{user} has created a new stack {stack} on board {board}" : "{user} utworzył nowy stos {stack} na tablicy {board}",
|
"{user} has created a new stack {stack} on board {board}" : "{user} utworzył nowy stos {stack} na tablicy {board}",
|
||||||
"You have renamed stack {before} to {stack} on board {board}" : "Zmieniłeś nazwę stosu {before} dla {stack} na tablicy {board}",
|
"You have renamed stack {before} to {stack} on board {board}" : "Zmieniłeś/-aś nazwę stosu {before} dla {stack} na tablicy {board}",
|
||||||
"{user} has renamed stack {before} to {stack} on board {board}" : "{user} zmienił nazwę stosu {before} dla {stack} na tablicy {board}",
|
"{user} has renamed stack {before} to {stack} on board {board}" : "{user} zmienił nazwę stosu {before} dla {stack} na tablicy {board}",
|
||||||
"You have deleted stack {stack} on board {board}" : "Usunąłeś stos {stack} na tablicy {board}",
|
"You have deleted stack {stack} on board {board}" : "Usunąłeś/-aś stos {stack} na tablicy {board}",
|
||||||
"{user} has deleted stack {stack} on board {board}" : "{user} usunął stos {stack} na tablicy {board}",
|
"{user} has deleted stack {stack} on board {board}" : "{user} usunął stos {stack} na tablicy {board}",
|
||||||
"You have created card {card} in stack {stack} on board {board}" : "Utworzyłeś kartę {card} w stosie {stack} na tablicy {board}",
|
"You have created card {card} in stack {stack} on board {board}" : "Utworzyłeś/-aś kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has created card {card} in stack {stack} on board {board}" : "{user} utworzył kartę {card} w stosie {stack} na tablicy {board}",
|
"{user} has created card {card} in stack {stack} on board {board}" : "{user} utworzył kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have deleted card {card} in stack {stack} on board {board}" : "Usunąłeś kartę {card} w stosie {stack} na tablicy {board}",
|
"You have deleted card {card} in stack {stack} on board {board}" : "Usunąłeś/-aś kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has deleted card {card} in stack {stack} on board {board}" : "{user} usunął kartę {card} w stosie {stack} na tablicy {board}",
|
"{user} has deleted card {card} in stack {stack} on board {board}" : "{user} usunął kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have renamed the card {before} to {card}" : "Zmieniłeś(-aś) nazwę karty {before} na {card}",
|
"You have renamed the card {before} to {card}" : "Zmieniłeś(-aś) nazwę karty {before} na {card}",
|
||||||
"{user} has renamed the card {before} to {card}" : "Użytkownik {user} zmienił(-a) nazwę karty {before} na {card}",
|
"{user} has renamed the card {before} to {card}" : "Użytkownik {user} zmienił(-a) nazwę karty {before} na {card}",
|
||||||
"You have added a description to card {card} in stack {stack} on board {board}" : "Dodałeś opis karty {card} w stosie {stack} na tablicy {board}",
|
"You have added a description to card {card} in stack {stack} on board {board}" : "Dodałeś/-aś opis karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has added a description to card {card} in stack {stack} on board {board}" : "{user} dodał opis karty {card} w stosie {stack} na tablicy {board}",
|
"{user} has added a description to card {card} in stack {stack} on board {board}" : "{user} dodał opis karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have updated the description of card {card} in stack {stack} on board {board}" : "Zaktualizowałeś opis karty {card} w stosie {stack} na tablicy {board}",
|
"You have updated the description of card {card} in stack {stack} on board {board}" : "Zaktualizowałeś/-aś opis karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has updated the description of the card {card} in stack {stack} on board {board}" : "{user} zaktualizował opis karty {card} w stosie {stack} na tablicy {board}",
|
"{user} has updated the description of the card {card} in stack {stack} on board {board}" : "{user} zaktualizował opis karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have archived card {card} in stack {stack} on board {board}" : "Zarchiwizowałeś kartę {card} w stosie {stack} na tablicy {board}",
|
"You have archived card {card} in stack {stack} on board {board}" : "Zarchiwizowałeś/-aś kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has archived card {card} in stack {stack} on board {board}" : "{user} zarchiwizował kartę {card} w stosie {stack} na tablicy {board}",
|
"{user} has archived card {card} in stack {stack} on board {board}" : "{user} zarchiwizował kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have unarchived card {card} in stack {stack} on board {board}" : "Masz niezarchiwizowaną kartę {card} w stosie {stack} na tablicy {board}",
|
"You have unarchived card {card} in stack {stack} on board {board}" : "Masz niezarchiwizowaną kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has unarchived card {card} in stack {stack} on board {board}" : "{user} ma niezarchiwizowaną kartę {card} w stosie {stack} na tablicy {board}",
|
"{user} has unarchived card {card} in stack {stack} on board {board}" : "{user} ma niezarchiwizowaną kartę {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have removed the due date of card {card}" : "Usunąłeś datę ważności karty {card}",
|
"You have removed the due date of card {card}" : "Usunąłeś/-aś datę ważności karty {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} usunął datę ważności karty {card}",
|
"{user} has removed the due date of card {card}" : "{user} usunął datę ważności karty {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Ustawiłeś datę ważności karty {card} na {after}",
|
"You have set the due date of card {card} to {after}" : "Ustawiłeś/-aś datę ważności karty {card} na {after}",
|
||||||
"{user} has set the due date of card {card} to {after}" : "{user} ustawił datę ważności karty {card} na {after}",
|
"{user} has set the due date of card {card} to {after}" : "{user} ustawił datę ważności karty {card} na {after}",
|
||||||
"You have updated the due date of card {card} to {after}" : "Zaktualizowałeś datę ważności karty {card} na {after}",
|
"You have updated the due date of card {card} to {after}" : "Zaktualizowałeś/-aś datę ważności karty {card} na {after}",
|
||||||
"{user} has updated the due date of card {card} to {after}" : "{user} zaktualizował datę ważności karty {card} na {after}",
|
"{user} has updated the due date of card {card} to {after}" : "{user} zaktualizował datę ważności karty {card} na {after}",
|
||||||
"You have added the tag {label} to card {card} in stack {stack} on board {board}" : "Dodałeś etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
"You have added the tag {label} to card {card} in stack {stack} on board {board}" : "Dodałeś/-aś etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has added the tag {label} to card {card} in stack {stack} on board {board}" : "{user} dodał etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
"{user} has added the tag {label} to card {card} in stack {stack} on board {board}" : "{user} dodał etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have removed the tag {label} from card {card} in stack {stack} on board {board}" : "Usunąłeś etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
"You have removed the tag {label} from card {card} in stack {stack} on board {board}" : "Usunąłeś/-aś etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"{user} has removed the tag {label} from card {card} in stack {stack} on board {board}" : "{user} usunął etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
"{user} has removed the tag {label} from card {card} in stack {stack} on board {board}" : "{user} usunął etykietę {label} do karty {card} w stosie {stack} na tablicy {board}",
|
||||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Przydzieliłeś {assigneduser} do karty {card} na tablicy {board}",
|
"You have assigned {assigneduser} to card {card} on board {board}" : "Przydzieliłeś/-aś {assigneduser} do karty {card} na tablicy {board}",
|
||||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} przydzielił {assigneduser} do karty {card} na tablicy {board}",
|
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} przydzielił {assigneduser} do karty {card} na tablicy {board}",
|
||||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Usunąłeś przydzielenie {assigneduser} do karty {card} na tablicy {board}",
|
"You have unassigned {assigneduser} from card {card} on board {board}" : "Usunąłeś/-aś przydzielenie {assigneduser} do karty {card} na tablicy {board}",
|
||||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} usunął przydzielenie {assigneduser} do karty {card} na tablicy {board}",
|
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} usunął przydzielenie {assigneduser} do karty {card} na tablicy {board}",
|
||||||
"You have moved the card {card} from stack {stackBefore} to {stack}" : "Przeniosłeś kartę {card} ze stosu {stackBefore} do {stack}",
|
"You have moved the card {card} from stack {stackBefore} to {stack}" : "Przeniosłeś/-aś kartę {card} ze stosu {stackBefore} do {stack}",
|
||||||
"{user} has moved the card {card} from stack {stackBefore} to {stack}" : "{user} przeniósł kartę {card} ze stosu {stackBefore} do {stack}",
|
"{user} has moved the card {card} from stack {stackBefore} to {stack}" : "{user} przeniósł kartę {card} ze stosu {stackBefore} do {stack}",
|
||||||
"You have added the attachment {attachment} to card {card}" : "Dodałeś załącznik {attachment} do karty {card}",
|
"You have added the attachment {attachment} to card {card}" : "Dodałeś/-aś załącznik {attachment} do karty {card}",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} dodał załącznik {attachment} do karty {card}",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} dodał załącznik {attachment} do karty {card}",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Zaktualizowałeś załącznik {attachment} na karcie {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Zaktualizowałeś/-aś załącznik {attachment} na karcie {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} zaktualizował załącznik {attachment} na karcie {card}",
|
"{user} has updated the attachment {attachment} on card {card}" : "{user} zaktualizował załącznik {attachment} na karcie {card}",
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Usunąłeś załącznik {attachment} z karty {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Usunąłeś/-aś załącznik {attachment} z karty {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} usunął załącznik {attachment} z karty {card}",
|
"{user} has deleted the attachment {attachment} from card {card}" : "{user} usunął załącznik {attachment} z karty {card}",
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Przywróciłeś załącznik {attachment} na kartę {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Przywróciłeś/-aś załącznik {attachment} na kartę {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} przywrócił załącznik {attachment} na kartę {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} przywrócił załącznik {attachment} na kartę {card}",
|
||||||
"You have commented on card {card}" : "Skomentowałeś kartę {card}",
|
"You have commented on card {card}" : "Skomentowałeś/-aś kartę {card}",
|
||||||
"{user} has commented on card {card}" : "{user} skomentował kartę {card}",
|
"{user} has commented on card {card}" : "{user} skomentował kartę {card}",
|
||||||
"A <strong>card description</strong> inside the Deck app has been changed" : "<strong>Opis karty</strong> w aplikacji Deck został zmieniony",
|
"A <strong>card description</strong> inside the Deck app has been changed" : "<strong>Opis karty</strong> w aplikacji Deck został zmieniony",
|
||||||
"Deck" : "Tablica",
|
"Deck" : "Tablica",
|
||||||
|
|||||||
@@ -67,9 +67,7 @@ OC.L10N.register(
|
|||||||
"You have added the attachment {attachment} to card {card}" : "Вы добавили вложение «{attachment}» в карточку «{card}»",
|
"You have added the attachment {attachment} to card {card}" : "Вы добавили вложение «{attachment}» в карточку «{card}»",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} добавил(а) вложение «{attachment}» в карточку «{card}»",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} добавил(а) вложение «{attachment}» в карточку «{card}»",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Вы изменили вложение «{attachment}» в карточке «{card}»",
|
"You have updated the attachment {attachment} on card {card}" : "Вы изменили вложение «{attachment}» в карточке «{card}»",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} изменил(а) вложение «{attachment}» в карточке «{card}»",
|
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Вы удалили вложение «{attachment}» из карточки «{card}»",
|
"You have deleted the attachment {attachment} from card {card}" : "Вы удалили вложение «{attachment}» из карточки «{card}»",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} удалил(а) вложение «{attachment}» из карточки «{card}»",
|
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Вы восстановили вложение «{attachment}» в карточке «{card}»",
|
"You have restored the attachment {attachment} to card {card}" : "Вы восстановили вложение «{attachment}» в карточке «{card}»",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} восстановил(а) из корзины файл «{attachment}» в карточке «{card}»",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} восстановил(а) из корзины файл «{attachment}» в карточке «{card}»",
|
||||||
"You have commented on card {card}" : "Вы добавили комментарий к карточке «{card}»",
|
"You have commented on card {card}" : "Вы добавили комментарий к карточке «{card}»",
|
||||||
|
|||||||
@@ -65,9 +65,7 @@
|
|||||||
"You have added the attachment {attachment} to card {card}" : "Вы добавили вложение «{attachment}» в карточку «{card}»",
|
"You have added the attachment {attachment} to card {card}" : "Вы добавили вложение «{attachment}» в карточку «{card}»",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} добавил(а) вложение «{attachment}» в карточку «{card}»",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} добавил(а) вложение «{attachment}» в карточку «{card}»",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Вы изменили вложение «{attachment}» в карточке «{card}»",
|
"You have updated the attachment {attachment} on card {card}" : "Вы изменили вложение «{attachment}» в карточке «{card}»",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} изменил(а) вложение «{attachment}» в карточке «{card}»",
|
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Вы удалили вложение «{attachment}» из карточки «{card}»",
|
"You have deleted the attachment {attachment} from card {card}" : "Вы удалили вложение «{attachment}» из карточки «{card}»",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} удалил(а) вложение «{attachment}» из карточки «{card}»",
|
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Вы восстановили вложение «{attachment}» в карточке «{card}»",
|
"You have restored the attachment {attachment} to card {card}" : "Вы восстановили вложение «{attachment}» в карточке «{card}»",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} восстановил(а) из корзины файл «{attachment}» в карточке «{card}»",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} восстановил(а) из корзины файл «{attachment}» в карточке «{card}»",
|
||||||
"You have commented on card {card}" : "Вы добавили комментарий к карточке «{card}»",
|
"You have commented on card {card}" : "Вы добавили комментарий к карточке «{card}»",
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
OC.L10N.register(
|
|
||||||
"deck",
|
|
||||||
{
|
|
||||||
"Finished" : "Završeno",
|
|
||||||
"Done" : "Done",
|
|
||||||
"Share board" : "Podeli tablu",
|
|
||||||
"Assign card to me" : "Dodeli karticu meni",
|
|
||||||
"Unassign card from me" : "Skloni karticu sa mene",
|
|
||||||
"Archive card" : "Arhiviraj karticu",
|
|
||||||
"Delete card" : "Obriši karticu",
|
|
||||||
"Add card" : "Dodaj karticu",
|
|
||||||
"Close" : "Zatvori",
|
|
||||||
"Sharing" : "Deljenje",
|
|
||||||
"Tags" : "Oznake",
|
|
||||||
"Group" : "Group",
|
|
||||||
"Loading" : "Loading",
|
|
||||||
"Edit" : "Uredi",
|
|
||||||
"Share" : "Deljenje",
|
|
||||||
"Create" : "Napravi",
|
|
||||||
"Title" : "Naslov",
|
|
||||||
"Edit board" : "Izmeni tablu",
|
|
||||||
"Archive board" : "Arhiviraj tablu",
|
|
||||||
"Delete board" : "Izbriši tablu",
|
|
||||||
"Assign users" : "Dodelite korisnike",
|
|
||||||
"Due date" : "Rok",
|
|
||||||
"Description" : "Opis",
|
|
||||||
"Attachments" : "Prilozi",
|
|
||||||
"Settings" : "Postavke"
|
|
||||||
},
|
|
||||||
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
{ "translations": {
|
|
||||||
"Finished" : "Završeno",
|
|
||||||
"Done" : "Done",
|
|
||||||
"Share board" : "Podeli tablu",
|
|
||||||
"Assign card to me" : "Dodeli karticu meni",
|
|
||||||
"Unassign card from me" : "Skloni karticu sa mene",
|
|
||||||
"Archive card" : "Arhiviraj karticu",
|
|
||||||
"Delete card" : "Obriši karticu",
|
|
||||||
"Add card" : "Dodaj karticu",
|
|
||||||
"Close" : "Zatvori",
|
|
||||||
"Sharing" : "Deljenje",
|
|
||||||
"Tags" : "Oznake",
|
|
||||||
"Group" : "Group",
|
|
||||||
"Loading" : "Loading",
|
|
||||||
"Edit" : "Uredi",
|
|
||||||
"Share" : "Deljenje",
|
|
||||||
"Create" : "Napravi",
|
|
||||||
"Title" : "Naslov",
|
|
||||||
"Edit board" : "Izmeni tablu",
|
|
||||||
"Archive board" : "Arhiviraj tablu",
|
|
||||||
"Delete board" : "Izbriši tablu",
|
|
||||||
"Assign users" : "Dodelite korisnike",
|
|
||||||
"Due date" : "Rok",
|
|
||||||
"Description" : "Opis",
|
|
||||||
"Attachments" : "Prilozi",
|
|
||||||
"Settings" : "Postavke"
|
|
||||||
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
|
|
||||||
}
|
|
||||||
@@ -19,7 +19,6 @@ OC.L10N.register(
|
|||||||
"Hide archived cards" : "Приховати архівні картки",
|
"Hide archived cards" : "Приховати архівні картки",
|
||||||
"All Boards" : "Всі дошки",
|
"All Boards" : "Всі дошки",
|
||||||
"Archived boards" : "Архівовані дошки",
|
"Archived boards" : "Архівовані дошки",
|
||||||
"Share board" : "Поширити дошку",
|
|
||||||
"Actions" : "Дії",
|
"Actions" : "Дії",
|
||||||
"Assign card to me" : "Прив'язати картку до мене",
|
"Assign card to me" : "Прив'язати картку до мене",
|
||||||
"Unassign card from me" : "Відв'язати картку від мене",
|
"Unassign card from me" : "Відв'язати картку від мене",
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
"Hide archived cards" : "Приховати архівні картки",
|
"Hide archived cards" : "Приховати архівні картки",
|
||||||
"All Boards" : "Всі дошки",
|
"All Boards" : "Всі дошки",
|
||||||
"Archived boards" : "Архівовані дошки",
|
"Archived boards" : "Архівовані дошки",
|
||||||
"Share board" : "Поширити дошку",
|
|
||||||
"Actions" : "Дії",
|
"Actions" : "Дії",
|
||||||
"Assign card to me" : "Прив'язати картку до мене",
|
"Assign card to me" : "Прив'язати картку до мене",
|
||||||
"Unassign card from me" : "Відв'язати картку від мене",
|
"Unassign card from me" : "Відв'язати картку від мене",
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ OC.L10N.register(
|
|||||||
"Group" : "分组",
|
"Group" : "分组",
|
||||||
"Circle" : "圈子",
|
"Circle" : "圈子",
|
||||||
"No matching user or group found." : "未找到匹配的用户或组。",
|
"No matching user or group found." : "未找到匹配的用户或组。",
|
||||||
"Loading" : "正在加载",
|
"Loading" : "加载中",
|
||||||
"Edit" : "编辑",
|
"Edit" : "编辑",
|
||||||
"Share" : "共享",
|
"Share" : "共享",
|
||||||
"Manage" : "管理",
|
"Manage" : "管理",
|
||||||
|
|||||||
@@ -136,7 +136,7 @@
|
|||||||
"Group" : "分组",
|
"Group" : "分组",
|
||||||
"Circle" : "圈子",
|
"Circle" : "圈子",
|
||||||
"No matching user or group found." : "未找到匹配的用户或组。",
|
"No matching user or group found." : "未找到匹配的用户或组。",
|
||||||
"Loading" : "正在加载",
|
"Loading" : "加载中",
|
||||||
"Edit" : "编辑",
|
"Edit" : "编辑",
|
||||||
"Share" : "共享",
|
"Share" : "共享",
|
||||||
"Manage" : "管理",
|
"Manage" : "管理",
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ use OCA\Deck\Db\CardMapper;
|
|||||||
use OCA\Deck\Middleware\ExceptionMiddleware;
|
use OCA\Deck\Middleware\ExceptionMiddleware;
|
||||||
use OCA\Deck\Notification\Notifier;
|
use OCA\Deck\Notification\Notifier;
|
||||||
use OCA\Deck\Service\FullTextSearchService;
|
use OCA\Deck\Service\FullTextSearchService;
|
||||||
use OCA\Deck\Service\PermissionService;
|
|
||||||
use OCP\AppFramework\App;
|
use OCP\AppFramework\App;
|
||||||
use OCP\Collaboration\Resources\IManager;
|
use OCP\Collaboration\Resources\IManager;
|
||||||
use OCP\Comments\CommentsEntityEvent;
|
use OCP\Comments\CommentsEntityEvent;
|
||||||
@@ -152,14 +151,13 @@ class Application extends App {
|
|||||||
$this->getContainer()->getServer()->getEventDispatcher()->addListener(CommentsEntityEvent::EVENT_ENTITY, function(CommentsEntityEvent $event) {
|
$this->getContainer()->getServer()->getEventDispatcher()->addListener(CommentsEntityEvent::EVENT_ENTITY, function(CommentsEntityEvent $event) {
|
||||||
$event->addEntityCollection('deckCard', function($name) {
|
$event->addEntityCollection('deckCard', function($name) {
|
||||||
/** @var CardMapper */
|
/** @var CardMapper */
|
||||||
$cardMapper = $this->getContainer()->query(CardMapper::class);
|
$service = $this->getContainer()->query(CardMapper::class);
|
||||||
$permissionService = $this->getContainer()->query(PermissionService::class);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return $permissionService->checkPermission($cardMapper, (int) $name, Acl::PERMISSION_READ);
|
$service->find((int) $name);
|
||||||
} catch (\Exception $e) {
|
} catch (\InvalidArgumentException $e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
$this->registerCommentsEventHandler();
|
$this->registerCommentsEventHandler();
|
||||||
|
|||||||
166
lib/Command/UserImport.php
Normal file
166
lib/Command/UserImport.php
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @copyright Copyright (c) 2020 Gary Kim <gary@garykim.dev>
|
||||||
|
*
|
||||||
|
* @author Gary Kim <gary@garykim.dev>
|
||||||
|
*
|
||||||
|
* @license GNU AGPL version 3 or any later version
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as
|
||||||
|
* published by the Free Software Foundation, either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace OCA\Deck\Command;
|
||||||
|
|
||||||
|
use OCA\Deck\Db\AssignedUsersMapper;
|
||||||
|
use OCA\Deck\Db\Board;
|
||||||
|
use OCA\Deck\Db\BoardMapper;
|
||||||
|
use OCA\Deck\Db\Card;
|
||||||
|
use OCA\Deck\Db\CardMapper;
|
||||||
|
use OCA\Deck\Db\Label;
|
||||||
|
use OCA\Deck\Db\LabelMapper;
|
||||||
|
use OCA\Deck\Db\Stack;
|
||||||
|
use OCA\Deck\Db\StackMapper;
|
||||||
|
use OCA\Deck\Service\BoardService;
|
||||||
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
|
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
||||||
|
use OCP\IGroupManager;
|
||||||
|
use OCP\IUserManager;
|
||||||
|
use Symfony\Component\Console\Command\Command;
|
||||||
|
use Symfony\Component\Console\Input\InputArgument;
|
||||||
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
|
use Symfony\Component\Console\Output\OutputInterface;
|
||||||
|
|
||||||
|
class UserImport extends Command {
|
||||||
|
|
||||||
|
/** @var BoardMapper */
|
||||||
|
protected $boardMapper;
|
||||||
|
|
||||||
|
/** @var BoardService */
|
||||||
|
protected $boardService;
|
||||||
|
|
||||||
|
/** @var CardMapper */
|
||||||
|
protected $cardMapper;
|
||||||
|
|
||||||
|
/** @var LabelMapper */
|
||||||
|
protected $labelMapper;
|
||||||
|
|
||||||
|
/** @var StackMapper */
|
||||||
|
protected $stackMapper;
|
||||||
|
|
||||||
|
/** @var IUserManager */
|
||||||
|
private $userManager;
|
||||||
|
|
||||||
|
/** @var IGroupManager */
|
||||||
|
private $groupManager;
|
||||||
|
|
||||||
|
/** @var AssignedUsersMapper */
|
||||||
|
private $assignedUsersMapper;
|
||||||
|
|
||||||
|
public function __construct(BoardMapper $boardMapper,
|
||||||
|
BoardService $boardService,
|
||||||
|
StackMapper $stackMapper,
|
||||||
|
CardMapper $cardMapper,
|
||||||
|
LabelMapper $labelMapper,
|
||||||
|
AssignedUsersMapper $assignedUsersMapper,
|
||||||
|
IUserManager $userManager,
|
||||||
|
IGroupManager $groupManager) {
|
||||||
|
parent::__construct();
|
||||||
|
|
||||||
|
$this->cardMapper = $cardMapper;
|
||||||
|
$this->boardService = $boardService;
|
||||||
|
$this->stackMapper = $stackMapper;
|
||||||
|
$this->labelMapper = $labelMapper;
|
||||||
|
$this->assignedUsersMapper = $assignedUsersMapper;
|
||||||
|
$this->boardMapper = $boardMapper;
|
||||||
|
|
||||||
|
$this->userManager = $userManager;
|
||||||
|
$this->groupManager = $groupManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function configure() {
|
||||||
|
$this
|
||||||
|
->setName('deck:import')
|
||||||
|
->setDescription('Import a JSON dump of user data')
|
||||||
|
->addArgument(
|
||||||
|
'user-id',
|
||||||
|
InputArgument::REQUIRED,
|
||||||
|
'User ID of the user to get ownership'
|
||||||
|
)
|
||||||
|
->addArgument(
|
||||||
|
'input-file',
|
||||||
|
InputArgument::REQUIRED,
|
||||||
|
'JSON file to import'
|
||||||
|
)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param InputInterface $input
|
||||||
|
* @param OutputInterface $output
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
protected function execute(InputInterface $input, OutputInterface $output) {
|
||||||
|
|
||||||
|
$userId = $input->getArgument('user-id');
|
||||||
|
|
||||||
|
$this->boardService->setUserId($userId);
|
||||||
|
|
||||||
|
$file = fopen($input->getArgument('input-file'));
|
||||||
|
|
||||||
|
$data = json_decode(fread($file, filesize($input->getArgument('input-file'))));
|
||||||
|
|
||||||
|
foreach ($data as $board) {
|
||||||
|
// New Board
|
||||||
|
$newBoard = new Board();
|
||||||
|
$newBoard->setTitle($board['title']);
|
||||||
|
$newBoard->setOwner($userId);
|
||||||
|
$newBoard->setColor($board['color']);
|
||||||
|
$this->boardMapper->insert($newBoard);
|
||||||
|
|
||||||
|
// Import labels for board
|
||||||
|
foreach ($board['labels'] as $label) {
|
||||||
|
$newLabel = new Label();
|
||||||
|
$newLabel->setTitle($label['title']);
|
||||||
|
$newLabel->setColor($label['color']);
|
||||||
|
$newLabel->setBoardId($label['boardId']);
|
||||||
|
$this->labelMapper->insert($newLabel);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Import stacks for board
|
||||||
|
foreach ($board['stacks'] as $stack) {
|
||||||
|
$newStack = new Stack();
|
||||||
|
$newStack->setTitle($stack['title']);
|
||||||
|
$newStack->setBoardId($stack['boardId']);
|
||||||
|
$newStack->setId($stack['id']);
|
||||||
|
$this->stackMapper->insert($newStack);
|
||||||
|
|
||||||
|
// Import cards for stack
|
||||||
|
foreach ($stack['cards'] as $card) {
|
||||||
|
$newCard = new Card();
|
||||||
|
$newCard->setTitle($label['title']);
|
||||||
|
$newCard->setDescription($label['description']);
|
||||||
|
$newCard->setStackId($card['stackId']);
|
||||||
|
$newCard->setLastModified($card[''])
|
||||||
|
$newCard->setId($card['id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$output->writeln(json_encode($data, JSON_PRETTY_PRINT));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -454,17 +454,6 @@ class BoardService {
|
|||||||
return $board;
|
return $board;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function applyPermissions($boardId, $edit, $share, $manage) {
|
|
||||||
try {
|
|
||||||
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_MANAGE);
|
|
||||||
} catch (NoPermissionException $e) {
|
|
||||||
$acls = $this->aclMapper->findAll($boardId);
|
|
||||||
$edit = $this->permissionService->userCan($acls, Acl::PERMISSION_EDIT, $this->userId) && $edit;
|
|
||||||
$share = $this->permissionService->userCan($acls, Acl::PERMISSION_SHARE, $this->userId) && $share;
|
|
||||||
$manage = $this->permissionService->userCan($acls, Acl::PERMISSION_MANAGE, $this->userId) && $manage;
|
|
||||||
}
|
|
||||||
return [$edit, $share, $manage];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $boardId
|
* @param $boardId
|
||||||
@@ -504,8 +493,6 @@ class BoardService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_SHARE);
|
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_SHARE);
|
||||||
[$edit, $share, $manage] = $this->applyPermissions($boardId, $edit, $share, $manage);
|
|
||||||
|
|
||||||
$acl = new Acl();
|
$acl = new Acl();
|
||||||
$acl->setBoardId($boardId);
|
$acl->setBoardId($boardId);
|
||||||
$acl->setType($type);
|
$acl->setType($type);
|
||||||
@@ -568,10 +555,8 @@ class BoardService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->permissionService->checkPermission($this->aclMapper, $id, Acl::PERMISSION_SHARE);
|
$this->permissionService->checkPermission($this->aclMapper, $id, Acl::PERMISSION_SHARE);
|
||||||
|
|
||||||
/** @var Acl $acl */
|
/** @var Acl $acl */
|
||||||
$acl = $this->aclMapper->find($id);
|
$acl = $this->aclMapper->find($id);
|
||||||
[$edit, $share, $manage] = $this->applyPermissions($acl->getBoardId(), $edit, $share, $manage);
|
|
||||||
$acl->setPermissionEdit($edit);
|
$acl->setPermissionEdit($edit);
|
||||||
$acl->setPermissionShare($share);
|
$acl->setPermissionShare($share);
|
||||||
$acl->setPermissionManage($manage);
|
$acl->setPermissionManage($manage);
|
||||||
|
|||||||
@@ -588,17 +588,10 @@ class CardService {
|
|||||||
$assignments = $this->assignedUsersMapper->find($cardId);
|
$assignments = $this->assignedUsersMapper->find($cardId);
|
||||||
foreach ($assignments as $assignment) {
|
foreach ($assignments as $assignment) {
|
||||||
if ($assignment->getParticipant() === $userId) {
|
if ($assignment->getParticipant() === $userId) {
|
||||||
throw new BadRequestException('The user is already assigned to the card');
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$card = $this->cardMapper->find($cardId);
|
$card = $this->cardMapper->find($cardId);
|
||||||
$boardId = $this->cardMapper->findBoardId($cardId);
|
|
||||||
$boardUsers = array_keys($this->permissionService->findUsers($boardId, true));
|
|
||||||
if (!in_array($userId, $boardUsers)) {
|
|
||||||
throw new BadRequestException('The user is not part of the board');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if ($userId !== $this->currentUser) {
|
if ($userId !== $this->currentUser) {
|
||||||
/* Notifyuser about the card assignment */
|
/* Notifyuser about the card assignment */
|
||||||
|
|||||||
@@ -221,9 +221,9 @@ class PermissionService {
|
|||||||
* @param $boardId
|
* @param $boardId
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function findUsers($boardId, $refresh = false) {
|
public function findUsers($boardId) {
|
||||||
// cache users of a board so we don't query them for every cards
|
// cache users of a board so we don't query them for every cards
|
||||||
if (array_key_exists((string) $boardId, $this->users) && !$refresh) {
|
if (array_key_exists((string) $boardId, $this->users)) {
|
||||||
return $this->users[(string) $boardId];
|
return $this->users[(string) $boardId];
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -102,25 +102,34 @@ class AssignedUsersMapperTest extends \Test\TestCase {
|
|||||||
$this->stacks = $stacks;
|
$this->stacks = $stacks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers ::__construct
|
||||||
|
*/
|
||||||
|
public function testConstructor() {
|
||||||
|
//$this->assertAttributeInstanceOf(IDBConnection::class, 'db', $this->assignedUsersMapper);
|
||||||
|
//$this->assertAttributeEquals(AssignedUsers::class, 'entityClass', $this->assignedUsersMapper);
|
||||||
|
//$this->assertAttributeEquals('*PREFIX*deck_assigned_users', 'tableName', $this->assignedUsersMapper);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @covers ::find
|
* @covers ::find
|
||||||
*/
|
*/
|
||||||
public function testFind() {
|
public function testFind() {
|
||||||
$uids = [];
|
$uids = [];
|
||||||
$this->cardService->assignUser($this->cards[0]->getId(), self::TEST_USER1);
|
$this->cardService->assignUser($this->cards[0]->getId(), self::TEST_USER1);
|
||||||
$this->cardService->assignUser($this->cards[0]->getId(), self::TEST_USER2);
|
$this->cardService->assignUser($this->cards[0]->getId(), self::TEST_USER4);
|
||||||
|
|
||||||
$assignedUsers = $this->assignedUsersMapper->find($this->cards[0]->getId());
|
$assignedUsers = $this->assignedUsersMapper->find($this->cards[0]->getId());
|
||||||
foreach ($assignedUsers as $user) {
|
foreach ($assignedUsers as $user) {
|
||||||
$uids[$user->getParticipant()] = $user;
|
$uids[$user->getParticipant()] = $user;
|
||||||
}
|
}
|
||||||
$this->assertArrayHasKey(self::TEST_USER1, $uids);
|
$this->assertArrayHasKey(self::TEST_USER1, $uids);
|
||||||
$this->assertArrayHasKey(self::TEST_USER2, $uids);
|
$this->assertArrayNotHasKey(self::TEST_USER2, $uids);
|
||||||
$this->assertArrayNotHasKey(self::TEST_USER3, $uids);
|
$this->assertArrayNotHasKey(self::TEST_USER3, $uids);
|
||||||
$this->assertArrayNotHasKey(self::TEST_USER4, $uids);
|
$this->assertArrayHasKey(self::TEST_USER4, $uids);
|
||||||
|
|
||||||
$this->cardService->unassignUser($this->cards[0]->getId(), self::TEST_USER1);
|
$this->cardService->unassignUser($this->cards[0]->getId(), self::TEST_USER1);
|
||||||
$this->cardService->unassignUser($this->cards[0]->getId(), self::TEST_USER2);
|
$this->cardService->unassignUser($this->cards[0]->getId(), self::TEST_USER4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ class ActivityManagerTest extends TestCase {
|
|||||||
if (strpos($constant, 'SUBJECT') === 0) {
|
if (strpos($constant, 'SUBJECT') === 0) {
|
||||||
$format = $this->activityManager->getActivityFormat($value, [], false);
|
$format = $this->activityManager->getActivityFormat($value, [], false);
|
||||||
if ($format !== '') {
|
if ($format !== '') {
|
||||||
$this->assertContains('{user}', $format);
|
$this->assertStringContainsString('{user}', $format);
|
||||||
} else {
|
} else {
|
||||||
/** @noinspection ForgottenDebugOutputInspection */
|
/** @noinspection ForgottenDebugOutputInspection */
|
||||||
print_r('No activity string found for '. $constant . PHP_EOL);
|
print_r('No activity string found for '. $constant . PHP_EOL);
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ use OCA\Deck\Db\BoardMapper;
|
|||||||
use OCA\Deck\Db\ChangeHelper;
|
use OCA\Deck\Db\ChangeHelper;
|
||||||
use OCA\Deck\Db\LabelMapper;
|
use OCA\Deck\Db\LabelMapper;
|
||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
use OCA\Deck\NoPermissionException;
|
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
@@ -261,93 +260,6 @@ class BoardServiceTest extends TestCase {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function dataAddAclExtendPermission() {
|
|
||||||
return [
|
|
||||||
[[false, false, false], [false, false, false], [false, false, false]],
|
|
||||||
[[false, false, false], [true, true, true], [false, false, false]],
|
|
||||||
|
|
||||||
// user has share permissions -> can only reshare with those
|
|
||||||
[[false, true, false], [false, false, false], [false, false, false]],
|
|
||||||
[[false, true, false], [false, true, false], [false, true, false]],
|
|
||||||
[[false, true, false], [true, true, true], [false, true, false]],
|
|
||||||
|
|
||||||
// user has write permissions -> can only reshare with those
|
|
||||||
[[true, true, false], [false, false, false], [false, false, false]],
|
|
||||||
[[true, true, false], [false, true, false], [false, true, false]],
|
|
||||||
[[true, true, false], [true, true, true], [true, true, false]],
|
|
||||||
|
|
||||||
// user has manage permissions -> can upgrade acl permissions
|
|
||||||
[[false, false, true], [true, true, true], [true, true, true]],
|
|
||||||
[[true, true, true], [false, false, true], [false, false, true]],
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @dataProvider dataAddAclExtendPermission
|
|
||||||
* @param $currentUserAcl
|
|
||||||
* @param $providedAcl
|
|
||||||
* @param $resultingAcl
|
|
||||||
* @throws NoPermissionException
|
|
||||||
* @throws \OCA\Deck\BadRequestException
|
|
||||||
*/
|
|
||||||
public function testAddAclExtendPermission($currentUserAcl, $providedAcl, $resultingAcl) {
|
|
||||||
$existingAcl = new Acl();
|
|
||||||
$existingAcl->setBoardId(123);
|
|
||||||
$existingAcl->setType('user');
|
|
||||||
$existingAcl->setParticipant('admin');
|
|
||||||
$existingAcl->setPermissionEdit($currentUserAcl[0]);
|
|
||||||
$existingAcl->setPermissionShare($currentUserAcl[1]);
|
|
||||||
$existingAcl->setPermissionManage($currentUserAcl[2]);
|
|
||||||
$this->permissionService->expects($this->at(0))
|
|
||||||
->method('checkPermission')
|
|
||||||
->with($this->boardMapper, 123, Acl::PERMISSION_SHARE, null);
|
|
||||||
if ($currentUserAcl[2]) {
|
|
||||||
$this->permissionService->expects($this->at(1))
|
|
||||||
->method('checkPermission')
|
|
||||||
->with($this->boardMapper, 123, Acl::PERMISSION_MANAGE, null);
|
|
||||||
} else {
|
|
||||||
$this->aclMapper->expects($this->once())
|
|
||||||
->method('findAll')
|
|
||||||
->willReturn([$existingAcl]);
|
|
||||||
$this->permissionService->expects($this->at(1))
|
|
||||||
->method('checkPermission')
|
|
||||||
->with($this->boardMapper, 123, Acl::PERMISSION_MANAGE, null)
|
|
||||||
->willThrowException(new NoPermissionException('No permission'));
|
|
||||||
$this->permissionService->expects($this->at(2))
|
|
||||||
->method('userCan')
|
|
||||||
->willReturn($currentUserAcl[0]);
|
|
||||||
$this->permissionService->expects($this->at(3))
|
|
||||||
->method('userCan')
|
|
||||||
->willReturn($currentUserAcl[1]);
|
|
||||||
$this->permissionService->expects($this->at(4))
|
|
||||||
->method('userCan')
|
|
||||||
->willReturn($currentUserAcl[2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
$user = $this->createMock(IUser::class);
|
|
||||||
$user->method('getUID')->willReturn('admin');
|
|
||||||
$acl = new Acl();
|
|
||||||
$acl->setBoardId(123);
|
|
||||||
$acl->setType('user');
|
|
||||||
$acl->setParticipant('admin');
|
|
||||||
$acl->setPermissionEdit($resultingAcl[0]);
|
|
||||||
$acl->setPermissionShare($resultingAcl[1]);
|
|
||||||
$acl->setPermissionManage($resultingAcl[2]);
|
|
||||||
$acl->resolveRelation('participant', function($participant) use (&$user) {
|
|
||||||
return null;
|
|
||||||
});
|
|
||||||
$this->notificationHelper->expects($this->once())
|
|
||||||
->method('sendBoardShared');
|
|
||||||
$expected = clone $acl;
|
|
||||||
$this->aclMapper->expects($this->once())
|
|
||||||
->method('insert')
|
|
||||||
->with($acl)
|
|
||||||
->willReturn($acl);
|
|
||||||
$this->assertEquals($expected, $this->service->addAcl(
|
|
||||||
123, 'user', 'admin', $providedAcl[0], $providedAcl[1], $providedAcl[2]
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testUpdateAcl() {
|
public function testUpdateAcl() {
|
||||||
$acl = new Acl();
|
$acl = new Acl();
|
||||||
$acl->setBoardId(123);
|
$acl->setBoardId(123);
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ namespace OCA\Deck\Service;
|
|||||||
|
|
||||||
|
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\BadRequestException;
|
|
||||||
use OCA\Deck\Db\AssignedUsers;
|
use OCA\Deck\Db\AssignedUsers;
|
||||||
use OCA\Deck\Db\AssignedUsersMapper;
|
use OCA\Deck\Db\AssignedUsersMapper;
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
@@ -47,22 +46,22 @@ use Test\TestCase;
|
|||||||
|
|
||||||
class CardServiceTest extends TestCase {
|
class CardServiceTest extends TestCase {
|
||||||
|
|
||||||
/** @var CardService|MockObject */
|
/** @var CardService|MockObject */
|
||||||
private $cardService;
|
private $cardService;
|
||||||
/** @var CardMapper|MockObject */
|
/** @var CardMapper|MockObject */
|
||||||
private $cardMapper;
|
private $cardMapper;
|
||||||
/** @var StackMapper|MockObject */
|
/** @var StackMapper|MockObject */
|
||||||
private $stackMapper;
|
private $stackMapper;
|
||||||
/** @var PermissionService|MockObject */
|
/** @var PermissionService|MockObject */
|
||||||
private $permissionService;
|
private $permissionService;
|
||||||
/** @var NotificationHelper */
|
/** @var NotificationHelper */
|
||||||
private $notificationHelper;
|
private $notificationHelper;
|
||||||
/** @var AssignedUsersMapper|MockObject */
|
/** @var AssignedUsersMapper|MockObject */
|
||||||
private $assignedUsersMapper;
|
private $assignedUsersMapper;
|
||||||
/** @var BoardService|MockObject */
|
/** @var BoardService|MockObject */
|
||||||
private $boardService;
|
private $boardService;
|
||||||
/** @var LabelMapper|MockObject */
|
/** @var LabelMapper|MockObject */
|
||||||
private $labelMapper;
|
private $labelMapper;
|
||||||
private $boardMapper;
|
private $boardMapper;
|
||||||
/** @var AttachmentService|MockObject */
|
/** @var AttachmentService|MockObject */
|
||||||
private $attachmentService;
|
private $attachmentService;
|
||||||
@@ -78,15 +77,15 @@ class CardServiceTest extends TestCase {
|
|||||||
private $changeHelper;
|
private $changeHelper;
|
||||||
|
|
||||||
public function setUp(): void {
|
public function setUp(): void {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
$this->cardMapper = $this->createMock(CardMapper::class);
|
$this->cardMapper = $this->createMock(CardMapper::class);
|
||||||
$this->stackMapper = $this->createMock(StackMapper::class);
|
$this->stackMapper = $this->createMock(StackMapper::class);
|
||||||
$this->boardMapper = $this->createMock(BoardMapper::class);
|
$this->boardMapper = $this->createMock(BoardMapper::class);
|
||||||
$this->labelMapper = $this->createMock(LabelMapper::class);
|
$this->labelMapper = $this->createMock(LabelMapper::class);
|
||||||
$this->permissionService = $this->createMock(PermissionService::class);
|
$this->permissionService = $this->createMock(PermissionService::class);
|
||||||
$this->boardService = $this->createMock(BoardService::class);
|
$this->boardService = $this->createMock(BoardService::class);
|
||||||
$this->notificationHelper = $this->createMock(NotificationHelper::class);
|
$this->notificationHelper = $this->createMock(NotificationHelper::class);
|
||||||
$this->assignedUsersMapper = $this->createMock(AssignedUsersMapper::class);
|
$this->assignedUsersMapper = $this->createMock(AssignedUsersMapper::class);
|
||||||
$this->attachmentService = $this->createMock(AttachmentService::class);
|
$this->attachmentService = $this->createMock(AttachmentService::class);
|
||||||
$this->activityManager = $this->createMock(ActivityManager::class);
|
$this->activityManager = $this->createMock(ActivityManager::class);
|
||||||
$this->commentsManager = $this->createMock(ICommentsManager::class);
|
$this->commentsManager = $this->createMock(ICommentsManager::class);
|
||||||
@@ -109,10 +108,10 @@ class CardServiceTest extends TestCase {
|
|||||||
$this->changeHelper,
|
$this->changeHelper,
|
||||||
$this->eventDispatcher,
|
$this->eventDispatcher,
|
||||||
'user1'
|
'user1'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function mockActivity($type, $object, $subject) {
|
public function mockActivity($type, $object, $subject) {
|
||||||
// ActivityManager::DECK_OBJECT_BOARD, $newAcl, ActivityManager::SUBJECT_BOARD_SHARE
|
// ActivityManager::DECK_OBJECT_BOARD, $newAcl, ActivityManager::SUBJECT_BOARD_SHARE
|
||||||
$event = $this->createMock(IEvent::class);
|
$event = $this->createMock(IEvent::class);
|
||||||
$this->activityManager->expects($this->once())
|
$this->activityManager->expects($this->once())
|
||||||
@@ -124,244 +123,214 @@ class CardServiceTest extends TestCase {
|
|||||||
->with($event);
|
->with($event);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testFind() {
|
public function testFind() {
|
||||||
$user = $this->createMock(IUser::class);
|
$user = $this->createMock(IUser::class);
|
||||||
$this->userManager->expects($this->once())
|
$this->userManager->expects($this->once())
|
||||||
->method('get')
|
->method('get')
|
||||||
->willReturn($user);
|
->willReturn($user);
|
||||||
$card = new Card();
|
$card = new Card();
|
||||||
$card->setId(1337);
|
$card->setId(1337);
|
||||||
$this->cardMapper->expects($this->any())
|
$this->cardMapper->expects($this->any())
|
||||||
->method('find')
|
->method('find')
|
||||||
->with(123)
|
->with(123)
|
||||||
->willReturn($card);
|
->willReturn($card);
|
||||||
$this->assignedUsersMapper->expects($this->any())
|
$this->assignedUsersMapper->expects($this->any())
|
||||||
->method('find')
|
->method('find')
|
||||||
->with(1337)
|
->with(1337)
|
||||||
->willReturn(['user1', 'user2']);
|
->willReturn(['user1', 'user2']);
|
||||||
$cardExpected = new Card();
|
$cardExpected = new Card();
|
||||||
$cardExpected->setId(1337);
|
$cardExpected->setId(1337);
|
||||||
$cardExpected->setAssignedUsers(['user1', 'user2']);
|
$cardExpected->setAssignedUsers(['user1', 'user2']);
|
||||||
$this->assertEquals($cardExpected, $this->cardService->find(123));
|
$this->assertEquals($cardExpected, $this->cardService->find(123));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testCreate() {
|
public function testCreate() {
|
||||||
$card = new Card();
|
$card = new Card();
|
||||||
$card->setTitle('Card title');
|
$card->setTitle('Card title');
|
||||||
$card->setOwner('admin');
|
$card->setOwner('admin');
|
||||||
$card->setStackId(123);
|
$card->setStackId(123);
|
||||||
$card->setOrder(999);
|
$card->setOrder(999);
|
||||||
$card->setType('text');
|
$card->setType('text');
|
||||||
$this->cardMapper->expects($this->once())
|
$this->cardMapper->expects($this->once())
|
||||||
->method('insert')
|
->method('insert')
|
||||||
->willReturn($card);
|
->willReturn($card);
|
||||||
$b = $this->cardService->create('Card title', 123, 'text', 999, 'admin');
|
$b = $this->cardService->create('Card title', 123, 'text', 999, 'admin');
|
||||||
|
|
||||||
$this->assertEquals($b->getTitle(), 'Card title');
|
$this->assertEquals($b->getTitle(), 'Card title');
|
||||||
$this->assertEquals($b->getOwner(), 'admin');
|
$this->assertEquals($b->getOwner(), 'admin');
|
||||||
$this->assertEquals($b->getType(), 'text');
|
$this->assertEquals($b->getType(), 'text');
|
||||||
$this->assertEquals($b->getOrder(), 999);
|
$this->assertEquals($b->getOrder(), 999);
|
||||||
$this->assertEquals($b->getStackId(), 123);
|
$this->assertEquals($b->getStackId(), 123);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testDelete() {
|
public function testDelete() {
|
||||||
$cardToBeDeleted = new Card();
|
$cardToBeDeleted = new Card();
|
||||||
$this->cardMapper->expects($this->once())
|
$this->cardMapper->expects($this->once())
|
||||||
->method('find')
|
->method('find')
|
||||||
->willReturn($cardToBeDeleted);
|
->willReturn($cardToBeDeleted);
|
||||||
$this->cardMapper->expects($this->once())
|
$this->cardMapper->expects($this->once())
|
||||||
->method('update')
|
->method('update')
|
||||||
->willReturn($cardToBeDeleted);
|
->willReturn($cardToBeDeleted);
|
||||||
$this->cardService->delete(123);
|
$this->cardService->delete(123);
|
||||||
$this->assertTrue($cardToBeDeleted->getDeletedAt() <= time(), 'deletedAt is in the past');
|
$this->assertTrue($cardToBeDeleted->getDeletedAt() <= time(), 'deletedAt is in the past');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUpdate() {
|
public function testUpdate() {
|
||||||
$card = new Card();
|
$card = new Card();
|
||||||
$card->setTitle('title');
|
$card->setTitle('title');
|
||||||
$card->setArchived(false);
|
$card->setArchived(false);
|
||||||
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
||||||
$this->cardMapper->expects($this->once())->method('update')->willReturnCallback(function($c) { return $c; });
|
$this->cardMapper->expects($this->once())->method('update')->willReturnCallback(function($c) { return $c; });
|
||||||
$actual = $this->cardService->update(123, 'newtitle', 234, 'text', 999, 'foo', 'admin', '2017-01-01 00:00:00', null);
|
$actual = $this->cardService->update(123, 'newtitle', 234, 'text', 999, 'foo', 'admin', '2017-01-01 00:00:00', null);
|
||||||
$this->assertEquals('newtitle', $actual->getTitle());
|
$this->assertEquals('newtitle', $actual->getTitle());
|
||||||
$this->assertEquals(234, $actual->getStackId());
|
$this->assertEquals(234, $actual->getStackId());
|
||||||
$this->assertEquals('text', $actual->getType());
|
$this->assertEquals('text', $actual->getType());
|
||||||
$this->assertEquals(999, $actual->getOrder());
|
$this->assertEquals(999, $actual->getOrder());
|
||||||
$this->assertEquals('foo', $actual->getDescription());
|
$this->assertEquals('foo', $actual->getDescription());
|
||||||
$this->assertEquals('2017-01-01T00:00:00+00:00', $actual->getDuedate());
|
$this->assertEquals('2017-01-01T00:00:00+00:00', $actual->getDuedate());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUpdateArchived() {
|
public function testUpdateArchived() {
|
||||||
$card = new Card();
|
$card = new Card();
|
||||||
$card->setTitle('title');
|
$card->setTitle('title');
|
||||||
$card->setArchived(true);
|
$card->setArchived(true);
|
||||||
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
||||||
$this->cardMapper->expects($this->never())->method('update');
|
$this->cardMapper->expects($this->never())->method('update');
|
||||||
$this->expectException(StatusException::class);
|
$this->expectException(StatusException::class);
|
||||||
$this->cardService->update(123, 'newtitle', 234, 'text', 999, 'foo', 'admin', '2017-01-01 00:00:00', null, true);
|
$this->cardService->update(123, 'newtitle', 234, 'text', 999, 'foo', 'admin', '2017-01-01 00:00:00', null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testRename() {
|
public function testRename() {
|
||||||
$card = new Card();
|
$card = new Card();
|
||||||
$card->setTitle('title');
|
$card->setTitle('title');
|
||||||
$card->setArchived(false);
|
$card->setArchived(false);
|
||||||
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
||||||
$this->cardMapper->expects($this->once())->method('update')->willReturnCallback(function($c) { return $c; });
|
$this->cardMapper->expects($this->once())->method('update')->willReturnCallback(function($c) { return $c; });
|
||||||
$actual = $this->cardService->rename(123, 'newtitle');
|
$actual = $this->cardService->rename(123, 'newtitle');
|
||||||
$this->assertEquals('newtitle', $actual->getTitle());
|
$this->assertEquals('newtitle', $actual->getTitle());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testRenameArchived() {
|
public function testRenameArchived() {
|
||||||
$card = new Card();
|
$card = new Card();
|
||||||
$card->setTitle('title');
|
$card->setTitle('title');
|
||||||
$card->setArchived(true);
|
$card->setArchived(true);
|
||||||
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
||||||
$this->cardMapper->expects($this->never())->method('update');
|
$this->cardMapper->expects($this->never())->method('update');
|
||||||
|
$this->expectException(StatusException::class);
|
||||||
|
$this->cardService->rename(123, 'newtitle');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function dataReorder() {
|
||||||
|
return [
|
||||||
|
[0, 0, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]],
|
||||||
|
[0, 9, [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]],
|
||||||
|
[1, 3, [0, 2, 3, 1, 4, 5, 6, 7, 8, 9]]
|
||||||
|
];
|
||||||
|
}
|
||||||
|
/** @dataProvider dataReorder */
|
||||||
|
public function testReorder($cardId, $newPosition, $order) {
|
||||||
|
$cards = $this->getCards();
|
||||||
|
$cardsTmp = [];
|
||||||
|
$this->cardMapper->expects($this->at(0))->method('findAll')->willReturn($cards);
|
||||||
|
$result = $this->cardService->reorder($cardId, 123, $newPosition);
|
||||||
|
foreach ($result as $card) {
|
||||||
|
$actual[$card->getOrder()] = $card->getId();
|
||||||
|
}
|
||||||
|
$this->assertEquals($order, $actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getCards() {
|
||||||
|
$cards = [];
|
||||||
|
for($i=0; $i<10; $i++) {
|
||||||
|
$cards[$i] = new Card();
|
||||||
|
$cards[$i]->setTitle($i);
|
||||||
|
$cards[$i]->setOrder($i);
|
||||||
|
$cards[$i]->setId($i);
|
||||||
|
}
|
||||||
|
return $cards;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testReorderArchived() {
|
||||||
|
$card = new Card();
|
||||||
|
$card->setTitle('title');
|
||||||
|
$card->setArchived(true);
|
||||||
|
$this->cardMapper->expects($this->once())->method('findAll')->willReturn([$card]);
|
||||||
|
$this->cardMapper->expects($this->never())->method('update')->willReturnCallback(function($c) { return $c; });
|
||||||
|
$this->expectException(StatusException::class);
|
||||||
|
$actual = $this->cardService->reorder(123, 234, 1);
|
||||||
|
}
|
||||||
|
public function testArchive() {
|
||||||
|
$card = new Card();
|
||||||
|
$this->assertFalse($card->getArchived());
|
||||||
|
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
||||||
|
$this->cardMapper->expects($this->once())->method('update')->willReturnCallback(function($c) {
|
||||||
|
return $c;
|
||||||
|
});
|
||||||
|
$this->assertTrue($this->cardService->archive(123)->getArchived());
|
||||||
|
}
|
||||||
|
public function testUnarchive() {
|
||||||
|
$card = new Card();
|
||||||
|
$card->setArchived(true);
|
||||||
|
$this->assertTrue($card->getArchived());
|
||||||
|
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
||||||
|
$this->cardMapper->expects($this->once())->method('update')->willReturnCallback(function($c) {
|
||||||
|
return $c;
|
||||||
|
});
|
||||||
|
$this->assertFalse($this->cardService->unarchive(123)->getArchived());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAssignLabel() {
|
||||||
|
$card = new Card();
|
||||||
|
$card->setArchived(false);
|
||||||
|
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
||||||
|
$this->cardMapper->expects($this->once())->method('assignLabel');
|
||||||
|
$this->cardService->assignLabel(123, 999);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAssignLabelArchived() {
|
||||||
|
$card = new Card();
|
||||||
|
$card->setArchived(true);
|
||||||
|
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
||||||
|
$this->cardMapper->expects($this->never())->method('assignLabel');
|
||||||
|
$this->expectException(StatusException::class);
|
||||||
|
$this->cardService->assignLabel(123, 999);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testRemoveLabel() {
|
||||||
|
$card = new Card();
|
||||||
|
$card->setArchived(false);
|
||||||
|
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
||||||
|
$this->cardMapper->expects($this->once())->method('removeLabel');
|
||||||
|
$this->cardService->removeLabel(123, 999);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testRemoveLabelArchived() {
|
||||||
|
$card = new Card();
|
||||||
|
$card->setArchived(true);
|
||||||
|
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
||||||
|
$this->cardMapper->expects($this->never())->method('removeLabel');
|
||||||
$this->expectException(StatusException::class);
|
$this->expectException(StatusException::class);
|
||||||
$this->cardService->rename(123, 'newtitle');
|
$this->cardService->removeLabel(123, 999);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function dataReorder() {
|
public function testAssignUser() {
|
||||||
return [
|
$assignments = [];
|
||||||
[0, 0, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]],
|
$this->assignedUsersMapper->expects($this->once())
|
||||||
[0, 9, [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]],
|
|
||||||
[1, 3, [0, 2, 3, 1, 4, 5, 6, 7, 8, 9]]
|
|
||||||
];
|
|
||||||
}
|
|
||||||
/** @dataProvider dataReorder */
|
|
||||||
public function testReorder($cardId, $newPosition, $order) {
|
|
||||||
$cards = $this->getCards();
|
|
||||||
$cardsTmp = [];
|
|
||||||
$this->cardMapper->expects($this->at(0))->method('findAll')->willReturn($cards);
|
|
||||||
$result = $this->cardService->reorder($cardId, 123, $newPosition);
|
|
||||||
foreach ($result as $card) {
|
|
||||||
$actual[$card->getOrder()] = $card->getId();
|
|
||||||
}
|
|
||||||
$this->assertEquals($order, $actual);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function getCards() {
|
|
||||||
$cards = [];
|
|
||||||
for($i=0; $i<10; $i++) {
|
|
||||||
$cards[$i] = new Card();
|
|
||||||
$cards[$i]->setTitle($i);
|
|
||||||
$cards[$i]->setOrder($i);
|
|
||||||
$cards[$i]->setId($i);
|
|
||||||
}
|
|
||||||
return $cards;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testReorderArchived() {
|
|
||||||
$card = new Card();
|
|
||||||
$card->setTitle('title');
|
|
||||||
$card->setArchived(true);
|
|
||||||
$this->cardMapper->expects($this->once())->method('findAll')->willReturn([$card]);
|
|
||||||
$this->cardMapper->expects($this->never())->method('update')->willReturnCallback(function($c) { return $c; });
|
|
||||||
$this->expectException(StatusException::class);
|
|
||||||
$actual = $this->cardService->reorder(123, 234, 1);
|
|
||||||
}
|
|
||||||
public function testArchive() {
|
|
||||||
$card = new Card();
|
|
||||||
$this->assertFalse($card->getArchived());
|
|
||||||
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
|
||||||
$this->cardMapper->expects($this->once())->method('update')->willReturnCallback(function($c) {
|
|
||||||
return $c;
|
|
||||||
});
|
|
||||||
$this->assertTrue($this->cardService->archive(123)->getArchived());
|
|
||||||
}
|
|
||||||
public function testUnarchive() {
|
|
||||||
$card = new Card();
|
|
||||||
$card->setArchived(true);
|
|
||||||
$this->assertTrue($card->getArchived());
|
|
||||||
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
|
||||||
$this->cardMapper->expects($this->once())->method('update')->willReturnCallback(function($c) {
|
|
||||||
return $c;
|
|
||||||
});
|
|
||||||
$this->assertFalse($this->cardService->unarchive(123)->getArchived());
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testAssignLabel() {
|
|
||||||
$card = new Card();
|
|
||||||
$card->setArchived(false);
|
|
||||||
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
|
||||||
$this->cardMapper->expects($this->once())->method('assignLabel');
|
|
||||||
$this->cardService->assignLabel(123, 999);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testAssignLabelArchived() {
|
|
||||||
$card = new Card();
|
|
||||||
$card->setArchived(true);
|
|
||||||
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
|
||||||
$this->cardMapper->expects($this->never())->method('assignLabel');
|
|
||||||
$this->expectException(StatusException::class);
|
|
||||||
$this->cardService->assignLabel(123, 999);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testRemoveLabel() {
|
|
||||||
$card = new Card();
|
|
||||||
$card->setArchived(false);
|
|
||||||
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
|
||||||
$this->cardMapper->expects($this->once())->method('removeLabel');
|
|
||||||
$this->cardService->removeLabel(123, 999);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testRemoveLabelArchived() {
|
|
||||||
$card = new Card();
|
|
||||||
$card->setArchived(true);
|
|
||||||
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
|
|
||||||
$this->cardMapper->expects($this->never())->method('removeLabel');
|
|
||||||
$this->expectException(StatusException::class);
|
|
||||||
$this->cardService->removeLabel(123, 999);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testAssignUser() {
|
|
||||||
$assignments = [];
|
|
||||||
$this->assignedUsersMapper->expects($this->once())
|
|
||||||
->method('find')
|
->method('find')
|
||||||
->with(123)
|
->with(123)
|
||||||
->willReturn($assignments);
|
->willReturn($assignments);
|
||||||
$assignment = new AssignedUsers();
|
$assignment = new AssignedUsers();
|
||||||
$assignment->setCardId(123);
|
$assignment->setCardId(123);
|
||||||
$assignment->setParticipant('admin');
|
$assignment->setParticipant('admin');
|
||||||
$this->cardMapper->expects($this->once())
|
$this->assignedUsersMapper->expects($this->once())
|
||||||
->method('findBoardId')
|
|
||||||
->willReturn(1);
|
|
||||||
$this->permissionService->expects($this->once())
|
|
||||||
->method('findUsers')
|
|
||||||
->with(1)
|
|
||||||
->willReturn(['admin' => 'admin', 'user1' => 'user1']);
|
|
||||||
$this->assignedUsersMapper->expects($this->once())
|
|
||||||
->method('insert')
|
->method('insert')
|
||||||
->with($assignment)
|
->with($assignment)
|
||||||
->willReturn($assignment);
|
->willReturn($assignment);
|
||||||
$actual = $this->cardService->assignUser(123, 'admin');
|
$actual = $this->cardService->assignUser(123, 'admin');
|
||||||
$this->assertEquals($assignment, $actual);
|
$this->assertEquals($assignment, $actual);
|
||||||
}
|
|
||||||
|
|
||||||
public function testAssignUserNoParticipant() {
|
|
||||||
$this->expectException(BadRequestException::class);
|
|
||||||
$this->expectExceptionMessage('The user is not part of the board');
|
|
||||||
$assignments = [];
|
|
||||||
$this->assignedUsersMapper->expects($this->once())
|
|
||||||
->method('find')
|
|
||||||
->with(123)
|
|
||||||
->willReturn($assignments);
|
|
||||||
$assignment = new AssignedUsers();
|
|
||||||
$assignment->setCardId(123);
|
|
||||||
$assignment->setParticipant('admin');
|
|
||||||
$this->cardMapper->expects($this->once())
|
|
||||||
->method('findBoardId')
|
|
||||||
->willReturn(1);
|
|
||||||
$this->permissionService->expects($this->once())
|
|
||||||
->method('findUsers')
|
|
||||||
->with(1)
|
|
||||||
->willReturn(['user2' => 'user2', 'user1' => 'user1']);
|
|
||||||
$actual = $this->cardService->assignUser(123, 'admin');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testAssignUserExisting() {
|
public function testAssignUserExisting() {
|
||||||
$this->expectException(BadRequestException::class);
|
|
||||||
$this->expectExceptionMessage('The user is already assigned to the card');
|
|
||||||
$assignment = new AssignedUsers();
|
$assignment = new AssignedUsers();
|
||||||
$assignment->setCardId(123);
|
$assignment->setCardId(123);
|
||||||
$assignment->setParticipant('admin');
|
$assignment->setParticipant('admin');
|
||||||
@@ -395,8 +364,13 @@ class CardServiceTest extends TestCase {
|
|||||||
$this->assertEquals($assignment, $actual);
|
$this->assertEquals($assignment, $actual);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectException \OCA\Deck\NotFoundException
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
public function testUnassignUserNotExisting() {
|
public function testUnassignUserNotExisting() {
|
||||||
$this->expectException(NotFoundException::class);
|
|
||||||
$assignment = new AssignedUsers();
|
$assignment = new AssignedUsers();
|
||||||
$assignment->setCardId(123);
|
$assignment->setCardId(123);
|
||||||
$assignment->setParticipant('admin');
|
$assignment->setParticipant('admin');
|
||||||
|
|||||||
Reference in New Issue
Block a user