Compare commits

..

20 Commits

Author SHA1 Message Date
Julius Härtl
d9014903ac Bump version to 1.9.0
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-15 14:57:12 +01:00
Nextcloud bot
e7529e2d74 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-15 02:38:43 +00:00
Julius Härtl
c0e07dc202 Merge pull request #4530 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-03-12 15:22:56 +01:00
nextcloud-command
2619219618 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-03-12 03:16:40 +00:00
Julius Härtl
87a0a4ed4f Merge pull request #4525 from nextcloud/backport/4510/stable26 2023-03-10 08:54:08 +01:00
Julius Härtl
df01d8ef79 fix(sessions): Do not send close request without token
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-10 07:27:22 +00:00
Nextcloud bot
9f38e51d9b Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-10 02:40:05 +00:00
Julius Härtl
3f2e343541 Merge pull request #4521 from nextcloud/backport/4512/stable26 2023-03-08 18:59:04 +01:00
Julius Härtl
ea6006bec0 fix(cards): Fix card sizing by limiting too wide style rules
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-08 17:41:03 +00:00
Joas Schilling
1e625d3955 Merge pull request #4519 from nextcloud/backport/4518/stable26
[stable26] fix(API): Fix board API details parameter to work as expected
2023-03-08 09:22:32 +01:00
Joas Schilling
4b0a27d6b5 fix(API): Fix board API details parameter to work as expected
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-03-08 07:43:46 +00:00
Marcel Klehr
9cc38000fd Merge pull request #4516 from nextcloud/backport/4514/stable26 2023-03-07 10:51:40 +01:00
Julius Härtl
3574abe0cb fix(references): Mute NoPermissionException as it is expected to happen for references
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-07 09:24:39 +00:00
Julius Härtl
fb5aed2143 chore(release): Bump version to 1.8.0-beta.2
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-06 07:14:34 +01:00
Julius Härtl
3506ac2a42 Merge pull request #4509 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-03-06 07:12:08 +01:00
Nextcloud bot
1f2f8fe001 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-06 02:39:11 +00:00
nextcloud-command
97d9c4cc2c chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-03-05 03:18:56 +00:00
Julius Härtl
b169ecd0fe Merge pull request #4498 from nextcloud/update-stable26-target-versions 2023-03-04 11:55:03 +01:00
Nextcloud bot
912376a99d Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-04 02:40:24 +00:00
Joas Schilling
3ec2ad99b1 chore(CI): Adjust testing matrix for Nextcloud 26 on stable26
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-03-03 13:25:30 +01:00
67 changed files with 1153 additions and 3326 deletions

View File

@@ -44,7 +44,7 @@ jobs:
expression: "//info//dependencies//nextcloud/@min-version"
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
id: versions
# Continue if no package.json
continue-on-error: true

View File

@@ -23,7 +23,7 @@ jobs:
# containers: [1, 2, 3]
php-versions: [ '8.0' ]
databases: [ 'sqlite' ]
server-versions: [ 'master' ]
server-versions: [ 'stable26' ]
steps:
- name: Use Node.js ${{ matrix.node-version }}

View File

@@ -28,7 +28,7 @@ jobs:
matrix:
php-versions: ['8.1']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['master']
server-versions: ['stable26']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -151,4 +151,4 @@ jobs:
repo: context.repo.repo,
body: comment
})
}
}

View File

@@ -41,7 +41,7 @@ jobs:
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
id: versions
with:
fallbackNode: '^16'

View File

@@ -25,7 +25,7 @@ jobs:
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@1bdcee71fa343c46b18dc6aceffb4cd1e35209c6 # v1.2
id: versions
with:
fallbackNode: '^16'

View File

@@ -26,9 +26,9 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.0', '8.1']
php-versions: ['8.0', '8.1', '8.2']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['master']
server-versions: ['stable26']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}

View File

@@ -17,7 +17,7 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ["master", "stable26", "stable25", "stable24"]
branches: ["master", "stable25", "stable24"]
name: update-nextcloud-ocp-${{ matrix.branches }}
@@ -52,7 +52,7 @@ jobs:
continue-on-error: true
- name: Create Pull Request
uses: peter-evans/create-pull-request@38e0b6e68b4c852a5500a94740f0e535e0d7ba54 # v3
uses: peter-evans/create-pull-request@2b011faafdcbc9ceb11414d64d0573f37c774b04 # v3
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"

View File

