Compare commits
68 Commits
Jerome-Her
...
v1.9.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9cebe7ac56 | ||
|
|
bfe45c5af4 | ||
|
|
c3c8faffea | ||
|
|
96508580fd | ||
|
|
ee7fcefd73 | ||
|
|
ac31ff6efe | ||
|
|
af6111b51e | ||
|
|
6700c903eb | ||
|
|
10e48aded1 | ||
|
|
e80ba82d77 | ||
|
|
48202e6d98 | ||
|
|
e3ba870577 | ||
|
|
56fae37144 | ||
|
|
af9177584c | ||
|
|
d850c744cd | ||
|
|
cd60f4bf80 | ||
|
|
eddb6fc460 | ||
|
|
6684023424 | ||
|
|
43bec159ff | ||
|
|
27d960340e | ||
|
|
3cda8eab77 | ||
|
|
aac5c1ff72 | ||
|
|
65c0fcfdc9 | ||
|
|
c71d54a26e | ||
|
|
0224da2127 | ||
|
|
3114e1a477 | ||
|
|
375c78271d | ||
|
|
2b903ecf7f | ||
|
|
9e256921ba | ||
|
|
d7e85ac4da | ||
|
|
4495fc3554 | ||
|
|
6996c862ce | ||
|
|
f81d98fb4b | ||
|
|
cd942a1dfb | ||
|
|
ddd15e7451 | ||
|
|
21908ef534 | ||
|
|
426f1a33dd | ||
|
|
713271d525 | ||
|
|
a43efce576 | ||
|
|
07f2fb7c28 | ||
|
|
72563feaf0 | ||
|
|
763a474d11 | ||
|
|
3977d71892 | ||
|
|
25f3da3603 | ||
|
|
2920ca8c86 | ||
|
|
da7e075ee9 | ||
|
|
c7341bed78 | ||
|
|
d9014903ac | ||
|
|
5dad6bb0b0 | ||
|
|
e7529e2d74 | ||
|
|
c0e07dc202 | ||
|
|
2619219618 | ||
|
|
87a0a4ed4f | ||
|
|
df01d8ef79 | ||
|
|
9f38e51d9b | ||
|
|
3f2e343541 | ||
|
|
ea6006bec0 | ||
|
|
1e625d3955 | ||
|
|
4b0a27d6b5 | ||
|
|
9cc38000fd | ||
|
|
3574abe0cb | ||
|
|
fb5aed2143 | ||
|
|
3506ac2a42 | ||
|
|
1f2f8fe001 | ||
|
|
97d9c4cc2c | ||
|
|
b169ecd0fe | ||
|
|
912376a99d | ||
|
|
3ec2ad99b1 |
2
.github/workflows/appstore-build-publish.yml
vendored
2
.github/workflows/appstore-build-publish.yml
vendored
@@ -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
|
||||
|
||||
2
.github/workflows/cypress.yml
vendored
2
.github/workflows/cypress.yml
vendored
@@ -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 }}
|
||||
|
||||
4
.github/workflows/integration.yml
vendored
4
.github/workflows/integration.yml
vendored
@@ -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
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
2
.github/workflows/lint-eslint.yml
vendored
2
.github/workflows/lint-eslint.yml
vendored
@@ -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'
|
||||
|
||||
2
.github/workflows/lint-stylelint.yml
vendored
2
.github/workflows/lint-stylelint.yml
vendored
@@ -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'
|
||||
|
||||
4
.github/workflows/phpunit.yml
vendored
4
.github/workflows/phpunit.yml
vendored
@@ -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 }}
|
||||
|
||||
|
||||
4
.github/workflows/update-nextcloud-ocp.yml
vendored
4
.github/workflows/update-nextcloud-ocp.yml
vendored
@@ -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"
|
||||
|
||||
58
CHANGELOG.md
58
CHANGELOG.md
@@ -1,20 +1,52 @@
|
||||
# Changelog
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
|
||||
## 1.9.0-beta.1
|
||||
|
||||
### 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)
|
||||
- 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)
|
||||
## 1.9.2
|
||||
|
||||
### Fixed
|
||||
|
||||
- fix: Properly overwrite z-index of datepicker above modal [#4665](https://github.com/nextcloud/deck/pull/4665)
|
||||
|
||||
|
||||
## 1.9.1
|
||||
|
||||
### Fixed
|
||||
|
||||
- Gracefully handle not found card for a share [#4567](https://github.com/nextcloud/deck/pull/4567)
|
||||
- fix: Adapt NcEmptyContent usages to new slots [#4562](https://github.com/nextcloud/deck/pull/4562)
|
||||
- allow user to toggle visibility of the calendar for a deck board [#4625](https://github.com/nextcloud/deck/pull/4625)
|
||||
- fix: Append datetime picker to body to avoid cut off [#4644](https://github.com/nextcloud/deck/pull/4644)
|
||||
- chore: Remove unused @nextcloud/vue-dashboard @juliushaertl [#4650](https://github.com/nextcloud/deck/pull/4650)
|
||||
- fix: Bring back overdue column by removing faulty condition [#4662](https://github.com/nextcloud/deck/pull/4662)
|
||||
- Fix : Overlapping expiry dates on tags [#4537](https://github.com/nextcloud/deck/pull/4537)
|
||||
- Better display of card dates (creation and change dates) [#4619](https://github.com/nextcloud/deck/pull/4619)
|
||||
- Update dependencies
|
||||
|
||||
## 1.9.0
|
||||
|
||||
### Added
|
||||
|
||||
- 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)
|
||||
- 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 +56,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
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
- 🚀 Get your project organized
|
||||
|
||||
</description>
|
||||
<version>1.10.0-dev</version>
|
||||
<version>1.9.2</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>
|
||||
|
||||
@@ -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
356
composer.lock
generated
@@ -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": "8ad3d190cc7fa4210e5121c36d40d0de9dcc343f"
|
||||
},
|
||||
"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/8ad3d190cc7fa4210e5121c36d40d0de9dcc343f",
|
||||
"reference": "8ad3d190cc7fa4210e5121c36d40d0de9dcc343f",
|
||||
"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-04-04T00:35:10+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",
|
||||
|
||||
@@ -175,6 +175,7 @@ OC.L10N.register(
|
||||
"Owner" : "Proprietario",
|
||||
"Delete" : "Elimina",
|
||||
"Failed to create share with {displayName}" : "Creazione della condivisione con {displayName} non riuscita",
|
||||
"Transfer the board." : "Trasferisci la bacheca.",
|
||||
"Transfer" : "Trasferisci",
|
||||
"Archive all cards" : "Archivia tutte le schede",
|
||||
"Delete list" : "Elimina elenco",
|
||||
@@ -290,6 +291,8 @@ OC.L10N.register(
|
||||
"Share with a Deck card" : "Condividi con una scheda di Deck",
|
||||
"Share {file} with a Deck card" : "Condividi {file} con una scheda di Deck",
|
||||
"Share" : "Condividi",
|
||||
"Transfer the board for {user} successfully" : "Trasferimento della bacheca per {user} avvenuta con successo.",
|
||||
"Failed to transfer the board for {user}" : "Trasferimento della bacheca per {user} fallito",
|
||||
"Add a new list" : "Aggiungi un nuovo elenco",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Sei sicuro di voler eliminare la lavagna {title}? Questo eliminerà tutti i dati di questa lavagna?"
|
||||
},
|
||||
|
||||
@@ -173,6 +173,7 @@
|
||||
"Owner" : "Proprietario",
|
||||
"Delete" : "Elimina",
|
||||
"Failed to create share with {displayName}" : "Creazione della condivisione con {displayName} non riuscita",
|
||||
"Transfer the board." : "Trasferisci la bacheca.",
|
||||
"Transfer" : "Trasferisci",
|
||||
"Archive all cards" : "Archivia tutte le schede",
|
||||
"Delete list" : "Elimina elenco",
|
||||
@@ -288,6 +289,8 @@
|
||||
"Share with a Deck card" : "Condividi con una scheda di Deck",
|
||||
"Share {file} with a Deck card" : "Condividi {file} con una scheda di Deck",
|
||||
"Share" : "Condividi",
|
||||
"Transfer the board for {user} successfully" : "Trasferimento della bacheca per {user} avvenuta con successo.",
|
||||
"Failed to transfer the board for {user}" : "Trasferimento della bacheca per {user} fallito",
|
||||
"Add a new list" : "Aggiungi un nuovo elenco",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Sei sicuro di voler eliminare la lavagna {title}? Questo eliminerà tutti i dati di questa lavagna?"
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
|
||||
@@ -128,7 +128,7 @@ OC.L10N.register(
|
||||
"Create card" : "Kart ekle",
|
||||
"Select a card" : "Bir kart seçin",
|
||||
"Select the card to link to a project" : "Bir proje ile ilişkilendirilecek kart bağlantısını seçin",
|
||||
"Link to card" : "Kart ile ilişkilendir",
|
||||
"Link to card" : "Kart bağlantısı",
|
||||
"File already exists" : "Dosya zaten var",
|
||||
"A file with the name {filename} already exists." : "{filename} adlı bir dosya zaten var.",
|
||||
"Do you want to overwrite it?" : "Üzerine yazmak ister misiniz?",
|
||||
@@ -305,8 +305,8 @@ OC.L10N.register(
|
||||
"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",
|
||||
"Link to a board" : "Bir pano bağlantısı",
|
||||
"Link to a card" : "Bir kart bağlantısı",
|
||||
"Create a card" : "Bir kart ekle",
|
||||
"Message from {author} in {conversationName}" : "{conversationName} görüşmesinde {author} iletisi",
|
||||
"Something went wrong" : "Bir şeyler ters gitti",
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
"Create card" : "Kart ekle",
|
||||
"Select a card" : "Bir kart seçin",
|
||||
"Select the card to link to a project" : "Bir proje ile ilişkilendirilecek kart bağlantısını seçin",
|
||||
"Link to card" : "Kart ile ilişkilendir",
|
||||
"Link to card" : "Kart bağlantısı",
|
||||
"File already exists" : "Dosya zaten var",
|
||||
"A file with the name {filename} already exists." : "{filename} adlı bir dosya zaten var.",
|
||||
"Do you want to overwrite it?" : "Üzerine yazmak ister misiniz?",
|
||||
@@ -303,8 +303,8 @@
|
||||
"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",
|
||||
"Link to a board" : "Bir pano bağlantısı",
|
||||
"Link to a card" : "Bir kart bağlantısı",
|
||||
"Create a card" : "Bir kart ekle",
|
||||
"Message from {author} in {conversationName}" : "{conversationName} görüşmesinde {author} iletisi",
|
||||
"Something went wrong" : "Bir şeyler ters gitti",
|
||||
|
||||
19
l10n/uk.js
19
l10n/uk.js
@@ -34,6 +34,7 @@ OC.L10N.register(
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
|
||||
"Deck" : "Колода",
|
||||
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
|
||||
"Upcoming cards" : "Очікують на виконання",
|
||||
"Load more" : "Більше",
|
||||
"Personal" : "Особисте",
|
||||
"Deck board" : "Дошка Deck",
|
||||
@@ -64,8 +65,10 @@ OC.L10N.register(
|
||||
"Select the board to link to a project" : "Виберіть дошку для прив'зки до проєкту",
|
||||
"Search by board title" : "Шукати за назвою дошки",
|
||||
"Select board" : "Вибрати дошку",
|
||||
"Create a new card" : "Створити нову картку",
|
||||
"Select a board" : "Вибрати дошку",
|
||||
"Select a list" : "Виберіть список",
|
||||
"Card title" : "Заголовок картки",
|
||||
"Cancel" : "Скасувати",
|
||||
"Close" : "закрити",
|
||||
"Select a card" : "Вибрати картку",
|
||||
@@ -97,6 +100,7 @@ OC.L10N.register(
|
||||
"Toggle compact mode" : "Перемкнути компактний вигляд",
|
||||
"Details" : "Деталі",
|
||||
"Loading board" : "Завантаження дошки",
|
||||
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
|
||||
"Board not found" : "Дошку не знайдено",
|
||||
"Sharing" : "Поділитися",
|
||||
"Tags" : "Теги",
|
||||
@@ -120,6 +124,7 @@ OC.L10N.register(
|
||||
"Edit" : "Редагувати",
|
||||
"Add a new tag" : "Додати нову позначку",
|
||||
"title and color value must be provided" : "потрібно зазначити назву та колір",
|
||||
"Board name" : "Назва дошки",
|
||||
"Members" : "Учасники",
|
||||
"Upload new files" : "Додати файл",
|
||||
"Share from Files" : "Відкрити Файли",
|
||||
@@ -133,6 +138,7 @@ OC.L10N.register(
|
||||
"Comments" : "Коментарі",
|
||||
"Modified" : "Змінено",
|
||||
"Created" : "Створено",
|
||||
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
|
||||
"Assign a tag to this card…" : "Додати позначку до цієї картки",
|
||||
"Assign to users" : "Призначити користувачам",
|
||||
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
|
||||
@@ -153,13 +159,15 @@ OC.L10N.register(
|
||||
"Description" : "Опис",
|
||||
"(Unsaved)" : "(Не збережено)",
|
||||
"(Saving…)" : "(Зберігання...)",
|
||||
"Formatting help" : "Форматування довідки",
|
||||
"Formatting help" : "Допомога",
|
||||
"Edit description" : "Редагувати опис",
|
||||
"View description" : "Переглянути опис",
|
||||
"Add Attachment" : "Долучити вкладення",
|
||||
"Write a description …" : "Додайте опис ...",
|
||||
"Choose attachment" : "Вибрати вкладення",
|
||||
"(group)" : "(група)",
|
||||
"Todo items" : "Пункти завдань",
|
||||
"Edit card title" : "Редагувати заголовок картки",
|
||||
"Assign to me" : "Призначити мені",
|
||||
"Move card" : "Пересунути картку",
|
||||
"Card details" : "Деталі картки",
|
||||
@@ -171,13 +179,19 @@ OC.L10N.register(
|
||||
"All boards" : "Усі дошки",
|
||||
"Archived boards" : "Архівні дошки",
|
||||
"Shared with you" : "Вам надано доступ",
|
||||
"Deck settings" : "Налаштування колоди",
|
||||
"Use bigger card view" : "Режим перегляду зі збільшеними картками",
|
||||
"Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях",
|
||||
"Limit deck usage of groups" : "Обмежити доступ до колоди для груп",
|
||||
"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." : "Створення власних робочих дощок користувачам, які не входять у задані групи, буде заблоковано. Проте, такі користувачі зможуть продовжити працювати зі спільними дошками, до яких у них є доступ.",
|
||||
"Board details" : "Деталі дошки",
|
||||
"Edit board" : "Редагувати дошку",
|
||||
"Clone board" : "Копіювати дошку",
|
||||
"Unarchive board" : "Розархівувати дошку",
|
||||
"Archive board" : "Архівувати дошку",
|
||||
"Turn on due date reminders" : "Нагадування про термін виконання",
|
||||
"Turn off due date reminders" : "Вимкнути нагадування про терміни виконання",
|
||||
"Due date reminders" : "Нагадування про терміни виконання",
|
||||
"No notifications" : "Немає сповіщень",
|
||||
"Delete board" : "Вилучити дошку",
|
||||
"Board {0} deleted" : "Дошку {0} вилучено",
|
||||
@@ -185,6 +199,9 @@ OC.L10N.register(
|
||||
"An error occurred" : "Виникла помилка",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ви впевнені, що хочете вилучити дошку {title}? Це призведе до видалення всіх даних цієї дошки, включаючи архівні картки.",
|
||||
"Delete the board?" : "Вилучити дошку?",
|
||||
"No due" : "Без призначеної дати",
|
||||
"No upcoming cards" : "Немає майбутніх завдань",
|
||||
"upcoming cards" : "очікують на виконання",
|
||||
"Due on {date}" : "До {date}",
|
||||
"Link to a board" : "Прив'язати до дошки",
|
||||
"Link to a card" : "Прив'язати до картки",
|
||||
|
||||
19
l10n/uk.json
19
l10n/uk.json
@@ -32,6 +32,7 @@
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
|
||||
"Deck" : "Колода",
|
||||
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
|
||||
"Upcoming cards" : "Очікують на виконання",
|
||||
"Load more" : "Більше",
|
||||
"Personal" : "Особисте",
|
||||
"Deck board" : "Дошка Deck",
|
||||
@@ -62,8 +63,10 @@
|
||||
"Select the board to link to a project" : "Виберіть дошку для прив'зки до проєкту",
|
||||
"Search by board title" : "Шукати за назвою дошки",
|
||||
"Select board" : "Вибрати дошку",
|
||||
"Create a new card" : "Створити нову картку",
|
||||
"Select a board" : "Вибрати дошку",
|
||||
"Select a list" : "Виберіть список",
|
||||
"Card title" : "Заголовок картки",
|
||||
"Cancel" : "Скасувати",
|
||||
"Close" : "закрити",
|
||||
"Select a card" : "Вибрати картку",
|
||||
@@ -95,6 +98,7 @@
|
||||
"Toggle compact mode" : "Перемкнути компактний вигляд",
|
||||
"Details" : "Деталі",
|
||||
"Loading board" : "Завантаження дошки",
|
||||
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
|
||||
"Board not found" : "Дошку не знайдено",
|
||||
"Sharing" : "Поділитися",
|
||||
"Tags" : "Теги",
|
||||
@@ -118,6 +122,7 @@
|
||||
"Edit" : "Редагувати",
|
||||
"Add a new tag" : "Додати нову позначку",
|
||||
"title and color value must be provided" : "потрібно зазначити назву та колір",
|
||||
"Board name" : "Назва дошки",
|
||||
"Members" : "Учасники",
|
||||
"Upload new files" : "Додати файл",
|
||||
"Share from Files" : "Відкрити Файли",
|
||||
@@ -131,6 +136,7 @@
|
||||
"Comments" : "Коментарі",
|
||||
"Modified" : "Змінено",
|
||||
"Created" : "Створено",
|
||||
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
|
||||
"Assign a tag to this card…" : "Додати позначку до цієї картки",
|
||||
"Assign to users" : "Призначити користувачам",
|
||||
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
|
||||
@@ -151,13 +157,15 @@
|
||||
"Description" : "Опис",
|
||||
"(Unsaved)" : "(Не збережено)",
|
||||
"(Saving…)" : "(Зберігання...)",
|
||||
"Formatting help" : "Форматування довідки",
|
||||
"Formatting help" : "Допомога",
|
||||
"Edit description" : "Редагувати опис",
|
||||
"View description" : "Переглянути опис",
|
||||
"Add Attachment" : "Долучити вкладення",
|
||||
"Write a description …" : "Додайте опис ...",
|
||||
"Choose attachment" : "Вибрати вкладення",
|
||||
"(group)" : "(група)",
|
||||
"Todo items" : "Пункти завдань",
|
||||
"Edit card title" : "Редагувати заголовок картки",
|
||||
"Assign to me" : "Призначити мені",
|
||||
"Move card" : "Пересунути картку",
|
||||
"Card details" : "Деталі картки",
|
||||
@@ -169,13 +177,19 @@
|
||||
"All boards" : "Усі дошки",
|
||||
"Archived boards" : "Архівні дошки",
|
||||
"Shared with you" : "Вам надано доступ",
|
||||
"Deck settings" : "Налаштування колоди",
|
||||
"Use bigger card view" : "Режим перегляду зі збільшеними картками",
|
||||
"Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях",
|
||||
"Limit deck usage of groups" : "Обмежити доступ до колоди для груп",
|
||||
"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." : "Створення власних робочих дощок користувачам, які не входять у задані групи, буде заблоковано. Проте, такі користувачі зможуть продовжити працювати зі спільними дошками, до яких у них є доступ.",
|
||||
"Board details" : "Деталі дошки",
|
||||
"Edit board" : "Редагувати дошку",
|
||||
"Clone board" : "Копіювати дошку",
|
||||
"Unarchive board" : "Розархівувати дошку",
|
||||
"Archive board" : "Архівувати дошку",
|
||||
"Turn on due date reminders" : "Нагадування про термін виконання",
|
||||
"Turn off due date reminders" : "Вимкнути нагадування про терміни виконання",
|
||||
"Due date reminders" : "Нагадування про терміни виконання",
|
||||
"No notifications" : "Немає сповіщень",
|
||||
"Delete board" : "Вилучити дошку",
|
||||
"Board {0} deleted" : "Дошку {0} вилучено",
|
||||
@@ -183,6 +197,9 @@
|
||||
"An error occurred" : "Виникла помилка",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ви впевнені, що хочете вилучити дошку {title}? Це призведе до видалення всіх даних цієї дошки, включаючи архівні картки.",
|
||||
"Delete the board?" : "Вилучити дошку?",
|
||||
"No due" : "Без призначеної дати",
|
||||
"No upcoming cards" : "Немає майбутніх завдань",
|
||||
"upcoming cards" : "очікують на виконання",
|
||||
"Due on {date}" : "До {date}",
|
||||
"Link to a board" : "Прив'язати до дошки",
|
||||
"Link to a card" : "Прив'язати до картки",
|
||||
|
||||
@@ -59,20 +59,21 @@ class Calendar extends ExternalCalendar {
|
||||
}
|
||||
|
||||
public function getACL() {
|
||||
// the calendar should always have the read and the write-properties permissions
|
||||
// write-properties is needed to allow the user to toggle the visibility of shared deck calendars
|
||||
$acl = [
|
||||
[
|
||||
'privilege' => '{DAV:}read',
|
||||
'principal' => $this->getOwner(),
|
||||
'protected' => true,
|
||||
]
|
||||
];
|
||||
if ($this->backend->checkBoardPermission($this->board->getId(), Acl::PERMISSION_MANAGE)) {
|
||||
$acl[] = [
|
||||
],
|
||||
[
|
||||
'privilege' => '{DAV:}write-properties',
|
||||
'principal' => $this->getOwner(),
|
||||
'protected' => true,
|
||||
];
|
||||
}
|
||||
]
|
||||
];
|
||||
|
||||
return $acl;
|
||||
}
|
||||
|
||||
@@ -187,12 +188,18 @@ class Calendar extends ExternalCalendar {
|
||||
foreach ($properties as $key => $value) {
|
||||
switch ($key) {
|
||||
case '{DAV:}displayname':
|
||||
if (!$this->backend->checkBoardPermission($this->board->getId(), Acl::PERMISSION_MANAGE)) {
|
||||
throw new Forbidden('no permission to change the displayname');
|
||||
}
|
||||
if (mb_strpos($value, 'Deck: ') === 0) {
|
||||
$value = mb_substr($value, strlen('Deck: '));
|
||||
}
|
||||
$this->board->setTitle($value);
|
||||
break;
|
||||
case '{http://apple.com/ns/ical/}calendar-color':
|
||||
if (!$this->backend->checkBoardPermission($this->board->getId(), Acl::PERMISSION_MANAGE)) {
|
||||
throw new Forbidden('no permission to change the calendar color');
|
||||
}
|
||||
$color = substr($value, 1, 6);
|
||||
if (!preg_match('/[a-f0-9]{6}/i', $color)) {
|
||||
throw new InvalidDataException('No valid color provided');
|
||||
|
||||
@@ -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'));
|
||||
|
||||
@@ -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) {
|
||||
|
||||
66205
package-lock.json
generated
66205
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
215
package.json
215
package.json
@@ -1,109 +1,108 @@
|
||||
{
|
||||
"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.2",
|
||||
"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-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"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -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') }}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -103,6 +103,7 @@
|
||||
:formatter="format"
|
||||
:disabled="saving || !canEdit"
|
||||
:shortcuts="shortcuts"
|
||||
:append-to-body="true"
|
||||
confirm />
|
||||
<NcActions v-if="canEdit">
|
||||
<NcActionButton v-if="copiedCard.duedate" icon="icon-delete" @click="removeDue()">
|
||||
@@ -448,5 +449,10 @@ export default {
|
||||
.multiselect.multiselect--active:deep(.multiselect__tags-wrap) {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
.mx-datepicker-main.mx-datepicker-popup {
|
||||
/* above the modal */
|
||||
z-index: 9999 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -417,7 +417,7 @@ h5 {
|
||||
|
||||
.app-sidebar__tab .description__text .text-menubar {
|
||||
top: -10px !important;
|
||||
z-index: 100;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.modal__card .description__text .text-menubar {
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</div>
|
||||
|
||||
<div v-else-if="isValidFilter" class="overview">
|
||||
<div v-if="assignedCardsDashboard.length > 0" class="dashboard-column">
|
||||
<div class="dashboard-column">
|
||||
<h3>{{ t('deck', 'Overdue') }}</h3>
|
||||
<div v-for="card in assignedCardsDashboard.overdue" :key="card.id">
|
||||
<CardItem :id="card.id" />
|
||||
|
||||
@@ -33,7 +33,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
OCA.Dashboard.register('deck', async (el) => {
|
||||
const { default: Vue } = await import('vue')
|
||||
const { default: Vuex } = await import('vuex')
|
||||
const { default: overview } = await import('./store/overview.js')
|
||||
const { default: dashboard } = await import('./store/dashboard.js')
|
||||
|
||||
const { default: Dashboard } = await import('./views/Dashboard.vue')
|
||||
Vue.prototype.t = t
|
||||
Vue.prototype.n = n
|
||||
@@ -42,7 +43,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
|
||||
const store = new Vuex.Store({
|
||||
modules: {
|
||||
overview,
|
||||
dashboard,
|
||||
},
|
||||
strict: debug,
|
||||
})
|
||||
|
||||
51
src/store/dashboard.js
Normal file
51
src/store/dashboard.js
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* @copyright Copyright (c) 2020 Jakob Röhrl <jakob.roehrl@web.de>
|
||||
*
|
||||
* @author Jakob Röhrl <jakob.roehrl@web.de>
|
||||
*
|
||||
* @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/>.
|
||||
*
|
||||
*/
|
||||
|
||||
import Vue from 'vue'
|
||||
import Vuex from 'vuex'
|
||||
import { OverviewApi } from '../services/OverviewApi.js'
|
||||
|
||||
Vue.use(Vuex)
|
||||
|
||||
const apiClient = new OverviewApi()
|
||||
|
||||
export default {
|
||||
state: {
|
||||
assignedCards: [],
|
||||
},
|
||||
getters: {
|
||||
assignedCardsDashboard: state => {
|
||||
return Object.values(state.assignedCards).flat()
|
||||
},
|
||||
},
|
||||
mutations: {
|
||||
setAssignedCards(state, assignedCards) {
|
||||
state.assignedCards = assignedCards
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
async loadUpcoming({ commit }) {
|
||||
const upcommingCards = await apiClient.get('upcoming')
|
||||
commit('setAssignedCards', upcommingCards)
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -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>
|
||||
|
||||
@@ -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 |
|
||||
|
||||
|
||||
@@ -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 "([^"]*)"$/
|
||||
*/
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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|
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
)
|
||||
);
|
||||
|
||||
17
webpack.js
17
webpack.js
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user