Compare commits

..

7 Commits

Author SHA1 Message Date
Jakob Röhrl
4d72435209 toast undo
Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
2020-09-24 09:11:12 +02:00
Jakob Röhrl
e360f4f9d9 Merge branch 'master' of https://github.com/nextcloud/deck 2020-09-24 08:07:01 +02:00
Jakob Röhrl
ff14afbe11 Merge branch 'master' of https://github.com/nextcloud/deck 2020-09-23 14:09:33 +02:00
Jakob Röhrl
b9d2e9c791 Revert "consistent naming"
This reverts commit a1bd13d960.
2020-09-23 13:21:23 +02:00
Jakob Röhrl
a1bd13d960 consistent naming
Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
2020-09-23 13:20:20 +02:00
Jakob Röhrl
6d5ddd4e2c Revert "consistent naming"
This reverts commit a34e8feb33.
2020-09-23 12:49:52 +02:00
Jakob Röhrl
a34e8feb33 consistent naming
Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
2020-09-23 12:44:30 +02:00
52 changed files with 361 additions and 627 deletions

131
.drone.yml Normal file
View File

@@ -0,0 +1,131 @@
kind: pipeline
name: checkers
steps:
- name: compatibility
image: nextcloudci/php7.3:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
DB: sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server
# Code checker
- ./occ app:check-code $APP_NAME -c strong-comparison
- ./occ app:check-code $APP_NAME -c deprecation
- cd apps/$APP_NAME/
- name: syntax-php7.2
image: nextcloudci/php7.2:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
DB: sqlite
commands:
- composer install
- ./vendor/bin/parallel-lint --exclude ./vendor/ .
- name: syntax-php7.3
image: nextcloudci/php7.3:php7.3-2
environment:
APP_NAME: deck
CORE_BRANCH: master
DB: sqlite
commands:
- composer install
- ./vendor/bin/parallel-lint --exclude ./vendor/ .
- name: syntax-php7.4
image: nextcloudci/php7.4:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
DB: sqlite
commands:
- composer install
- ./vendor/bin/parallel-lint --exclude ./vendor/ .
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: unit-php7.3
steps:
- name: php7.3
image: nextcloudci/php7.3:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
DB: sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server/
- php occ app:enable deck
- cd apps/$APP_NAME
- composer install
- 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
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
kind: pipeline
name: unit-php7.4
steps:
- name: php7.4
image: nextcloudci/php7.4:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
DB: sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server/
- php occ app:enable deck
- cd apps/$APP_NAME
- composer install
- 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
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
---
kind: pipeline
name: integration
steps:
- name: integration
image: nextcloudci/php7.3:latest
environment:
APP_NAME: deck
CORE_BRANCH: master
DB: sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server/
- php occ app:enable deck
- cd apps/$APP_NAME
- cd tests/integration
- ./run.sh || true
trigger:
branch:
- master
- stable*
event:
- pull_request
- push

View File

@@ -1,55 +0,0 @@
name: PHP AppCode Check
on:
pull_request:
push:
branches:
- master
- stable*
env:
APP_NAME: deck
jobs:
unit-tests:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.4']
server-versions: ['master', 'stable18', 'stable19', 'stable20']
name: AppCode check php${{ matrix.php-versions }}-${{ matrix.server-versions }}
steps:
- name: Checkout server
uses: actions/checkout@v2
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout app
uses: actions/checkout@v2
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v1
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite
- name: Checkout app
uses: actions/checkout@v2
with:
path: apps/${{ env.APP_NAME }}
- name: App code check
run: php occ app:check-code ${{ env.APP_NAME }}

View File

@@ -1,215 +0,0 @@
name: PHPUnit
on:
pull_request:
push:
branches:
- master
- stable*
env:
APP_NAME: deck
jobs:
php:
runs-on: ubuntu-latest
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['7.4']
databases: ['sqlite']
server-versions: ['master']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
steps:
- name: Checkout server
uses: actions/checkout@v2
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout app
uses: actions/checkout@v2
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v1
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite
coverage: none
- name: Set up PHPUnit
working-directory: apps/${{ env.APP_NAME }}
run: composer i
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
./occ maintenance:install --verbose --database=${{ matrix.databases }} --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force ${{ env.APP_NAME }}
php -S localhost:8080 &
- name: PHPUnit
working-directory: apps/${{ env.APP_NAME }}
run: ./vendor/phpunit/phpunit/phpunit -c tests/phpunit.xml
- name: PHPUnit integration
working-directory: apps/${{ env.APP_NAME }}
run: ./vendor/phpunit/phpunit/phpunit -c tests/phpunit.integration.xml
mysql:
runs-on: ubuntu-latest
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['7.3', '7.4']
databases: ['mysql']
server-versions: ['master']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
services:
mysql:
image: mariadb
ports:
- 4444:3306/tcp
env:
MYSQL_ROOT_PASSWORD: rootpassword
options: --health-cmd="mysqladmin ping" --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@v2
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout app
uses: actions/checkout@v2
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v1
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, iconv, fileinfo, intl, mysql, pdo_mysql
coverage: none
- name: Set up PHPUnit
working-directory: apps/${{ env.APP_NAME }}
run: composer i
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
./occ maintenance:install --verbose --database=${{ matrix.databases }} --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force ${{ env.APP_NAME }}
php -S localhost:8080 &
- name: PHPUnit
working-directory: apps/${{ env.APP_NAME }}
run: ./vendor/phpunit/phpunit/phpunit -c tests/phpunit.xml
- name: PHPUnit integration
working-directory: apps/${{ env.APP_NAME }}
run: ./vendor/phpunit/phpunit/phpunit -c tests/phpunit.integration.xml
pgsql:
runs-on: ubuntu-latest
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['7.4']
databases: ['pgsql']
server-versions: ['master']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
services:
postgres:
image: postgres
ports:
- 4444:5432/tcp
env:
POSTGRES_USER: root
POSTGRES_PASSWORD: rootpassword
POSTGRES_DB: nextcloud
options: --health-cmd pg_isready --health-interval 5s --health-timeout 2s --health-retries 5
steps:
- name: Checkout server
uses: actions/checkout@v2
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout app
uses: actions/checkout@v2
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v1
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
extensions: mbstring, iconv, fileinfo, intl, pgsql, pdo_pgsql
coverage: none
- name: Set up PHPUnit
working-directory: apps/${{ env.APP_NAME }}
run: composer i
- name: Set up Nextcloud
env:
DB_PORT: 4444
run: |
mkdir data
./occ maintenance:install --verbose --database=${{ matrix.databases }} --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass password
./occ app:enable --force ${{ env.APP_NAME }}
php -S localhost:8080 &
- name: PHPUnit
working-directory: apps/${{ env.APP_NAME }}
run: ./vendor/phpunit/phpunit/phpunit -c tests/phpunit.xml
- name: PHPUnit integration
working-directory: apps/${{ env.APP_NAME }}
run: ./vendor/phpunit/phpunit/phpunit -c tests/phpunit.integration.xml

36
.travis.yml Normal file
View File