@@ -1,20 +1,31 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.9.0-beta.1
## 1.9.0
### Added
- Export Board @david-loe [#3065](https://github.com/nextcloud/deck/pull/3065)
- basic notify_push usage with session handling @alangecker [#3876](https://github.com/nextcloud/deck/pull/3876)
- feat(Description): Use text as editor if available @juliushaertl [#4399](https://github.com/nextcloud/deck/pull/4399)
- Live updates on board collaboration using notify_push @alangecker [#4273](https://github.com/nextcloud/deck/pull/4273)
- Basic notify_push usage with session handling @alangecker [#3876](https://github.com/nextcloud/deck/pull/3876)
- Use text as editor if available [#4399](https://github.com/nextcloud/deck/pull/4399)
- Improve reference provider and add reference widgets @julien-nc [#4422](https://github.com/nextcloud/deck/pull/4422)
- live updates 🎉 @alangecker [#4273](https://github.com/nextcloud/deck/pull/4273)
- Tag creation from card view @juliushaertl [#4344](https://github.com/nextcloud/deck/pull/4344)
- Optimize query performance with larger board or card count @[#4452](https://github.com/nextcloud/deck/pull/4452)
- Export Board as CSV @david-loe [#3065](https://github.com/nextcloud/deck/pull/3065)
### Fixed
- fix(cards): Fix card sizing by limiting too wide style rules [#4521](https://github.com/nextcloud/deck/pull/4521)
- fix(references): Mute NoPermissionException as it is expected to happen for references [#4516](https://github.com/nextcloud/deck/pull/4516)
- fix(API): Fix board API details parameter to work as expected [#4519](https://github.com/nextcloud/deck/pull/4519)
- fix(sessions): Do not send close request without token [#4525](https://github.com/nextcloud/deck/pull/4525)
- fix: Avoid mutating the due date when calculating days @juliushaertl [#4488](https://github.com/nextcloud/deck/pull/4488)
- fix: Pass user id along to properly check permissions in background jobs @juliushaertl [#4485](https://github.com/nextcloud/deck/pull/4485)
- fix: Use passed userid when getting attachment folder @juliushaertl [#4487](https://github.com/nextcloud/deck/pull/4487)
- fix: Use proper z-index for text menubar @juliushaertl [#4490](https://github.com/nextcloud/deck/pull/4490)
- fix(dashboard): Fix undefined array index @marcelklehr [#4492](https://github.com/nextcloud/deck/pull/4492)
- fix: Always return sorted index array to make sure a json array is the result @juliushaertl [#4493](https://github.com/nextcloud/deck/pull/4493)
- Fix component renaming so that acl works on shares again @small1 [#4315](https://github.com/nextcloud/deck/pull/4315)
- fix(Sidebar): Only close sidebar on v-click-outside for specific targets @juliushaertl [#4350](https://github.com/nextcloud/deck/pull/4350)
- add basic e2e tests for stack title @shoetten [#4206](https://github.com/nextcloud/deck/pull/4206)
@@ -24,10 +35,6 @@ All notable changes to this project will be documented in this file.
- perf: Register notifier and resource listener lazy @juliushaertl [#4439](https://github.com/nextcloud/deck/pull/4439)
- perf: Lazy load dashboard components @juliushaertl [#4440](https://github.com/nextcloud/deck/pull/4440)
- Optimise upcomming overview creation @Raudius [#3793](https://github.com/nextcloud/deck/pull/3793)
- Performance boost @juliushaertl [#4452](https://github.com/nextcloud/deck/pull/4452)
### Other
- Dependency updates
## 1.8.0-beta.1

View File

@@ -16,7 +16,7 @@
- 🚀 Get your project organized
</description>
<version>1.10.0-dev</version>
<version>1.9.0</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<documentation>
@@ -38,7 +38,7 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>
<nextcloud min-version="27" max-version="27"/>
<nextcloud min-version="26" max-version="26"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>

View File

@@ -19,7 +19,7 @@
"symfony/event-dispatcher": "^4.0",
"vimeo/psalm": "^5.4",
"php-parallel-lint/php-parallel-lint": "^1.2",
"nextcloud/ocp": "dev-master"
"nextcloud/ocp": "dev-stable26"
},
"config": {
"optimize-autoloader": true,

356
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "22d201a4569de6d4fafbc13277ae91a6",
"content-hash": "7f234626b3fd062832a6387b9434427c",
"packages": [
{
"name": "cogpowered/finediff",
@@ -299,6 +299,79 @@
],
"time": "2021-03-30T17:13:30+00:00"
},
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99.5",
"source": {
"type": "git",
"url": "https://github.com/composer/package-versions-deprecated.git",
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d",
"reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.1.0 || ^2.0",
"php": "^7 || ^8"
},
"replace": {
"ocramius/package-versions": "1.11.99"
},
"require-dev": {
"composer/composer": "^1.9.3 || ^2.0@dev",
"ext-zip": "^1.13",
"phpunit/phpunit": "^6.5 || ^7"
},
"type": "composer-plugin",
"extra": {
"class": "PackageVersions\\Installer",
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
},
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be"
}
],
"description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"support": {
"issues": "https://github.com/composer/package-versions-deprecated/issues",
"source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5"
},
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2022-01-17T14:14:24+00:00"
},
{
"name": "composer/pcre",
"version": "1.0.1",
@@ -626,49 +699,6 @@
},
"time": "2021-08-05T19:00:23+00:00"
},
{
"name": "doctrine/deprecations",
"version": "v1.0.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
"reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
"reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
"shasum": ""
},
"require": {
"php": "^7.1|^8.0"
},
"require-dev": {
"doctrine/coding-standard": "^9",
"phpunit/phpunit": "^7.5|^8.5|^9.5",
"psr/log": "^1|^2|^3"
},
"suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
},
"type": "library",
"autoload": {
"psr-4": {
"Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
"source": "https://github.com/doctrine/deprecations/tree/v1.0.0"
},
"time": "2022-05-02T15:47:09+00:00"
},
{
"name": "doctrine/instantiator",
"version": "1.5.0",
@@ -1072,16 +1102,16 @@
},
{
"name": "myclabs/deep-copy",
"version": "1.11.1",
"version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
"reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
"reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
"shasum": ""
},
"require": {
@@ -1119,7 +1149,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
"source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
"source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
},
"funding": [
{
@@ -1127,7 +1157,7 @@
"type": "tidelift"
}
],
"time": "2023-03-08T13:26:56+00:00"
"time": "2022-03-03T13:19:32+00:00"
},
{
"name": "netresearch/jsonmapper",
@@ -1223,26 +1253,24 @@
},
{
"name": "nextcloud/ocp",
"version": "dev-master",
"version": "dev-stable26",
"source": {
"type": "git",
"url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "5636b942e35ee391b1103150261d83d3d753d657"
"reference": "cd0f1f72b7589f7751a06d379c9e886ecce5b6d6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/5636b942e35ee391b1103150261d83d3d753d657",
"reference": "5636b942e35ee391b1103150261d83d3d753d657",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/cd0f1f72b7589f7751a06d379c9e886ecce5b6d6",
"reference": "cd0f1f72b7589f7751a06d379c9e886ecce5b6d6",
"shasum": ""
},
"require": {
"php": "^7.4 || ~8.0 || ~8.1",
"psr/clock": "^1.0",
"psr/container": "^1.1.1",
"psr/event-dispatcher": "^1.0",
"psr/log": "^1.1"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
@@ -1262,22 +1290,22 @@
"description": "Composer package containing Nextcloud's public API (classes, interfaces)",
"support": {
"issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/master"
"source": "https://github.com/nextcloud-deps/ocp/tree/stable26"
},
"time": "2023-02-08T00:37:37+00:00"
"time": "2023-03-10T00:40:06+00:00"
},
{
"name": "nikic/php-parser",
"version": "v4.15.4",
"version": "v4.15.3",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
"reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
"reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039",
"reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039",
"shasum": ""
},
"require": {
@@ -1318,9 +1346,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4"
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3"
},
"time": "2023-03-05T19:49:14+00:00"
"time": "2023-01-16T22:05:37+00:00"
},
{
"name": "phar-io/manifest",
@@ -1654,27 +1682,24 @@
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.7.1",
"version": "1.6.2",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "dfc078e8af9c99210337325ff5aa152872c98714"
"reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/dfc078e8af9c99210337325ff5aa152872c98714",
"reference": "dfc078e8af9c99210337325ff5aa152872c98714",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
"reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1.0",
"php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.0",
"phpstan/phpdoc-parser": "^1.13"
"phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
"phpbench/phpbench": "^1.2",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.8",
"phpstan/phpstan-phpunit": "^1.1",
@@ -1706,74 +1731,29 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.1"
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
},
"time": "2023-03-27T19:02:04+00:00"
},
{
"name": "phpstan/phpdoc-parser",
"version": "1.16.1",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
"reference": "e27e92d939e2e3636f0a1f0afaba59692c0bf571"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/e27e92d939e2e3636f0a1f0afaba59692c0bf571",
"reference": "e27e92d939e2e3636f0a1f0afaba59692c0bf571",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"require-dev": {
"php-parallel-lint/php-parallel-lint": "^1.2",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^1.5",
"phpstan/phpstan-phpunit": "^1.1",
"phpstan/phpstan-strict-rules": "^1.0",
"phpunit/phpunit": "^9.5",
"symfony/process": "^5.2"
},
"type": "library",
"autoload": {
"psr-4": {
"PHPStan\\PhpDocParser\\": [
"src/"
]
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
"source": "https://github.com/phpstan/phpdoc-parser/tree/1.16.1"
},
"time": "2023-02-07T18:11:17+00:00"
"time": "2022-10-14T12:47:21+00:00"
},
{
"name": "phpunit/php-code-coverage",
"version": "9.2.26",
"version": "9.2.24",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1"
"reference": "2cf940ebc6355a9d430462811b5aaa308b174bed"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
"reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed",
"reference": "2cf940ebc6355a9d430462811b5aaa308b174bed",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
"nikic/php-parser": "^4.15",
"nikic/php-parser": "^4.14",
"php": ">=7.3",
"phpunit/php-file-iterator": "^3.0.3",
"phpunit/php-text-template": "^2.0.2",
@@ -1788,8 +1768,8 @@
"phpunit/phpunit": "^9.3"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
"ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
"ext-pcov": "*",
"ext-xdebug": "*"
},
"type": "library",
"extra": {
@@ -1822,7 +1802,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26"
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24"
},
"funding": [
{
@@ -1830,7 +1810,7 @@
"type": "github"
}
],
"time": "2023-03-06T12:58:08+00:00"
"time": "2023-01-26T08:26:55+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -2075,16 +2055,16 @@
},
{
"name": "phpunit/phpunit",
"version": "9.6.7",
"version": "9.6.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2"
"reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
"reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7b1615e3e887d6c719121c6d4a44b0ab9645555",
"reference": "e7b1615e3e887d6c719121c6d4a44b0ab9645555",
"shasum": ""
},
"require": {
@@ -2117,8 +2097,8 @@
"sebastian/version": "^3.0.2"
},
"suggest": {
"ext-soap": "To be able to generate mocks based on WSDL files",
"ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
"ext-soap": "*",
"ext-xdebug": "*"
},
"bin": [
"phpunit"
@@ -2157,8 +2137,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.7"
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.3"
},
"funding": [
{
@@ -2174,7 +2153,7 @@
"type": "tidelift"
}
],
"time": "2023-04-14T08:58:40+00:00"
"time": "2023-02-04T13:37:15+00:00"
},
{
"name": "psr/cache",
@@ -2225,54 +2204,6 @@
},
"time": "2021-02-03T23:26:27+00:00"
},
{
"name": "psr/clock",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/clock.git",
"reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
"reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
"shasum": ""
},
"require": {
"php": "^7.0 || ^8.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Psr\\Clock\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for reading the clock.",
"homepage": "https://github.com/php-fig/clock",
"keywords": [
"clock",
"now",
"psr",
"psr-20",
"time"
],
"support": {
"issues": "https://github.com/php-fig/clock/issues",
"source": "https://github.com/php-fig/clock/tree/1.0.0"
},
"time": "2022-11-25T14:36:26+00:00"
},
{
"name": "psr/container",
"version": "1.1.2",
@@ -3882,16 +3813,16 @@
},
{
"name": "symfony/console",
"version": "v5.4.22",
"version": "v5.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "3cd51fd2e6c461ca678f84d419461281bd87a0a8"
"reference": "dccb8d251a9017d5994c988b034d3e18aaabf740"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/3cd51fd2e6c461ca678f84d419461281bd87a0a8",
"reference": "3cd51fd2e6c461ca678f84d419461281bd87a0a8",
"url": "https://api.github.com/repos/symfony/console/zipball/dccb8d251a9017d5994c988b034d3e18aaabf740",
"reference": "dccb8d251a9017d5994c988b034d3e18aaabf740",
"shasum": ""
},
"require": {
@@ -3956,12 +3887,12 @@
"homepage": "https://symfony.com",
"keywords": [
"cli",
"command-line",
"command line",
"console",
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v5.4.22"
"source": "https://github.com/symfony/console/tree/v5.4.19"
},
"funding": [
{
@@ -3977,7 +3908,7 @@
"type": "tidelift"
}
],
"time": "2023-03-25T09:27:28+00:00"
"time": "2023-01-01T08:32:19+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -4211,16 +4142,16 @@
},
{
"name": "symfony/filesystem",
"version": "v5.4.21",
"version": "v5.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f"
"reference": "648bfaca6a494f3e22378123bcee2894045dc9d8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
"reference": "e75960b1bbfd2b8c9e483e0d74811d555ca3de9f",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/648bfaca6a494f3e22378123bcee2894045dc9d8",
"reference": "648bfaca6a494f3e22378123bcee2894045dc9d8",
"shasum": ""
},
"require": {
@@ -4255,7 +4186,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v5.4.21"
"source": "https://github.com/symfony/filesystem/tree/v5.4.19"
},
"funding": [
{
@@ -4271,7 +4202,7 @@
"type": "tidelift"
}
],
"time": "2023-02-14T08:03:56+00:00"
"time": "2023-01-14T19:14:44+00:00"
},
{
"name": "symfony/finder",
@@ -5185,16 +5116,16 @@
},
{
"name": "symfony/string",
"version": "v5.4.22",
"version": "v5.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62"
"reference": "0a01071610fd861cc160dfb7e2682ceec66064cb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
"reference": "8036a4c76c0dd29e60b6a7cafcacc50cf088ea62",
"url": "https://api.github.com/repos/symfony/string/zipball/0a01071610fd861cc160dfb7e2682ceec66064cb",
"reference": "0a01071610fd861cc160dfb7e2682ceec66064cb",
"shasum": ""
},
"require": {
@@ -5251,7 +5182,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v5.4.22"
"source": "https://github.com/symfony/string/tree/v5.4.19"
},
"funding": [
{
@@ -5267,7 +5198,7 @@
"type": "tidelift"
}
],
"time": "2023-03-14T06:11:53+00:00"
"time": "2023-01-01T08:32:19+00:00"
},
{
"name": "theseer/tokenizer",
@@ -5321,22 +5252,22 @@
},
{
"name": "vimeo/psalm",
"version": "5.9.0",
"version": "5.7.7",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "8b9ad1eb9e8b7d3101f949291da2b9f7767cd163"
"reference": "e028ba46ba0d7f9a78bc3201c251e137383e145f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/8b9ad1eb9e8b7d3101f949291da2b9f7767cd163",
"reference": "8b9ad1eb9e8b7d3101f949291da2b9f7767cd163",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/e028ba46ba0d7f9a78bc3201c251e137383e145f",
"reference": "e028ba46ba0d7f9a78bc3201c251e137383e145f",
"shasum": ""
},
"require": {
"amphp/amp": "^2.4.2",
"amphp/byte-stream": "^1.5",
"composer-runtime-api": "^2",
"composer/package-versions-deprecated": "^1.10.0",
"composer/semver": "^1.4 || ^2.0 || ^3.0",
"composer/xdebug-handler": "^2.0 || ^3.0",
"dnoegel/php-xdg-base-dir": "^0.1.1",
@@ -5351,7 +5282,7 @@
"felixfbecker/language-server-protocol": "^1.5.2",
"fidry/cpu-core-counter": "^0.4.1 || ^0.5.1",
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
"nikic/php-parser": "^4.14",
"nikic/php-parser": "^4.13",
"php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0",
"sebastian/diff": "^4.0 || ^5.0",
"spatie/array-to-xml": "^2.17.0 || ^3.0",
@@ -5362,7 +5293,6 @@
"psalm/psalm": "self.version"
},
"require-dev": {
"amphp/phpunit-util": "^2.0",
"bamarni/composer-bin-plugin": "^1.4",
"brianium/paratest": "^6.9",
"ext-curl": "*",
@@ -5421,9 +5351,9 @@
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm/tree/5.9.0"
"source": "https://github.com/vimeo/psalm/tree/5.7.7"
},
"time": "2023-03-29T21:38:21+00:00"
"time": "2023-02-25T01:05:07+00:00"
},
{
"name": "webmozart/assert",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Кликване за разширяване на коментара",
"No upcoming cards" : "Няма предстоящи карти",
"upcoming cards" : "предстоящи карти",
"New card" : "Нова карта",
"Due on {date}" : "Краен срок до {date}",
"Link to a board" : "Линк към табло",
"Link to a card" : "Линк към карта",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "Кликване за разширяване на коментара",
"No upcoming cards" : "Няма предстоящи карти",
"upcoming cards" : "предстоящи карти",
"New card" : "Нова карта",
"Due on {date}" : "Краен срок до {date}",
"Link to a board" : "Линк към табло",
"Link to a card" : "Линк към карта",

View File

@@ -79,12 +79,8 @@ OC.L10N.register(
"The board \"%s\" has been shared with you by %s." : "El tauler \"%s\" se us ha compartit per %s.",
"{user} has shared {deck-board} with you." : "{user} us ha compartit {board}.",
"Deck board" : "Tauler de Deck",
"Owned by %1$s" : "Propietat de %1$s",
"Deck boards, cards and comments" : "Taulers, targetes i comentaris",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, a %2$s/%3$s, propietat de %4$s",
"Card comments" : "Comentaris de la targeta",
"%s on %s" : "%s a %s",
"Deck boards and cards" : "Taulers de piles i targetes",
"No data was provided to create an attachment." : "No sha proporcionat cap dada per crear un fitxer adjunt.",
"Finished" : "Acabat",
"To review" : "Per revisar",
@@ -157,7 +153,6 @@ OC.L10N.register(
"Toggle compact mode" : "Commuta el mode compacte",
"Open details" : "Obre els detalls",
"Details" : "Detalls",
"Currently present people" : "Persones presents actuals",
"Loading board" : "S'està carregant el tauler",
"No lists available" : "No hi ha cap llista disponible",
"Create a new list to add cards to this board" : "Crea una llista nova per afegir targetes a aquest tauler",
@@ -186,7 +181,6 @@ OC.L10N.register(
"Transfer" : "Transferència",
"The board has been transferred to {user}" : "El tauler s'ha transferit a {user}",
"Failed to transfer the board to {user}" : "No s'ha pogut transferir el tauler a {user}",
"Edit list title" : "Edita el títol de la llista",
"Archive all cards" : "Arxiva totes les targetes",
"Unarchive all cards" : "Desarxivar totes les targetes",
"Delete list" : "Suprimeix la llista",
@@ -277,7 +271,6 @@ OC.L10N.register(
"Clone board" : "Clonar tauler",
"Unarchive board" : "Desarxiva el tauler",
"Archive board" : "Arxiva el tauler",
"Export board" : "Exportació de tauler",
"Turn on due date reminders" : "Activa els recordatoris de data de venciment",
"Turn off due date reminders" : "Desactiva els recordatoris de data de venciment",
"Due date reminders" : "Recordatoris de data de venciment",
@@ -295,15 +288,12 @@ OC.L10N.register(
"No due" : "Sense venciment",
"Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers",
"No results found" : "No s'han trobat resultats",
"Deck board {name}\n* Last modified on {lastMod}" : "Tauler de piles {name}\n* Última modificació el dia {lastMod}",
"{stack} in {board}" : "{stack} a {board}",
"Click to expand description" : "Feu clic per ampliar la descripció",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creat el {created}\n* Última modificació el dia {lastMod}\n* {nbAttachments} fitxers adjunts\n* {nbComments} comentaris",
"{nbCards} cards" : "{nbCards} targetes",
"Click to expand comment" : "Feu clic per ampliar el comentari",
"No upcoming cards" : "No hi ha pròximes targetes",
"upcoming cards" : "pròximes targetes",
"New card" : "Nova targeta",
"Due on {date}" : "Venciment el dia {date}",
"Link to a board" : "Enllaça a un tauler",
"Link to a card" : "Enllaç una targeta",

View File

@@ -77,12 +77,8 @@
"The board \"%s\" has been shared with you by %s." : "El tauler \"%s\" se us ha compartit per %s.",
"{user} has shared {deck-board} with you." : "{user} us ha compartit {board}.",
"Deck board" : "Tauler de Deck",
"Owned by %1$s" : "Propietat de %1$s",
"Deck boards, cards and comments" : "Taulers, targetes i comentaris",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, a %2$s/%3$s, propietat de %4$s",
"Card comments" : "Comentaris de la targeta",
"%s on %s" : "%s a %s",
"Deck boards and cards" : "Taulers de piles i targetes",
"No data was provided to create an attachment." : "No sha proporcionat cap dada per crear un fitxer adjunt.",
"Finished" : "Acabat",
"To review" : "Per revisar",
@@ -155,7 +151,6 @@
"Toggle compact mode" : "Commuta el mode compacte",
"Open details" : "Obre els detalls",
"Details" : "Detalls",
"Currently present people" : "Persones presents actuals",
"Loading board" : "S'està carregant el tauler",
"No lists available" : "No hi ha cap llista disponible",
"Create a new list to add cards to this board" : "Crea una llista nova per afegir targetes a aquest tauler",
@@ -184,7 +179,6 @@
"Transfer" : "Transferència",
"The board has been transferred to {user}" : "El tauler s'ha transferit a {user}",
"Failed to transfer the board to {user}" : "No s'ha pogut transferir el tauler a {user}",
"Edit list title" : "Edita el títol de la llista",
"Archive all cards" : "Arxiva totes les targetes",
"Unarchive all cards" : "Desarxivar totes les targetes",
"Delete list" : "Suprimeix la llista",
@@ -275,7 +269,6 @@
"Clone board" : "Clonar tauler",
"Unarchive board" : "Desarxiva el tauler",
"Archive board" : "Arxiva el tauler",
"Export board" : "Exportació de tauler",
"Turn on due date reminders" : "Activa els recordatoris de data de venciment",
"Turn off due date reminders" : "Desactiva els recordatoris de data de venciment",
"Due date reminders" : "Recordatoris de data de venciment",
@@ -293,15 +286,12 @@
"No due" : "Sense venciment",
"Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers",
"No results found" : "No s'han trobat resultats",
"Deck board {name}\n* Last modified on {lastMod}" : "Tauler de piles {name}\n* Última modificació el dia {lastMod}",
"{stack} in {board}" : "{stack} a {board}",
"Click to expand description" : "Feu clic per ampliar la descripció",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creat el {created}\n* Última modificació el dia {lastMod}\n* {nbAttachments} fitxers adjunts\n* {nbComments} comentaris",
"{nbCards} cards" : "{nbCards} targetes",
"Click to expand comment" : "Feu clic per ampliar el comentari",
"No upcoming cards" : "No hi ha pròximes targetes",
"upcoming cards" : "pròximes targetes",
"New card" : "Nova targeta",
"Due on {date}" : "Venciment el dia {date}",
"Link to a board" : "Enllaça a un tauler",
"Link to a card" : "Enllaç una targeta",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Komentář rozbalíte kliknutím",
"No upcoming cards" : "Žádné nadcházející karty",
"upcoming cards" : "nadcházející karty",
"New card" : "Nová karta",
"Due on {date}" : "Termín {date}",
"Link to a board" : "Propojit s tabulí",
"Link to a card" : "Propojit s kartou",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "Komentář rozbalíte kliknutím",
"No upcoming cards" : "Žádné nadcházející karty",
"upcoming cards" : "nadcházející karty",
"New card" : "Nová karta",
"Due on {date}" : "Termín {date}",
"Link to a board" : "Propojit s tabulí",
"Link to a card" : "Propojit s kartou",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Klicken, um den Kommentar zu erweitern",
"No upcoming cards" : "Keine anstehenden Karten",
"upcoming cards" : "Anstehende Karten",
"New card" : "Neue Karte",
"Due on {date}" : "Fällig am {date}",
"Link to a board" : "Mit einem Board verknüpfen",
"Link to a card" : "Mit einer Karte verknüpfen",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "Klicken, um den Kommentar zu erweitern",
"No upcoming cards" : "Keine anstehenden Karten",
"upcoming cards" : "Anstehende Karten",
"New card" : "Neue Karte",
"Due on {date}" : "Fällig am {date}",
"Link to a board" : "Mit einem Board verknüpfen",
"Link to a card" : "Mit einer Karte verknüpfen",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Klicken, um den Kommentar zu erweitern",
"No upcoming cards" : "Keine anstehenden Karten",
"upcoming cards" : "Anstehende Karten",
"New card" : "Neue Karte",
"Due on {date}" : "Fällig am {date}",
"Link to a board" : "Mit einem Board verknüpfen",
"Link to a card" : "Mit einer Karte verknüpfen",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "Klicken, um den Kommentar zu erweitern",
"No upcoming cards" : "Keine anstehenden Karten",
"upcoming cards" : "Anstehende Karten",
"New card" : "Neue Karte",
"Due on {date}" : "Fällig am {date}",
"Link to a board" : "Mit einem Board verknüpfen",
"Link to a card" : "Mit einer Karte verknüpfen",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Click to expand comment",
"No upcoming cards" : "No upcoming cards",
"upcoming cards" : "upcoming cards",
"New card" : "New card",
"Due on {date}" : "Due on {date}",
"Link to a board" : "Link to a board",
"Link to a card" : "Link to a card",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "Click to expand comment",
"No upcoming cards" : "No upcoming cards",
"upcoming cards" : "upcoming cards",
"New card" : "New card",
"Due on {date}" : "Due on {date}",
"Link to a board" : "Link to a board",
"Link to a card" : "Link to a card",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Pulse para expandir el comentario",
"No upcoming cards" : "No hay tarjetas próximas",
"upcoming cards" : "próximas tarjetas",
"New card" : "Nueva tarjeta",
"Due on {date}" : "Vence en {date}",
"Link to a board" : "Enlace a un tablero",
"Link to a card" : "Enlace a una tarjeta",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "Pulse para expandir el comentario",
"No upcoming cards" : "No hay tarjetas próximas",
"upcoming cards" : "próximas tarjetas",
"New card" : "Nueva tarjeta",
"Due on {date}" : "Vence en {date}",
"Link to a board" : "Enlace a un tablero",
"Link to a card" : "Enlace a una tarjeta",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Egin klik iruzkina handitzeko",
"No upcoming cards" : "Ez dago hurrengo txartelik",
"upcoming cards" : "hurrengo txartelak",
"New card" : "Txartel berria",
"Due on {date}" : "Iraungitze-data {date}",
"Link to a board" : "Estekatu taula batera",
"Link to a card" : "Estekatu txartel batera",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "Egin klik iruzkina handitzeko",
"No upcoming cards" : "Ez dago hurrengo txartelik",
"upcoming cards" : "hurrengo txartelak",
"New card" : "Txartel berria",
"Due on {date}" : "Iraungitze-data {date}",
"Link to a board" : "Estekatu taula batera",
"Link to a card" : "Estekatu txartel batera",

View File

@@ -125,7 +125,7 @@ OC.L10N.register(
"Card \"{card}\" was added to \"{board}\"" : "La carte \"{card}\" a été ajoutée au tableau \"{board}\"",
"Open card" : "Ouvrir la carte",
"Close" : "Fermer",
"Create card" : "Créer la carte",
"Create card" : "Créer une carte",
"Select a card" : "Sélectionnez une carte",
"Select the card to link to a project" : "Sélectionner la carte à relier à un projet",
"Link to card" : "Relier à une carte",
@@ -212,7 +212,7 @@ OC.L10N.register(
"File to share" : "Fichier à partager",
"Invalid path selected" : "Chemin sélectionné non valide",
"Open in sidebar view" : "Ouvrir dans le panneau latéral",
"Open in bigger view" : "Ouvrir dans la vue large",
"Open in bigger view" : "Ouvrir dans la vue principale",
"Attachments" : "Pièces jointes",
"Comments" : "Commentaires",
"Modified" : "Modifiée",
@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Cliquer pour déplier le commentaire",
"No upcoming cards" : "Pas de cartes à venir",
"upcoming cards" : "cartes à venir",
"New card" : "Nouvelle carte",
"Due on {date}" : "Échéance le {date}",
"Link to a board" : "Relier à un tableau",
"Link to a card" : "Relier à une carte",

View File

@@ -123,7 +123,7 @@
"Card \"{card}\" was added to \"{board}\"" : "La carte \"{card}\" a été ajoutée au tableau \"{board}\"",
"Open card" : "Ouvrir la carte",
"Close" : "Fermer",
"Create card" : "Créer la carte",
"Create card" : "Créer une carte",
"Select a card" : "Sélectionnez une carte",
"Select the card to link to a project" : "Sélectionner la carte à relier à un projet",
"Link to card" : "Relier à une carte",
@@ -210,7 +210,7 @@
"File to share" : "Fichier à partager",
"Invalid path selected" : "Chemin sélectionné non valide",
"Open in sidebar view" : "Ouvrir dans le panneau latéral",
"Open in bigger view" : "Ouvrir dans la vue large",
"Open in bigger view" : "Ouvrir dans la vue principale",
"Attachments" : "Pièces jointes",
"Comments" : "Commentaires",
"Modified" : "Modifiée",
@@ -301,7 +301,6 @@
"Click to expand comment" : "Cliquer pour déplier le commentaire",
"No upcoming cards" : "Pas de cartes à venir",
"upcoming cards" : "cartes à venir",
"New card" : "Nouvelle carte",
"Due on {date}" : "Échéance le {date}",
"Link to a board" : "Relier à un tableau",
"Link to a card" : "Relier à une carte",

View File

@@ -220,7 +220,7 @@ OC.L10N.register(
"Formatting help" : "Axuda de formatado",
"Edit description" : "Editar a descrición",
"View description" : "Ver a descrición",
"Add Attachment" : "Engadir un anexo",
"Add Attachment" : "Engadir o anexo",
"Write a description …" : "Escriba unha descrición…",
"Choose attachment" : "Escoller o anexo",
"(group)" : "(grupo)",

View File

@@ -218,7 +218,7 @@
"Formatting help" : "Axuda de formatado",
"Edit description" : "Editar a descrición",
"View description" : "Ver a descrición",
"Add Attachment" : "Engadir un anexo",
"Add Attachment" : "Engadir o anexo",
"Write a description …" : "Escriba unha descrición…",
"Choose attachment" : "Escoller o anexo",
"(group)" : "(grupo)",

View File

@@ -79,12 +79,8 @@ OC.L10N.register(
"The board \"%s\" has been shared with you by %s." : "A(z) „%s” táblát %s osztotta meg Önnel.",
"{user} has shared {deck-board} with you." : "{user} megosztotta Önnel a(z) {deck-board} táblát.",
"Deck board" : "Kártyatábla",
"Owned by %1$s" : "Tulajdonos: %1$s",
"Deck boards, cards and comments" : "Kártyatáblák, kártyák és megjegyzések",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "A következőtől: %1$s, ebben: %2$s/%3$s, tulajdonos: %4$s",
"Card comments" : "Kártya hozzászólásai",
"%s on %s" : "%s ezen: %s",
"Deck boards and cards" : "Kártyatáblák és kártyák",
"No data was provided to create an attachment." : "Nincsenek megadva adatok a melléklet létrehozásához.",
"Finished" : "Kész",
"To review" : "Áttekintendő",
@@ -295,7 +291,6 @@ OC.L10N.register(
"No due" : "Nincs határidő",
"Search for {searchQuery} in all boards" : "Keresés a(z) {searchQuery} kifejezésre az összes táblában",
"No results found" : "Nincs találat",
"Deck board {name}\n* Last modified on {lastMod}" : "{name} kártyatábla\n* Legutóbb módosítva: {lastMod}",
"{stack} in {board}" : "{stack} itt: {board}",
"Click to expand description" : "Kattintson a leírás kibontásához",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Létrehozva: {created}\n* Utoljára módosítva: {lastMod}\n* {nbAttachments} melléklet\n* {nbComments} megjegyzés",
@@ -303,7 +298,6 @@ OC.L10N.register(
"Click to expand comment" : "Kattintson a megjegyzés kibontásához",
"No upcoming cards" : "Nincsenek közelgő kártyák",
"upcoming cards" : "közelgő kártyák",
"New card" : "Új kártya",
"Due on {date}" : "Határidő: {date}",
"Link to a board" : "Hivatkozás egy táblához",
"Link to a card" : "Hivatkozás egy kártyához",

View File

@@ -77,12 +77,8 @@
"The board \"%s\" has been shared with you by %s." : "A(z) „%s” táblát %s osztotta meg Önnel.",
"{user} has shared {deck-board} with you." : "{user} megosztotta Önnel a(z) {deck-board} táblát.",
"Deck board" : "Kártyatábla",
"Owned by %1$s" : "Tulajdonos: %1$s",
"Deck boards, cards and comments" : "Kártyatáblák, kártyák és megjegyzések",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "A következőtől: %1$s, ebben: %2$s/%3$s, tulajdonos: %4$s",
"Card comments" : "Kártya hozzászólásai",
"%s on %s" : "%s ezen: %s",
"Deck boards and cards" : "Kártyatáblák és kártyák",
"No data was provided to create an attachment." : "Nincsenek megadva adatok a melléklet létrehozásához.",
"Finished" : "Kész",
"To review" : "Áttekintendő",
@@ -293,7 +289,6 @@
"No due" : "Nincs határidő",
"Search for {searchQuery} in all boards" : "Keresés a(z) {searchQuery} kifejezésre az összes táblában",
"No results found" : "Nincs találat",
"Deck board {name}\n* Last modified on {lastMod}" : "{name} kártyatábla\n* Legutóbb módosítva: {lastMod}",
"{stack} in {board}" : "{stack} itt: {board}",
"Click to expand description" : "Kattintson a leírás kibontásához",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Létrehozva: {created}\n* Utoljára módosítva: {lastMod}\n* {nbAttachments} melléklet\n* {nbComments} megjegyzés",
@@ -301,7 +296,6 @@
"Click to expand comment" : "Kattintson a megjegyzés kibontásához",
"No upcoming cards" : "Nincsenek közelgő kártyák",
"upcoming cards" : "közelgő kártyák",
"New card" : "Új kártya",
"Due on {date}" : "Határidő: {date}",
"Link to a board" : "Hivatkozás egy táblához",
"Link to a card" : "Hivatkozás egy kártyához",

View File

@@ -212,7 +212,7 @@ OC.L10N.register(
"Clone board" : "Pengklonaan papan",
"Unarchive board" : "Memulihkan papan",
"Archive board" : "Mengarsipkan papan",
"No notifications" : "Tidak ada notifikasi",
"No notifications" : "Tidak ada notifikasi.",
"Delete board" : "Hapus papan",
"Board {0} deleted" : "{0} papan terhapus",
"An error occurred" : "Terjadi kesalahan",

View File

@@ -210,7 +210,7 @@
"Clone board" : "Pengklonaan papan",
"Unarchive board" : "Memulihkan papan",
"Archive board" : "Mengarsipkan papan",
"No notifications" : "Tidak ada notifikasi",
"No notifications" : "Tidak ada notifikasi.",
"Delete board" : "Hapus papan",
"Board {0} deleted" : "{0} papan terhapus",
"An error occurred" : "Terjadi kesalahan",

View File

@@ -79,12 +79,8 @@ OC.L10N.register(
"The board \"%s\" has been shared with you by %s." : "Tablica \"%s\" została Tobie udostępniona przez %s.",
"{user} has shared {deck-board} with you." : "{user} udostępnił Tobie {deck-board}.",
"Deck board" : "Tablica Deck",
"Owned by %1$s" : "Właścicielem jest %1$s",
"Deck boards, cards and comments" : "Tablice, karty i komentarze",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "Od %1$s, w %2$s/%3$s, posiadane przez %4$s",
"Card comments" : "Komentarze karty",
"%s on %s" : "%s na %s",
"Deck boards and cards" : "Tablice i karty",
"No data was provided to create an attachment." : "Nie podano żadnych danych do utworzenia załącznika.",
"Finished" : "Ukończone",
"To review" : "Do sprawdzenia",
@@ -295,7 +291,6 @@ OC.L10N.register(
"No due" : "Bez ważności",
"Search for {searchQuery} in all boards" : "Wyszukaj dla {searchQuery} na wszystkich tablicach",
"No results found" : "Nie znaleziono wyników",
"Deck board {name}\n* Last modified on {lastMod}" : "Tablica {name}\n* Ostatnia modyfikacja w dniu {lastMod}",
"{stack} in {board}" : "{stack} na {board}",
"Click to expand description" : "Kliknij, aby rozwinąć opis",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Utworzono {created}\n* Ostatnia modyfikacja {lastMod}\n* Załączniki {nbAttachments}\n* Komentarze {nbComments}",
@@ -303,7 +298,6 @@ OC.L10N.register(
"Click to expand comment" : "Kliknij, aby rozwinąć komentarz",
"No upcoming cards" : "Brak nadchodzących kart",
"upcoming cards" : "nadchodzące karty",
"New card" : "Nowa karta",
"Due on {date}" : "Termin {date}",
"Link to a board" : "Link do tablicy",
"Link to a card" : "Link do karty",

View File

@@ -77,12 +77,8 @@
"The board \"%s\" has been shared with you by %s." : "Tablica \"%s\" została Tobie udostępniona przez %s.",
"{user} has shared {deck-board} with you." : "{user} udostępnił Tobie {deck-board}.",
"Deck board" : "Tablica Deck",
"Owned by %1$s" : "Właścicielem jest %1$s",
"Deck boards, cards and comments" : "Tablice, karty i komentarze",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "Od %1$s, w %2$s/%3$s, posiadane przez %4$s",
"Card comments" : "Komentarze karty",
"%s on %s" : "%s na %s",
"Deck boards and cards" : "Tablice i karty",
"No data was provided to create an attachment." : "Nie podano żadnych danych do utworzenia załącznika.",
"Finished" : "Ukończone",
"To review" : "Do sprawdzenia",
@@ -293,7 +289,6 @@
"No due" : "Bez ważności",
"Search for {searchQuery} in all boards" : "Wyszukaj dla {searchQuery} na wszystkich tablicach",
"No results found" : "Nie znaleziono wyników",
"Deck board {name}\n* Last modified on {lastMod}" : "Tablica {name}\n* Ostatnia modyfikacja w dniu {lastMod}",
"{stack} in {board}" : "{stack} na {board}",
"Click to expand description" : "Kliknij, aby rozwinąć opis",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Utworzono {created}\n* Ostatnia modyfikacja {lastMod}\n* Załączniki {nbAttachments}\n* Komentarze {nbComments}",
@@ -301,7 +296,6 @@
"Click to expand comment" : "Kliknij, aby rozwinąć komentarz",
"No upcoming cards" : "Brak nadchodzących kart",
"upcoming cards" : "nadchodzące karty",
"New card" : "Nowa karta",
"Due on {date}" : "Termin {date}",
"Link to a board" : "Link do tablicy",
"Link to a card" : "Link do karty",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Clique para expandir o comentário",
"No upcoming cards" : "Não há mais cartões",
"upcoming cards" : "próximos cartões",
"New card" : "New card",
"Due on {date}" : "Vencimento em {date}",
"Link to a board" : "Vincular a um painel",
"Link to a card" : "Vincular a um cartão",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "Clique para expandir o comentário",
"No upcoming cards" : "Não há mais cartões",
"upcoming cards" : "próximos cartões",
"New card" : "New card",
"Due on {date}" : "Vencimento em {date}",
"Link to a board" : "Vincular a um painel",
"Link to a card" : "Vincular a um cartão",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Кликните да проширите коментар",
"No upcoming cards" : "Нема предстојећих картица",
"upcoming cards" : "предстојеће картице",
"New card" : "Нова картица",
"Due on {date}" : "Рок је {date}",
"Link to a board" : "Веза ка табли",
"Link to a card" : "Веза ка картици",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "Кликните да проширите коментар",
"No upcoming cards" : "Нема предстојећих картица",
"upcoming cards" : "предстојеће картице",
"New card" : "Нова картица",
"Due on {date}" : "Рок је {date}",
"Link to a board" : "Веза ка табли",
"Link to a card" : "Веза ка картици",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Klicka för att utöka kommentaren",
"No upcoming cards" : "Inga kommande kort",
"upcoming cards" : "kommande kort",
"New card" : "Nytt kort",
"Due on {date}" : "Går ut {date}",
"Link to a board" : "Länka till en tavla",
"Link to a card" : "Länka till ett kort",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "Klicka för att utöka kommentaren",
"No upcoming cards" : "Inga kommande kort",
"upcoming cards" : "kommande kort",
"New card" : "Nytt kort",
"Due on {date}" : "Går ut {date}",
"Link to a board" : "Länka till en tavla",
"Link to a card" : "Länka till ett kort",

View File

@@ -63,10 +63,10 @@ OC.L10N.register(
"{user} has restored the attachment {attachment} to card {card}" : "{user}, {card} kartındaki {attachment} dosyasını geri yükledi",
"You have commented on card {card}" : "{card} kartı hakkında yorum yaptınız",
"{user} has commented on card {card}" : "{user}, {card} kartı hakkında yorum yaptı",
"A <strong>card description</strong> inside the Deck app has been changed" : "Tahta uygulamasında bir <strong>kart açıklaması</strong> değiştirildiğinde",
"A <strong>card description</strong> inside the Deck app has been changed" : "Tahta uygulamasında bir <strong>kart açıklaması</strong> değiştirildi",
"Deck" : "Tahta",
"Changes in the <strong>Deck app</strong>" : "<strong>Tahta uygulamasında</strong> değişiklik yapıldığında",
"A <strong>comment</strong> was created on a card" : "Bir kart için bir <strong>yorum</strong> yapıldığında",
"Changes in the <strong>Deck app</strong>" : "<strong>Tahta uygulamasındaki</strong> değişiklikler",
"A <strong>comment</strong> was created on a card" : "Bir kart için bir <strong>yorum</strong> yapıldı",
"Upcoming cards" : "Yaklaşan kartlar",
"Load more" : "Diğerlerini yükle",
"Personal" : "Kişisel",
@@ -293,7 +293,7 @@ OC.L10N.register(
"Delete the board?" : "Pano silinsin mi?",
"Loading filtered view" : "Süzülmüş görünüm yükleniyor",
"No due" : "Bitiş yok",
"Search for {searchQuery} in all boards" : "Tüm panolarda {searchQuery} araması için sonuçlar",
"Search for {searchQuery} in all boards" : "Tüm panolarda {searchQuery} için sonuçlar",
"No results found" : "Herhangi bir sonuç bulunamadı",
"Deck board {name}\n* Last modified on {lastMod}" : "{name} tahta panosu\n* Son değişiklik: {lastMod}",
"{stack} in {board}" : "{stack} {board} panosunda",
@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "Yorumu genişletmek için tıklayın",
"No upcoming cards" : "Yaklaşan bir kart yok",
"upcoming cards" : "yaklaşan kartlar",
"New card" : "Kart ekle",
"Due on {date}" : "{date} tarihinde bitecek",
"Link to a board" : "Bir pano ile ilişkilendir",
"Link to a card" : "Bir kart ile ilişkilendir",

View File

@@ -61,10 +61,10 @@
"{user} has restored the attachment {attachment} to card {card}" : "{user}, {card} kartındaki {attachment} dosyasını geri yükledi",
"You have commented on card {card}" : "{card} kartı hakkında yorum yaptınız",
"{user} has commented on card {card}" : "{user}, {card} kartı hakkında yorum yaptı",
"A <strong>card description</strong> inside the Deck app has been changed" : "Tahta uygulamasında bir <strong>kart açıklaması</strong> değiştirildiğinde",
"A <strong>card description</strong> inside the Deck app has been changed" : "Tahta uygulamasında bir <strong>kart açıklaması</strong> değiştirildi",
"Deck" : "Tahta",
"Changes in the <strong>Deck app</strong>" : "<strong>Tahta uygulamasında</strong> değişiklik yapıldığında",
"A <strong>comment</strong> was created on a card" : "Bir kart için bir <strong>yorum</strong> yapıldığında",
"Changes in the <strong>Deck app</strong>" : "<strong>Tahta uygulamasındaki</strong> değişiklikler",
"A <strong>comment</strong> was created on a card" : "Bir kart için bir <strong>yorum</strong> yapıldı",
"Upcoming cards" : "Yaklaşan kartlar",
"Load more" : "Diğerlerini yükle",
"Personal" : "Kişisel",
@@ -291,7 +291,7 @@
"Delete the board?" : "Pano silinsin mi?",
"Loading filtered view" : "Süzülmüş görünüm yükleniyor",
"No due" : "Bitiş yok",
"Search for {searchQuery} in all boards" : "Tüm panolarda {searchQuery} araması için sonuçlar",
"Search for {searchQuery} in all boards" : "Tüm panolarda {searchQuery} için sonuçlar",
"No results found" : "Herhangi bir sonuç bulunamadı",
"Deck board {name}\n* Last modified on {lastMod}" : "{name} tahta panosu\n* Son değişiklik: {lastMod}",
"{stack} in {board}" : "{stack} {board} panosunda",
@@ -301,7 +301,6 @@
"Click to expand comment" : "Yorumu genişletmek için tıklayın",
"No upcoming cards" : "Yaklaşan bir kart yok",
"upcoming cards" : "yaklaşan kartlar",
"New card" : "Kart ekle",
"Due on {date}" : "{date} tarihinde bitecek",
"Link to a board" : "Bir pano ile ilişkilendir",
"Link to a card" : "Bir kart ile ilişkilendir",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "點擊展開評論",
"No upcoming cards" : "沒有快將到期的卡片",
"upcoming cards" : "快將到期的卡片",
"New card" : "新卡片",
"Due on {date}" : "於 {date} 到期",
"Link to a board" : "連結到面板",
"Link to a card" : "連結到卡片",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "點擊展開評論",
"No upcoming cards" : "沒有快將到期的卡片",
"upcoming cards" : "快將到期的卡片",
"New card" : "新卡片",
"Due on {date}" : "於 {date} 到期",
"Link to a board" : "連結到面板",
"Link to a card" : "連結到卡片",

View File

@@ -303,7 +303,6 @@ OC.L10N.register(
"Click to expand comment" : "點擊展開留言",
"No upcoming cards" : "無接下來的卡片",
"upcoming cards" : "接下來的卡片",
"New card" : "新卡片",
"Due on {date}" : "於 {date} 到期",
"Link to a board" : "連結到佈告欄",
"Link to a card" : "連結到卡片",

View File

@@ -301,7 +301,6 @@
"Click to expand comment" : "點擊展開留言",
"No upcoming cards" : "無接下來的卡片",
"upcoming cards" : "接下來的卡片",
"New card" : "新卡片",
"Due on {date}" : "於 {date} 到期",
"Link to a board" : "連結到佈告欄",
"Link to a card" : "連結到卡片",

View File

@@ -39,7 +39,6 @@ use OCA\Deck\Db\StackMapper;
use OCA\Deck\Event\CardCreatedEvent;
use OCA\Deck\Event\CardDeletedEvent;
use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\NoPermissionException;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\Db\BoardMapper;
@@ -156,12 +155,7 @@ class CardService {
$card->setAssignedUsers($cardAssignedUsers);
}
return array_map(
function (Card $card): CardDetails {
return new CardDetails($card);
},
$cards
);
return $cards;
}
public function fetchDeleted($boardId) {
$this->cardServiceValidator->check(compact('boardId'));

View File

@@ -99,7 +99,15 @@ class StackService {
return;
}
$stack->setCards($this->cardService->enrichCards($cards));
$this->cardService->enrichCards($cards);
$cards = array_map(
function (Card $card): CardDetails {
return new CardDetails($card);
},
$cards
);
$stack->setCards($cards);
}
private function enrichStacksWithCards($stacks, $since = -1) {

View File

@@ -30,10 +30,8 @@ use OCA\Deck\Db\Acl;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\NoPermissionException;
use OCA\Deck\Service\PermissionService;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\OCS\OCSNotFoundException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Files\NotFoundException;
use OCP\IL10N;
use OCP\IURLGenerator;
use OCP\Share\IShare;
@@ -55,11 +53,7 @@ class ShareAPIHelper {
public function formatShare(IShare $share): array {
$result = [];
try {
$card = $this->cardMapper->find($share->getSharedWith());
} catch (DoesNotExistException $e) {
throw new NotFoundException($e->getMessage());
}
$card = $this->cardMapper->find($share->getSharedWith());
$boardId = $this->cardMapper->findBoardId($card->getId());
$result['share_with'] = $share->getSharedWith();
$result['share_with_displayname'] = $card->getTitle();

3559
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,109 +1,109 @@
{
"name": "deck",
"description": "",
"version": "1.10.0-dev",
"authors": [
{
"name": "Julius Härtl",
"email": "jus@bitgrid.net",
"role": "Developer"
},
{
"name": "Michael Weimann",
"email": "mail@michael-weimann.eu",
"role": "Developer"
}
],
"license": "agpl",
"private": true,
"scripts": {
"build": "NODE_ENV=production webpack --progress --config webpack.js",
"dev": "NODE_ENV=development webpack --progress --config webpack.js",
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
"lint": "eslint --ext .js,.vue src",
"lint:fix": "eslint --ext .js,.vue src --fix",
"lint:cypress": "eslint --ext .js cypress",
"stylelint": "stylelint src",
"stylelint:fix": "stylelint src --fix",
"test": "jest",
"test:coverage": "jest --coverage"
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.21.0",
"@nextcloud/auth": "^2.0.0",
"@nextcloud/axios": "^2.3.0",
"@nextcloud/dialogs": "^4.0.1",
"@nextcloud/event-bus": "^3.0.2",
"@nextcloud/files": "^2.1.0",
"@nextcloud/initial-state": "^2.0.0",
"@nextcloud/l10n": "^2.1.0",
"@nextcloud/moment": "^1.2.1",
"@nextcloud/notify_push": "^1.1.3",
"@nextcloud/router": "^2.0.1",
"@nextcloud/vue": "^7.8.4",
"@nextcloud/vue-dashboard": "^2.0.1",
"@nextcloud/vue-richtext": "^2.0.4",
"blueimp-md5": "^2.19.0",
"dompurify": "^3.0.2",
"lodash": "^4.17.21",
"markdown-it": "^13.0.1",
"markdown-it-link-attributes": "^4.0.1",
"markdown-it-task-checkbox": "^1.0.6",
"moment": "^2.29.4",
"nextcloud-vue-collections": "^0.11.0",
"p-queue": "^7.3.4",
"url-search-params-polyfill": "^8.1.1",
"vue": "^2.7.14",
"vue-at": "^2.5.1",
"vue-click-outside": "^1.1.0",
"vue-easymde": "^2.0.0",
"vue-infinite-loading": "^2.4.5",
"vue-material-design-icons": "^5.2.0",
"vue-router": "^3.6.5",
"vue-smooth-dnd": "^0.8.1",
"vuex": "^3.6.2",
"vuex-router-sync": "^5.0.0"
},
"browserslist": [
"extends @nextcloud/browserslist-config"
],
"engines": {
"node": "^16.0.0",
"npm": "^7.0.0 || ^8.0.0"
},
"devDependencies": {
"@nextcloud/babel-config": "^1.0.0",
"@nextcloud/browserslist-config": "^2.3.0",
"@nextcloud/cypress": "^1.0.0-beta.2",
"@nextcloud/eslint-config": "^8.2.1",
"@nextcloud/stylelint-config": "^2.3.0",
"@nextcloud/webpack-vue-config": "^5.5.0",
"@relative-ci/agent": "^4.1.3",
"@vue/test-utils": "^1.3.5",
"@vue/vue2-jest": "^29.2.3",
"cypress": "^12.9.0",
"eslint-plugin-cypress": "^2.13.2",
"eslint-webpack-plugin": "^4.0.1",
"jest": "^29.5.0",
"jest-serializer-vue": "^3.1.0",
"stylelint-webpack-plugin": "^4.1.1",
"vue-template-compiler": "^2.7.14"
},
"jest": {
"moduleFileExtensions": [
"js",
"vue"
],
"moduleNameMapper": {
"^@/(.*)$": "<rootDir>/src/$1"
},
"transform": {
"^.+\\.js$": "<rootDir>/node_modules/babel-jest",
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"
},
"snapshotSerializers": [
"<rootDir>/node_modules/jest-serializer-vue"
]
}
}
"name": "deck",
"description": "",
"version": "1.9.0",
"authors": [
{
"name": "Julius Härtl",
"email": "jus@bitgrid.net",
"role": "Developer"
},
{
"name": "Michael Weimann",
"email": "mail@michael-weimann.eu",
"role": "Developer"
}
],
"license": "agpl",
"private": true,
"scripts": {
"build": "NODE_ENV=production webpack --progress --config webpack.js",
"dev": "NODE_ENV=development webpack --progress --config webpack.js",
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
"lint": "eslint --ext .js,.vue src",
"lint:fix": "eslint --ext .js,.vue src --fix",
"lint:cypress": "eslint --ext .js cypress",
"stylelint": "stylelint src",
"stylelint:fix": "stylelint src --fix",
"test": "jest",
"test:coverage": "jest --coverage"
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.21.0",
"@nextcloud/auth": "^2.0.0",
"@nextcloud/axios": "^2.3.0",
"@nextcloud/dialogs": "^4.0.1",
"@nextcloud/event-bus": "^3.0.2",
"@nextcloud/files": "^2.1.0",
"@nextcloud/initial-state": "^2.0.0",
"@nextcloud/l10n": "^2.1.0",
"@nextcloud/moment": "^1.2.1",
"@nextcloud/notify_push": "^1.1.3",
"@nextcloud/router": "^2.0.1",
"@nextcloud/vue": "^7.7.1",
"@nextcloud/vue-dashboard": "^2.0.1",
"@nextcloud/vue-richtext": "^2.0.4",
"blueimp-md5": "^2.19.0",
"dompurify": "^3.0.0",
"lodash": "^4.17.21",
"markdown-it": "^13.0.1",
"markdown-it-link-attributes": "^4.0.1",
"markdown-it-task-checkbox": "^1.0.6",
"moment": "^2.29.4",
"nextcloud-vue-collections": "^0.11.0",
"p-queue": "^7.3.4",
"url-search-params-polyfill": "^8.1.1",
"vue": "^2.7.14",
"vue-at": "^2.5.1",
"vue-click-outside": "^1.1.0",
"vue-easymde": "^2.0.0",
"vue-infinite-loading": "^2.4.5",
"vue-material-design-icons": "^5.2.0",
"vue-router": "^3.6.5",
"vue-smooth-dnd": "^0.8.1",
"vuex": "^3.6.2",
"vuex-router-sync": "^5.0.0"
},
"browserslist": [
"extends @nextcloud/browserslist-config"
],
"engines": {
"node": "^16.0.0",
"npm": "^7.0.0 || ^8.0.0"
},
"devDependencies": {
"@nextcloud/babel-config": "^1.0.0",
"@nextcloud/browserslist-config": "^2.3.0",
"@nextcloud/cypress": "^1.0.0-beta.2",
"@nextcloud/eslint-config": "^8.2.1",
"@nextcloud/stylelint-config": "^2.3.0",
"@nextcloud/webpack-vue-config": "^5.4.0",
"@relative-ci/agent": "^4.1.3",
"@vue/test-utils": "^1.3.4",
"@vue/vue2-jest": "^29.2.2",
"cypress": "^12.7.0",
"eslint-plugin-cypress": "^2.12.1",
"eslint-webpack-plugin": "^4.0.0",
"jest": "^29.4.3",
"jest-serializer-vue": "^3.1.0",
"stylelint-webpack-plugin": "^4.1.0",
"vue-template-compiler": "^2.7.14"
},
"jest": {
"moduleFileExtensions": [
"js",
"vue"
],
"moduleNameMapper": {
"^@/(.*)$": "<rootDir>/src/$1"
},
"transform": {
"^.+\\.js$": "<rootDir>/node_modules/babel-jest",
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"
},
"snapshotSerializers": [
"<rootDir>/node_modules/jest-serializer-vue"
]
}
}

View File

@@ -71,22 +71,12 @@
</div>
</div>
<div v-else id="modal-inner">
<NcEmptyContent v-if="creating">
<template #icon>
<NcLoadingIcon />
</template>
<template #title>
{{ t('deck', 'Creating the new card …') }}
</template>
<NcEmptyContent v-if="creating" icon="icon-loading">
{{ t('deck', 'Creating the new card ') }}
</NcEmptyContent>
<NcEmptyContent v-else-if="created">
<template #icon>
<CardPlusOutline />
</template>
<template #title>
{{ t('deck', 'Card "{card}" was added to "{board}"', { card: pendingTitle, board: selectedBoard.title }) }}
</template>
<template #action>
<NcEmptyContent v-else-if="created" icon="icon-checkmark">
{{ t('deck', 'Card "{card}" was added to "{board}"', { card: pendingTitle, board: selectedBoard.title }) }}
<template #desc>
<button class="primary" @click="openNewCard">
{{ t('deck', 'Open card') }}
</button>
@@ -102,8 +92,7 @@
<script>
import { generateUrl } from '@nextcloud/router'
import { NcModal, NcMultiselect, NcEmptyContent, NcLoadingIcon } from '@nextcloud/vue'
import CardPlusOutline from 'vue-material-design-icons/CardPlusOutline.vue'
import { NcModal, NcMultiselect, NcEmptyContent } from '@nextcloud/vue'
import axios from '@nextcloud/axios'
import { CardApi } from './services/CardApi.js'
@@ -115,8 +104,6 @@ export default {
NcEmptyContent,
NcModal,
NcMultiselect,
NcLoadingIcon,
CardPlusOutline,
},
props: {
title: {
@@ -216,7 +203,6 @@ export default {
max-width: 400px;
padding: 10px;
min-height: 200px;
margin: auto;
}
.multiselect-board, .multiselect-list, input, textarea {

View File

@@ -30,14 +30,9 @@
<h2>{{ t('deck', 'Loading board') }}</h2>
<p />
</div>
<NcEmptyContent v-else-if="isEmpty" key="empty">
<template #icon>
<DeckIcon />
</template>
<template #title>
{{ t('deck', 'No lists available') }}
</template>
<template v-if="canManage" #action>
<NcEmptyContent v-else-if="isEmpty" key="empty" icon="icon-deck">
{{ t('deck', 'No lists available') }}
<template v-if="canManage" #desc>
{{ t('deck', 'Create a new list to add cards to this board') }}
<form @submit.prevent="addNewStack()">
<input id="new-stack-input-main"
@@ -85,7 +80,6 @@
import { Container, Draggable } from 'vue-smooth-dnd'
import { mapState, mapGetters } from 'vuex'
import Controls from '../Controls.vue'
import DeckIcon from '../icons/DeckIcon.vue'
import Stack from './Stack.vue'
import { NcEmptyContent } from '@nextcloud/vue'
import GlobalSearchResults from '../search/GlobalSearchResults.vue'
@@ -98,7 +92,6 @@ export default {
GlobalSearchResults,
Controls,
Container,
DeckIcon,
Draggable,
Stack,
NcEmptyContent,

View File

@@ -25,13 +25,9 @@
</form>
</template>
<template v-else>
<div v-if="canManage && !isArchived" class="label-title" @click="clickEdit(label)">
<div class="label-title" @click="clickEdit(label)">
<span :style="{ backgroundColor: `#${label.color}`, color: textColor(label.color) }">{{ label.title }}</span>
</div>
<div v-else class="label-title">
<span :style="{ backgroundColor: `#${label.color}`, color: textColor(label.color) }">{{ label.title }}</span>
</div>
<NcActions v-if="canManage && !isArchived">
<NcActionButton icon="icon-rename" @click="clickEdit(label)">
{{ t('deck', 'Edit') }}

View File

@@ -147,10 +147,10 @@ export default {
return this.$store.getters.cardById(this.id)
},
subtitle() {
return '<strong>' + t('deck', 'Created') + ' :</strong> ' + this.relativeDate(this.currentCard.createdAt * 1000) + '<br><strong>' + t('deck', 'Modified') + ' :</strong> ' + this.relativeDate(this.currentCard.lastModified * 1000)
return t('deck', 'Modified') + ': ' + this.relativeDate(this.currentCard.lastModified * 1000) + ' ' + t('deck', 'Created') + ': ' + this.relativeDate(this.currentCard.createdAt * 1000)
},
subtitleTooltip() {
return t('deck', 'Created') + ' : ' + this.formatDate(this.currentCard.createdAt) + '\n' + t('deck', 'Modified') + ' : ' + this.formatDate(this.currentCard.lastModified)
return t('deck', 'Modified') + ': ' + this.formatDate(this.currentCard.lastModified) + '\n' + t('deck', 'Created') + ': ' + this.formatDate(this.currentCard.createdAt)
},
cardRichObject() {
return {

View File

@@ -52,7 +52,7 @@
<template #icon>
<PlusIcon :size="20" />
</template>
{{ t('deck', 'New card') }}
{{ t('deck', 'Add card') }}
</NcButton>
<CardCreateDialog v-if="showAddCardModal" @close="toggleAddCardModel" />
</div>
@@ -167,9 +167,8 @@ export default {
.duedate:deep {
.due {
margin: 0 0 0 10px;
padding: 0px 4px;
padding: 2px 4px;
font-size: 90%;
margin-bottom: 7px;
}
}

View File

@@ -90,19 +90,3 @@ Feature: acl
And the current user should not have "edit" permissions on the board
And the current user should have "share" permissions on the board
And the current user should not have "manage" permissions on the board
Scenario: Share a board multiple times
Given Logging in using web as "user0"
And creates a board named "Double shared board" with color "ff0000"
And shares the board with user "user1"
And shares the board with group "group1"
And creates a board named "Single shared board" with color "00ff00"
And shares the board with user "user1"
When Logging in using web as "user1"
And fetching the board list
Then the response should have a status code "200"
And the response should be a list of objects
And the response should contain an element with the properties
| property | value |
| title | Double shared board |

View File

@@ -219,17 +219,6 @@ class BoardContext implements Context {
$this->card = json_decode((string)$this->getResponse()->getBody(), true);
}
/**
* @Given /^get the card details$/
*/
public function getCard() {
$this->requestContext->sendJSONrequest('GET', '/index.php/apps/deck/cards/' . $this->card['id'], array_merge(
$this->card
));
$this->requestContext->getResponse()->getBody()->seek(0);
$this->card = json_decode((string)$this->getResponse()->getBody(), true);
}
/**
* @Given /^set the card duedate to "([^"]*)"$/
*/

View File

@@ -166,29 +166,4 @@ class RequestContext implements Context {
$this->getResponse()->getBody()->seek(0);
return json_decode((string)$this->getResponse()->getBody(), true);
}
/**
* @Given /^the response should be a list of objects$/
*/
public function theResponseShouldBeAListOfObjects() {
$jsonResponse = $this->getResponseBodyFromJson();
Assert::assertEquals(array_keys($jsonResponse), range(0, count($jsonResponse) - 1));
}
/**
* @When /^the response should contain an element with the properties$/
*/
public function responseContainsElement(TableNode $element) {
$json = $this->getResponseBodyFromJson();
$found = array_filter($json, function ($board) use ($element) {
foreach ($element as $row) {
if ($row['value'] !== $board[$row['property']]) {
return false;
}
}
return true;
});
Assert::assertEquals(1, count($found));
}
}

View File

@@ -32,29 +32,3 @@ Feature: decks
And creates a board named "MyBoard" with color "000000"
And create a stack named "ToDo"
When create a card named "This is a very ong name that exceeds the maximum length of a deck board created which is longer than 255 characters This is a very ong name that exceeds the maximum length of a deck board created which is longer than 255 characters This is a very ong name that exceeds the maximum length of a deck board created which is longer than 255 characters"
Scenario: Setting a duedate on a card
Given acting as user "user0"
And creates a board named "MyBoard" with color "000000"
And create a stack named "ToDo"
And create a card named "Overdue task"
When get the card details
And the response should be a JSON array with the following mandatory values
|key|value|
|title|Overdue task|
|duedate||
|overdue|0|
And set the card attribute "duedate" to "2020-12-12 13:37:00"
When get the card details
And the response should be a JSON array with the following mandatory values
|key|value|
|title|Overdue task|
|duedate|2020-12-12T13:37:00+00:00|
|overdue|3|
And set the card attribute "duedate" to ""
When get the card details
And the response should be a JSON array with the following mandatory values
|key|value|
|title|Overdue task|
|duedate||
|overdue|0|

View File

@@ -34,7 +34,6 @@ use OCA\Deck\Db\Stack;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\StatusException;
use OCA\Deck\Validators\CardServiceValidator;
@@ -189,10 +188,7 @@ class CardServiceTest extends TestCase {
$cardExpected->setRelatedBoard($boardMock);
$cardExpected->setRelatedStack($stackMock);
$cardExpected->setLabels([]);
$expected = new CardDetails($cardExpected);
$actual = $this->cardService->find(123);
$this->assertEquals($expected->jsonSerialize(), $actual->jsonSerialize());
$this->assertEquals($cardExpected, $this->cardService->find(123));
}
public function testCreate() {

View File

@@ -76,7 +76,7 @@ class TrelloJsonServiceTest extends \Test\TestCase {
}
public function testValidateUsersWithNotStringNextcloud() {
$this->expectExceptionMessage('User on setting uidRelation is invalid');
$this->expectErrorMessage('User on setting uidRelation is invalid');
$importService = $this->createMock(BoardImportService::class);
$importService
->method('getConfig')
@@ -92,7 +92,7 @@ class TrelloJsonServiceTest extends \Test\TestCase {
}
public function testValidateUsersWithNotFoundUser() {
$this->expectExceptionMessage('User on setting uidRelation not found: nextcloud_user');
$this->expectErrorMessage('User on setting uidRelation not found: nextcloud_user');
$importService = $this->createMock(BoardImportService::class);
$importService
->method('getConfig')
@@ -124,7 +124,7 @@ class TrelloJsonServiceTest extends \Test\TestCase {
}
public function testGetBoardWithNoName() {
$this->expectExceptionMessage('Invalid name of board');
$this->expectErrorMessage('Invalid name of board');
$importService = $this->createMock(BoardImportService::class);
$this->service->setImportService($importService);
$this->service->getBoard();

View File

@@ -33,7 +33,6 @@ use OCA\Deck\Db\Label;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Db\Stack;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\Validators\StackServiceValidator;
use OCP\EventDispatcher\IEventDispatcher;
use Psr\Log\LoggerInterface;
@@ -122,9 +121,6 @@ class StackServiceTest extends TestCase {
foreach ($cards as $card) {
$card->setLabels($this->getLabels()[$card->getId()]);
}
return array_map(function ($card) {
return new CardDetails($card);
}, $cards);
}
)
);

View File

@@ -1,5 +1,7 @@
const webpackConfig = require('@nextcloud/webpack-vue-config')
const path = require('path')
const ESLintPlugin = require('eslint-webpack-plugin')
const StyleLintPlugin = require('stylelint-webpack-plugin')
const buildMode = process.env.NODE_ENV
const isDev = buildMode === 'development'
@@ -21,7 +23,18 @@ webpackConfig.stats = {
modules: true,
}
// Workaround for https://github.com/nextcloud/webpack-vue-config/pull/432 causing problems with nextcloud-vue-collections
webpackConfig.resolve.alias = {}
webpackConfig.plugins.push(
new ESLintPlugin({
extensions: ['js', 'vue'],
files: 'src',
failOnError: !isDev,
})
)
webpackConfig.plugins.push(
new StyleLintPlugin({
files: 'src/**/*.{css,scss,vue}',
failOnError: !isDev,
}),
)
module.exports = webpackConfig