Compare commits

..

68 Commits

Author SHA1 Message Date
Julius Härtl
9cebe7ac56 Bump version to 1.9.2
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-11 19:02:40 +02:00
Julius Härtl
bfe45c5af4 Merge pull request #4665 from nextcloud/backport/4664/stable26 2023-05-11 19:01:04 +02:00
Julius Härtl
c3c8faffea fix: Properly overwrite z-index of datepicker above modal
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-11 13:15:57 +00:00
Julius Härtl
96508580fd Bump version to 1.9.1
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-10 15:51:29 +02:00
Julius Härtl
ee7fcefd73 Merge pull request #4662 from nextcloud/backport/4660/stable26 2023-05-10 07:46:53 +02:00
Julius Härtl
ac31ff6efe fix: Bring back overdue column by removing faulty condition
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-10 05:36:30 +00:00
Julius Härtl
af6111b51e Merge pull request #4650 from nextcloud/backport/4586/stable26 2023-05-09 07:38:32 +02:00
Nextcloud bot
6700c903eb Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-08 02:40:20 +00:00
Julius Härtl
10e48aded1 fix: Move dashboard fetching to dedicated store module
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-05 12:42:32 +02:00
Julius Härtl
e80ba82d77 chore: Remove unused @nextcloud/vue-dashboard
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-05 12:42:31 +02:00
Julius Härtl
48202e6d98 Merge pull request #4644 from nextcloud/backport/4643/stable26
[stable26] fix: Append datetime picker to body to avoid cut off
2023-05-03 13:31:58 +02:00
Julius Härtl
e3ba870577 fix: z-index of datepicker in modal
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-03 13:10:23 +02:00
Julius Härtl
56fae37144 Merge pull request #4642 from nextcloud/automated/noid/stable26-fix-npm-audit
[stable26] Fix npm audit
2023-05-03 12:44:56 +02:00
Julius Härtl
af9177584c fix: Append datetime picker to body to avoid cut off
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-03 10:41:10 +00:00
nextcloud-command
d850c744cd chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-05-03 08:13:44 +00:00
Nextcloud bot
cd60f4bf80 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-28 02:40:32 +00:00
Julius Härtl
eddb6fc460 Merge pull request #4625 from nextcloud/backport/4622/stable26 2023-04-27 08:57:33 +02:00
Bjoern Schiessle
6684023424 forbid changing the displayname or color of the calendar/deck when the user doesn't has the "manage" permissions
Signed-off-by: Bjoern Schiessle <bjoern@nextcloud.com>
2023-04-27 06:43:31 +00:00
Björn Schießle
43bec159ff Allow user to toggle visibility of the calendar of deck boards
The calendar object needs to be exposed with "write" properties in order to allow users to hide/show the corresponding calendar in the calendar app. It doesn't has any affects on the general permissions for the whole board or the tasks. As soon as you select a task you jump to the deck app where the normal deck permissions are applied.

fixes: https://github.com/nextcloud/deck/issues/4618

Signed-off-by: Björn Schießle <bjoern@nextcloud.com>
2023-04-27 06:43:30 +00:00
Nextcloud bot
27d960340e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-27 02:40:48 +00:00
backportbot-nextcloud[bot]
3cda8eab77 fix: the issue of hidden text by menu bar (#4624)
Co-authored-by: Philip <65334274+pschopen@users.noreply.github.com>
2023-04-26 18:49:11 +02:00
Julius Härtl
aac5c1ff72 Merge pull request #4619 from nextcloud/backport/4604/stable26 2023-04-26 11:51:28 +02:00
Jérôme Herbinet
65c0fcfdc9 Following nimishavijay's suggestion
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2023-04-25 08:13:31 +00:00
Jérôme Herbinet
c71d54a26e Better display of card dates
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2023-04-25 08:13:31 +00:00
Nextcloud bot
0224da2127 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-23 02:40:54 +00:00
Nextcloud bot
3114e1a477 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-19 02:40:47 +00:00
Nextcloud bot
375c78271d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-16 02:39:50 +00:00
Julius Härtl
2b903ecf7f Merge pull request #4590 from nextcloud/automated/noid/stable26-update-nextcloud-ocp
[stable26] Update nextcloud/ocp dependency
2023-04-12 12:50:10 +02:00
nextcloud-command
9e256921ba chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-04-09 02:54:25 +00:00
Nextcloud bot
d7e85ac4da Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-09 02:42:11 +00:00
Nextcloud bot
4495fc3554 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-06 02:41:11 +00:00
Nextcloud bot
6996c862ce Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-05 02:42:35 +00:00
Pytal
f81d98fb4b Merge pull request #4584 from nextcloud/backport/4559/stable26 2023-04-04 15:41:25 -07:00
Christopher Ng
cd942a1dfb Chore(deps): Bump @nextcloud/vue from 7.8.1 to 7.8.4
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2023-04-04 15:34:10 -07:00
Julius Härtl
ddd15e7451 Merge pull request #4582 from nextcloud/automated/noid/stable26-update-nextcloud-ocp 2023-04-03 08:15:14 +02:00
nextcloud-command
21908ef534 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-04-02 03:02:13 +00:00
Jonas
426f1a33dd Merge pull request #4567 from nextcloud/backport/4566/stable26
[stable26] Gracefully handle not found card for a share
2023-03-29 11:13:33 +02:00
Jonas
713271d525 Gracefully handle not found card for a share
Fixes: #3464
Fixes: #4565

Signed-off-by: Jonas <jonas@freesources.org>
2023-03-29 09:00:24 +00:00
Nextcloud bot
a43efce576 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-28 02:31:37 +00:00
Julius Härtl
07f2fb7c28 Merge pull request #4562 from nextcloud/backport/4561/stable26 2023-03-27 12:08:47 +02:00
Julius Härtl
72563feaf0 fix: Adapt NcEmptyContent usages to new slots
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-27 08:52:01 +00:00
Julius Härtl
763a474d11 Merge pull request #4553 from nextcloud/automated/noid/stable26-update-nextcloud-ocp
[stable26] Update nextcloud/ocp dependency
2023-03-20 07:15:29 +01:00
nextcloud-command
3977d71892 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2023-03-19 03:09:01 +00:00
Nextcloud bot
25f3da3603 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-18 02:39:35 +00:00
Nextcloud bot
2920ca8c86 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-17 02:39:05 +00:00
Nextcloud bot
da7e075ee9 Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-16 02:40:45 +00:00
Julius Härtl
c7341bed78 Merge pull request #4537 from nextcloud/backport/4535/stable26 2023-03-15 15:32:32 +01:00
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
Jérôme Herbinet
5dad6bb0b0 Fix : Overlapping expiry dates on tags
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2023-03-15 12:50:19 +00: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
38 changed files with 33219 additions and 33925 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,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

View File

@@ -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>

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": "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",

View File

@@ -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?"
},

View File

@@ -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;"

View File

@@ -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",

View File

@@ -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",

View File

@@ -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" : "Прив'язати до картки",

View File

@@ -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" : "Прив'язати до картки",

View File

@@ -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');

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) {

66205
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -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"
]
}
}

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

@@ -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>

View File

@@ -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 {

View File

@@ -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" />

View File

@@ -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
View 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)
},
},
}

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>

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