@@ -0,0 +1,36 @@
language: php
services:
- mysql
php:
- 7.3
env:
- CORE_BRANCH=master DB=mysql
matrix:
include:
- php: 7.2
env: "DB=sqlite CORE_BRANCH=stable20"
before_install:
- export PATH="$PWD/vendor/bin:$PATH"
- phpunit --version
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh deck $CORE_BRANCH $DB
- cd ../server
- ./occ app:enable deck
before_script:
- cd apps/deck
script:
- composer install
- make test-unit
after_success:
- bash <(curl -s https://codecov.io/bash)
after_failure:
- cat ../../data/nextcloud.log
notifications:
email: false

View File

@@ -1,46 +1,31 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.1.0 - 2020-10-03
## 1.1.0 - unreleased
### Features
### Merged PRs
* [#2115](https://github.com/nextcloud/deck/pull/2115) Dashboard widget for Nextcloud 20
* [#1545](https://github.com/nextcloud/deck/pull/1545) Show cards in calendar/tasks app and make them available though CalDAV
* [#2200](https://github.com/nextcloud/deck/pull/2200) Unified search implementation for Nextcloud 20
* [#1934](https://github.com/nextcloud/deck/pull/1934) Upcoming cards overview @jakobroehrl
* [#2047](https://github.com/nextcloud/deck/pull/2047) Show card details in modal @jakobroehrl
* [#1853](https://github.com/nextcloud/deck/pull/1853) Archive all cards from stack @jakobroehrl
* [#1865](https://github.com/nextcloud/deck/pull/1865) Add stack button on empty board @jakobroehrl
* [#1926](https://github.com/nextcloud/deck/pull/1926) New filter: unassigned cards @jakobroehrl
### Bugfixes
* [#1934](https://github.com/nextcloud/deck/pull/1934) Card dashboard @jakobroehrl
* [#2035](https://github.com/nextcloud/deck/pull/2035) Attach files in description @jakobroehrl
* [#2047](https://github.com/nextcloud/deck/pull/2047) Show card details in modal @jakobroehrl
* [#2115](https://github.com/nextcloud/deck/pull/2115) Dashboard panel @juliushaertl
* [#2123](https://github.com/nextcloud/deck/pull/2123) Fix control tooltip @jakobroehrl
* [#2144](https://github.com/nextcloud/deck/pull/2144) Fix nextcloud if install with dev dependencies @matchish
* [#2158](https://github.com/nextcloud/deck/pull/2158) Fix description in dark mode
* [#2157](https://github.com/nextcloud/deck/pull/2157) Build/webpack shared config @juliushaertl
* [#2158](https://github.com/nextcloud/deck/pull/2158) Fix description in dark mode @juliushaertl
* [#2169](https://github.com/nextcloud/deck/pull/2169) Bump webpack-merge from 5.0.9 to 5.1.0 @dependabot
* [#2170](https://github.com/nextcloud/deck/pull/2170) Add lastModified date to boards API documentation @stefan-niedermann
* [#2188](https://github.com/nextcloud/deck/pull/2188) CardBadges: Count checkboxes started with "+ [ ]" @joreiff
* [#2206](https://github.com/nextcloud/deck/pull/2206) Fix read-only sidebar (fixes #2033)
* [#2208](https://github.com/nextcloud/deck/pull/2208) Fix design, dark mode and keyboard navigation of the board list
* [#2200](https://github.com/nextcloud/deck/pull/2200) Unified search implementation @juliushaertl
* [#2206](https://github.com/nextcloud/deck/pull/2206) Fix read-only sidebar (fixes #2033) @juliushaertl
* [#2208](https://github.com/nextcloud/deck/pull/2208) Fix design, dark mode and keyboard navigation of the board list @juliushaertl
* [#2210](https://github.com/nextcloud/deck/pull/2210) Fix an incorrect/misleading message in lib/Service/BoardService.php @jordanbancino
* [#2243](https://github.com/nextcloud/deck/pull/2243) Various smaller styling fixes
* [#2244](https://github.com/nextcloud/deck/pull/2244) Toggle filter on clicking card labels
* [#2117](https://github.com/nextcloud/deck/pull/2117) Activity fixes
* [#2255](https://github.com/nextcloud/deck/pull/2255) Use unified search events to apply on board filtering
* [#2271](https://github.com/nextcloud/deck/pull/2271) Sort tags in filter @jakobroehrl
* [#2318](https://github.com/nextcloud/deck/pull/2318) Card title: prevent space and no text @jakobroehrl
* [#2319](https://github.com/nextcloud/deck/pull/2319) Move style loading to BeforeTemplateRenderedEvent
* [#2320](https://github.com/nextcloud/deck/pull/2320) Consistent naming @jakobroehrl
* [#2252](https://github.com/nextcloud/deck/pull/2252) Fix double slash in the deck activity links @baraksoa
* [#2270](https://github.com/nextcloud/deck/pull/2270) Fix empty content view to align with other widgets
* [#2275](https://github.com/nextcloud/deck/pull/2275) Wait for services to be registered before performing further setup that requires services
* [#2278](https://github.com/nextcloud/deck/pull/2278) Fix wrong SQL queries @Chartman123
* [#2279](https://github.com/nextcloud/deck/pull/2279) L10n:add translation to card placeholder @mjanssens
* [#2282](https://github.com/nextcloud/deck/pull/2282) Duedate picker localization
* [#2283](https://github.com/nextcloud/deck/pull/2283) Do not handle exceptions from page controller in the ExceptionMiddleware
* [#2298](https://github.com/nextcloud/deck/pull/2298) Use absolute URLs for the search @nickvergessen
* [#2211](https://github.com/nextcloud/deck/pull/2211) Update incorrect field in API documentation (docs/API.md) @jordanbancino
* [#2243](https://github.com/nextcloud/deck/pull/2243) Various smaller styling fixes @juliushaertl
* [#2244](https://github.com/nextcloud/deck/pull/2244) Toggle filter on clicking card labels @juliushaertl
## 1.0.5 - 2020-07-15

View File

@@ -23,15 +23,12 @@ install-deps: install-deps-js
install-deps-nodev: install-deps-js
composer install --no-dev
autoloader:
composer dump-autoload
install-deps-js:
npm ci
build: clean-dist install-deps build-js
release: clean-dist install-deps-nodev autoloader build-js
release: clean-dist install-deps-nodev build-js
build-js: install-deps-js
npm run build

29
appinfo/autoload.php Normal file
View File

@@ -0,0 +1,29 @@
<?php
/**
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @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\AppInfo;
/**
* Additional autoloader registration, e.g. registering composer autoloaders
*/
require_once __DIR__ . '/../vendor/autoload.php';

View File

@@ -17,7 +17,7 @@
- 🚀 Get your project organized
</description>
<version>1.2.0-dev1</version>
<version>1.1.0-beta2</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>

View File

@@ -1,38 +1,31 @@
{
"name": "nextcloud/deck",
"type": "project",
"license": "AGPLv3",
"authors": [
{
"name": "Julius Härtl",
"email": "jus@bitgrid.net"
}
],
"require": {
"cogpowered/finediff": "0.3.*"
},
"require-dev": {
"roave/security-advisories": "dev-master",
"christophwurst/nextcloud": "^17",
"jakub-onderka/php-parallel-lint": "^1.0.0",
"phpunit/phpunit": "^8",
"nextcloud/coding-standard": "^0.3.0",
"symfony/event-dispatcher": "^4.0"
},
"config": {
"optimize-autoloader": true,
"classmap-authoritative": true,
"vendor-dir": "composer",
"autoloader-suffix": "Deck"
},
"autoload" : {
"psr-4": {
"OCA\\Deck\\": "lib/"
}
},
"scripts": {
"lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l",
"cs:check": "php-cs-fixer fix --dry-run --diff",
"cs:fix": "php-cs-fixer fix"
}
"name": "nextcloud/deck",
"type": "project",
"license": "AGPLv3",
"authors": [
{
"name": "Julius Härtl",
"email": "jus@bitgrid.net"
}
],
"require": {
"cogpowered/finediff": "0.3.*"
},
"require-dev": {
"roave/security-advisories": "dev-master",
"christophwurst/nextcloud": "^17",
"jakub-onderka/php-parallel-lint": "^1.0.0",
"phpunit/phpunit": "^8",
"nextcloud/coding-standard": "^0.3.0",
"symfony/event-dispatcher": "^4.0"
},
"config": {
"optimize-autoloader": true,
"classmap-authoritative": true
},
"scripts": {
"lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l",
"cs:check": "php-cs-fixer fix --dry-run --diff",
"cs:fix": "php-cs-fixer fix"
}
}

View File

@@ -160,7 +160,6 @@ OC.L10N.register(
"Archive all cards in this list" : "Archivovat všechny karty v tomto seznamu",
"Add a new card" : "Přidat novou kartu",
"Card name" : "Název karty",
"List deleted" : "Seznam smazán",
"Edit" : "Upravit",
"Add a new tag" : "Přidat nový štítek",
"title and color value must be provided" : "je třeba zadat nadpis a zvolit barvu",
@@ -192,7 +191,6 @@ OC.L10N.register(
"Select Date" : "Vybrat datum",
"Modified" : "Změněno",
"Created" : "Vytvořeno",
"The title cannot be empty." : "Nadpis je třeba vyplnit.",
"No comments yet. Begin the discussion!" : "Zatím bez komentářů. Zahajte diskuzi!",
"Save" : "Uložit",
"The comment cannot be empty." : "Komentář je třeba vyplnit",
@@ -210,7 +208,6 @@ OC.L10N.register(
"Move card" : "Přesunout kartu",
"Move card to another board" : "Přesunout kartu na jinou tabuli",
"Select a list" : "Vyberte sloupec",
"Card deleted" : "Karta smazána",
"seconds ago" : "před několika sekundami",
"All boards" : "Všechny tabule",
"Archived boards" : "Archivované tabule",
@@ -219,7 +216,6 @@ OC.L10N.register(
"Show boards in calendar/tasks" : "Zobrazit tabule v kalendáři/úkolech",
"Limit deck usage of groups" : "Omezit využití 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.",
"Board name" : "Název tabule",
"Edit board" : "Upravit tabuli",
"Clone board " : "Klonovat tabuli ",
"Unarchive board " : "Vrátit tabuli zpět z archivu ",

View File

@@ -158,7 +158,6 @@
"Archive all cards in this list" : "Archivovat všechny karty v tomto seznamu",
"Add a new card" : "Přidat novou kartu",
"Card name" : "Název karty",
"List deleted" : "Seznam smazán",
"Edit" : "Upravit",
"Add a new tag" : "Přidat nový štítek",
"title and color value must be provided" : "je třeba zadat nadpis a zvolit barvu",
@@ -190,7 +189,6 @@
"Select Date" : "Vybrat datum",
"Modified" : "Změněno",
"Created" : "Vytvořeno",
"The title cannot be empty." : "Nadpis je třeba vyplnit.",
"No comments yet. Begin the discussion!" : "Zatím bez komentářů. Zahajte diskuzi!",
"Save" : "Uložit",
"The comment cannot be empty." : "Komentář je třeba vyplnit",
@@ -208,7 +206,6 @@
"Move card" : "Přesunout kartu",
"Move card to another board" : "Přesunout kartu na jinou tabuli",
"Select a list" : "Vyberte sloupec",
"Card deleted" : "Karta smazána",
"seconds ago" : "před několika sekundami",
"All boards" : "Všechny tabule",
"Archived boards" : "Archivované tabule",
@@ -217,7 +214,6 @@
"Show boards in calendar/tasks" : "Zobrazit tabule v kalendáři/úkolech",
"Limit deck usage of groups" : "Omezit využití 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.",
"Board name" : "Název tabule",
"Edit board" : "Upravit tabuli",
"Clone board " : "Klonovat tabuli ",
"Unarchive board " : "Vrátit tabuli zpět z archivu ",

View File

@@ -100,7 +100,7 @@ OC.L10N.register(
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Vergabe von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
"Card details" : "Kartendetails",
"Add board" : "Board hinzufügen",
"Add board" : "Benötigt keine Übersetzung. Für Android wird nur die formelle Übersetzung verwendet (de_DE).",
"Select the board to link to a project" : "Wähle ein Board aus, um dieses mit einem Projekt zu verknüpfen",
"Search by board title" : "Nach einem Board suchen",
"Select board" : "Board auswählen",
@@ -117,7 +117,7 @@ OC.L10N.register(
"This board is read only" : "Dieses Board ist schreibgeschützt",
"Drop your files to upload" : "Dateien zum Hochladen hineinziehen",
"Archived cards" : "Archivierte Karten",
"Add list" : "Liste hinzufügen",
"Add list" : "Benötigt keine Übersetzung. Für Android wird nur die formelle Übersetzung verwendet (de_DE).",
"List name" : "Listenname",
"Apply filter" : "Filter anwenden",
"Filter by tag" : "Nach Schlagwort filtern",
@@ -160,7 +160,6 @@ OC.L10N.register(
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
"Edit" : "Bearbeiten",
"Add a new tag" : "Neues Schlagwort hinzufügen",
"title and color value must be provided" : "Titel und Farbwert müssen angegeben werden",
@@ -192,7 +191,6 @@ OC.L10N.register(
"Select Date" : "Datum auswählen",
"Modified" : "Geändert",
"Created" : "Erstellt",
"The title cannot be empty." : "Der Titel darf nicht leer sein.",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginne die Diskussion!",
"Save" : "Speichern",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
@@ -210,7 +208,6 @@ OC.L10N.register(
"Move card" : "Karte verschieben",
"Move card to another board" : "Karte auf ein anderes Board verschieben",
"Select a list" : "Eine Liste auswählen",
"Card deleted" : "Karte gelöscht",
"seconds ago" : "Gerade eben",
"All boards" : "Alle Boards",
"Archived boards" : "Archivierte Boards",
@@ -219,7 +216,6 @@ OC.L10N.register(
"Show boards in calendar/tasks" : "Board im Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung von Deck auf Gruppen einschränken",
"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." : "Durch die Begrenzung von Deck werden Benutzer, die nicht Teil dieser Gruppen sind, daran gehindert, eigene Boards zu erstellen. Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"Board name" : "Board-Name",
"Edit board" : "Board bearbeiten",
"Clone board " : "Board duplizieren",
"Unarchive board " : "Board dearchivieren",

View File

@@ -98,7 +98,7 @@
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Vergabe von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
"Card details" : "Kartendetails",
"Add board" : "Board hinzufügen",
"Add board" : "Benötigt keine Übersetzung. Für Android wird nur die formelle Übersetzung verwendet (de_DE).",
"Select the board to link to a project" : "Wähle ein Board aus, um dieses mit einem Projekt zu verknüpfen",
"Search by board title" : "Nach einem Board suchen",
"Select board" : "Board auswählen",
@@ -115,7 +115,7 @@
"This board is read only" : "Dieses Board ist schreibgeschützt",
"Drop your files to upload" : "Dateien zum Hochladen hineinziehen",
"Archived cards" : "Archivierte Karten",
"Add list" : "Liste hinzufügen",
"Add list" : "Benötigt keine Übersetzung. Für Android wird nur die formelle Übersetzung verwendet (de_DE).",
"List name" : "Listenname",
"Apply filter" : "Filter anwenden",
"Filter by tag" : "Nach Schlagwort filtern",
@@ -158,7 +158,6 @@
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
"Edit" : "Bearbeiten",
"Add a new tag" : "Neues Schlagwort hinzufügen",
"title and color value must be provided" : "Titel und Farbwert müssen angegeben werden",
@@ -190,7 +189,6 @@
"Select Date" : "Datum auswählen",
"Modified" : "Geändert",
"Created" : "Erstellt",
"The title cannot be empty." : "Der Titel darf nicht leer sein.",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginne die Diskussion!",
"Save" : "Speichern",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
@@ -208,7 +206,6 @@
"Move card" : "Karte verschieben",
"Move card to another board" : "Karte auf ein anderes Board verschieben",
"Select a list" : "Eine Liste auswählen",
"Card deleted" : "Karte gelöscht",
"seconds ago" : "Gerade eben",
"All boards" : "Alle Boards",
"Archived boards" : "Archivierte Boards",
@@ -217,7 +214,6 @@
"Show boards in calendar/tasks" : "Board im Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung von Deck auf Gruppen einschränken",
"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." : "Durch die Begrenzung von Deck werden Benutzer, die nicht Teil dieser Gruppen sind, daran gehindert, eigene Boards zu erstellen. Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"Board name" : "Board-Name",
"Edit board" : "Board bearbeiten",
"Clone board " : "Board duplizieren",
"Unarchive board " : "Board dearchivieren",

View File

@@ -160,7 +160,6 @@ OC.L10N.register(
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
"Edit" : "Bearbeiten",
"Add a new tag" : "Neues Schlagwort hinzufügen",
"title and color value must be provided" : "Titel und Farbwert müssen angegeben werden",
@@ -192,7 +191,6 @@ OC.L10N.register(
"Select Date" : "Datum auswählen",
"Modified" : "Geändert",
"Created" : "Erstellt",
"The title cannot be empty." : "Der Titel darf nicht leer sein.",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginnen Sie die Diskussion!",
"Save" : "Speichern",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
@@ -210,7 +208,6 @@ OC.L10N.register(
"Move card" : "Karte verschieben",
"Move card to another board" : "Karte auf ein anderes Board verschieben",
"Select a list" : "Eine Liste auswählen",
"Card deleted" : "Karte gelöscht",
"seconds ago" : "Gerade eben",
"All boards" : "Alle Boards",
"Archived boards" : "Archivierte Boards",
@@ -219,7 +216,6 @@ OC.L10N.register(
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung von Deck auf Gruppen einschränken",
"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." : "Durch die Begrenzung von Deck werden Benutzer, die nicht Teil dieser Gruppen sind, daran gehindert, eigene Boards zu erstellen. Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"Board name" : "Board-Name",
"Edit board" : "Board bearbeiten",
"Clone board " : "Board duplizieren",
"Unarchive board " : "Board dearchivieren",

View File

@@ -158,7 +158,6 @@
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
"Edit" : "Bearbeiten",
"Add a new tag" : "Neues Schlagwort hinzufügen",
"title and color value must be provided" : "Titel und Farbwert müssen angegeben werden",
@@ -190,7 +189,6 @@
"Select Date" : "Datum auswählen",
"Modified" : "Geändert",
"Created" : "Erstellt",
"The title cannot be empty." : "Der Titel darf nicht leer sein.",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginnen Sie die Diskussion!",
"Save" : "Speichern",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
@@ -208,7 +206,6 @@
"Move card" : "Karte verschieben",
"Move card to another board" : "Karte auf ein anderes Board verschieben",
"Select a list" : "Eine Liste auswählen",
"Card deleted" : "Karte gelöscht",
"seconds ago" : "Gerade eben",
"All boards" : "Alle Boards",
"Archived boards" : "Archivierte Boards",
@@ -217,7 +214,6 @@
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung von Deck auf Gruppen einschränken",
"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." : "Durch die Begrenzung von Deck werden Benutzer, die nicht Teil dieser Gruppen sind, daran gehindert, eigene Boards zu erstellen. Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"Board name" : "Board-Name",
"Edit board" : "Board bearbeiten",
"Clone board " : "Board duplizieren",
"Unarchive board " : "Board dearchivieren",

View File

@@ -160,7 +160,6 @@ OC.L10N.register(
"Archive all cards in this list" : "Archivar todas las tarjetas en esta lista",
"Add a new card" : "Añadir una nueva tarjeta",
"Card name" : "Nombre de la tarjeta",
"List deleted" : "Lista borrada",
"Edit" : "Editar",
"Add a new tag" : "Añade una nueva etiqueta",
"title and color value must be provided" : "Se debe indicar un valor para título y color ",
@@ -192,7 +191,6 @@ OC.L10N.register(
"Select Date" : "Seleccione la fecha",
"Modified" : "Modificado",
"Created" : "Creado",
"The title cannot be empty." : "El título no puede estar vacío.",
"No comments yet. Begin the discussion!" : "Todavía no hay comentarios. ¡Comienza la discusión!",
"Save" : "Guardar",
"The comment cannot be empty." : "El comentario no puede estar vacío.",
@@ -210,7 +208,6 @@ OC.L10N.register(
"Move card" : "Mover tarjeta",
"Move card to another board" : "Mover la tarjeta a otro tablero",
"Select a list" : "Seleccionar una lista",
"Card deleted" : "Tarjeta borrada",
"seconds ago" : "hace unos segundos",
"All boards" : "Todos los tableros",
"Archived boards" : "Tableros archivados",
@@ -219,7 +216,6 @@ OC.L10N.register(
"Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
"Limit deck usage of groups" : "Limitar el uso de Deck a grupos",
"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." : "Limitar Deck impedirá que usuarios que no formen parte de esos grupos creen sus propios tableros. Los usuarios todavía podrán trabajar en tableros que hayan sido compartidos con ellos.",
"Board name" : "Nombre del tablero",
"Edit board" : "Editar tablero",
"Clone board " : "Clonar tablero",
"Unarchive board " : "Desarchivar tablero",

View File

@@ -158,7 +158,6 @@
"Archive all cards in this list" : "Archivar todas las tarjetas en esta lista",
"Add a new card" : "Añadir una nueva tarjeta",
"Card name" : "Nombre de la tarjeta",
"List deleted" : "Lista borrada",
"Edit" : "Editar",
"Add a new tag" : "Añade una nueva etiqueta",
"title and color value must be provided" : "Se debe indicar un valor para título y color ",
@@ -190,7 +189,6 @@
"Select Date" : "Seleccione la fecha",
"Modified" : "Modificado",
"Created" : "Creado",
"The title cannot be empty." : "El título no puede estar vacío.",
"No comments yet. Begin the discussion!" : "Todavía no hay comentarios. ¡Comienza la discusión!",
"Save" : "Guardar",
"The comment cannot be empty." : "El comentario no puede estar vacío.",
@@ -208,7 +206,6 @@
"Move card" : "Mover tarjeta",
"Move card to another board" : "Mover la tarjeta a otro tablero",
"Select a list" : "Seleccionar una lista",
"Card deleted" : "Tarjeta borrada",
"seconds ago" : "hace unos segundos",
"All boards" : "Todos los tableros",
"Archived boards" : "Tableros archivados",
@@ -217,7 +214,6 @@
"Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
"Limit deck usage of groups" : "Limitar el uso de Deck a grupos",
"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." : "Limitar Deck impedirá que usuarios que no formen parte de esos grupos creen sus propios tableros. Los usuarios todavía podrán trabajar en tableros que hayan sido compartidos con ellos.",
"Board name" : "Nombre del tablero",
"Edit board" : "Editar tablero",
"Clone board " : "Clonar tablero",
"Unarchive board " : "Desarchivar tablero",

View File

@@ -92,9 +92,6 @@ OC.L10N.register(
"List name" : "Listan nimi",
"Apply filter" : "Toteuta suodatus",
"Filter by tag" : "Suodata tunnisteen perusteella",
"Filter by assigned user" : "Suodata määritetyn käyttäjän mukaan",
"Unassigned" : "Määrittämätön",
"Filter by due date" : "Suodata määräpäivän mukaan",
"Overdue" : "Myöhässä",
"Next 24 hours" : "Seuraavat 24 tuntia",
"Next 7 days" : "Seuraavat 7 päivää",

View File

@@ -90,9 +90,6 @@
"List name" : "Listan nimi",
"Apply filter" : "Toteuta suodatus",
"Filter by tag" : "Suodata tunnisteen perusteella",
"Filter by assigned user" : "Suodata määritetyn käyttäjän mukaan",
"Unassigned" : "Määrittämätön",
"Filter by due date" : "Suodata määräpäivän mukaan",
"Overdue" : "Myöhässä",
"Next 24 hours" : "Seuraavat 24 tuntia",
"Next 7 days" : "Seuraavat 7 päivää",

View File

@@ -191,7 +191,6 @@ OC.L10N.register(
"Select Date" : "Sélectionnez une date",
"Modified" : "Modifié",
"Created" : "Créé",
"The title cannot be empty." : "Le titre ne peut pas être vide.",
"No comments yet. Begin the discussion!" : "Aucun commentaire pour l'instant, démarrez la discussion !",
"Save" : "Enregistrer",
"The comment cannot be empty." : "Un commentaire ne peut pas être vide.",
@@ -217,7 +216,6 @@ OC.L10N.register(
"Show boards in calendar/tasks" : "Afficher les tableaux dans les agendas/tâches",
"Limit deck usage of groups" : "Limiter l'utilisation du tableau aux groupes",
"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." : "Limiter Deck empêchera les utilisateurs ne faisant pas partie de ces groupes de créer leurs propres tableaux. Ces utilisateurs pourront toujours travailler sur les tableaux qui ont été partagés avec eux.",
"Board name" : "Nom du tableau",
"Edit board" : "Modifier le tableau",
"Clone board " : "Dupliquer le tableau",
"Unarchive board " : "Sortir le tableau des archives",

View File

@@ -189,7 +189,6 @@
"Select Date" : "Sélectionnez une date",
"Modified" : "Modifié",
"Created" : "Créé",
"The title cannot be empty." : "Le titre ne peut pas être vide.",
"No comments yet. Begin the discussion!" : "Aucun commentaire pour l'instant, démarrez la discussion !",
"Save" : "Enregistrer",
"The comment cannot be empty." : "Un commentaire ne peut pas être vide.",
@@ -215,7 +214,6 @@
"Show boards in calendar/tasks" : "Afficher les tableaux dans les agendas/tâches",
"Limit deck usage of groups" : "Limiter l'utilisation du tableau aux groupes",
"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." : "Limiter Deck empêchera les utilisateurs ne faisant pas partie de ces groupes de créer leurs propres tableaux. Ces utilisateurs pourront toujours travailler sur les tableaux qui ont été partagés avec eux.",
"Board name" : "Nom du tableau",
"Edit board" : "Modifier le tableau",
"Clone board " : "Dupliquer le tableau",
"Unarchive board " : "Sortir le tableau des archives",

View File

@@ -117,7 +117,7 @@ OC.L10N.register(
"This board is read only" : "Este taboleiro é só de lectura",
"Drop your files to upload" : "Arrastre os seus ficheiros para envialos",
"Archived cards" : "Tarxetas arquivadas",
"Add list" : "Engadir unha lista",
"Add list" : "Engadir unha lista...",
"List name" : "Nome da lista",
"Apply filter" : "Aplicar filtro",
"Filter by tag" : "Filtrar pola etiqueta",
@@ -160,7 +160,6 @@ OC.L10N.register(
"Archive all cards in this list" : "Arquivar todas as tarxetas desta lista",
"Add a new card" : "Engadir unha nova tarxeta",
"Card name" : "Nome da tarxeta",
"List deleted" : "Lista eliminada",
"Edit" : "Editar",
"Add a new tag" : "Engadir unha nova etiqueta",
"title and color value must be provided" : "debe indicar o título e o valor da cor",
@@ -192,7 +191,6 @@ OC.L10N.register(
"Select Date" : "Seleccione a data",
"Modified" : "Modificado",
"Created" : "Creado",
"The title cannot be empty." : "O título non pode estar baleiro.",
"No comments yet. Begin the discussion!" : "Aínda non hai comentarios. Comece o debate!",
"Save" : "Gardar",
"The comment cannot be empty." : "O comentario non pode estar baleiro",
@@ -210,7 +208,6 @@ OC.L10N.register(
"Move card" : "Mover a tarxeta",
"Move card to another board" : "Mover a tarxeta a outro taboleiro",
"Select a list" : "Seleccionar unha lista",
"Card deleted" : "Tarxeta eliminada",
"seconds ago" : "hai uns segundos",
"All boards" : "Todos os taboleiros",
"Archived boards" : "Taboleiros arquivados",
@@ -219,7 +216,6 @@ OC.L10N.register(
"Show boards in calendar/tasks" : "Amosar taboleiros no calendario/tarefas",
"Limit deck usage of groups" : "Limitar o uso da plataforma a grupos",
"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." : "Limitando Deck bloqueará os usuarios que non formen parte destes grupos, para crear os seus propios taboleiros. Os usuarios aínda así poderán traballar en taboleiros compartidos con eles.",
"Board name" : "Nome do taboleiro",
"Edit board" : "Editar taboleiro",
"Clone board " : "Clonar taboleiro",
"Unarchive board " : "Desarquivar taboleiro",

View File

@@ -115,7 +115,7 @@
"This board is read only" : "Este taboleiro é só de lectura",
"Drop your files to upload" : "Arrastre os seus ficheiros para envialos",
"Archived cards" : "Tarxetas arquivadas",
"Add list" : "Engadir unha lista",
"Add list" : "Engadir unha lista...",
"List name" : "Nome da lista",
"Apply filter" : "Aplicar filtro",
"Filter by tag" : "Filtrar pola etiqueta",
@@ -158,7 +158,6 @@
"Archive all cards in this list" : "Arquivar todas as tarxetas desta lista",
"Add a new card" : "Engadir unha nova tarxeta",
"Card name" : "Nome da tarxeta",
"List deleted" : "Lista eliminada",
"Edit" : "Editar",
"Add a new tag" : "Engadir unha nova etiqueta",
"title and color value must be provided" : "debe indicar o título e o valor da cor",
@@ -190,7 +189,6 @@
"Select Date" : "Seleccione a data",
"Modified" : "Modificado",
"Created" : "Creado",
"The title cannot be empty." : "O título non pode estar baleiro.",
"No comments yet. Begin the discussion!" : "Aínda non hai comentarios. Comece o debate!",
"Save" : "Gardar",
"The comment cannot be empty." : "O comentario non pode estar baleiro",
@@ -208,7 +206,6 @@
"Move card" : "Mover a tarxeta",
"Move card to another board" : "Mover a tarxeta a outro taboleiro",
"Select a list" : "Seleccionar unha lista",
"Card deleted" : "Tarxeta eliminada",
"seconds ago" : "hai uns segundos",
"All boards" : "Todos os taboleiros",
"Archived boards" : "Taboleiros arquivados",
@@ -217,7 +214,6 @@
"Show boards in calendar/tasks" : "Amosar taboleiros no calendario/tarefas",
"Limit deck usage of groups" : "Limitar o uso da plataforma a grupos",
"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." : "Limitando Deck bloqueará os usuarios que non formen parte destes grupos, para crear os seus propios taboleiros. Os usuarios aínda así poderán traballar en taboleiros compartidos con eles.",
"Board name" : "Nome do taboleiro",
"Edit board" : "Editar taboleiro",
"Clone board " : "Clonar taboleiro",
"Unarchive board " : "Desarquivar taboleiro",

View File

@@ -121,7 +121,6 @@ OC.L10N.register(
"Apply filter" : "Primijeni filtar",
"Filter by tag" : "Filtriraj prema oznaci",
"Filter by assigned user" : "Filtriraj prema dodijeljenom korisniku",
"Unassigned" : "Nedodijeljeno",
"Filter by due date" : "Filtriraj prema datumu dospijeća",
"Overdue" : "Kasni",
"Next 24 hours" : "Sljedeća 24 sata",
@@ -134,8 +133,6 @@ OC.L10N.register(
"Toggle compact mode" : "Prebaci u kompaktni način rada",
"Details" : "Pojedinosti",
"Loading board" : "Učitavanje ploče",
"No lists available" : "Nema dostupnih popisa",
"Create a new list to add cards to this board" : "Stvorite novi popis kako biste dodali kartice na ovu ploču",
"Board not found" : "Ploča nije pronađena",
"Sharing" : "Dijeljenje",
"Tags" : "Oznake",

View File

@@ -119,7 +119,6 @@
"Apply filter" : "Primijeni filtar",
"Filter by tag" : "Filtriraj prema oznaci",
"Filter by assigned user" : "Filtriraj prema dodijeljenom korisniku",
"Unassigned" : "Nedodijeljeno",
"Filter by due date" : "Filtriraj prema datumu dospijeća",
"Overdue" : "Kasni",
"Next 24 hours" : "Sljedeća 24 sata",
@@ -132,8 +131,6 @@
"Toggle compact mode" : "Prebaci u kompaktni način rada",
"Details" : "Pojedinosti",
"Loading board" : "Učitavanje ploče",
"No lists available" : "Nema dostupnih popisa",
"Create a new list to add cards to this board" : "Stvorite novi popis kako biste dodali kartice na ovu ploču",
"Board not found" : "Ploča nije pronađena",
"Sharing" : "Dijeljenje",
"Tags" : "Oznake",

View File

@@ -160,7 +160,6 @@ OC.L10N.register(
"Archive all cards in this list" : "Archivia tutte le schede in questo elenco",
"Add a new card" : "Aggiungi una nuova scheda",
"Card name" : "Nome scheda",
"List deleted" : "Elenco eliminato",
"Edit" : "Modifica",
"Add a new tag" : "Aggiungi una nuova etichetta",
"title and color value must be provided" : "devono essere forniti il titolo e il valore del colore",
@@ -192,7 +191,6 @@ OC.L10N.register(
"Select Date" : "Seleziona data",
"Modified" : "Modificato",
"Created" : "Creato il",
"The title cannot be empty." : "Il titolo non può essere vuoto.",
"No comments yet. Begin the discussion!" : "Ancora nessun commento. Inizia la discussione.",
"Save" : "Salva",
"The comment cannot be empty." : "Il commento non può essere vuoto.",
@@ -210,7 +208,6 @@ OC.L10N.register(
"Move card" : "Sposta scheda",
"Move card to another board" : "Sposta scheda in un'altra lavagna",
"Select a list" : "Seleziona un elenco",
"Card deleted" : "Scheda eliminata",
"seconds ago" : "secondi fa",
"All boards" : "Tutte le lavagne",
"Archived boards" : "Lavagne archiviate",
@@ -219,7 +216,6 @@ OC.L10N.register(
"Show boards in calendar/tasks" : "Mostra le lavagne in calendario/attività",
"Limit deck usage of groups" : "Limita utilizzo di Deck dei gruppi",
"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." : "La limitazione di Deck impedirà agli utenti che non fanno parte di tali gruppi di creare le proprie lavagne. Gli utenti saranno ancora in grado di lavorare sulle lavagne che sono state condivise con loro,",
"Board name" : "Nome della lavagna",
"Edit board" : "Modifica lavagna",
"Clone board " : "Clona lavagna",
"Unarchive board " : "Recupera lavagna dall'archivio",

View File

@@ -158,7 +158,6 @@
"Archive all cards in this list" : "Archivia tutte le schede in questo elenco",
"Add a new card" : "Aggiungi una nuova scheda",
"Card name" : "Nome scheda",
"List deleted" : "Elenco eliminato",
"Edit" : "Modifica",
"Add a new tag" : "Aggiungi una nuova etichetta",
"title and color value must be provided" : "devono essere forniti il titolo e il valore del colore",
@@ -190,7 +189,6 @@
"Select Date" : "Seleziona data",
"Modified" : "Modificato",
"Created" : "Creato il",
"The title cannot be empty." : "Il titolo non può essere vuoto.",
"No comments yet. Begin the discussion!" : "Ancora nessun commento. Inizia la discussione.",
"Save" : "Salva",
"The comment cannot be empty." : "Il commento non può essere vuoto.",
@@ -208,7 +206,6 @@
"Move card" : "Sposta scheda",
"Move card to another board" : "Sposta scheda in un'altra lavagna",
"Select a list" : "Seleziona un elenco",
"Card deleted" : "Scheda eliminata",
"seconds ago" : "secondi fa",
"All boards" : "Tutte le lavagne",
"Archived boards" : "Lavagne archiviate",
@@ -217,7 +214,6 @@
"Show boards in calendar/tasks" : "Mostra le lavagne in calendario/attività",
"Limit deck usage of groups" : "Limita utilizzo di Deck dei gruppi",
"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." : "La limitazione di Deck impedirà agli utenti che non fanno parte di tali gruppi di creare le proprie lavagne. Gli utenti saranno ancora in grado di lavorare sulle lavagne che sono state condivise con loro,",
"Board name" : "Nome della lavagna",
"Edit board" : "Modifica lavagna",
"Clone board " : "Clona lavagna",
"Unarchive board " : "Recupera lavagna dall'archivio",

View File

@@ -98,7 +98,7 @@ OC.L10N.register(
"A PHP extension stopped the file upload" : "Rozszerzenie PHP zatrzymało wysyłanie pliku",
"No file uploaded or file size exceeds maximum of %s" : "Brak przesłanego pliku lub rozmiar pliku przekracza maksymalny limit %s",
"Personal planning and team project organization" : "Indywidualne planowanie i organizacja projektu zespołowego",
"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" : "Tablica to narzędzie organizacyjne w stylu kanban, którego celem jest osobiste planowanie i organizacja projektu dla zespołów zintegrowanych z Nextcloud.\n\n\n- 📥 Dodaj swoje zadania do kart i porządkuj je\n- 📄 Zapisuj dodatkowe notatki w markdown\n- 🔖 Przypisuj etykiety dla jeszcze lepszej organizacji\n- 👥 Współdziel ze swoim zespołem, przyjaciółmi lub rodziną\n- 📎 Dołączaj pliki i umieszczaj je z opisem\n- 💬 Porozmawiaj ze swoim zespołem za pomocą komentarzy\n- ⚡ Śledź zmiany w strumieniu aktywności\n- 🚀 Organizuj swój projekt",
"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" : "Tablica to narzędzie organizacyjne w stylu kanban, którego celem jest osobiste planowanie i organizacja projektu dla zespołów zintegrowanych z Nextcloud.\n\n\n- 📥 Dodaj swoje zadania do kart i porządkuj je\n- 📄 Zapisuj dodatkowe notatki\n- 🔖 Przypisuj etykiety dla jeszcze lepszej organizacji\n- 👥 Współdziel ze swoim zespołem, przyjaciółmi lub rodziną\n- 📎 Dołączaj pliki i umieszczaj je z opisem\n- 💬 Porozmawiaj ze swoim zespołem za pomocą komentarzy\n- ⚡ Śledź zmiany w strumieniu aktywności\n- 🚀 Organizuj swój projekt",
"Card details" : "Szczegóły karty",
"Add board" : "Dodaj tablicę",
"Select the board to link to a project" : "Wybierz tablicę, aby połączyć się z projektem",
@@ -160,7 +160,6 @@ OC.L10N.register(
"Archive all cards in this list" : "Zarchiwizuj wszystkie karty na tej liście",
"Add a new card" : "Dodaj nową kartę",
"Card name" : "Nazwa karty",
"List deleted" : "Lista usunięta",
"Edit" : "Edycja",
"Add a new tag" : "Dodaj nową etykietę",
"title and color value must be provided" : "należy podać tytuł i kolor",
@@ -192,7 +191,6 @@ OC.L10N.register(
"Select Date" : "Wybierz datę",
"Modified" : "Zmodyfikowany",
"Created" : "Utworzono",
"The title cannot be empty." : "Tytuł nie może być pusty.",
"No comments yet. Begin the discussion!" : "Brak komentarzy. Rozpocznij dyskusję!",
"Save" : "Zapisz",
"The comment cannot be empty." : "Komentarz nie może być pusty.",
@@ -210,7 +208,6 @@ OC.L10N.register(
"Move card" : "Przenieś kartę",
"Move card to another board" : "Przenieś kartę na inną tablicę",
"Select a list" : "Wybierz listę",
"Card deleted" : "Karta usunięta",
"seconds ago" : "przed chwilą",
"All boards" : "Wszystkie tablice",
"Archived boards" : "Zarchiwizowane tablice",
@@ -219,7 +216,6 @@ OC.L10N.register(
"Show boards in calendar/tasks" : "Pokaż tablice w kalendarzu/zadaniach",
"Limit deck usage of groups" : "Ogranicz użycie tablic dla grup",
"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." : "Ograniczenie Deck zablokuje użytkownikom z tych grup możliwość tworzenia własnych tablic. Użytkownicy nadal będą mogli pracować na tablicach, które zostały im udostępnione.",
"Board name" : "Nazwa tablicy",
"Edit board" : "Edytuj tablicę",
"Clone board " : "Klonuj tablicę ",
"Unarchive board " : "Przywróć tablicę ",

View File

@@ -96,7 +96,7 @@
"A PHP extension stopped the file upload" : "Rozszerzenie PHP zatrzymało wysyłanie pliku",
"No file uploaded or file size exceeds maximum of %s" : "Brak przesłanego pliku lub rozmiar pliku przekracza maksymalny limit %s",
"Personal planning and team project organization" : "Indywidualne planowanie i organizacja projektu zespołowego",
"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" : "Tablica to narzędzie organizacyjne w stylu kanban, którego celem jest osobiste planowanie i organizacja projektu dla zespołów zintegrowanych z Nextcloud.\n\n\n- 📥 Dodaj swoje zadania do kart i porządkuj je\n- 📄 Zapisuj dodatkowe notatki w markdown\n- 🔖 Przypisuj etykiety dla jeszcze lepszej organizacji\n- 👥 Współdziel ze swoim zespołem, przyjaciółmi lub rodziną\n- 📎 Dołączaj pliki i umieszczaj je z opisem\n- 💬 Porozmawiaj ze swoim zespołem za pomocą komentarzy\n- ⚡ Śledź zmiany w strumieniu aktywności\n- 🚀 Organizuj swój projekt",
"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" : "Tablica to narzędzie organizacyjne w stylu kanban, którego celem jest osobiste planowanie i organizacja projektu dla zespołów zintegrowanych z Nextcloud.\n\n\n- 📥 Dodaj swoje zadania do kart i porządkuj je\n- 📄 Zapisuj dodatkowe notatki\n- 🔖 Przypisuj etykiety dla jeszcze lepszej organizacji\n- 👥 Współdziel ze swoim zespołem, przyjaciółmi lub rodziną\n- 📎 Dołączaj pliki i umieszczaj je z opisem\n- 💬 Porozmawiaj ze swoim zespołem za pomocą komentarzy\n- ⚡ Śledź zmiany w strumieniu aktywności\n- 🚀 Organizuj swój projekt",
"Card details" : "Szczegóły karty",
"Add board" : "Dodaj tablicę",
"Select the board to link to a project" : "Wybierz tablicę, aby połączyć się z projektem",
@@ -158,7 +158,6 @@
"Archive all cards in this list" : "Zarchiwizuj wszystkie karty na tej liście",
"Add a new card" : "Dodaj nową kartę",
"Card name" : "Nazwa karty",
"List deleted" : "Lista usunięta",
"Edit" : "Edycja",
"Add a new tag" : "Dodaj nową etykietę",
"title and color value must be provided" : "należy podać tytuł i kolor",
@@ -190,7 +189,6 @@
"Select Date" : "Wybierz datę",
"Modified" : "Zmodyfikowany",
"Created" : "Utworzono",
"The title cannot be empty." : "Tytuł nie może być pusty.",
"No comments yet. Begin the discussion!" : "Brak komentarzy. Rozpocznij dyskusję!",
"Save" : "Zapisz",
"The comment cannot be empty." : "Komentarz nie może być pusty.",
@@ -208,7 +206,6 @@
"Move card" : "Przenieś kartę",
"Move card to another board" : "Przenieś kartę na inną tablicę",
"Select a list" : "Wybierz listę",
"Card deleted" : "Karta usunięta",
"seconds ago" : "przed chwilą",
"All boards" : "Wszystkie tablice",
"Archived boards" : "Zarchiwizowane tablice",
@@ -217,7 +214,6 @@
"Show boards in calendar/tasks" : "Pokaż tablice w kalendarzu/zadaniach",
"Limit deck usage of groups" : "Ogranicz użycie tablic dla grup",
"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." : "Ograniczenie Deck zablokuje użytkownikom z tych grup możliwość tworzenia własnych tablic. Użytkownicy nadal będą mogli pracować na tablicach, które zostały im udostępnione.",
"Board name" : "Nazwa tablicy",
"Edit board" : "Edytuj tablicę",
"Clone board " : "Klonuj tablicę ",
"Unarchive board " : "Przywróć tablicę ",

View File

@@ -160,7 +160,6 @@ OC.L10N.register(
"Archive all cards in this list" : "Arquivar todos os cartões desta lista",
"Add a new card" : "Adicionar um novo cartão",
"Card name" : "Nome do cartão",
"List deleted" : "Lista excluída",
"Edit" : "Editar",
"Add a new tag" : "Adicionar uma nova etiqueta",
"title and color value must be provided" : "o título e o valor da cor devem ser fornecidos",
@@ -192,7 +191,6 @@ OC.L10N.register(
"Select Date" : "Selecionar Data",
"Modified" : "Modificado",
"Created" : "Criado",
"The title cannot be empty." : "O título não pode ficar em branco.",
"No comments yet. Begin the discussion!" : "Nenhum comentário ainda. Inicie a conversa!",
"Save" : "Salvar",
"The comment cannot be empty." : "O comentário não pode zer vazio.",
@@ -210,7 +208,6 @@ OC.L10N.register(
"Move card" : "Mover cartão",
"Move card to another board" : "Mover o cartão para outro painel",
"Select a list" : "Selecione uma lista",
"Card deleted" : "Cartão excluído",
"seconds ago" : "segundos atrás",
"All boards" : "Todos os painéis",
"Archived boards" : "Painéis arquivados",
@@ -219,7 +216,6 @@ OC.L10N.register(
"Show boards in calendar/tasks" : "Mostrar painéis em calendários/tarefas",
"Limit deck usage of groups" : "Limitar o uso de grupos no deck",
"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." : "Limitar o Deck impedirá que usuários que não fazem parte desses grupos criem seus próprios painéis. Os usuários ainda poderão trabalhar em pastas que foram compartilhadas com eles.",
"Board name" : "Nome do painel",
"Edit board" : "Editar painel",
"Clone board " : "Clonar painel",
"Unarchive board " : "Desarquivar painel",

View File

@@ -158,7 +158,6 @@
"Archive all cards in this list" : "Arquivar todos os cartões desta lista",
"Add a new card" : "Adicionar um novo cartão",
"Card name" : "Nome do cartão",
"List deleted" : "Lista excluída",
"Edit" : "Editar",
"Add a new tag" : "Adicionar uma nova etiqueta",
"title and color value must be provided" : "o título e o valor da cor devem ser fornecidos",
@@ -190,7 +189,6 @@
"Select Date" : "Selecionar Data",
"Modified" : "Modificado",
"Created" : "Criado",
"The title cannot be empty." : "O título não pode ficar em branco.",
"No comments yet. Begin the discussion!" : "Nenhum comentário ainda. Inicie a conversa!",
"Save" : "Salvar",
"The comment cannot be empty." : "O comentário não pode zer vazio.",
@@ -208,7 +206,6 @@
"Move card" : "Mover cartão",
"Move card to another board" : "Mover o cartão para outro painel",
"Select a list" : "Selecione uma lista",
"Card deleted" : "Cartão excluído",
"seconds ago" : "segundos atrás",
"All boards" : "Todos os painéis",
"Archived boards" : "Painéis arquivados",
@@ -217,7 +214,6 @@
"Show boards in calendar/tasks" : "Mostrar painéis em calendários/tarefas",
"Limit deck usage of groups" : "Limitar o uso de grupos no deck",
"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." : "Limitar o Deck impedirá que usuários que não fazem parte desses grupos criem seus próprios painéis. Os usuários ainda poderão trabalhar em pastas que foram compartilhadas com eles.",
"Board name" : "Nome do painel",
"Edit board" : "Editar painel",
"Clone board " : "Clonar painel",
"Unarchive board " : "Desarquivar painel",

View File

@@ -67,14 +67,13 @@ OC.L10N.register(
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Spremembe v programu <strong>Deck</strong>",
"A <strong>comment</strong> was created on a card" : "Nalogi je dodana nova <strong>opomba</strong>",
"Upcoming cards" : "Prihajajoče naloge",
"Personal" : "Osebno",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Nalogo »%s« na »%s« vam dodeli %s.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} vam dodeli nalogo »%s« na »%s«.",
"The card \"%s\" on \"%s\" has reached its due date." : "Naloga »%s« na »%s« je dosegla datum preteka.",
"%s has mentioned you in a comment on \"%s\"." : "%s vas omeni v opombi na »%s«.",
"{user} has mentioned you in a comment on \"%s\"." : "{user} vas omeni v opombi na »%s«.",
"The board \"%s\" has been shared with you by %s." : "Zbirko »%s« vam dodeli %s.",
"The board \"%s\" has been shared with you by %s." : "Zborko »%s« vam dodeli %s.",
"{user} has shared the board %s with you." : "{user} vam omogoča souporabo zbirke %s.",
"No data was provided to create an attachment." : "Ni podanih podatkov za ustvarjanje priloge.",
"Finished" : "Končano",
@@ -135,8 +134,6 @@ OC.L10N.register(
"Toggle compact mode" : "Preklopi način prikaza",
"Details" : "Podrobnosti",
"Loading board" : "Poteka nalaganje zbirke",
"No lists available" : "Ni razpoložljivih seznamov",
"Create a new list to add cards to this board" : "Ustvari nov seznam in doda kartice v zbirko",
"Board not found" : "Zbirke ni mogoče najti",
"Sharing" : "Souporaba",
"Tags" : "Oznake",
@@ -154,13 +151,9 @@ OC.L10N.register(
"Can manage" : "Lahko upravlja",
"Delete" : "Izbriši",
"Add a new list" : "Dodaj nov seznam",
"Archive all cards" : "Arhiviraj vse kartice",
"Delete list" : "Izbriši seznam",
"Add card" : "Dodaj nalogo",
"Archive all cards in this list" : "Arhiviraj vse kartice tega seznama",
"Add a new card" : "Dodaj novo nalogo",
"Card name" : "Ime kartice",
"List deleted" : "Seznam je izbrisan",
"Edit" : "Uredi",
"Add a new tag" : "Dodaj novo oznako",
"title and color value must be provided" : "navedena morata biti podatka naslova in barve",
@@ -170,8 +163,6 @@ OC.L10N.register(
"Add this attachment" : "Dodaj prilogo",
"Delete Attachment" : "Izbriši prilogo",
"Restore Attachment" : "Obnovi prilogo",
"Open in sidebar view" : "Odpri v bočnem pogledu",
"Open in bigger view" : "Odpri v povečanem pogledu",
"Assign a tag to this card…" : "Dodeli oznako nalogi ...",
"Assign to users" : "Dodeli uporabnikom",
"Assign to users/groups/circles" : "Dodeli uporabnikom/skupinam/krogom",
@@ -192,7 +183,6 @@ OC.L10N.register(
"Select Date" : "Izbor datuma",
"Modified" : "Spremenjeno",
"Created" : "Ustvarjeno",
"The title cannot be empty." : "Polje naslova ne sme biti prazno.",
"No comments yet. Begin the discussion!" : "Ni še odzivov, bodite prvi!",
"Save" : "Shrani",
"The comment cannot be empty." : "Polje opombe ne sme biti prazno.",
@@ -210,16 +200,12 @@ OC.L10N.register(
"Move card" : "Premakni nalogo",
"Move card to another board" : "Premakni nalogo v drugo zbirko",
"Select a list" : "Izbor seznama",
"Card deleted" : "Naloga je izbrisana",
"seconds ago" : "pred nekaj sekundami",
"All boards" : "Vse zbirke",
"Archived boards" : "Arhivirane zbirke",
"Shared with you" : "V souporabi z vami",
"Use modal card view" : "Uporabi modalni pogled nalog",
"Show boards in calendar/tasks" : "Pokaži zbirke v koledarjem in med opravili",
"Limit deck usage of groups" : "Omeji uporabo zbirk na skupine",
"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." : "Omejevanje programa prepreči uporabnikom, ki niso del teh skupin, ustvarjanje novih zbirk. Uporabniki bodo še vedno lahko spreminjali zbirke, ki so jih dobili v souporabo.",
"Board name" : "Ime zbirke",
"Edit board" : "Uredi zbirko",
"Clone board " : "Kloniraj zbirko",
"Unarchive board " : "Povrni zbirko iz arhiva",
@@ -230,13 +216,9 @@ OC.L10N.register(
"An error occurred" : "Prišlo je do napake.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ali ste prepričani, da želite izbrisati zbirko »{title}«? S tem boste izbrisali tudi vse podatke zbirke.",
"Delete the board?" : "Ali želite izbrisati zbirko?",
"Loading filtered view" : "Poteka nalaganje filtriranega pogleda",
"Today" : "Danes",
"Tomorrow" : "Jutri",
"This week" : "Ta teden",
"No due" : "Ni datuma preteka",
"No upcoming cards" : "Ni prihajajočih nalog",
"upcoming cards" : "prihajajoče naloge",
"Link to a board" : "Povezava do zbirke",
"Link to a card" : "Povezava do naloge",
"Something went wrong" : "Prišlo je do napake ...",

View File

@@ -65,14 +65,13 @@
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Spremembe v programu <strong>Deck</strong>",
"A <strong>comment</strong> was created on a card" : "Nalogi je dodana nova <strong>opomba</strong>",
"Upcoming cards" : "Prihajajoče naloge",
"Personal" : "Osebno",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Nalogo »%s« na »%s« vam dodeli %s.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} vam dodeli nalogo »%s« na »%s«.",
"The card \"%s\" on \"%s\" has reached its due date." : "Naloga »%s« na »%s« je dosegla datum preteka.",
"%s has mentioned you in a comment on \"%s\"." : "%s vas omeni v opombi na »%s«.",
"{user} has mentioned you in a comment on \"%s\"." : "{user} vas omeni v opombi na »%s«.",
"The board \"%s\" has been shared with you by %s." : "Zbirko »%s« vam dodeli %s.",
"The board \"%s\" has been shared with you by %s." : "Zborko »%s« vam dodeli %s.",
"{user} has shared the board %s with you." : "{user} vam omogoča souporabo zbirke %s.",
"No data was provided to create an attachment." : "Ni podanih podatkov za ustvarjanje priloge.",
"Finished" : "Končano",
@@ -133,8 +132,6 @@
"Toggle compact mode" : "Preklopi način prikaza",
"Details" : "Podrobnosti",
"Loading board" : "Poteka nalaganje zbirke",
"No lists available" : "Ni razpoložljivih seznamov",
"Create a new list to add cards to this board" : "Ustvari nov seznam in doda kartice v zbirko",
"Board not found" : "Zbirke ni mogoče najti",
"Sharing" : "Souporaba",
"Tags" : "Oznake",
@@ -152,13 +149,9 @@
"Can manage" : "Lahko upravlja",
"Delete" : "Izbriši",
"Add a new list" : "Dodaj nov seznam",
"Archive all cards" : "Arhiviraj vse kartice",
"Delete list" : "Izbriši seznam",
"Add card" : "Dodaj nalogo",
"Archive all cards in this list" : "Arhiviraj vse kartice tega seznama",
"Add a new card" : "Dodaj novo nalogo",
"Card name" : "Ime kartice",
"List deleted" : "Seznam je izbrisan",
"Edit" : "Uredi",
"Add a new tag" : "Dodaj novo oznako",
"title and color value must be provided" : "navedena morata biti podatka naslova in barve",
@@ -168,8 +161,6 @@
"Add this attachment" : "Dodaj prilogo",
"Delete Attachment" : "Izbriši prilogo",
"Restore Attachment" : "Obnovi prilogo",
"Open in sidebar view" : "Odpri v bočnem pogledu",
"Open in bigger view" : "Odpri v povečanem pogledu",
"Assign a tag to this card…" : "Dodeli oznako nalogi ...",
"Assign to users" : "Dodeli uporabnikom",
"Assign to users/groups/circles" : "Dodeli uporabnikom/skupinam/krogom",
@@ -190,7 +181,6 @@
"Select Date" : "Izbor datuma",
"Modified" : "Spremenjeno",
"Created" : "Ustvarjeno",
"The title cannot be empty." : "Polje naslova ne sme biti prazno.",
"No comments yet. Begin the discussion!" : "Ni še odzivov, bodite prvi!",
"Save" : "Shrani",
"The comment cannot be empty." : "Polje opombe ne sme biti prazno.",
@@ -208,16 +198,12 @@
"Move card" : "Premakni nalogo",
"Move card to another board" : "Premakni nalogo v drugo zbirko",
"Select a list" : "Izbor seznama",
"Card deleted" : "Naloga je izbrisana",
"seconds ago" : "pred nekaj sekundami",
"All boards" : "Vse zbirke",
"Archived boards" : "Arhivirane zbirke",
"Shared with you" : "V souporabi z vami",
"Use modal card view" : "Uporabi modalni pogled nalog",
"Show boards in calendar/tasks" : "Pokaži zbirke v koledarjem in med opravili",
"Limit deck usage of groups" : "Omeji uporabo zbirk na skupine",
"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." : "Omejevanje programa prepreči uporabnikom, ki niso del teh skupin, ustvarjanje novih zbirk. Uporabniki bodo še vedno lahko spreminjali zbirke, ki so jih dobili v souporabo.",
"Board name" : "Ime zbirke",
"Edit board" : "Uredi zbirko",
"Clone board " : "Kloniraj zbirko",
"Unarchive board " : "Povrni zbirko iz arhiva",
@@ -228,13 +214,9 @@
"An error occurred" : "Prišlo je do napake.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ali ste prepričani, da želite izbrisati zbirko »{title}«? S tem boste izbrisali tudi vse podatke zbirke.",
"Delete the board?" : "Ali želite izbrisati zbirko?",
"Loading filtered view" : "Poteka nalaganje filtriranega pogleda",
"Today" : "Danes",
"Tomorrow" : "Jutri",
"This week" : "Ta teden",
"No due" : "Ni datuma preteka",
"No upcoming cards" : "Ni prihajajočih nalog",
"upcoming cards" : "prihajajoče naloge",
"Link to a board" : "Povezava do zbirke",
"Link to a card" : "Povezava do naloge",
"Something went wrong" : "Prišlo je do napake ...",

View File

@@ -191,7 +191,6 @@ OC.L10N.register(
"Select Date" : "Tarih Seçin",
"Modified" : "Değiştirilme",
"Created" : "Oluşturulma",
"The title cannot be empty." : "Başlık boş olamaz.",
"No comments yet. Begin the discussion!" : "Henüz bir yorum yapılmamış. Tartışmayı başlatın!",
"Save" : "Kaydet",
"The comment cannot be empty." : "Yorum boş olamaz.",
@@ -217,7 +216,6 @@ OC.L10N.register(
"Show boards in calendar/tasks" : "Takvimler ve görevlerde panolar görüntülensin",
"Limit deck usage of groups" : "Tahtayı şu gruplar kullanabilsin",
"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." : "Tahta kullanımı gruplar ile sınırlandığında belirtilen grupların üyesi olmayan kişiler kendi tahtalarını oluşturamaz. Bu kullanıcılar ancak kendileri ile paylaşılan tahtalar üzerinde çalışabilir.",
"Board name" : "Pano adı",
"Edit board" : "Panoyu sil",
"Clone board " : "Panoyu kopyala",
"Unarchive board " : "Panoyu arşivden çıkar",

View File

@@ -189,7 +189,6 @@
"Select Date" : "Tarih Seçin",
"Modified" : "Değiştirilme",
"Created" : "Oluşturulma",
"The title cannot be empty." : "Başlık boş olamaz.",
"No comments yet. Begin the discussion!" : "Henüz bir yorum yapılmamış. Tartışmayı başlatın!",
"Save" : "Kaydet",
"The comment cannot be empty." : "Yorum boş olamaz.",
@@ -215,7 +214,6 @@
"Show boards in calendar/tasks" : "Takvimler ve görevlerde panolar görüntülensin",
"Limit deck usage of groups" : "Tahtayı şu gruplar kullanabilsin",
"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." : "Tahta kullanımı gruplar ile sınırlandığında belirtilen grupların üyesi olmayan kişiler kendi tahtalarını oluşturamaz. Bu kullanıcılar ancak kendileri ile paylaşılan tahtalar üzerinde çalışabilir.",
"Board name" : "Pano adı",
"Edit board" : "Panoyu sil",
"Clone board " : "Panoyu kopyala",
"Unarchive board " : "Panoyu arşivden çıkar",

View File

@@ -240,25 +240,9 @@ class ActivityManager {
}
public function triggerEvent($objectType, $entity, $subject, $additionalParams = [], $author = null) {
if ($author === null) {
$author = $this->userId;
}
try {
$event = $this->createEvent($objectType, $entity, $subject, $additionalParams, $author);
if ($event !== null) {
$json = json_encode($event->getSubjectParameters());
if (mb_strlen($json) > 4000) {
$params = json_decode(json_encode($event->getSubjectParameters()), true);
$newContent = $params['after'];
unset($params['before'], $params['after'], $params['card']['description']);
$params['after'] = mb_substr($newContent, 0, 2000);
if (mb_strlen($newContent) > 2000) {
$params['after'] .= '...';
}
$event->setSubject($event->getSubject(), $params);
}
$this->sendToUsers($event);
}
} catch (\Exception $e) {

View File

@@ -96,7 +96,6 @@ class DeckProvider implements IProvider {
unset($subjectParams['author']);
}
$user = $this->userManager->get($author);
$params = [];
if ($user !== null) {
$params = [
'user' => [
@@ -329,8 +328,8 @@ class DeckProvider implements IProvider {
if (array_key_exists('diff', $subjectParams) && $subjectParams['diff']) {
$diff = new Diff();
// Don't add diff as message since we are limited to 255 chars here
$event->setParsedMessage($subjectParams['after']);
//$event->setParsedMessage('<pre class="visualdiff">' . $diff->render($subjectParams['before'], $subjectParams['after']) . '</pre>');
//$event->setMessage($subjectParams['after']);
$event->setParsedMessage('<pre class="visualdiff">' . $diff->render($subjectParams['before'], $subjectParams['after']) . '</pre>');
return $params;
}
if (array_key_exists('before', $subjectParams)) {

View File

@@ -23,7 +23,7 @@
namespace OCA\Deck\AppInfo;
$version = \OCP\Util::getVersion()[0];
$version = \OC_Util::getVersion()[0];
if ($version >= 20) {
class Application extends Application20 {
}

View File

@@ -24,6 +24,7 @@
namespace OCA\Deck\AppInfo;
use Exception;
use OC_Util;
use OCA\Deck\Activity\CommentEventHandler;
use OCA\Deck\Capabilities;
use OCA\Deck\Collaboration\Resources\ResourceProvider;
@@ -171,7 +172,7 @@ class ApplicationLegacy extends App {
}
protected function registerCollaborationResources(): void {
$version = \OCP\Util::getVersion()[0];
$version = OC_Util::getVersion()[0];
if ($version < 16) {
return;
}

View File

@@ -59,7 +59,7 @@ class DeckCalendarBackend {
}
public function getBoards(): array {
return $this->boardService->findAll(-1, null, false);
return $this->boardService->findAll();
}
public function getBoard(int $id): Board {

View File

@@ -93,18 +93,10 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
* @param null $offset
* @return array
*/
public function findAllByUser($userId, $limit = null, $offset = null, $since = -1, $includeArchived = true) {
// FIXME: One moving to QBMapper we should allow filtering the boards probably by method chaining for additional where clauses
$sql = 'SELECT id, title, owner, color, archived, deleted_at, 0 as shared, last_modified FROM `*PREFIX*deck_boards` WHERE owner = ? AND last_modified > ?';
if (!$includeArchived) {
$sql .= ' AND NOT archived';
}
$sql .= ' UNION ' .
public function findAllByUser($userId, $limit = null, $offset = null, $since = -1) {
$sql = 'SELECT id, title, owner, color, archived, deleted_at, 0 as shared, last_modified FROM `*PREFIX*deck_boards` WHERE owner = ? AND last_modified > ? UNION ' .
'SELECT boards.id, title, owner, color, archived, deleted_at, 1 as shared, last_modified FROM `*PREFIX*deck_boards` as boards ' .
'JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE acl.participant=? AND acl.type=? AND boards.owner != ? AND last_modified > ?';
if (!$includeArchived) {
$sql .= ' AND NOT archived';
}
$entries = $this->findEntities($sql, [$userId, $since, $userId, Acl::PERMISSION_TYPE_USER, $userId, $since], $limit, $offset);
/* @var Board $entry */
foreach ($entries as $entry) {
@@ -128,7 +120,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
* @param null $offset
* @return array
*/
public function findAllByGroups($userId, $groups, $limit = null, $offset = null, $since = -1,$includeArchived = true) {
public function findAllByGroups($userId, $groups, $limit = null, $offset = null) {
if (count($groups) <= 0) {
return [];
}
@@ -140,10 +132,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
$sql .= ' OR ';
}
}
$sql .= ')';
if (!$includeArchived) {
$sql .= ' AND NOT archived';
}
$sql .= ');';
$entries = $this->findEntities($sql, array_merge([$userId, Acl::PERMISSION_TYPE_GROUP], $groups), $limit, $offset);
/* @var Board $entry */
foreach ($entries as $entry) {
@@ -153,7 +142,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
return $entries;
}
public function findAllByCircles($userId, $limit = null, $offset = null, $since = -1,$includeArchived = true) {
public function findAllByCircles($userId, $limit = null, $offset = null) {
if (!$this->circlesEnabled) {
return [];
}
@@ -172,10 +161,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
$sql .= ' OR ';
}
}
$sql .= ')';
if (!$includeArchived) {
$sql .= ' AND NOT archived';
}
$sql .= ');';
$entries = $this->findEntities($sql, array_merge([$userId, Acl::PERMISSION_TYPE_CIRCLE], $circles), $limit, $offset);
/* @var Board $entry */
foreach ($entries as $entry) {

View File

@@ -107,11 +107,11 @@ class BoardService {
$this->userId = $userId;
}
public function getUserBoards(int $since = -1, $includeArchived = true): array {
public function getUserBoards(int $since = -1): array {
$userInfo = $this->getBoardPrerequisites();
$userBoards = $this->boardMapper->findAllByUser($userInfo['user'], null, null, $since, $includeArchived);
$groupBoards = $this->boardMapper->findAllByGroups($userInfo['user'], $userInfo['groups'],null, null, $since, $includeArchived);
$circleBoards = $this->boardMapper->findAllByCircles($userInfo['user'], null, null, $since, $includeArchived);
$userBoards = $this->boardMapper->findAllByUser($userInfo['user'], null, null, $since);
$groupBoards = $this->boardMapper->findAllByGroups($userInfo['user'], $userInfo['groups'],null, null, $since);
$circleBoards = $this->boardMapper->findAllByCircles($userInfo['user'], null, null, $since);
$mergedBoards = array_merge($userBoards, $groupBoards, $circleBoards);
$result = [];
/** @var Board $item */
@@ -125,11 +125,11 @@ class BoardService {
/**
* @return array
*/
public function findAll($since = -1, $details = null, $includeArchived = true) {
public function findAll($since = -1, $details = null) {
if ($this->boardsCache) {
return $this->boardsCache;
}
$complete = $this->getUserBoards($since, $includeArchived);
$complete = $this->getUserBoards($since);
$result = [];
/** @var Board $item */
foreach ($complete as &$item) {
@@ -532,7 +532,7 @@ class BoardService {
$this->changeHelper->boardChanged($boardId);
// TODO: use the dispatched event for this
$version = \OCP\Util::getVersion()[0];
$version = \OC_Util::getVersion()[0];
if ($version >= 16) {
try {
$resourceProvider = \OC::$server->query(\OCA\Deck\Collaboration\Resources\ResourceProvider::class);
@@ -621,7 +621,7 @@ class BoardService {
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_BOARD, $acl, ActivityManager::SUBJECT_BOARD_UNSHARE);
$this->changeHelper->boardChanged($acl->getBoardId());
$version = \OCP\Util::getVersion()[0];
$version = \OC_Util::getVersion()[0];
if ($version >= 16) {
try {
$resourceProvider = \OC::$server->query(\OCA\Deck\Collaboration\Resources\ResourceProvider::class);

View File

@@ -415,11 +415,8 @@ class CardService {
if ($card->getArchived()) {
throw new StatusException('Operation not allowed. This card is archived.');
}
$changes = new ChangeSet($card);
$card->setStackId($stackId);
$this->cardMapper->update($card);
$changes->setAfter($card);
$this->activityManager->triggerUpdateEvents(ActivityManager::DECK_OBJECT_CARD, $changes, ActivityManager::SUBJECT_CARD_UPDATE);
$cards = $this->cardMapper->findAll($stackId);
$result = [];

146
package-lock.json generated
View File

@@ -3479,24 +3479,29 @@
}
},
"@nextcloud/event-bus": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-1.2.0.tgz",
"integrity": "sha512-pNS0R6Mvgj4WnbJQ8LYjxRjCbRndpwjHNyZYm0zl8U71gbHsUvQIIzTdW7WYg6Nz/FjAlrdmDXJDFLh1DDcIFA==",
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/@nextcloud/event-bus/-/event-bus-1.1.4.tgz",
"integrity": "sha512-It27KzmUaSQ7w22nHFwOn8XgeVG0HYYOSNG9gs4UkP5VqcZ16m4ydt3GkMpWcyFec4OUjJc+yf7omRc3pNxsSw==",
"requires": {
"@types/semver": "^7.1.0",
"@types/semver": "^6.2.1",
"core-js": "^3.6.2",
"semver": "^7.3.2"
"semver": "^6.3.0"
},
"dependencies": {
"@types/semver": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.1.tgz",
"integrity": "sha512-+beqKQOh9PYxuHvijhVl+tIHvT6tuwOrE9m14zd+MT2A38KoKZhh7pYJ0SNleLtwDsiIxHDsIk9bv01oOxvSvA=="
},
"core-js": {
"version": "3.6.5",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
"integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="
},
"semver": {
"version": "7.3.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
"integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ=="
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
}
},
@@ -3631,9 +3636,9 @@
}
},
"@nextcloud/vue": {
"version": "2.6.8",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-2.6.8.tgz",
"integrity": "sha512-9yi9V4gX4Y1uxh2hNxCAlTHaS9zolzAy7x1sowII/WZfxMysF/yIGmEsnYGyz6CZ5eYCzxNUgrU5p/HQ21/09Q==",
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-2.6.5.tgz",
"integrity": "sha512-ZeY4n/TJ0cRu/iDgLGCwFSksvStMO+fAeJfANwjp52LjrpFXuJjxqG8ZKBdr7zJewj/yTOq6k0wMDnyBFTgnXA==",
"requires": {
"@nextcloud/auth": "^1.2.3",
"@nextcloud/axios": "^1.3.2",
@@ -3892,11 +3897,6 @@
"integrity": "sha512-IkVfat549ggtkZUthUzEX49562eGikhSYeVGX97SkMFn+sTZrgRewXjQ4tPKFPCykZHkX1Zfd9OoELGqKU2jJA==",
"dev": true
},
"@types/semver": {
"version": "7.3.3",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.3.tgz",
"integrity": "sha512-jQxClWFzv9IXdLdhSaTf16XI3NYe6zrEbckSpb5xhKfPbWgIyAY0AFyWWWfaiDcBuj3UHmMkCIwSRqpKMTZL2Q=="
},
"@types/stack-utils": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz",
@@ -4182,9 +4182,9 @@
}
},
"acorn": {
"version": "8.0.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.3.tgz",
"integrity": "sha512-uRMbCU3bM1L697KISxvkd9TA2zASoGFDODzFFdQR4qNpPffj6ZMdp5J4ffXUXR9G0PVPsN0enEkCrvssCkoPsw==",
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.1.tgz",
"integrity": "sha512-dmKn4pqZ29iQl2Pvze1zTrps2luvls2PBY//neO2WJ0s10B3AxJXshN+Ph7B4GrhfGhHXrl4dnUwyNNXQcnWGQ==",
"dev": true
},
"acorn-globals": {
@@ -4772,9 +4772,9 @@
},
"dependencies": {
"caniuse-lite": {
"version": "1.0.30001137",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001137.tgz",
"integrity": "sha512-54xKQZTqZrKVHmVz0+UvdZR6kQc7pJDgfhsMYDG19ID1BWoNnDMFm5Q3uSBSU401pBvKYMsHAt9qhEDcxmk8aw==",
"version": "1.0.30001125",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001125.tgz",
"integrity": "sha512-9f+r7BW8Qli917mU3j0fUaTweT3f3vnX/Lcs+1C73V+RADmFme+Ih0Br8vONQi3X0lseOe6ZHfsZLCA8MSjxUA==",
"dev": true
},
"chalk": {
@@ -4800,9 +4800,9 @@
}
},
"postcss": {
"version": "7.0.34",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.34.tgz",
"integrity": "sha512-H/7V2VeNScX9KE83GDrDZNiGT1m2H+UTnlinIzhjlLX9hfMUn1mHNnGeX81a1c8JSBdBvqk7c2ZOG6ZPn5itGw==",
"version": "7.0.32",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
"integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
@@ -6289,9 +6289,9 @@
"dev": true
},
"codemirror": {
"version": "5.58.1",
"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.58.1.tgz",
"integrity": "sha512-UGb/ueu20U4xqWk8hZB3xIfV2/SFqnSLYONiM3wTMDqko0bsYrsAkGGhqUzbRkYm89aBKPyHtuNEbVWF9FTFzw=="
"version": "5.56.0",
"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.56.0.tgz",
"integrity": "sha512-MfKVmYgifXjQpLSgpETuih7A7WTTIsxvKfSLGseTY5+qt0E1UD1wblZGM6WLenORo8sgmf+3X+WTe2WF7mufyw=="
},
"codemirror-spell-checker": {
"version": "1.1.2",
@@ -7275,9 +7275,9 @@
},
"dependencies": {
"domelementtype": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz",
"integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==",
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
"integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
"dev": true
},
"entities": {
@@ -7327,9 +7327,9 @@
}
},
"dompurify": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.1.1.tgz",
"integrity": "sha512-NijiNVkS/OL8mdQL1hUbCD6uty/cgFpmNiuFxrmJ5YPH2cXrPKIewoixoji56rbZ6XBPmtM8GA8/sf9unlSuwg=="
"version": "2.0.16",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.0.16.tgz",
"integrity": "sha512-MMNzUQdlvmbXhD0NVxME4hNI72eOlcz9TzO9L8KfmUcI+h97ISON5XagIUm40+JRwV4fGHYqxRpSy844fT9iow=="
},
"domutils": {
"version": "1.7.0",
@@ -7354,13 +7354,13 @@
}
},
"easymde": {
"version": "2.12.0",
"resolved": "https://registry.npmjs.org/easymde/-/easymde-2.12.0.tgz",
"integrity": "sha512-R899trkHlkp48GkLbeZ/01exmhSzVgKiHmzbQiAcMAzyqjyd6L110iv+csE+RnRLddJKIilPvJqInJ+E7ILrYg==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/easymde/-/easymde-2.11.0.tgz",
"integrity": "sha512-d7HtwPXqqARY6KMCMe0EWUfNvoMh/VzHystKZE35mkL7x4z6ZsVBIPyRviGxYyix2qkC3zFGh1A0uo9hLpNuBg==",
"requires": {
"codemirror": "^5.58.1",
"codemirror": "^5.55.0",
"codemirror-spell-checker": "1.1.2",
"marked": "^1.2.0"
"marked": "^1.1.1"
}
},
"ecc-jsbn": {
@@ -7434,9 +7434,9 @@
"dev": true
},
"emoji-mart-vue-fast": {
"version": "7.0.5",
"resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-7.0.5.tgz",
"integrity": "sha512-+ayg30hhxqqM9oMtN9uUG470hT9gtOdFenByJJBm3XTfzI2QMVJ69euwk+xF55OphLfKZxQG7mnVz13lDOjb3g==",
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-7.0.4.tgz",
"integrity": "sha512-VZuyclCe7ZNPhSvt7WT258MscqRBZTB2Is/7vBilCXgpiZqByaA4AhM1xdIIZZik/aA+5BQiZVmbsDK0jk78Eg==",
"requires": {
"@babel/polyfill": "7.2.5",
"@babel/runtime": "7.3.4",
@@ -8112,9 +8112,9 @@
}
},
"eslint-plugin-import": {
"version": "2.22.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz",
"integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==",
"version": "2.22.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz",
"integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==",
"dev": true,
"requires": {
"array-includes": "^3.1.1",
@@ -8122,7 +8122,7 @@
"contains-path": "^0.1.0",
"debug": "^2.6.9",
"doctrine": "1.5.0",
"eslint-import-resolver-node": "^0.3.4",
"eslint-import-resolver-node": "^0.3.3",
"eslint-module-utils": "^2.6.0",
"has": "^1.0.3",
"minimatch": "^3.0.4",
@@ -13194,9 +13194,9 @@
}
},
"marked": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/marked/-/marked-1.2.0.tgz",
"integrity": "sha512-tiRxakgbNPBr301ihe/785NntvYyhxlqcL3YaC8CaxJQh7kiaEtrN9B/eK2I2943Yjkh5gw25chYFDQhOMCwMA=="
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/marked/-/marked-1.1.1.tgz",
"integrity": "sha512-mJzT8D2yPxoPh7h0UXkB+dBj4FykPJ2OIfxAWeIHrvoHDkFxukV/29QxoFQoPM6RLEwhIFdJpmKBlqVM3s2ZIw=="
},
"material-colors": {
"version": "1.2.6",
@@ -13585,9 +13585,9 @@
}
},
"moment": {
"version": "2.29.0",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.0.tgz",
"integrity": "sha512-z6IJ5HXYiuxvFTI6eiQ9dm77uE0gyy1yXNApVHqTcnIKfY9tIwEjlzsZ6u1LQXvVgKeTnv9Xm7NDvJ7lso3MtA=="
"version": "2.28.0",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.28.0.tgz",
"integrity": "sha512-Z5KOjYmnHyd/ukynmFd/WwyXHd7L4J9vTI/nn5Ap9AVUgaAE15VvQ9MOGmJJygEUklupqIrFnor/tjTwRU+tQw=="
},
"move-concurrently": {
"version": "1.0.1",
@@ -17747,9 +17747,9 @@
"dev": true
},
"stylelint": {
"version": "13.7.2",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.7.2.tgz",
"integrity": "sha512-mmieorkfmO+ZA6CNDu1ic9qpt4tFvH2QUB7vqXgrMVHe5ENU69q7YDq0YUg/UHLuCsZOWhUAvcMcLzLDIERzSg==",
"version": "13.7.1",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.7.1.tgz",
"integrity": "sha512-qzqazcyRxrSRdmFuO0/SZOJ+LyCxYy0pwcvaOBBnl8/2VfHSMrtNIE+AnyJoyq6uKb+mt+hlgmVrvVi6G6XHfQ==",
"dev": true,
"requires": {
"@stylelint/postcss-css-in-js": "^0.37.2",
@@ -17855,12 +17855,12 @@
"dev": true
},
"debug": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
"integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
"ms": "2.1.2"
"ms": "^2.1.1"
}
},
"emoji-regex": {
@@ -17998,9 +17998,9 @@
"dev": true
},
"postcss": {
"version": "7.0.34",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.34.tgz",
"integrity": "sha512-H/7V2VeNScX9KE83GDrDZNiGT1m2H+UTnlinIzhjlLX9hfMUn1mHNnGeX81a1c8JSBdBvqk7c2ZOG6ZPn5itGw==",
"version": "7.0.32",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz",
"integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
@@ -18315,9 +18315,9 @@
},
"dependencies": {
"ajv": {
"version": "6.12.5",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz",
"integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==",
"version": "6.12.4",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz",
"integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
@@ -19274,12 +19274,12 @@
}
},
"vue-easymde": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/vue-easymde/-/vue-easymde-1.3.0.tgz",
"integrity": "sha512-VkeSkxH3uhGWqxIt73WLbLzCZP/4yHY05cMYVfL7RFUf4bB9WTjrHEWVLRDCvEToVcxNR7uLpNDE4XtljDuCcg==",
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/vue-easymde/-/vue-easymde-1.2.2.tgz",
"integrity": "sha512-Dt4kGiQ0VfpCOZ5OgeE9L58Er2/r482VBTfwd6Ky0wqEGXknGmiMXEsZ1MvZf8bZQIPS9nhGlV4B+n1hb8VHPg==",
"requires": {
"easymde": "^2.12.0",
"marked": "^1.2.0"
"easymde": "^2.10.1",
"marked": "^1.1.1"
}
},
"vue-eslint-parser": {
@@ -19382,9 +19382,9 @@
"integrity": "sha512-bhP7MlgJQ8TIkZJXAfDf78uJO+mEI3CaLABLjv0WNzr4CcGRGPIAItyWYnP6LsPA4Oq0WE+suidNs6dgpO4RHg=="
},
"vue-router": {
"version": "3.4.5",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.5.tgz",
"integrity": "sha512-ioRY5QyDpXM9TDjOX6hX79gtaMXSVDDzSlbIlyAmbHNteIL81WIVB2e+jbzV23vzxtoV0krdS2XHm+GxFg+Nxg=="
"version": "3.4.3",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.3.tgz",
"integrity": "sha512-BADg1mjGWX18Dpmy6bOGzGNnk7B/ZA0RxuA6qedY/YJwirMfKXIDzcccmHbQI0A6k5PzMdMloc0ElHfyOoX35A=="
},
"vue-smooth-dnd": {
"version": "0.8.1",

View File

@@ -34,29 +34,28 @@
"@nextcloud/auth": "^1.3.0",
"@nextcloud/axios": "^1.4.0",
"@nextcloud/dialogs": "^2.0.1",
"@nextcloud/event-bus": "^1.2.0",
"@nextcloud/files": "^1.1.0",
"@nextcloud/initial-state": "^1.1.2",
"@nextcloud/l10n": "^1.4.1",
"@nextcloud/moment": "^1.1.1",
"@nextcloud/router": "^1.2.0",
"@nextcloud/vue": "^2.6.8",
"@nextcloud/vue": "^2.6.5",
"@nextcloud/vue-dashboard": "^1.0.1",
"blueimp-md5": "^2.18.0",
"dompurify": "^2.1.1",
"dompurify": "^2.0.16",
"lodash": "^4.17.20",
"markdown-it": "^11.0.1",
"markdown-it-task-lists": "^2.1.1",
"moment": "^2.29.0",
"moment": "^2.28.0",
"nextcloud-vue-collections": "^0.8.1",
"p-queue": "^6.6.1",
"url-search-params-polyfill": "^8.1.0",
"vue": "^2.6.12",
"vue-at": "^2.5.0-beta.2",
"vue-click-outside": "^1.1.0",
"vue-easymde": "^1.3.0",
"vue-easymde": "^1.2.2",
"vue-infinite-loading": "^2.4.5",
"vue-router": "^3.4.5",
"vue-router": "^3.4.3",
"vue-smooth-dnd": "^0.8.1",
"vuex": "^3.5.1",
"vuex-router-sync": "^5.0.0"
@@ -76,7 +75,7 @@
"@nextcloud/eslint-plugin": "^1.4.0",
"@nextcloud/webpack-vue-config": "^1.4.1",
"@vue/test-utils": "^1.1.0",
"acorn": "^8.0.3",
"acorn": "^8.0.1",
"babel-eslint": "^10.1.0",
"babel-jest": "^26.3.0",
"babel-loader": "^8.1.0",
@@ -85,7 +84,7 @@
"eslint-config-standard": "^12.0.0",
"eslint-friendly-formatter": "^4.0.1",
"eslint-loader": "^3.0.4",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-import": "^2.22.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.1",
@@ -98,7 +97,7 @@
"raw-loader": "^4.0.1",
"sass-loader": "^10.0.2",
"style-loader": "^1.2.1",
"stylelint": "^13.7.2",
"stylelint": "^13.7.1",
"stylelint-config-recommended": "^3.0.0",
"stylelint-config-recommended-scss": "^4.2.0",
"stylelint-scss": "^3.18.0",

View File

@@ -102,7 +102,7 @@ export default {
formatedSharees() {
return this.unallocatedSharees.map(item => {
const sharee = {
user: item.value.shareWith,
user: item.label,
displayName: item.label,
icon: 'icon-user',
multiselectKey: item.shareType + ':' + item.primaryKey,
@@ -119,7 +119,7 @@ export default {
sharee.value = item.value
return sharee
}).slice(0, 10)
})
},
unallocatedSharees() {
return this.sharees.filter((sharee) => {

View File

@@ -117,11 +117,9 @@ import { mapGetters, mapState } from 'vuex'
import { Container, Draggable } from 'vue-smooth-dnd'
import { Actions, ActionButton, Modal } from '@nextcloud/vue'
import { showError, showUndo } from '@nextcloud/dialogs'
import { showError } from '@nextcloud/dialogs'
import CardItem from '../cards/CardItem'
import '@nextcloud/dialogs/styles/toast.scss'
export default {
name: 'Stack',
components: {
@@ -212,7 +210,6 @@ export default {
},
deleteStack(stack) {
this.$store.dispatch('deleteStack', stack)
showUndo(t('deck', 'List deleted'), () => this.$store.dispatch('stackUndoDelete', stack))
},
archiveAllCardsFromStack(stack) {

View File

@@ -179,7 +179,7 @@
<CardSidebarTabAttachments :card="currentCard" />
</AppSidebarTab>
<AppSidebarTab
<AppSidebarTab v-if="hasComments"
id="comments"
:order="2"
:name="t('deck', 'Comments')"
@@ -283,6 +283,7 @@ export default {
descriptionSaveTimeout: null,
descriptionSaving: false,
hasActivity: capabilities && capabilities.activity,
hasComments: !!OC.appswebroots['comments'],
modalShow: false,
lang: {
days: getDayNamesMin(),

View File

@@ -118,7 +118,7 @@ export default {
return this.$store.getters.canEdit
}
const board = this.$store.getters.boards.find((item) => item.id === this.card.boardId)
return board ? board.permissions.PERMISSION_EDIT : false
return board.permissions.PERMISSION_EDIT
},
card() {
return this.item ? this.item : this.$store.getters.cardById(this.id)

View File

@@ -76,7 +76,6 @@ import axios from '@nextcloud/axios'
import { generateUrl } from '@nextcloud/router'
import { getCurrentUser } from '@nextcloud/auth'
import { showUndo } from '@nextcloud/dialogs'
import '@nextcloud/dialogs/styles/toast.scss'
export default {
name: 'CardMenu',
@@ -131,7 +130,7 @@ export default {
},
deleteCard() {
this.$store.dispatch('deleteCard', this.card)
showUndo(t('deck', 'Card deleted'), () => this.$store.dispatch('cardUndoDelete', this.card))
showUndo('undo', this.$store.dispatch('cardUndoDelete', this.card))
},
archiveUnarchiveCard() {
this.$store.dispatch('archiveUnarchiveCard', { ...this.card, archived: !this.card.archived })

View File

@@ -27,7 +27,6 @@ import { sync } from 'vuex-router-sync'
import { translate, translatePlural } from '@nextcloud/l10n'
import { generateFilePath } from '@nextcloud/router'
import { showError } from '@nextcloud/dialogs'
import { subscribe } from '@nextcloud/event-bus'
import { Tooltip } from '@nextcloud/vue'
import ClickOutside from 'vue-click-outside'
import './models'
@@ -75,17 +74,8 @@ new Vue({
}
},
created() {
subscribe('nextcloud:unified-search.search', ({ query }) => {
this.$store.commit('setSearchQuery', query)
})
subscribe('nextcloud:unified-search.reset', () => {
this.$store.commit('setSearchQuery', '')
})
// FIXME remove this once Nextcloud 20 is minimum required version
// eslint-disable-next-line
new OCA.Search(this.filter, this.cleanSearch)
this.interval = setInterval(() => {
this.time = Date.now()
}, 1000)

View File

@@ -287,7 +287,7 @@ class DeckProviderTest extends TestCase {
$this->assertEquals('test string Card', $event->getParsedSubject());
$this->assertEquals('test string {card}', $event->getRichSubject());
$this->assertEquals('BCD', $event->getMessage());
$this->assertEquals('BCD', $event->getParsedMessage());
$this->assertEquals('<pre class="visualdiff"><del>A</del>BC<ins>D</ins></pre>', $event->getParsedMessage());
}
public function testParseParamForBoard() {