Compare commits

..
Author SHA1 Message Date
Marcel Klehr e5959fa8da Update Stack.vue
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-10-27 12:30:49 +02:00
Marcel KlehrandGitHub b47c7aca34 Merge branch 'master' into fix-archived-stack-button
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-10-27 12:19:53 +02:00
Nextcloud bot ca91e7a2ed [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-27 02:21:14 +00:00
Julius HärtlandGitHub b92fddaf65 Merge pull request #4150 from nextcloud/automated/noid/master-update-nextcloud-ocp
[master] Update nextcloud/ocp dependency
2022-10-26 21:13:27 +02:00
dependabot[bot]andGitHub b7de565bac Merge pull request #4147 from nextcloud/dependabot/npm_and_yarn/master/jest-29.2.1 2022-10-26 11:50:52 +00:00
dependabot[bot]andJulius Härtl 9c8e1a9f6e Bump jest from 29.2.0 to 29.2.1
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.2.0 to 29.2.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.2.1/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-26 13:45:00 +02:00
nextcloud-commandandJulius Härtl 7e479b0505 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-10-25 21:21:52 +02:00
Julius HärtlandGitHub 8f65ec2ede Merge pull request #4153 from nextcloud/bugfix/4152/fix-duedate-activity 2022-10-25 21:16:08 +02:00
Julius Härtl 6912ae09cf Fix integration test run script
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-25 21:07:21 +02:00
Nextcloud bot eaa3315348 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-25 02:26:16 +00:00
Joas Schilling 5669bd73cc Fix Duedate activity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-10-24 12:32:56 +02:00
Nextcloud bot 57989384fa [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-24 02:21:54 +00:00
Julius HärtlandGitHub 74c04b2d71 Merge pull request #4148 from nextcloud/dependabot/github_actions/peter-evans/create-pull-request-4
Bump peter-evans/create-pull-request from 3 to 4
2022-10-22 11:03:42 +02:00
dependabot[bot]andGitHub 74565debbb Merge pull request #4149 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.0.1 2022-10-22 02:49:33 +00:00
dependabot[bot]andGitHub a2744823c1 Bump @nextcloud/vue from 7.0.0 to 7.0.1
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.0.0...v7.0.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-22 02:23:09 +00:00
dependabot[bot]andGitHub a918459105 Bump peter-evans/create-pull-request from 3 to 4
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 4.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-22 01:06:06 +00:00
Julius HärtlandGitHub f9acf7778f Merge pull request #4091 from nextcloud/migrate-master-christophwurst-package 2022-10-21 18:00:04 +02:00
Joas SchillingandJulius Härtl 8537bd00c7 Migrate to nextcloud/OCP package in master
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-10-20 09:42:13 +02:00
Julius HärtlandGitHub 4b62c34cc3 Merge pull request #4143 from TehThanos/lintMakeTarget
Added lint rule to Makefile
2022-10-20 08:29:15 +02:00
Thanos Kamber 94d84f2b16 Added lint rule to Makefile
Signed-off-by: Thanos Kamber <thanos.kamber@gmail.com>
2022-10-20 07:41:49 +03:00
Julius HärtlandGitHub 14e7c33886 Merge pull request #4053 from nextcloud/dependabot/github_actions/actions/upload-artifact-3 2022-10-19 21:50:40 +02:00
Julius HärtlandGitHub 60ee9f77ca Merge pull request #3774 from Ben-Ro/CTRL/CMD_+_ENTER_to_Save_Changes_on_Card_Description
feat: #3268 CTRL/CMD + ENTER to Save Changes on Card Description
2022-10-19 21:49:40 +02:00
Julius HärtlandGitHub 3eaba6fe1a Merge pull request #4101 from mokkin/patch-1
disables autocomplete on card creation
2022-10-19 21:10:45 +02:00
Julius HärtlandGitHub cef14ed254 Merge pull request #4026 from nextcloud/dependabot/composer/tests/integration/guzzlehttp/guzzle-7.5.0 2022-10-19 21:10:25 +02:00
dependabot[bot]andJulius Härtl 0828ae6017 Update guzzlehttp/guzzle requirement in /tests/integration
Updates the requirements on [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) to permit the latest version.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.5...7.5.0)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-19 21:04:09 +02:00
benandJulius Härtl 3af54d7186 Use VueEasyMDE initialized event instead of setTimeout as proposed by @juliushaertl
Signed-off-by: ben <ben@ro.tt>
2022-10-19 21:02:35 +02:00
benandJulius Härtl f01a4433ed CTRL/CMD + ENTER to Save Changes on Card Description - fixes nextcloud/deck#3268
Signed-off-by: ben <ben@ro.tt>
2022-10-19 21:02:35 +02:00
mokkinandJulius Härtl b64b29cf6e disables autocomplete on card creation
solves https://github.com/nextcloud/deck/issues/4083

Signed-off-by: mokkin <markus@haybach.com>
2022-10-19 20:57:49 +02:00
Julius HärtlandGitHub d93b431554 Merge pull request #4115 from nextcloud/bugfix/4112/fix-duedate-format 2022-10-19 20:56:27 +02:00
Julius Härtl d00bd159d2 Avoid always setting the current time on card updates
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-19 20:03:22 +02:00
Marcel KlehrandJulius Härtl 816a8c08f0 Fix duedate tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-10-19 19:46:10 +02:00
Joas SchillingandJulius Härtl 2c3113334a Fix issue with duedate format
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-10-19 19:46:09 +02:00
Julius Härtl 857a0797b4 Pin postgres to 14
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-18 11:25:22 +02:00
Nextcloud bot efc3511e15 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-18 02:21:38 +00:00
dependabot[bot]andGitHub aaccd2e7d2 Merge pull request #4025 from nextcloud/dependabot/npm_and_yarn/master/vue-at-2.5.1 2022-10-17 15:57:09 +00:00
dependabot[bot]andGitHub 1921143bfd Bump vue-at from 2.5.0 to 2.5.1
Bumps [vue-at](https://github.com/fritx/vue-at) from 2.5.0 to 2.5.1.
- [Release notes](https://github.com/fritx/vue-at/releases)
- [Commits](https://github.com/fritx/vue-at/commits)

---
updated-dependencies:
- dependency-name: vue-at
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 14:38:58 +00:00
Julius HärtlandGitHub 07b7df8e68 Merge pull request #4126 from nextcloud/dependabot/npm_and_yarn/master/vue-and-vue-template-compiler-2.7.13 2022-10-17 16:37:44 +02:00
Julius HärtlandGitHub c4804cfcb7 Merge pull request #4134 from DJE98/patch-2
Added nextcloud information in the  development description
2022-10-17 14:56:05 +02:00
Dennis EisermannandGitHub 6bc5f1df47 Added nextcloud information in the development description
Added more information about the nextcloud environment manually and with docker in the development description.

Signed-off-by: Dennis Eisermann <73851419+DJE98@users.noreply.github.com>
2022-10-17 14:46:45 +02:00
Julius HärtlandGitHub f8a8cc691c Merge pull request #4130 from DJE98/patch-1
Updated nodejs version requirement
2022-10-17 13:46:58 +02:00
Julius HärtlandGitHub a4b2a137e5 Merge pull request #4065 from nextcloud/perf/noid/circles-files 2022-10-17 11:39:21 +02:00
Dennis EisermannandGitHub 96b5c3da1d Updated nodejs version requirement
Updated nodejs version requirement from 14 to 16

Signed-off-by: Dennis Eisermann <73851419+DJE98@users.noreply.github.com>
2022-10-17 11:24:59 +02:00
Julius HärtlandGitHub a716c0968a Merge pull request #4127 from nextcloud/dependabot/composer/vimeo/psalm-4.29.0
Bump vimeo/psalm from 4.28.0 to 4.29.0
2022-10-15 10:38:19 +02:00
dependabot[bot]andGitHub 48c8333ed1 Bump vue and vue-template-compiler
Bumps [vue](https://github.com/vuejs/core) and [vue-template-compiler](https://github.com/vuejs/vue). These dependencies needed to be updated together.

Updates `vue` from 2.7.9 to 2.7.13
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits)

Updates `vue-template-compiler` from 2.7.9 to 2.7.13
- [Release notes](https://github.com/vuejs/vue/releases)
- [Changelog](https://github.com/vuejs/vue/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue/compare/v2.7.9...v2.7.13)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: vue-template-compiler
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 08:13:16 +00:00
dependabot[bot]andGitHub 8224ff13c3 Merge pull request #4124 from nextcloud/dependabot/npm_and_yarn/master/jest-29.2.0 2022-10-15 08:12:18 +00:00
dependabot[bot]andGitHub e150cd25e8 Merge pull request #4125 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.19.4 2022-10-15 04:49:59 +00:00
dependabot[bot]andGitHub 6206a0cdd1 Bump jest from 29.1.2 to 29.2.0
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.1.2 to 29.2.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.2.0/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 03:09:51 +00:00
dependabot[bot]andGitHub d66b54dd13 Merge pull request #4123 from nextcloud/dependabot/npm_and_yarn/master/cypress-10.10.0 2022-10-15 03:08:42 +00:00
dependabot[bot]andGitHub 5491c9444e Merge pull request #4121 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.0.0 2022-10-15 02:29:16 +00:00
dependabot[bot]andGitHub 0fc5708253 Bump vimeo/psalm from 4.28.0 to 4.29.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.28.0 to 4.29.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.28.0...4.29.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 02:09:47 +00:00
dependabot[bot]andGitHub 918342eeb7 Bump @babel/runtime from 7.19.0 to 7.19.4
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.19.0 to 7.19.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.4/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 01:03:24 +00:00
dependabot[bot]andGitHub ec66e0f291 Bump cypress from 10.9.0 to 10.10.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.9.0 to 10.10.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.9.0...v10.10.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 01:02:49 +00:00
dependabot[bot]andGitHub d76a1f539b Bump @nextcloud/vue from 7.0.0-beta.7 to 7.0.0
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.0.0-beta.7 to 7.0.0.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.0.0-beta.7...v7.0.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 01:02:19 +00:00
Julius Härtl c81501c2ea Cache user membership for circles
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-14 23:11:19 +02:00
Julius HärtlandGitHub d62bd4e99a Merge pull request #3439 from nextcloud/bugfix/3431 2022-10-14 12:46:11 +02:00
Julius Härtl 863ce50a27 Activity: Set event link also for notifications that get emitted from activity
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-14 10:52:25 +02:00
Julius HärtlandGitHub a9c4e626ac Merge pull request #4113 from nextcloud/bugfix/noid/fix-sorting-stacks 2022-10-13 15:27:32 +02:00
Joas SchillingandJulius Härtl 982df96c3c Fix sorting stacks
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-10-13 14:07:59 +02:00
Julius HärtlandGitHub bc070cbeb9 Merge pull request #4114 from nextcloud/tests/drop-mapper-test-util 2022-10-13 14:07:45 +02:00
Julius Härtl dbac5f82d3 Avoid using dropped Test\AppFramework\Db\MapperTestUtility
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-13 13:01:15 +02:00
Nextcloud bot 58c7786cf7 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-13 02:22:21 +00:00
Julius HärtlandGitHub 14db941950 Merge pull request #4102 from nextcloud/fix/no-card-menu-without-description 2022-10-11 14:53:15 +02:00
dependabot[bot]andGitHub 36a531c204 Merge pull request #4111 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/axios-2.1.0 2022-10-08 08:13:54 +00:00
dependabot[bot]andGitHub 0fa1f74699 Merge pull request #4110 from nextcloud/dependabot/npm_and_yarn/master/relative-ci/agent-4.1.1 2022-10-08 07:19:53 +00:00
dependabot[bot]andGitHub 9189723970 Bump @nextcloud/axios from 2.0.0 to 2.1.0
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-axios/compare/v2.0.0...v2.1.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/axios"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-08 04:12:54 +00:00
dependabot[bot]andGitHub d7bcdeb5a7 Merge pull request #4109 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-richtext-2.0.4 2022-10-08 04:11:54 +00:00
dependabot[bot]andGitHub 4d9e81e22f Merge pull request #4108 from nextcloud/dependabot/composer/vimeo/psalm-4.28.0 2022-10-08 02:31:48 +00:00
dependabot[bot]andGitHub 466c39d12a Bump @relative-ci/agent from 4.1.0 to 4.1.1
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-08 02:26:40 +00:00
Nextcloud bot 86e7d04c80 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-08 02:21:49 +00:00
dependabot[bot]andGitHub a6b5ae3fde Bump @nextcloud/vue-richtext from 2.0.3 to 2.0.4
Bumps [@nextcloud/vue-richtext](https://github.com/nextcloud/vue-richtext) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/nextcloud/vue-richtext/releases)
- [Changelog](https://github.com/nextcloud/vue-richtext/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/vue-richtext/compare/v2.0.3...v2.0.4)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue-richtext"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-08 02:12:43 +00:00
dependabot[bot]andGitHub bb3f41dd69 Bump vimeo/psalm from 4.27.0 to 4.28.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.27.0 to 4.28.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.27.0...4.28.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-08 01:01:00 +00:00
Marcel Klehr b2bdf4a49d Fix Card menu not displaying when description is not set
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-10-07 11:36:09 +02:00
Nextcloud bot 91268cdd4c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-06 02:26:14 +00:00
Nextcloud bot 6b621d2faa [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-05 02:21:21 +00:00
Julius HärtlandGitHub 93db4fd2d8 Merge pull request #4096 from nextcloud/fix/remove-util-constant-uses 2022-10-02 14:17:55 +02:00
Côme Chilliet f166552de0 Remove uses of Util:: loglevel constants removed from server
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-10-02 13:54:56 +02:00
Julius HärtlandGitHub aab3352624 Merge pull request #4084 from nextcloud/bugfix/noid/fix-missing-icon-for-activities 2022-10-01 14:49:19 +02:00
dependabot[bot]andGitHub 26f33e5bc6 Merge pull request #4089 from nextcloud/dependabot/npm_and_yarn/master/cypress-10.9.0 2022-10-01 11:10:08 +00:00
dependabot[bot]andGitHub da4db42380 Bump cypress from 10.8.0 to 10.9.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.8.0 to 10.9.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.8.0...v10.9.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 07:38:30 +00:00
dependabot[bot]andGitHub aa46b49ab7 Merge pull request #4088 from nextcloud/dependabot/npm_and_yarn/master/jest-29.1.2 2022-10-01 07:37:32 +00:00
dependabot[bot]andGitHub b70e893364 Merge pull request #4087 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-richtext-2.0.3 2022-10-01 06:22:52 +00:00
Nextcloud bot a6bb454df5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-01 02:24:36 +00:00
Nextcloud bot 099e76aeab [tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-01 02:24:14 +00:00
dependabot[bot]andGitHub 309b00f2d9 Bump jest from 29.0.1 to 29.1.2
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.0.1 to 29.1.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.1.2/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 02:18:38 +00:00
dependabot[bot]andGitHub acd181133c Merge pull request #4085 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.25 2022-10-01 02:12:08 +00:00
dependabot[bot]andGitHub 86f8999d30 Bump @nextcloud/vue-richtext from 2.0.1 to 2.0.3
Bumps [@nextcloud/vue-richtext](https://github.com/nextcloud/vue-richtext) from 2.0.1 to 2.0.3.
- [Release notes](https://github.com/nextcloud/vue-richtext/releases)
- [Changelog](https://github.com/nextcloud/vue-richtext/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/vue-richtext/compare/v2.0.1...v2.0.3)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue-richtext"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 02:07:41 +00:00
dependabot[bot]andGitHub 661a64656e Merge pull request #4086 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.0.0-beta.7 2022-10-01 02:06:43 +00:00
dependabot[bot]andGitHub 3380103a8f Bump @nextcloud/vue from 7.0.0-beta.6 to 7.0.0-beta.7
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.0.0-beta.6 to 7.0.0-beta.7.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.0.0-beta.6...v7.0.0-beta.7)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 01:03:39 +00:00
dependabot[bot]andGitHub 7ebf6e4150 Bump phpunit/phpunit from 9.5.24 to 9.5.25
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.24 to 9.5.25.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.24...9.5.25)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 01:02:13 +00:00
Joas Schilling 05fdd9765c Fix missing icon for activity rendering
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-30 09:57:02 +02:00
Nextcloud bot 72a8c4dd83 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-30 03:23:38 +00:00
Nextcloud bot 423630bea6 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-28 02:46:15 +00:00
Julius HärtlandGitHub 2c9bcbae0b Merge pull request #4080 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.0.0-beta.6 2022-09-27 00:20:45 +02:00
dependabot[bot]andGitHub f70747ea15 Bump @nextcloud/vue from 7.0.0-beta.5 to 7.0.0-beta.6
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.0.0-beta.5 to 7.0.0-beta.6.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.0.0-beta.5...v7.0.0-beta.6)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 22:12:19 +00:00
Julien VeyssierandGitHub b4c1525958 Merge pull request #4077 from nextcloud/fix/noid/private-reference-class
use OCP\Collaboration\Reference\Reference
2022-09-26 19:48:36 +02:00
Julien Veyssier ed5df26704 use OCP\Collaboration\Reference\Reference instead of the recently removed OC\Collaboration\Reference\Reference
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-26 17:23:00 +02:00
Julius HärtlandGitHub d8253d41fd Merge pull request #4067 from Jerome-Herbinet/patch-1
Fix : Overlapping problem in the deletions tab
2022-09-26 10:36:56 +02:00
Jérôme HerbinetandGitHub 4eb7988e2c Merge branch 'master' into patch-1 2022-09-26 09:03:14 +02:00
Nextcloud bot 4f68aed812 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-26 02:47:15 +00:00
Nextcloud bot 322d01d3e1 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-24 02:47:21 +00:00
dependabot[bot]andGitHub aa34a0cce3 Merge pull request #4073 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.0.0-beta.5 2022-09-24 02:42:20 +00:00
dependabot[bot]andGitHub 93a988f8f1 Bump @nextcloud/vue from 7.0.0-beta.4 to 7.0.0-beta.5
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.0.0-beta.4 to 7.0.0-beta.5.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.0.0-beta.4...v7.0.0-beta.5)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-24 01:02:59 +00:00
Julius HärtlandGitHub 630fa5b07e Merge pull request #4071 from nextcloud/enh/import
Use global import for nextcloud-vue
2022-09-23 12:00:18 +02:00
Julius HärtlandGitHub 77f623d261 Merge pull request #4066 from nextcloud/bugfix/delete_acl
Fix deleteAcl
2022-09-23 10:05:09 +02:00
Nextcloud bot 30a4e88cff [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-23 02:42:07 +00:00
Julius Härtl 01b897bd8b Fix imports
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-22 20:33:58 +02:00
Julius Härtl be36e6de6a Use global import for nextcloud-vue
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-22 20:33:58 +02:00
Julius HärtlandGitHub 96b7a7ccb3 Merge pull request #4069 from nextcloud/fix/noid/reference-widget-style 2022-09-22 20:28:56 +02:00
Julius HärtlandGitHub d8dd65d7ee Merge pull request #4070 from nextcloud/update-master-version 2022-09-22 20:28:20 +02:00
Julien Veyssier aecdcb847d fix width issues
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-22 17:05:53 +02:00
Joas Schilling a383d389c4 Add Nextcloud 25 support on master
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-22 13:22:33 +02:00
Julien Veyssier 565b2edfdd use richtext component for description, adjust style to make it work in Text
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-22 13:21:33 +02:00
Jérôme HerbinetandGitHub c1b4beeb64 Fix : Overlapping problem in the deletions tab
Overlapping problem in the deletions tab fix when titles are long and displayed on two lines 
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>
2022-09-22 11:09:15 +02:00
raulandRaul Ferreira Fuentes 9d489564d6 Fix psalm test
Signed-off-by: raul <raul@nextcloud.com>
2022-09-22 08:46:35 +02:00
raulandRaul Ferreira Fuentes 24a4260e55 Fix deleteAcl
Signed-off-by: raul <raul@nextcloud.com>
2022-09-22 08:46:35 +02:00
Nextcloud bot af8e61ece6 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-22 02:45:46 +00:00
Julius HärtlandGitHub f9836d4dfb Merge pull request #4033 from nextcloud/enh/4032/implement-new-dashboard-widget-interfaces 2022-09-21 18:40:31 +02:00
Julius HärtlandGitHub 982b867a04 Merge pull request #4000 from nextcloud/enh/related-resources 2022-09-21 18:38:11 +02:00
Christopher NgandJulius Härtl a6c9bd5c09 Add related resources panel to board sharing tab sidebar
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-09-21 17:35:53 +02:00
Julius HärtlandGitHub 8008b9d0cb Merge pull request #4056 from nextcloud/fix/4018/reference-card
Fix reference provider when caching
2022-09-21 17:29:59 +02:00
Julius HärtlandGitHub 7f01db17d0 Merge pull request #4016 from nextcloud/dependencies/bump-nextcloud-vue
Bump @nextcloud/vue to 7.0.0-beta.0
2022-09-21 17:28:46 +02:00
Julius Härtl 9ec44bdadd Fix stylelint
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-21 09:01:51 +02:00
Julius Härtl 660290121c Fix some styling issues
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-21 09:01:51 +02:00
Julius Härtl 7dab7fad81 Bump @nextcloud/vue to 7.0.0-beta.0
Signed-off-by: Julius Härtl <jus@bitgrid.net>

Bump @nextcloud/vue to 7.0.0-beta.4

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-21 09:01:49 +02:00
Nextcloud bot 7b0630143d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-20 02:45:55 +00:00
Julius HärtlandGitHub 17258783c2 Merge pull request #4064 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-richtext-2.0.1
Bump @nextcloud/vue-richtext from 2.0.0 to 2.0.1
2022-09-19 14:28:13 +02:00
Julius HärtlandGitHub 9398d86fba Merge pull request #4062 from nextcloud/dependabot/npm_and_yarn/master/cypress-10.8.0
Bump cypress from 10.7.0 to 10.8.0
2022-09-19 09:57:40 +02:00
Julius HärtlandGitHub 88ef90fce7 Merge pull request #4050 from nextcloud/dependabot/npm_and_yarn/node-forge-1.3.1
Bump node-forge from 0.10.0 to 1.3.1
2022-09-19 08:59:08 +02:00
Julius HärtlandGitHub 4213ec0986 Merge pull request #4051 from nextcloud/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-09-19 08:58:52 +02:00
Julius HärtlandGitHub f4b2563629 Merge pull request #4052 from nextcloud/dependabot/github_actions/actions/setup-node-3
Bump actions/setup-node from 1 to 3
2022-09-19 08:58:44 +02:00
Nextcloud bot baf0e0c1f5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-17 02:45:12 +00:00
dependabot[bot]andGitHub b888a65b8b Bump @nextcloud/vue-richtext from 2.0.0 to 2.0.1
Bumps [@nextcloud/vue-richtext](https://github.com/nextcloud/vue-richtext) from 2.0.0 to 2.0.1.
- [Release notes](https://github.com/nextcloud/vue-richtext/releases)
- [Changelog](https://github.com/nextcloud/vue-richtext/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/vue-richtext/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue-richtext"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 02:12:09 +00:00
dependabot[bot]andGitHub a6eda5a0b8 Bump cypress from 10.7.0 to 10.8.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.7.0 to 10.8.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.7.0...v10.8.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 02:10:49 +00:00
Julien Veyssier 6449082349 fix widget api buttons
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-16 13:52:02 +02:00
Julien Veyssier 44127d4bf6 use since param to build widget item list
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-16 13:35:22 +02:00
Julien Veyssier 0c95e7ca1e implement IButtonWidget and IIconWidget
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-16 13:35:21 +02:00
Julien Veyssier e29ac75f3d use @nc/vue button in dashboard widget, use material icon inside
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-16 13:35:15 +02:00
Julien Veyssier 7dba89a03a implement IAPIWidget interface
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-16 13:32:01 +02:00
Nextcloud bot 61d23ddc6f [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-16 02:39:35 +00:00
Nextcloud bot fc921143d3 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-15 02:45:07 +00:00
Julien Veyssier 395c79b32a perform deep serialization/sanitizing of reference rich object to avoid caching issues
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-14 12:00:30 +02:00
Nextcloud bot 7c683efce6 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-14 02:39:52 +00:00
Nextcloud bot f07eb17dff [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-13 02:40:38 +00:00
Julien VeyssierandGitHub 242906162f Merge pull request #4031 from nextcloud/enh/4018/reference-card
Implement card reference widget
2022-09-12 18:06:57 +02:00
Julien Veyssier c423f6ecd8 adjust card reference style
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-12 17:20:45 +02:00
Julien Veyssier 3c83320c20 implement card reference widget, fix DeckIcon.vue
bring back eslint and stylelint on compilation, fix almost all warnings, ignore some

Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-12 17:20:45 +02:00
Nextcloud bot 89068641ee [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-12 02:39:40 +00:00
dependabot[bot]andGitHub 71e5c0d743 Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-10 04:06:23 +00:00
dependabot[bot]andGitHub 3e46fe777d Bump actions/setup-node from 1 to 3
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 1 to 3.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v1...v3)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-10 04:06:20 +00:00
dependabot[bot]andGitHub a73d790a95 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-10 04:06:17 +00:00
dependabot[bot]andGitHub 40b8596275 Merge pull request #4047 from nextcloud/dependabot/npm_and_yarn/master/vue-router-3.6.5 2022-09-10 03:35:03 +00:00
dependabot[bot]andGitHub 6487ed966f Merge pull request #4045 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/event-bus-3.0.2 2022-09-10 02:33:51 +00:00
dependabot[bot]andGitHub c5cb8ed5a7 Bump node-forge from 0.10.0 to 1.3.1
Bumps [node-forge](https://github.com/digitalbazaar/forge) from 0.10.0 to 1.3.1.
- [Release notes](https://github.com/digitalbazaar/forge/releases)
- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digitalbazaar/forge/compare/0.10.0...v1.3.1)

---
updated-dependencies:
- dependency-name: node-forge
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-10 02:32:34 +00:00
dependabot[bot]andGitHub d7ee3b72a6 Merge pull request #4046 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.19.0 2022-09-10 02:31:46 +00:00
dependabot[bot]andGitHub 36e2443267 Bump vue-router from 3.6.4 to 3.6.5
Bumps [vue-router](https://github.com/vuejs/router) from 3.6.4 to 3.6.5.
- [Release notes](https://github.com/vuejs/router/releases)
- [Commits](https://github.com/vuejs/router/commits)

---
updated-dependencies:
- dependency-name: vue-router
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-10 01:03:29 +00:00
dependabot[bot]andGitHub 2c1b95a3cb Bump @babel/runtime from 7.18.9 to 7.19.0
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.18.9 to 7.19.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.0/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-10 01:03:07 +00:00
dependabot[bot]andGitHub 0628624edf Bump @nextcloud/event-bus from 3.0.0 to 3.0.2
Bumps [@nextcloud/event-bus](https://github.com/nextcloud/nextcloud-event-bus) from 3.0.0 to 3.0.2.
- [Release notes](https://github.com/nextcloud/nextcloud-event-bus/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-event-bus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-event-bus/compare/v3.0.0...v3.0.2)

---
updated-dependencies:
- dependency-name: "@nextcloud/event-bus"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-10 01:02:46 +00:00
Nextcloud bot 2bd854ff18 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-09 02:40:38 +00:00
Nextcloud bot 18b6ed080c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-08 02:40:30 +00:00
Julien VeyssierandGitHub 5010f0e0e1 Merge pull request #4036 from nextcloud/fix/4035/show-attachment-creator-displayname
Fix attachment creator name: show display name
2022-09-07 18:05:27 +02:00
Julien Veyssier 82c7145163 fix tests
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-07 17:41:51 +02:00
Julien Veyssier cb60e70ae9 refs #4035 fix attachment creator name: show display name instead of user id
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-07 16:53:51 +02:00
Nextcloud bot f8a255a9f0 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-07 02:39:58 +00:00
Nextcloud bot 38040cc246 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-06 02:39:36 +00:00
Nextcloud bot 0961bf088f [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-05 02:38:57 +00:00
Nextcloud bot 76afb87624 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-04 02:37:59 +00:00
dependabot[bot]andGitHub 8dc8513263 Merge pull request #4029 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.24 2022-09-03 07:39:09 +00:00
dependabot[bot]andGitHub 4d3f2bf1e4 Merge pull request #4028 from nextcloud/dependabot/composer/vimeo/psalm-4.27.0 2022-09-03 07:32:43 +00:00
dependabot[bot]andGitHub 4c82154eb0 Merge pull request #4024 from nextcloud/dependabot/npm_and_yarn/master/relative-ci/agent-4.1.0 2022-09-03 05:42:10 +00:00
dependabot[bot]andGitHub 858334cc64 Bump phpunit/phpunit from 9.5.23 to 9.5.24
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.23 to 9.5.24.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.23...9.5.24)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-03 02:53:20 +00:00
dependabot[bot]andGitHub 7bb02a9b63 Bump vimeo/psalm from 4.26.0 to 4.27.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.26.0 to 4.27.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.26.0...4.27.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-03 02:52:44 +00:00
Nextcloud bot 1551cdf517 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-03 02:44:33 +00:00
dependabot[bot]andGitHub 8a8a1ac060 Bump @relative-ci/agent from 4.0.0 to 4.1.0
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-03 02:05:54 +00:00
dependabot[bot]andGitHub 123e43e626 Merge pull request #4021 from nextcloud/dependabot/npm_and_yarn/master/cypress-10.7.0 2022-09-03 02:04:54 +00:00
dependabot[bot]andGitHub 03e54ffdff Bump cypress from 10.6.0 to 10.7.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.6.0 to 10.7.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.6.0...v10.7.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-03 01:03:27 +00:00
Julius HärtlandGitHub c897074cb3 Clarify that board deletion also includes archived cards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-02 14:59:06 +02:00
Julius HärtlandGitHub 03fa4dc816 Merge pull request #4014 from nextcloud/create-no-stack 2022-09-02 13:12:21 +02:00
Nextcloud bot 3ea4c635d0 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-01 02:50:05 +00:00
Luka TrovicandGitHub 78ed0852ea Merge pull request #4013 from nextcloud/release/1.8.0-beta.1
release/1.8.0-beta.1
2022-08-30 14:51:20 +02:00
Robin Appelman 89d46dcab4 disable Create card button while no stack is chosen
make the `isBoardAndStackChoosen` method do what it says

Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-08-30 14:40:49 +02:00
Luka Trovic 411626c038 changes for 1.8.0-beta.1
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-08-30 14:34:02 +02:00
Julius HärtlandGitHub 56e3215785 Merge pull request #3983 from nextcloud/perf/sharing
Simpify query for getting shared files
2022-08-29 11:02:09 +02:00
Julius Härtl b81f55057a Fix phpunit install version
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-28 20:51:22 +02:00
Julius Härtl e2dc1c2684 Simplify fetching boards during sharing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-28 20:51:22 +02:00
Julius Härtl e2c5367050 Avoid duplicate code
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-28 20:51:22 +02:00
dependabot[bot]andGitHub 15c48b919d Merge pull request #4008 from nextcloud/dependabot/npm_and_yarn/master/dompurify-2.4.0 2022-08-28 17:43:57 +00:00
dependabot[bot]andGitHub 7ad36b07b1 Merge pull request #3975 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/stylelint-config-2.2.0 2022-08-28 17:43:33 +00:00
dependabot[bot]andJulius Härtl 85dbb18663 Bump @nextcloud/stylelint-config from 2.1.2 to 2.2.0
Bumps [@nextcloud/stylelint-config](https://github.com/nextcloud/stylelint-config) from 2.1.2 to 2.2.0.
- [Release notes](https://github.com/nextcloud/stylelint-config/releases)
- [Changelog](https://github.com/nextcloud/stylelint-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/stylelint-config/compare/v2.1.2...v2.2.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/stylelint-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-28 19:38:11 +02:00
dependabot[bot]andGitHub a712be416e Merge pull request #4006 from nextcloud/dependabot/npm_and_yarn/master/vue-router-3.6.4 2022-08-28 16:49:58 +00:00
Julius HärtlandGitHub 2246e12a6a Merge pull request #4004 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.23
Bump phpunit/phpunit from 9.5.21 to 9.5.23
2022-08-28 18:43:35 +02:00
dependabot[bot]andJulius Härtl 0975eb7d78 Bump vue-router from 3.5.4 to 3.6.4
Bumps [vue-router](https://github.com/vuejs/router) from 3.5.4 to 3.6.4.
- [Release notes](https://github.com/vuejs/router/releases)
- [Commits](https://github.com/vuejs/router/commits)

---
updated-dependencies:
- dependency-name: vue-router
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-28 18:43:06 +02:00
dependabot[bot]andJulius Härtl f4610dc6eb Bump dompurify from 2.3.10 to 2.4.0
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.10 to 2.4.0.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.10...2.4.0)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-28 18:42:49 +02:00
dependabot[bot]andGitHub df5b2abf21 Merge pull request #3988 from nextcloud/dependabot/npm_and_yarn/master/cypress-10.6.0 2022-08-28 16:26:30 +00:00
dependabot[bot]andGitHub e865627158 Bump cypress from 10.4.0 to 10.6.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.4.0 to 10.6.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.4.0...v10.6.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-28 16:19:18 +00:00
Julius HärtlandGitHub fdd6b78fa8 Merge pull request #4005 from nextcloud/dependabot/npm_and_yarn/master/jest-29.0.1
Bump jest from 28.1.3 to 29.0.1
2022-08-28 18:18:12 +02:00
Julius HärtlandGitHub 58db7712ea Merge pull request #4007 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/initial-state-2.0.0
Bump @nextcloud/initial-state from 1.2.1 to 2.0.0
2022-08-28 18:17:54 +02:00
dependabot[bot]andGitHub 325ec9ae55 Bump jest from 28.1.3 to 29.0.1
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 28.1.3 to 29.0.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.0.1/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-28 13:42:20 +00:00
dependabot[bot]andGitHub 935a2a240d Bump @nextcloud/initial-state from 1.2.1 to 2.0.0
Bumps [@nextcloud/initial-state](https://github.com/nextcloud/nextcloud-initial-state) from 1.2.1 to 2.0.0.
- [Release notes](https://github.com/nextcloud/nextcloud-initial-state/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-initial-state/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-initial-state/commits)

---
updated-dependencies:
- dependency-name: "@nextcloud/initial-state"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-28 13:42:04 +00:00
Julius HärtlandGitHub a0ca4f0a33 Merge pull request #3991 from nextcloud/depenendencies/nextcloud-vue-6 2022-08-28 14:45:31 +02:00
Julius Härtl a0c47f8115 Some cypress test cleanup and fixes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-28 14:37:11 +02:00
Nextcloud bot 957776871d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-28 02:36:30 +00:00
Nextcloud bot fe7d318f3d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-27 02:36:42 +00:00
dependabot[bot]andGitHub b8155835b6 Bump phpunit/phpunit from 9.5.21 to 9.5.23
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.21 to 9.5.23.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.21...9.5.23)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-27 01:00:52 +00:00
Julius Härtl 74d9e63888 Use proper type for size prop
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-26 12:45:46 +02:00
Julius Härtl 7c5601eed6 Bump to beta.4
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-26 12:42:07 +02:00
Julius Härtl 49acc1a88f Small styling fix for the controls bar
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-26 12:41:09 +02:00
Julius Härtl f072b06b81 Update vue
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-26 12:41:09 +02:00
Julius Härtl 4be99a93c8 Bump to @nextcloud/vue@6.0.0-beta.3
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-26 12:41:08 +02:00
Nextcloud bot e761c9aec9 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-24 02:39:39 +00:00
Julius HärtlandGitHub 1032e8fb06 Merge pull request #3989 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.21.2 2022-08-22 17:51:09 +02:00
Nextcloud bot 36d9cd1c76 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-22 02:37:12 +00:00
Nextcloud bot 281dcf464e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-21 02:36:33 +00:00
Nextcloud bot 90bed2da26 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-20 02:36:56 +00:00
dependabot[bot]andGitHub ba1f1a99ed Bump shivammathur/setup-php from 2.21.1 to 2.21.2
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.21.1 to 2.21.2.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.21.1...2.21.2)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-20 01:05:11 +00:00
Marcel KlehrandGitHub cdd838cffe Merge pull request #3986 from nextcloud/fix/a11y 2022-08-19 11:44:42 +02:00
Marcel Klehr d1997c0f65 Add a11y label for sidebar button
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-08-19 11:35:12 +02:00
Julius HärtlandGitHub 1cfc20365e Merge pull request #3984 from nextcloud/enh/hide-projects 2022-08-18 10:42:36 +02:00
Christopher Ng ed8877ca6b Hide deprecated projects in sidebar and card details by default
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2022-08-18 01:59:06 +00:00
Vincent PetryandGitHub de0dc2782f Merge pull request #3982 from nextcloud/performance/dav
Improve CalDAV integration performance
2022-08-17 16:13:27 +02:00
Julius HärtlandGitHub e33dd1527f Merge pull request #3980 from nextcloud/bugfix/noid/permission-cache 2022-08-17 12:12:09 +02:00
Julius Härtl 9171ffc88a Avoid fetching archived cards for calendars
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-17 11:33:27 +02:00
Julius Härtl eb65468382 Avoid querying each card when getting the calendars only
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-17 11:28:24 +02:00
Julius Härtl 7c40172c40 Use capped memory cache for board permissions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-16 16:06:40 +02:00
Julius HärtlandGitHub ab48cccefc Merge pull request #3972 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/auth-2.0.0
Bump @nextcloud/auth from 1.3.0 to 2.0.0
2022-08-13 17:20:32 +02:00
dependabot[bot]andGitHub 1b38ebe89e Bump @nextcloud/auth from 1.3.0 to 2.0.0
Bumps [@nextcloud/auth](https://github.com/nextcloud/nextcloud-auth) from 1.3.0 to 2.0.0.
- [Release notes](https://github.com/nextcloud/nextcloud-auth/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-auth/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-auth/compare/v1.3.0...v2.0.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/auth"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 14:34:35 +00:00
Julius HärtlandGitHub c235f05340 Merge pull request #3967 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/axios-2.0.0
Bump @nextcloud/axios from 1.10.0 to 2.0.0
2022-08-13 16:33:36 +02:00
dependabot[bot]andGitHub 3a7219a94f Bump @nextcloud/axios from 1.10.0 to 2.0.0
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 1.10.0 to 2.0.0.
- [Release notes](https://github.com/nextcloud/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-axios/compare/v1.10.0...v2.0.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/axios"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 12:38:39 +00:00
Julius HärtlandGitHub accff8c8b6 Merge pull request #3971 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/event-bus-3.0.0 2022-08-13 14:37:42 +02:00
dependabot[bot]andGitHub 9a9ac07ab2 Merge pull request #3973 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/webpack-vue-config-5.3.0 2022-08-13 11:56:30 +00:00
dependabot[bot]andGitHub 2d6433ab4d Merge pull request #3974 from nextcloud/dependabot/npm_and_yarn/master/vue-at-2.5.0 2022-08-13 06:45:35 +00:00
dependabot[bot]andGitHub 937d93894a Bump @nextcloud/event-bus from 2.1.1 to 3.0.0
Bumps [@nextcloud/event-bus](https://github.com/nextcloud/nextcloud-event-bus) from 2.1.1 to 3.0.0.
- [Release notes](https://github.com/nextcloud/nextcloud-event-bus/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-event-bus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-event-bus/compare/v2.1.1...v3.0.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/event-bus"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 05:12:26 +00:00
dependabot[bot]andGitHub fc122027cb Merge pull request #3970 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/dialogs-3.2.0 2022-08-13 05:11:28 +00:00
dependabot[bot]andGitHub 1e790b7a20 Bump @nextcloud/webpack-vue-config from 5.2.1 to 5.3.0
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud/webpack-vue-config) from 5.2.1 to 5.3.0.
- [Release notes](https://github.com/nextcloud/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud/webpack-vue-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/webpack-vue-config/compare/v5.2.1...v5.3.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/webpack-vue-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 04:34:50 +00:00
dependabot[bot]andGitHub 33dcef981a Merge pull request #3969 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/browserslist-config-2.3.0 2022-08-13 04:33:31 +00:00
dependabot[bot]andGitHub 1c59fd7ed3 Merge pull request #3968 from nextcloud/dependabot/npm_and_yarn/master/markdown-it-link-attributes-4.0.1 2022-08-13 03:51:36 +00:00
Nextcloud bot 4d559d4094 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-13 02:37:48 +00:00
dependabot[bot]andGitHub 96b852a0e7 Bump vue-at from 2.5.0-beta.2 to 2.5.0
Bumps [vue-at](https://github.com/fritx/vue-at) from 2.5.0-beta.2 to 2.5.0.
- [Release notes](https://github.com/fritx/vue-at/releases)
- [Commits](https://github.com/fritx/vue-at/commits)

---
updated-dependencies:
- dependency-name: vue-at
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 02:14:26 +00:00
dependabot[bot]andGitHub aacf6b5d52 Bump @nextcloud/dialogs from 3.1.4 to 3.2.0
Bumps [@nextcloud/dialogs](https://github.com/nextcloud/nextcloud-dialogs) from 3.1.4 to 3.2.0.
- [Release notes](https://github.com/nextcloud/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-dialogs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-dialogs/compare/v3.1.4...v3.2.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/dialogs"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 01:03:46 +00:00
dependabot[bot]andGitHub 2573b5728c Bump @nextcloud/browserslist-config from 2.2.0 to 2.3.0
Bumps [@nextcloud/browserslist-config](https://github.com/nextcloud/browserslist-config) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/nextcloud/browserslist-config/releases)
- [Commits](https://github.com/nextcloud/browserslist-config/compare/v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/browserslist-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 01:03:30 +00:00
dependabot[bot]andGitHub 9eb2c04a26 Bump markdown-it-link-attributes from 4.0.0 to 4.0.1
Bumps [markdown-it-link-attributes](https://github.com/crookedneighbor/markdown-it-link-attributes) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/crookedneighbor/markdown-it-link-attributes/releases)
- [Changelog](https://github.com/crookedneighbor/markdown-it-link-attributes/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crookedneighbor/markdown-it-link-attributes/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: markdown-it-link-attributes
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-13 01:03:14 +00:00
Nextcloud bot 71b19be030 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-12 02:36:54 +00:00
Julius HärtlandGitHub 48d28dc317 Merge branch 'master' into fix-archived-stack-button 2022-08-09 07:43:24 +02:00
Nextcloud bot 73c5127088 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-09 02:36:35 +00:00
dependabot[bot]andGitHub a8831b2c9e Merge pull request #3956 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-5.4.0 2022-08-08 04:55:20 +00:00
dependabot[bot]andGitHub d8a40611f8 Bump @nextcloud/vue from 5.3.1 to 5.4.0
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v5.3.1...v5.4.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-07 19:17:54 +00:00
dependabot[bot]andGitHub 762afcfc21 Merge pull request #3955 from nextcloud/dependabot/npm_and_yarn/master/cypress-10.4.0 2022-08-07 19:16:47 +00:00
dependabot[bot]andGitHub 6b0e5ae392 Bump cypress from 10.3.1 to 10.4.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.3.1 to 10.4.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.3.1...v10.4.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-07 19:11:58 +00:00
dependabot[bot]andGitHub 660621bffb Merge pull request #3954 from nextcloud/dependabot/composer/vimeo/psalm-4.26.0 2022-08-07 19:04:06 +00:00
dependabot[bot]andGitHub ba64441619 Bump vimeo/psalm from 4.25.0 to 4.26.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.25.0 to 4.26.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.25.0...4.26.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-07 17:51:08 +00:00
max-nextcloudandGitHub d63234f385 Merge pull request #3957 from nextcloud/fix/cypress-login
cy: fix login submit selector for current server
2022-08-07 19:35:55 +02:00
Julius HärtlandGitHub bd4223c721 Merge pull request #3958 from nextcloud/feat/package-node-npm-engines-update
Update npm and node engines versions
2022-08-07 14:06:40 +02:00
Nextcloud bot 5cbdbc7520 Update npm and node engines versions
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-07 07:22:28 +00:00
Max 5c95b5ac98 cy: fix login submit selector for current server
Made the selector flexible enough to still work with the old.

Signed-off-by: Max <max@nextcloud.com>
2022-08-07 08:12:13 +02:00
Nextcloud bot ef1800c50a [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-07 02:40:57 +00:00
Nextcloud bot 5c2a6d6f7c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-06 02:37:33 +00:00
Julius HärtlandGitHub acdff604e4 Merge pull request #3952 from nextcloud/bugfix/noid/attachment-folder-cron
Fetch attachment folder for the correct user during cron job
2022-08-05 17:04:28 +02:00
Julius HärtlandGitHub 0aff6c1561 Merge pull request #3953 from nextcloud/feat/workflow-auto-update-dependabot-approve-merge.yml
Updating dependabot-approve-merge.yml workflow from template
2022-08-05 17:03:26 +02:00
Nextcloud bot 6c556263c6 Updating dependabot-approve-merge.yml workflow from template
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-05 12:51:52 +00:00
Julius Härtl e639456a82 Fetch attachment folder for the correct user during cron job
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-05 13:20:41 +02:00
Nextcloud bot 5dedf7bec3 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-05 02:13:40 +00:00
Nextcloud bot cb8ef37c79 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-08-03 02:13:41 +00:00
Julius HärtlandGitHub ad007bd51a Merge branch 'master' into fix-archived-stack-button 2022-08-02 12:24:33 +02:00
Julius HärtlandGitHub ae499d513a Update README.md
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-02 12:11:59 +02:00
Julius HärtlandGitHub 507c80afc7 Merge pull request #3946 from nextcloud/dependabot/npm_and_yarn/master/p-queue-7.3.0 2022-08-01 11:14:04 +02:00
Julius HärtlandGitHub 3d02cacc4d Merge pull request #3945 from nextcloud/dependabot/npm_and_yarn/master/relative-ci/agent-4.0.0 2022-08-01 11:13:00 +02:00
Julius HärtlandGitHub f9e96922eb Merge pull request #3944 from nextcloud/dependabot/composer/vimeo/psalm-4.25.0 2022-07-30 10:24:23 +02:00
Julius HärtlandGitHub 791239eabb Merge pull request #3947 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.21.1 2022-07-30 10:24:05 +02:00
dependabot[bot]andGitHub 4c72f6d1fb Bump shivammathur/setup-php from 2.21.0 to 2.21.1
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.21.0 to 2.21.1.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.21.0...2.21.1)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-30 01:05:06 +00:00
dependabot[bot]andGitHub 34e3310669 Bump p-queue from 7.2.0 to 7.3.0
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v7.2.0...v7.3.0)

---
updated-dependencies:
- dependency-name: p-queue
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-30 01:02:31 +00:00
dependabot[bot]andGitHub 4bd45d1f5b Bump @relative-ci/agent from 3.1.3 to 4.0.0
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 3.1.3 to 4.0.0.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v3.1.3...v4.0.0)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-30 01:02:30 +00:00
dependabot[bot]andGitHub 55d02d4955 Bump vimeo/psalm from 4.24.0 to 4.25.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.24.0 to 4.25.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.24.0...v4.25.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-30 01:01:14 +00:00
Julius HärtlandGitHub f5fd8c9fe5 Merge pull request #3942 from nextcloud/bugfix/noid/fix-share-provider
Fix share provider for master changes
2022-07-29 22:42:14 +02:00
Joas Schilling ff39027869 Fix share provider for master changes
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-07-29 10:27:25 +02:00
Nextcloud bot 3b1bae3775 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-29 02:13:32 +00:00
Nextcloud bot ef0dde23d0 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-28 02:13:38 +00:00
Julius HärtlandGitHub 512537afe5 Merge pull request #3939 from nextcloud/bugfix/noid/icon-deck
Invert icons properly in dark mode
2022-07-27 13:27:11 +02:00
Nextcloud bot e85782da4d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-27 02:13:36 +00:00
dependabot[bot]andGitHub d86a10af32 Merge pull request #3936 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.21.0 2022-07-26 15:13:14 +00:00
Julius HärtlandGitHub ceab78e2d8 Merge pull request #3862 from mstolf/bugfix/3861/inserted-required-property-in-rename-list-field
Inserted required property in the rename list field, to prevent the l…
2022-07-26 16:59:30 +02:00
dependabot[bot]andJulius Härtl 11afab61d7 Bump shivammathur/setup-php from 2.20.1 to 2.21.0
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.20.1 to 2.21.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.20.1...2.21.0)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-26 16:55:13 +02:00
Julius HärtlandGitHub 801e691011 Merge pull request #3927 from nextcloud/dependabot/npm_and_yarn/terser-5.14.2 2022-07-26 16:55:05 +02:00
Julius HärtlandGitHub b3f7c648db Merge pull request #3932 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.18.9 2022-07-26 16:54:59 +02:00
Julius HärtlandGitHub 3842950309 Merge pull request #3937 from nextcloud/dependabot/npm_and_yarn/master/dompurify-2.3.10 2022-07-26 16:54:46 +02:00
Julius Härtl 57ef6f02bc Invert icons properly in dark mode
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-26 16:16:53 +02:00
Julius HärtlandGitHub ffb916a48a Merge pull request #3938 from nextcloud/tests/isimplefile 2022-07-26 16:16:41 +02:00
Julius HärtlandGitHub 3f78ee72b4 Merge pull request #3803 from nextcloud/bugfix/noid/icon-css
SCSS cleanup
2022-07-25 19:51:01 +02:00
Julius Härtl 2d41ce0ae7 Fix tests running against 25 with adjusted ISimpleFile methods
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-25 19:48:27 +02:00
Julius HärtlandGitHub 484a47e0fd Merge pull request #3933 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/dialogs-3.1.4
Bump @nextcloud/dialogs from 3.1.2 to 3.1.4
2022-07-25 09:13:39 +02:00
dependabot[bot]andJulius Härtl 09d67f1c05 Bump dompurify from 2.3.9 to 2.3.10
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.9 to 2.3.10.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.9...2.3.10)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 09:13:23 +02:00
Julius HärtlandGitHub 167ca9a595 Merge pull request #3935 from nextcloud/dependabot/npm_and_yarn/master/cypress-10.3.1
Bump cypress from 10.3.0 to 10.3.1
2022-07-25 07:53:49 +02:00
Julius HärtlandGitHub 6d9df29a4e Merge pull request #3934 from nextcloud/dependabot/npm_and_yarn/master/vue-and-vue-template-compiler-2.7.8
Bump vue and vue-template-compiler
2022-07-25 07:51:00 +02:00
Nextcloud bot 5ef7ca7723 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-25 02:39:08 +00:00
Nextcloud bot bac0313d7c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-24 02:40:46 +00:00
Nextcloud bot af64824733 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-23 02:38:33 +00:00
dependabot[bot]andGitHub ad490ce006 Bump cypress from 10.3.0 to 10.3.1
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.3.0 to 10.3.1.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.3.0...v10.3.1)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-23 01:03:36 +00:00
dependabot[bot]andGitHub ff4de2c77b Bump vue and vue-template-compiler
Bumps [vue](https://github.com/vuejs/core) and [vue-template-compiler](https://github.com/vuejs/vue). These dependencies needed to be updated together.

Updates `vue` from 2.7.6 to 2.7.8
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits)

Updates `vue-template-compiler` from 2.7.6 to 2.7.8
- [Release notes](https://github.com/vuejs/vue/releases)
- [Changelog](https://github.com/vuejs/vue/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue/compare/v2.7.6...v2.7.8)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: vue-template-compiler
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-23 01:03:24 +00:00
dependabot[bot]andGitHub bc542aad12 Bump @nextcloud/dialogs from 3.1.2 to 3.1.4
Bumps [@nextcloud/dialogs](https://github.com/nextcloud/nextcloud-dialogs) from 3.1.2 to 3.1.4.
- [Release notes](https://github.com/nextcloud/nextcloud-dialogs/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-dialogs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-dialogs/compare/v3.1.2...v3.1.4)

---
updated-dependencies:
- dependency-name: "@nextcloud/dialogs"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-23 01:03:23 +00:00
dependabot[bot]andGitHub 1211077dc8 Bump @babel/runtime from 7.18.6 to 7.18.9
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.18.6 to 7.18.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.9/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-23 01:02:10 +00:00
Julius Härtl 9de6a61ea5 Move to vue-material-design-icons
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-22 11:39:16 +02:00
Julius HärtlandGitHub cc1f059950 Merge pull request #3928 from nextcloud/bugfix/server/32350/rename-settings
Rename settings to deck settings
2022-07-21 17:48:01 +02:00
Vincent Petry ef3a754033 Rename settings to deck settings
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-07-21 15:22:18 +02:00
Nextcloud bot e24bd88971 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-21 02:38:51 +00:00
dependabot[bot]andGitHub caf2193a0f Bump terser from 5.9.0 to 5.14.2
Bumps [terser](https://github.com/terser/terser) from 5.9.0 to 5.14.2.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-20 11:45:11 +00:00
Julius Härtl cb27f36f66 Move global deck icon to plain css
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-20 08:58:48 +02:00
Nextcloud bot 6ec8e7ac3b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-19 02:37:58 +00:00
Julius HärtlandGitHub dd566ee112 Merge pull request #3924 from nextcloud/bugfix/noid/skip-content
Set ids to skip to content/navigation
2022-07-18 11:10:05 +02:00
Julius Härtl 7f230f2999 Set ids to skip to content/navigation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-18 09:48:02 +02:00
Nextcloud bot 48d8e2f453 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-18 02:37:14 +00:00
Julius HärtlandGitHub 865842e5b8 Merge pull request #3923 from nextcloud/dependabot/npm_and_yarn/master/vue-and-vue-template-compiler-2.7.6
Bump vue and vue-template-compiler
2022-07-16 09:41:08 +02:00
Julius HärtlandGitHub fda26f521f Merge pull request #3921 from nextcloud/dependabot/npm_and_yarn/master/dompurify-2.3.9
Bump dompurify from 2.3.8 to 2.3.9
2022-07-16 09:40:48 +02:00
Julius HärtlandGitHub 70e35f77bf Merge pull request #3922 from nextcloud/dependabot/npm_and_yarn/master/jest-28.1.3
Bump jest from 28.1.2 to 28.1.3
2022-07-16 09:40:39 +02:00
Julius HärtlandGitHub 0af348fb02 Merge pull request #3813 from nextcloud/bugfix/noid/rename-accessibility
Make rename functions accessibly by keyboard navigation
2022-07-16 09:21:14 +02:00
dependabot[bot]andGitHub b67ae13f3c Bump vue and vue-template-compiler
Bumps [vue](https://github.com/vuejs/core) and [vue-template-compiler](https://github.com/vuejs/vue). These dependencies needed to be updated together.

Updates `vue` from 2.7.3 to 2.7.6
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits)

Updates `vue-template-compiler` from 2.7.3 to 2.7.6
- [Release notes](https://github.com/vuejs/vue/releases)
- [Changelog](https://github.com/vuejs/vue/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue/compare/v2.7.3...v2.7.6)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: vue-template-compiler
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-16 01:03:37 +00:00
dependabot[bot]andGitHub d9252e37b3 Bump jest from 28.1.2 to 28.1.3
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 28.1.2 to 28.1.3.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v28.1.3/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-16 01:03:13 +00:00
dependabot[bot]andGitHub 3b6e3d636d Bump dompurify from 2.3.8 to 2.3.9
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.8 to 2.3.9.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.8...2.3.9)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-16 01:03:04 +00:00
Nextcloud bot 0443ca3185 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-14 02:37:42 +00:00
Julius HärtlandGitHub 01e2708233 Merge pull request #3916 from nextcloud/fix/2594/click-event-on-drag-end
Prevent opening card and applyLabelFilter on card drag end
2022-07-12 13:55:20 +02:00
Julien Veyssier 9d3f09fafa refs #2594 prevent opening card and applyLabelFilter on card drag end
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-07-12 12:47:30 +02:00
Julius HärtlandGitHub 22a208e505 Merge pull request #3910 from nextcloud/tests/php-paths
Limit php tests to certain fails on pull requests
2022-07-12 09:28:18 +02:00
dependabot[bot]andGitHub cbc26cd135 Merge pull request #3915 from nextcloud/dependabot/composer/tests/integration/behat/behat-approx-3.11.0 2022-07-09 04:32:39 +00:00
dependabot[bot]andGitHub 8c5c7d13b8 Merge pull request #3914 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.20.1 2022-07-09 03:58:08 +00:00
dependabot[bot]andGitHub 7e042c9dab Merge pull request #3913 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/webpack-vue-config-5.2.1 2022-07-09 03:17:31 +00:00
dependabot[bot]andGitHub 4a744bac5c Update behat/behat requirement in /tests/integration
Updates the requirements on [behat/behat](https://github.com/Behat/Behat) to permit the latest version.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.10.0...v3.11.0)

---
updated-dependencies:
- dependency-name: behat/behat
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-09 02:07:59 +00:00
dependabot[bot]andGitHub 89c22acb95 Bump shivammathur/setup-php from 2.19.1 to 2.20.1
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.19.1 to 2.20.1.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.19.1...2.20.1)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-09 01:04:58 +00:00
dependabot[bot]andGitHub 007ed35a66 Bump @nextcloud/webpack-vue-config from 5.1.0 to 5.2.1
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud/webpack-vue-config) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/nextcloud/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud/webpack-vue-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/webpack-vue-config/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/webpack-vue-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-09 01:02:59 +00:00
Nextcloud bot 2bb0e268c8 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-08 02:37:14 +00:00
Julius HärtlandGitHub d6c7601a14 Merge pull request #3578 from nextcloud/dependabot/npm_and_yarn/master/p-queue-7.2.0
Bump p-queue from 6.6.2 to 7.2.0
2022-07-07 09:17:56 +02:00
dependabot[bot]andJulius Härtl a79ec6c5ed Bump p-queue from 6.6.2 to 7.2.0
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 6.6.2 to 7.2.0.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v6.6.2...v7.2.0)

---
updated-dependencies:
- dependency-name: p-queue
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-07 09:05:55 +02:00
Julius Härtl 4eea383f74 Limit php tests to certain fails on pull requests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-07 08:58:28 +02:00
Julius HärtlandGitHub 45746fbf34 Merge pull request #3895 from nextcloud/dependabot/npm_and_yarn/master/cypress-10.3.0
build(deps-dev): Bump cypress from 9.7.0 to 10.3.0
2022-07-07 08:56:54 +02:00
Julius Härtl 7ac40d2d99 Bump cypress action
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-07 08:45:46 +02:00
Julius HärtlandGitHub bebd157586 Merge pull request #3818 from nextcloud/enh/collaboration-event
Move to OCP\Collaboration\Resources\LoadAdditionalScriptsEvent
2022-07-07 08:41:51 +02:00
dependabot[bot]andGitHub 02a6fa7418 Merge pull request #3909 from nextcloud/dependabot/npm_and_yarn/moment-2.29.4 2022-07-06 21:58:10 +00:00
dependabot[bot]andGitHub bc16421b64 build(deps): Bump moment from 2.29.3 to 2.29.4
Bumps [moment](https://github.com/moment/moment) from 2.29.3 to 2.29.4.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.3...2.29.4)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-06 21:51:23 +00:00
dependabot[bot]andGitHub bcc4cf8b57 Merge pull request #3902 from nextcloud/dependabot/npm_and_yarn/master/vue-2.7.2 2022-07-06 21:50:45 +00:00
Julius Härtl d7418c7ad1 Bump vue-template-compiler to 2.7.3
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-06 23:42:38 +02:00
Julius Härtl c7fb25e3f8 Adapt cypress config and file names
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-06 23:37:39 +02:00
Julius Härtl 9e26af66bf Move to OCP\Collaboration\Resources\LoadAdditionalScriptsEvent
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-06 23:24:07 +02:00
Nextcloud bot b741ea79e5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-06 02:35:53 +00:00
dependabot[bot]andGitHub 7d2f5065be Merge pull request #3891 from nextcloud/dependabot/composer/vimeo/psalm-4.24.0 2022-07-05 21:21:09 +00:00
dependabot[bot]andGitHub a9e7f94409 build(deps): Bump vue from 2.6.14 to 2.7.2
Bumps [vue](https://github.com/vuejs/core) from 2.6.14 to 2.7.2.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-05 21:13:05 +00:00
dependabot[bot]andGitHub d3be13182d build(deps-dev): Bump cypress from 9.7.0 to 10.3.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 9.7.0 to 10.3.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v9.7.0...v10.3.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-05 21:12:22 +00:00
dependabot[bot]andGitHub a4658be5b6 Merge pull request #3863 from nextcloud/dependabot/npm_and_yarn/master/jest-28.1.1 2022-07-05 21:10:34 +00:00
Julius Härtl b3f252ee46 Make rename functions accessibly by keyboard navigation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-05 22:48:38 +02:00
Julius Härtl f98b5764ea Ensure that lists have a title
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-05 22:20:59 +02:00
dependabot[bot]andGitHub 9f8fcec1ad build(deps-dev): Bump jest from 28.1.0 to 28.1.1
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 28.1.0 to 28.1.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v28.1.1/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-05 20:16:29 +00:00
dependabot[bot]andGitHub deb4b71e7b build(deps-dev): Bump vimeo/psalm from 4.23.0 to 4.24.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.23.0 to 4.24.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.23.0...4.24.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-05 20:15:51 +00:00
Julius HärtlandGitHub 90a2b07e5f Merge pull request #3868 from nextcloud/feat/workflow-auto-update-command-rebase.yml
Updating command-rebase.yml workflow from template
2022-07-05 22:15:10 +02:00
Julius HärtlandGitHub e69f909b61 Merge pull request #3872 from wiktor2200/patch-1
fix(docs): fix links to JSON schemas for Trello
2022-07-05 22:14:33 +02:00
Julius HärtlandGitHub 0686575484 Merge pull request #3898 from q-wertz/master
Switch to 'markdown-it-task-checkbox' for rendering of task lists
2022-07-05 22:13:58 +02:00
q-wertzandGitHub c7cadedd21 Merge branch 'master' into master 2022-07-05 15:06:08 +02:00
q-wertz 78d41878e8 Update package-lock.json
Signed-off-by: q-wertz <clemens.sonnleitner@web.de>
2022-07-05 15:05:59 +02:00
Julius HärtlandGitHub a527ccd8ed Merge pull request #3894 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.18.6
build(deps): Bump @babel/runtime from 7.18.3 to 7.18.6
2022-07-05 14:40:27 +02:00
Julius HärtlandGitHub 5f5f745892 Merge pull request #3832 from nextcloud/dependabot/npm_and_yarn/master/vue-router-3.5.4
build(deps): Bump vue-router from 3.5.3 to 3.5.4
2022-07-05 14:40:06 +02:00
wiktor2200andJulius Härtl 6160d67032 fix(docs): fix links to JSON schemas for Trello
Link in docs was wrong, missing dir: `Importer/`
2022-07-05 14:34:50 +02:00
q-wertzandJulius Härtl 641341d75d Switch to 'markdown-it-task-checkbox' for rendering of task lists
Signed-off-by: q-wertz <clemens.sonnleitner@web.de>
2022-07-05 12:42:55 +02:00
Julius HärtlandGitHub 146af217a0 Merge pull request #3833 from flummer/master
Fix for issue #3637
2022-07-05 12:41:22 +02:00
dependabot[bot]andGitHub 4a0410b609 Merge pull request #3896 from nextcloud/dependabot/composer/tests/integration/sabre/dav-4.4.0 2022-07-05 07:42:23 +00:00
dependabot[bot]andGitHub e858a42455 Merge pull request #3879 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.21 2022-07-05 07:38:39 +00:00
dependabot[bot]andGitHub b037cb0e82 build(deps-dev): Update sabre/dav requirement in /tests/integration
Updates the requirements on [sabre/dav](https://github.com/sabre-io/dav) to permit the latest version.
- [Release notes](https://github.com/sabre-io/dav/releases)
- [Changelog](https://github.com/sabre-io/dav/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sabre-io/dav/compare/4.3.1...4.4.0)

---
updated-dependencies:
- dependency-name: sabre/dav
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-05 07:30:25 +00:00
dependabot[bot]andGitHub 5455b436f6 build(deps-dev): Bump phpunit/phpunit from 9.5.20 to 9.5.21
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.20 to 9.5.21.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.20...9.5.21)

---
updated-dependencies:
- dependency-name: phpunit/phpunit
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-05 07:30:05 +00:00
dependabot[bot]andGitHub 786e13b0b7 Merge pull request #3881 from nextcloud/dependabot/composer/tests/integration/guzzlehttp/guzzle-7.4.5 2022-07-05 07:29:11 +00:00
dependabot[bot]andJulius Härtl 759fb1bcbc build(deps-dev): Update guzzlehttp/guzzle requirement
Updates the requirements on [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) to permit the latest version.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.3...7.4.5)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-05 09:19:55 +02:00
Julius HärtlandGitHub 227c962ec4 Merge pull request #3900 from nextcloud/tests/static-circles
Fix static analysis by stubbing more circle methods
2022-07-05 09:14:15 +02:00
Julius Härtl f03ffd13a0 Fix static analysis by stubbing more circle methods
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-07-05 08:30:40 +02:00
Julius HärtlandGitHub 00120a6b37 Merge pull request #3865 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.19.1
build(deps): Bump shivammathur/setup-php from 2.19.0 to 2.19.1
2022-07-04 17:05:36 +02:00
Nextcloud bot 884121bdae [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-04 02:35:47 +00:00
Nextcloud bot 48b92ce0b1 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-07-02 02:37:21 +00:00
dependabot[bot]andGitHub f8e1326837 build(deps): Bump @babel/runtime from 7.18.3 to 7.18.6
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.18.3 to 7.18.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.6/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-02 02:08:46 +00:00
Raul Ferreira FuentesandGitHub 00cf15935b Merge pull request #3884 from nextcloud/enh/fix_sidebar
Fix z-index for deck sidebar
2022-06-28 14:39:40 +02:00
Raul 172ee5a228 Fix z-index for deck sidebar
The sidebar would previously render above the user menu (logout, settings, etc)

Signed-off-by: Raul <r.ferreira.fuentes@gmail.com>
2022-06-28 14:10:17 +02:00
Nextcloud bot 2f2a43e9c6 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-22 02:40:24 +00:00
Nextcloud bot a9e32dfc99 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-14 02:41:50 +00:00
Nextcloud bot 5450b0fd0b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-12 02:41:02 +00:00
Nextcloud bot e09581aa78 Updating command-rebase.yml workflow from template
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-11 15:14:59 +00:00
dependabot[bot]andGitHub e08a8ff132 build(deps): Bump shivammathur/setup-php from 2.19.0 to 2.19.1
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.19.0 to 2.19.1.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.19.0...2.19.1)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-11 01:04:11 +00:00
Matheus Stolf 8ee0a0fad0 Inserted required property in the rename list field, to prevent the list from being unnamed 2022-06-10 08:24:01 -03:00
Nextcloud bot 4b3ed4f43d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-09 02:45:30 +00:00
Nextcloud bot 6ed2e11730 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-07 02:44:05 +00:00
Julius HärtlandGitHub e784dafefe Merge pull request #3853 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.19.0
build(deps): Bump shivammathur/setup-php from 2.18.1 to 2.19.0
2022-06-04 14:25:07 +02:00
dependabot[bot]andGitHub 6cdc6f7bdb build(deps): Bump shivammathur/setup-php from 2.18.1 to 2.19.0
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.18.1 to 2.19.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.18.1...2.19.0)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-04 01:10:29 +00:00
Nextcloud bot 60a7a7cf94 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-03 02:47:50 +00:00
Nextcloud bot 765c0ea17c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-06-02 02:47:07 +00:00
Julius HärtlandGitHub de7de4cd8a Merge pull request #3839 from nextcloud/dependabot/composer/tests/integration/guzzlehttp/guzzle-7.4.3
build(deps-dev): Update guzzlehttp/guzzle requirement from 7.4.2 to 7.4.3 in /tests/integration
2022-05-30 19:23:43 +02:00
Julius HärtlandGitHub 19473ddba9 Merge pull request #3841 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.18.3
build(deps): Bump @babel/runtime from 7.17.9 to 7.18.3
2022-05-30 19:23:33 +02:00
Julius HärtlandGitHub 14421b533d Merge pull request #3840 from nextcloud/dependabot/npm_and_yarn/master/cypress-9.7.0
build(deps-dev): Bump cypress from 9.6.1 to 9.7.0
2022-05-30 19:23:26 +02:00
Nextcloud bot 21fc5d590f [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-29 02:46:51 +00:00
dependabot[bot]andGitHub 24651db512 build(deps): Bump @babel/runtime from 7.17.9 to 7.18.3
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.17.9 to 7.18.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.3/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-28 03:33:11 +00:00
dependabot[bot]andGitHub 27644bd032 build(deps-dev): Bump cypress from 9.6.1 to 9.7.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 9.6.1 to 9.7.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v9.6.1...v9.7.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-28 03:00:55 +00:00
Nextcloud bot 0c2e7fae9f [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-28 02:43:22 +00:00
dependabot[bot]andGitHub 9d4824bb23 build(deps-dev): Update guzzlehttp/guzzle requirement
Updates the requirements on [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) to permit the latest version.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.2...7.4.3)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-28 02:35:17 +00:00
Nextcloud bot 3b19b4212b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-26 02:44:15 +00:00
Nextcloud bot 69c2b3ffbb [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-24 02:47:10 +00:00
Nextcloud bot 92ca6261b8 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-23 02:43:43 +00:00
Thomas Flummer 9e5e160845 Fix for issue #3637
Added padding on nested ul, to compensate for the negative margin on the containing li

Signed-off-by: Thomas Flummer <tf@flummer.net>
2022-05-22 11:31:22 +02:00
Nextcloud bot 6a66e920fe [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-22 02:43:38 +00:00
Nextcloud bot cab9f6ab4e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-21 02:47:11 +00:00
dependabot[bot]andGitHub 0395f01c33 build(deps): Bump vue-router from 3.5.3 to 3.5.4
Bumps [vue-router](https://github.com/vuejs/router) from 3.5.3 to 3.5.4.
- [Release notes](https://github.com/vuejs/router/releases)
- [Changelog](https://github.com/vuejs/router/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/router/commits)

---
updated-dependencies:
- dependency-name: vue-router
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-21 01:05:05 +00:00
Nextcloud bot de88f17a1a [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-20 02:46:25 +00:00
Julius HärtlandGitHub 9db8f9c924 Merge pull request #3820 from nextcloud/bugfix/3819
Improve filter popover accessibility
2022-05-18 14:46:23 +02:00
Julius HärtlandGitHub 7328a27524 Merge pull request #3826 from nextcloud/dependabot/npm_and_yarn/master/cypress-9.6.1
build(deps-dev): Bump cypress from 9.6.0 to 9.6.1
2022-05-16 16:54:20 +02:00
Julien VeyssierandGitHub 8ee41e9608 Merge pull request #3830 from nextcloud/enh/noid/readme-performance-limitations
Add performance section in README
2022-05-16 13:43:34 +02:00
Julien Veyssier 0ed6403141 add performance section in README
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-05-16 13:05:34 +02:00
dependabot[bot]andGitHub 6980661a8e Merge pull request #3824 from nextcloud/dependabot/npm_and_yarn/master/dompurify-2.3.8 2022-05-14 02:45:08 +00:00
dependabot[bot]andGitHub 4797313f9e Merge pull request #3825 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/l10n-1.6.0 2022-05-14 02:28:44 +00:00
dependabot[bot]andGitHub b17774da6e build(deps-dev): Bump cypress from 9.6.0 to 9.6.1
Bumps [cypress](https://github.com/cypress-io/cypress) from 9.6.0 to 9.6.1.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/compare/v9.6.0...v9.6.1)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-14 01:02:55 +00:00
dependabot[bot]andGitHub a4bba21610 build(deps): Bump @nextcloud/l10n from 1.4.1 to 1.6.0
Bumps [@nextcloud/l10n](https://github.com/nextcloud/nextcloud-l10n) from 1.4.1 to 1.6.0.
- [Release notes](https://github.com/nextcloud/nextcloud-l10n/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-l10n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-l10n/commits)

---
updated-dependencies:
- dependency-name: "@nextcloud/l10n"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-14 01:01:53 +00:00
dependabot[bot]andGitHub 7e1d522601 build(deps): Bump dompurify from 2.3.6 to 2.3.8
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.6 to 2.3.8.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.6...2.3.8)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-14 01:01:34 +00:00
Julius HärtlandGitHub cd2225bbc8 Merge pull request #3823 from nextcloud/feat/workflow-auto-update-command-rebase.yml
Updating command-rebase.yml workflow from template
2022-05-13 21:21:19 +02:00
Nextcloud bot 62af22c928 Updating command-rebase.yml workflow from template
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-13 18:39:33 +00:00
Julius HärtlandGitHub 2b531c5302 Merge pull request #3801 from nextcloud/cleanup/server-di
Switch from OC::$server->get to OCP\Server::get
2022-05-13 12:58:46 +02:00
Julius Härtl 41ed0cee1d Improve filter popover accessibility
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-13 12:40:05 +02:00
Julius Härtl ce7da62a88 Revert lazy use of userId in ConfigService
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-13 11:52:21 +02:00
Julius HärtlandGitHub f93772ebc9 Merge pull request #3814 from nextcloud/enh/editorconfig
Fix editor config
2022-05-13 09:33:25 +02:00
Nextcloud bot f63b052864 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-13 02:41:45 +00:00
Julius HärtlandGitHub 43dbdd049f Merge pull request #3811 from Ben-Ro/Card-View_Duedate_delete-Icon_not_aligned_properly
Align Duedate-delete icon properly - fixes nextcloud/deck#3791
2022-05-12 16:53:52 +02:00
Julius Härtl 6a489eaaf3 Fix editor config
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-12 16:48:21 +02:00
Julius Härtl 3a783a722a Use SymfonyAdapter for legacy event
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-12 10:55:37 +02:00
Carl SchwanandJulius Härtl 44481e1c2a Switch from OC::$server->get to OCP\Server::get
And add a bit more typing to some classes + psalm issues

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-05-12 10:55:36 +02:00
ben e3d1970369 Align Duedate-delete icon properly - fixes nextcloud/deck#3791
Signed-off-by: ben <ben@ro.tt>
2022-05-12 10:28:24 +02:00
Julius HärtlandGitHub 2c7708dab1 Merge pull request #3809 from nextcloud/bugfix/cs-fix
Fix php-cs-fixer failure
2022-05-11 23:40:50 +02:00
Julius HärtlandGitHub e156ff77f8 Merge pull request #3808 from nextcloud/bugfix/eslint-root
Make eslint stop reading configs at the root
2022-05-11 22:03:45 +02:00
Julius Härtl 5f5f22ee8c Fix php-cs-fixer failure
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-11 21:47:05 +02:00
Julius Härtl 011b60b3bf Make eslint stop reading configs at the root
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-11 21:42:44 +02:00
Julius HärtlandGitHub 9bd8669cf4 Merge pull request #3682 from nextcloud/bug/increase-file-count-after-sharing
Increase file count after sharing
2022-05-11 16:40:42 +02:00
Julius HärtlandGitHub 4b5a47f127 Merge pull request #3696 from nextcloud/feature/setup-cypress-test
Setup cypress test
2022-05-11 16:08:18 +02:00
Julius HärtlandGitHub db45e7907c Merge pull request #3796 from ylebre/master
set last modified when the card was found. Fixes #3763
2022-05-11 16:04:55 +02:00
Julius Härtl 03f400620e Move all caching to helper
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-11 16:04:12 +02:00
Luka Trovic d938a528c3 fix: integrate feedback
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-11 11:20:01 +01:00
Luka Trovic 2309749d15 fix: solve cypress tests issues
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-11 11:20:01 +01:00
Luka Trovic b37b8eaeaf fix: cypress error fix
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-11 11:20:01 +01:00
Luka Trovic 9c57243d5a fix: solve merge conflicts related to cypress setup
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-11 11:20:01 +01:00
Luka Trovic 6518cd464c fix: resolve merge conflicts
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-11 11:20:01 +01:00
Julius HärtlandLuka Trovic 7e32a16969 Adapt login command to server master change
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-11 11:20:01 +01:00
Julius HärtlandLuka Trovic 349c94ee23 Try with port
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-11 11:20:01 +01:00
Yvo Brevoort 167774e3b0 set last modified when the card was found instead of trying to change it on the -1 index. 2022-05-10 09:30:08 +02:00
Luka Trovic f2ba1bd4ab fix: make cypress tests pass
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-09 12:07:33 +01:00
Luka Trovic 3ce8041a12 fix: resolve merge conflicts
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-09 12:07:02 +01:00
Luka Trovic a4bbf8f233 fix: solve cypress baseURL for deck app
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-09 12:05:43 +01:00
Luka Trovic 1b813c4ea2 feat: add github action
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-09 12:05:43 +01:00
Luka Trovic e6c2d85197 tests: add cypress tests for deck dashboard, boards, lists, cards
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-09 12:05:43 +01:00
Luka Trovic 23ae20efe7 fix: solve merge conflicts
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-09 12:04:34 +01:00
Luka Trovic 37b3f03809 fix: resolve merge conflicts
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-09 11:51:39 +01:00
dependabot[bot]andGitHub 43540b008c Merge pull request #3786 from nextcloud/dependabot/npm_and_yarn/master/jest-28.1.0 2022-05-07 05:42:19 +00:00
dependabot[bot]andGitHub 169ccbb47f build(deps-dev): Bump jest from 28.0.3 to 28.1.0
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 28.0.3 to 28.1.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v28.1.0/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-07 05:33:20 +00:00
dependabot[bot]andGitHub 0af35817a6 Merge pull request #3789 from nextcloud/dependabot/npm_and_yarn/master/relative-ci/agent-3.1.3 2022-05-07 04:40:04 +00:00
dependabot[bot]andGitHub c942542079 Merge pull request #3790 from nextcloud/dependabot/npm_and_yarn/master/nextcloud-vue-collections-0.10.0 2022-05-07 02:57:53 +00:00
dependabot[bot]andGitHub 8a6d8e0549 Merge pull request #3787 from nextcloud/dependabot/npm_and_yarn/master/markdown-it-13.0.1 2022-05-07 02:25:10 +00:00
dependabot[bot]andGitHub 0c4dbebaeb build(deps-dev): Bump @relative-ci/agent from 3.1.2 to 3.1.3
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-07 02:13:55 +00:00
dependabot[bot]andGitHub 5995ec299c Merge pull request #3788 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/webpack-vue-config-5.1.0 2022-05-07 02:12:59 +00:00
dependabot[bot]andGitHub e2c82fe3dc Merge pull request #3785 from nextcloud/dependabot/composer/vimeo/psalm-4.23.0 2022-05-07 02:09:06 +00:00
dependabot[bot]andGitHub 39f6c12d33 build(deps): Bump nextcloud-vue-collections from 0.9.0 to 0.10.0
Bumps [nextcloud-vue-collections](https://github.com/juliushaertl/nextcloud-vue-collections) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/juliushaertl/nextcloud-vue-collections/releases)
- [Commits](https://github.com/juliushaertl/nextcloud-vue-collections/compare/v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: nextcloud-vue-collections
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-07 01:04:35 +00:00
dependabot[bot]andGitHub ae24d9ef03 build(deps-dev): Bump @nextcloud/webpack-vue-config from 5.0.0 to 5.1.0
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud/webpack-vue-config) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/nextcloud/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud/webpack-vue-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/webpack-vue-config/compare/v5.0.0...v5.1.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/webpack-vue-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-07 01:04:05 +00:00
dependabot[bot]andGitHub 5a1f5757c1 build(deps): Bump markdown-it from 13.0.0 to 13.0.1
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 13.0.0 to 13.0.1.
- [Release notes](https://github.com/markdown-it/markdown-it/releases)
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/13.0.0...13.0.1)

---
updated-dependencies:
- dependency-name: markdown-it
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-07 01:04:03 +00:00
dependabot[bot]andGitHub b194b88c49 build(deps-dev): Bump vimeo/psalm from 4.22.0 to 4.23.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.22.0 to 4.23.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.22.0...4.23.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-07 01:01:09 +00:00
Raul Ferreira FuentesandGitHub b86fbb3cd8 Merge pull request #3782 from nextcloud/enh/backend_serialization_models
Add CardDetail serialization model
2022-05-06 12:47:33 +02:00
Raul 9fca104059 Pipeline and codestyle fixes
Signed-off-by: Raul <raul@nextcloud.com>
2022-05-06 11:29:13 +02:00
Raul 9369a697e3 Add getDueDateTime function to expose the duedate in datetime format.
Signed-off-by: Raul <raul@nextcloud.com>
2022-05-06 11:29:13 +02:00
Raul ebbafbe55d Add board summary model
Signed-off-by: Raul <raul@nextcloud.com>
2022-05-06 11:29:13 +02:00
Raul 6bf9ba397e Add phpDoc typehints for magic methods
Signed-off-by: Raul <raul@nextcloud.com>
2022-05-06 11:29:13 +02:00
Raul 7b7af75802 Update Card serialization (jsonSerialize usages) to use CardDetails model
Signed-off-by: Raul <raul@nextcloud.com>
2022-05-06 11:29:13 +02:00
Raul 723ce6c893 Add CardDetails model
Signed-off-by: Raul <raul@nextcloud.com>
2022-05-06 11:29:13 +02:00
Luka TrovicandJulius Härtl ed3be361b5 fix: move shares count cache logic to the DeckShareProvider
Signed-off-by: Luka Trovic <luka@nextcloud.com>

fix: conflicts

Signed-off-by: Luka Trovic <luka@nextcloud.com>

fix: conflicts and test issues

Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-06 10:25:48 +02:00
Luka TrovicandJulius Härtl 0b6990f828 fix: update attachments count when sharing
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-06 10:24:32 +02:00
Luka TrovicandJulius Härtl 2af94410f5 fix: increase file count after sharing
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-05-06 10:24:32 +02:00
Nextcloud bot b348565449 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-06 02:41:13 +00:00
Niedermann IT-DienstleistungenandGitHub aa06255e26 Merge pull request #3783 from nextcloud/bugfix/noid/stack-find
Fix entity creation for stack from card id
2022-05-05 11:59:01 +02:00
Julius Härtl a0d967cdc7 Fix entity creation for stack from card id
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-05 08:25:07 +02:00
Nextcloud bot 494a72709d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-05 02:41:03 +00:00
Julius HärtlandGitHub 8947cebf04 Merge pull request #3777 from nextcloud/bugfix/noid/clone-full-data
Fetch full board data after cloning
2022-05-04 12:29:05 +02:00
Nextcloud bot b51993db0c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-04 02:42:54 +00:00
Nextcloud bot 5c8f80a907 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-05-03 02:41:21 +00:00
Julius Härtl 9fab40d12a Fetch full board data after cloning
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-02 17:48:25 +02:00
Julius Härtl 420a5fa782 Forward-port changlog from 1.7.0
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-05-02 16:44:40 +02:00
Julius HärtlandGitHub fe335ea865 Merge pull request #3773 from nextcloud/dependabot/github_actions/cirrus-actions/rebase-1.6
build(deps): Bump cirrus-actions/rebase from 1.5 to 1.6
2022-05-02 16:38:38 +02:00
Julius HärtlandGitHub ad04a483e3 Merge pull request #3771 from nextcloud/dependabot/npm_and_yarn/master/jest-28.0.3
build(deps-dev): Bump jest from 27.5.1 to 28.0.3
2022-05-02 16:38:28 +02:00
dependabot[bot]andGitHub b3228f1e27 build(deps-dev): Bump jest from 27.5.1 to 28.0.3
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 27.5.1 to 28.0.3.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v28.0.3/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-30 05:02:09 +00:00
dependabot[bot]andGitHub 249935fc66 Merge pull request #3772 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/axios-1.10.0 2022-04-30 05:01:00 +00:00
dependabot[bot]andGitHub 53c0ccfba8 build(deps): Bump cirrus-actions/rebase from 1.5 to 1.6
Bumps [cirrus-actions/rebase](https://github.com/cirrus-actions/rebase) from 1.5 to 1.6.
- [Release notes](https://github.com/cirrus-actions/rebase/releases)
- [Commits](https://github.com/cirrus-actions/rebase/compare/1.5...1.6)

---
updated-dependencies:
- dependency-name: cirrus-actions/rebase
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-30 04:09:31 +00:00
dependabot[bot]andGitHub 4706adb0d5 build(deps): Bump @nextcloud/axios from 1.9.0 to 1.10.0
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/nextcloud/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-axios/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/axios"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-30 03:11:10 +00:00
Nextcloud bot 53b6bf0986 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-04-30 02:39:54 +00:00
Julius HärtlandGitHub 65d9a75421 Merge pull request #3761 from nextcloud/bugfix/3711
Fix text selection in dark mode and modal view
2022-04-29 11:32:53 +02:00
Julius Härtl c089192904 Fix text selection in dark mode and modal view
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-04-29 11:10:08 +02:00
Julius HärtlandGitHub a8af3310b4 Merge pull request #3762 from nextcloud/bugfix/3744
Adapt the card modal to upstream changes
2022-04-29 10:47:10 +02:00
Julius HärtlandGitHub 58e6989307 Merge pull request #3746 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/eslint-config-8.0.0
build(deps-dev): Bump @nextcloud/eslint-config from 6.1.2 to 8.0.0
2022-04-29 09:10:26 +02:00
Nextcloud bot 18f7ea2a7e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-04-29 02:41:06 +00:00
dependabot[bot]andJulius Härtl 4e8219c6fa build(deps-dev): Bump @nextcloud/eslint-config from 6.1.2 to 8.0.0
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud/eslint-config) from 6.1.2 to 8.0.0.
- [Release notes](https://github.com/nextcloud/eslint-config/releases)
- [Changelog](https://github.com/nextcloud/eslint-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/eslint-config/compare/v6.1.2...v8.0.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/eslint-config"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-28 15:04:26 +02:00
Julius Härtl 24f7ef69c7 Adapt modal size to viewer upstream changes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-04-28 13:48:25 +02:00
rakeknivenandGitHub 1578c13bf5 Merge pull request #3759 from nextcloud/rakekniven-patch-1
l10n: Improved grammar regarding board transfer
2022-04-28 13:05:47 +02:00
rakeknivenandGitHub ca2aa5d7f7 l10n: Improved grammar regarding board transfer
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2022-04-28 12:58:06 +02:00
Nextcloud bot 4d43f83443 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-04-28 02:41:20 +00:00
Julius HärtlandGitHub 319869bc6d Merge pull request #3747 from nextcloud/dependabot/npm_and_yarn/master/markdown-it-13.0.0
build(deps): Bump markdown-it from 12.3.2 to 13.0.0
2022-04-26 18:58:41 +02:00
Julius HärtlandGitHub 405fb52cb2 Merge pull request #3753 from nextcloud/feat/workflow-auto-update-command-rebase.yml
Updating command-rebase.yml workflow from template
2022-04-26 18:57:55 +02:00
Julius HärtlandGitHub 76a6fad4e2 Merge pull request #3745 from nextcloud/bugfix/noid/missing-indices
Add missing indices
2022-04-26 18:26:00 +02:00
Nextcloud bot 47be49253b Updating command-rebase.yml workflow from template
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-04-26 14:54:17 +00:00
Nextcloud bot 5177c793a7 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-04-24 02:41:14 +00:00
dependabot[bot]andGitHub bb06ac0c42 Merge pull request #3749 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/moment-1.2.1 2022-04-23 03:23:43 +00:00
dependabot[bot]andGitHub 20668bef9e build(deps): Bump markdown-it from 12.3.2 to 13.0.0
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 12.3.2 to 13.0.0.
- [Release notes](https://github.com/markdown-it/markdown-it/releases)
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/12.3.2...13.0.0)

---
updated-dependencies:
- dependency-name: markdown-it
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-23 02:52:19 +00:00
dependabot[bot]andGitHub 747f8d4567 Merge pull request #3748 from nextcloud/dependabot/npm_and_yarn/master/moment-2.29.3 2022-04-23 02:51:24 +00:00
Nextcloud bot 501927c844 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-04-23 02:39:27 +00:00
dependabot[bot]andGitHub d03ae91d11 build(deps): Bump @nextcloud/moment from 1.2.0 to 1.2.1
Bumps [@nextcloud/moment](https://github.com/nextcloud/nextcloud-moment) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/nextcloud/nextcloud-moment/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-moment/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-moment/compare/v1.2.0...v1.2.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/moment"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-23 01:05:27 +00:00
dependabot[bot]andGitHub cc2f45f764 build(deps): Bump moment from 2.29.2 to 2.29.3
Bumps [moment](https://github.com/moment/moment) from 2.29.2 to 2.29.3.
- [Release notes](https://github.com/moment/moment/releases)
- [Changelog](https://github.com/moment/moment/blob/2.29.3/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.2...2.29.3)

---
updated-dependencies:
- dependency-name: moment
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-23 01:03:09 +00:00
Julius Härtl 713dcd5d08 Add missing indices
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-04-22 12:41:08 +02:00
Nextcloud bot 8b69c90bf1 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-04-22 02:40:25 +00:00
Julius HärtlandGitHub 5513122ca9 Merge pull request #3681 from nextcloud/bug/cards-disappear-after-moving-to-other-list
Show cards after moving into another list
2022-04-20 16:24:02 +02:00
Julius HärtlandGitHub 7507ac31f7 Merge pull request #3692 from nextcloud/bug/fix-hidden-attachment-icon-on-archived-cards
Fix hidden attachment icon on archived cards
2022-04-20 16:22:01 +02:00
Julius HärtlandGitHub 49e51675d3 Merge pull request #3720 from nextcloud/bugfix/deck_mapper/use_qb_mapper
Update `DeckMapper` to extend `QBMapper`
2022-04-20 16:21:18 +02:00
Luka Trovic 056d54d313 fix: feedback
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-04-19 12:22:18 +02:00
Luka Trovic 00eac849fe fix: show card after moving into another list
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-04-19 12:22:18 +02:00
Julius HärtlandGitHub 75a17dae2c Merge pull request #3727 from nextcloud/dependabot/github_actions/cirrus-actions/rebase-1.6
build(deps): Bump cirrus-actions/rebase from 1.5 to 1.6
2022-04-19 12:20:54 +02:00
Julius HärtlandGitHub 62c81ac785 Merge pull request #3724 from nextcloud/update-master-version
Update version on master
2022-04-19 10:50:29 +02:00
Nextcloud bot 15c5170195 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-04-17 02:38:07 +00:00
dependabot[bot]andGitHub 4b302c0330 Merge pull request #3726 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.18.1 2022-04-16 02:49:49 +00:00
dependabot[bot]andGitHub 7977fa40e7 Merge pull request #3728 from nextcloud/dependabot/npm_and_yarn/async-2.6.4 2022-04-16 02:35:21 +00:00
dependabot[bot]andGitHub 45c4c507bc build(deps): Bump async from 2.6.3 to 2.6.4
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-16 02:19:19 +00:00
dependabot[bot]andGitHub 33f2e03e13 Merge pull request #3725 from nextcloud/dependabot/composer/justinrainbow/json-schema-5.2.12 2022-04-16 02:18:34 +00:00
dependabot[bot]andGitHub 56391021a4 build(deps): Bump cirrus-actions/rebase from 1.5 to 1.6
Bumps [cirrus-actions/rebase](https://github.com/cirrus-actions/rebase) from 1.5 to 1.6.
- [Release notes](https://github.com/cirrus-actions/rebase/releases)
- [Commits](https://github.com/cirrus-actions/rebase/compare/1.5...1.6)

---
updated-dependencies:
- dependency-name: cirrus-actions/rebase
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-16 01:07:43 +00:00
dependabot[bot]andGitHub ab831c2604 build(deps): Bump shivammathur/setup-php from 2.18.0 to 2.18.1
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.18.0 to 2.18.1.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.18.0...2.18.1)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-16 01:07:39 +00:00
dependabot[bot]andGitHub 11fc4d88aa build(deps): Bump justinrainbow/json-schema from 5.2.11 to 5.2.12
Bumps [justinrainbow/json-schema](https://github.com/justinrainbow/json-schema) from 5.2.11 to 5.2.12.
- [Release notes](https://github.com/justinrainbow/json-schema/releases)
- [Commits](https://github.com/justinrainbow/json-schema/compare/5.2.11...5.2.12)

---
updated-dependencies:
- dependency-name: justinrainbow/json-schema
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-16 01:01:32 +00:00
Joas Schilling 57dd1982a0 Update version on master
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-04-14 23:22:54 +02:00
Raul 3f754dc662 Update AttachmentMapper finder methods to use $this-getTableName() instead of explicitly naming the table on the FROM parameters.
Signed-off-by: Raul <raul@nextcloud.com>
2022-04-14 16:56:22 +02:00
Raul 0c5b1a88a6 Run cs:fix
Signed-off-by: Raul <raul@nextcloud.com>
2022-04-13 12:43:00 +02:00
Raul 1d5fdef4b4 Remove redundant is_array checks on return result from LabelMapper::findAll
Signed-off-by: Raul <raul@nextcloud.com>
2022-04-13 12:40:05 +02:00
Raul 815b8597d1 Use numeric typehint instead of int to allow for numeric strings to be passed to find methods. Fixes the psalm check.
Signed-off-by: Raul <raul@nextcloud.com>
2022-04-13 12:39:39 +02:00
Raul 53e3a7ae7f Removed redundant phpDoc block from constructors
Signed-off-by: Raul <raul@nextcloud.com>
2022-04-13 10:43:14 +02:00
Raul 04974d37d6 Replace rowCount() with explicit count primitive function. This is necessary due to sqlite driver always returning 0 on rowCount (this is documented behaviour: https://www.php.net/manual/en/pdostatement.rowcount.php)
Signed-off-by: Raul <raul@nextcloud.com>
2022-04-13 10:38:32 +02:00
Raul Ferreira Fuentes 8c1e53a8df Fix test case which relied on mapper->delete() returning a bool value
Signed-off-by: Raul Ferreira Fuentes <raul@nextcloud.com>
2022-04-11 20:04:16 +02:00
Raul Ferreira Fuentes 8399b00a10 Fix Entity class in AclMapper
Signed-off-by: Raul Ferreira Fuentes <raul@nextcloud.com>
2022-04-11 19:46:05 +02:00
Raul Ferreira Fuentes 9244adee30 Various small fixes in mapper queries
Signed-off-by: Raul Ferreira Fuentes <raul@nextcloud.com>
2022-04-11 18:44:27 +02:00
Raul Ferreira Fuentes 3265a9de7b Merge branch 'master' into bugfix/deck_mapper/use_qb_mapper 2022-04-11 18:27:52 +02:00
Raul Ferreira Fuentes ec602f3e15 Update DeckMapper to extend QBMapper instead of deprecated Mapper
Signed-off-by: Raul Ferreira Fuentes <raul@nextcloud.com>
2022-04-11 18:24:41 +02:00
estromenkoandJulius Härtl 6ed7f672fc Make it possible to unarchive all archived cards
Signed-off-by: Eduard Stromenko <estromenko@mail.ru>
2022-04-11 15:57:58 +02:00
Luka Trovic c9bb49e0f7 fix: hidden attachment icon on archived cards
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-04-05 18:29:47 +02:00
219 changed files with 38020 additions and 36067 deletions
+3
View File
@@ -3,7 +3,10 @@ root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = tab
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
[*.{js,vue}]
indent_style = tab
+3 -1
View File
@@ -1,4 +1,5 @@
module.exports = {
root: true,
extends: [
'@nextcloud',
],
@@ -7,6 +8,7 @@ module.exports = {
'jsdoc/require-param-type': ['off'],
'jsdoc/check-param-names': ['off'],
'jsdoc/no-undefined-types': ['off'],
'jsdoc/require-property-description' : ['off']
'jsdoc/require-property-description': ['off'],
'import/no-named-as-default-member': ['off']
},
}
+6 -2
View File
@@ -1,7 +1,11 @@
name: Package build
on:
pull_request:
push:
branches:
- main
- master
- stable*
jobs:
build:
@@ -20,7 +24,7 @@ jobs:
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.18.0
uses: shivammathur/setup-php@2.21.2
with:
php-version: '7.4'
tools: composer
+1 -1
View File
@@ -66,7 +66,7 @@ jobs:
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Set up php ${{ env.PHP_VERSION }}
uses: shivammathur/setup-php@2.18.0
uses: shivammathur/setup-php@2.21.2
with:
php-version: ${{ env.PHP_VERSION }}
coverage: none
+6 -1
View File
@@ -9,9 +9,14 @@ on:
issue_comment:
types: created
permissions:
contents: read
jobs:
rebase:
runs-on: ubuntu-latest
permissions:
contents: none
# On pull requests and if the comment starts with `/rebase`
if: github.event.issue.pull_request != '' && startsWith(github.event.comment.body, '/rebase')
@@ -32,7 +37,7 @@ jobs:
token: ${{ secrets.COMMAND_BOT_PAT }}
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.5
uses: cirrus-actions/rebase@1.7
env:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
+112
View File
@@ -0,0 +1,112 @@
name: Cypress
on:
pull_request:
push:
branches:
- master
- stable*
env:
APP_NAME: deck
CYPRESS_baseUrl: http://localhost:8081/index.php
jobs:
cypress:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [14.x]
# containers: [1, 2, 3]
php-versions: [ '7.4' ]
databases: [ 'sqlite' ]
server-versions: [ 'master' ]
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Checkout server
uses: actions/checkout@v3
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout ${{ env.APP_NAME }}
uses: actions/checkout@v3
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.21.2
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
ini-values:
apc.enable_cli=on
coverage: none
- name: Set up Nextcloud
env:
DB_PORT: 4444
PHP_CLI_SERVER_WORKERS: 10
run: |
mkdir data
php occ maintenance:install --verbose --database=${{ matrix.databases }} --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
php occ config:system:set memcache.local --value="\\OC\\Memcache\\APCu"
php occ config:system:set debug --value=true --type=boolean
php -f index.php
php -S 0.0.0.0:8081 &
export OC_PASS=1234561
php occ user:add --password-from-env user1
php occ user:add --password-from-env user2
php occ app:enable deck
php occ app:list
cd apps/deck
composer install --no-dev
npm ci
npm run build
cd ../../
curl -v http://localhost:8081/index.php/login
- name: Cypress run
uses: cypress-io/github-action@v4
with:
record: true
parallel: false
wait-on: '${{ env.CYPRESS_baseUrl }}'
working-directory: 'apps/${{ env.APP_NAME }}'
config: defaultCommandTimeout=10000,video=false
env:
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
npm_package_name: ${{ env.APP_NAME }}
- name: Upload test failure screenshots
uses: actions/upload-artifact@v3
if: failure()
with:
name: Upload screenshots
path: apps/${{ env.APP_NAME }}/cypress/screenshots/
retention-days: 5
- name: Upload nextcloud logs
uses: actions/upload-artifact@v3
if: failure()
with:
name: Upload nextcloud log
path: data/nextcloud.log
retention-days: 5
@@ -8,13 +8,20 @@ name: Dependabot
on:
pull_request_target:
branches:
- main
- master
- stable*
permissions:
contents: read
jobs:
auto-approve-merge:
if: github.actor == 'dependabot[bot]'
runs-on: ubuntu-latest
permissions:
# for hmarr/auto-approve-action to approve PRs
pull-requests: write
steps:
# Github actions bot approve
+12 -4
View File
@@ -2,6 +2,14 @@ name: Integration tests
on:
pull_request:
paths:
- '.github/workflows/integration.yml'
- 'appinfo/**'
- 'lib/**'
- 'templates/**'
- 'tests/**'
- 'composer.json'
- 'composer.lock'
push:
branches:
- master
@@ -19,7 +27,7 @@ jobs:
matrix:
php-versions: ['7.4']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['stable24']
server-versions: ['master']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -54,7 +62,7 @@ jobs:
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
cd build/integration && composer require --dev phpunit/phpunit:~8
cd build/integration && composer require --dev phpunit/phpunit:~9
- name: Checkout app
uses: actions/checkout@v3
@@ -62,7 +70,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.18.0
uses: shivammathur/setup-php@2.21.2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
@@ -71,7 +79,7 @@ jobs:
- name: Set up PHPUnit
working-directory: apps/${{ env.APP_NAME }}
run: composer i
run: composer i --no-dev
- name: Set up Nextcloud
run: |
+2 -2
View File
@@ -19,7 +19,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.18.0
uses: shivammathur/setup-php@2.21.2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
@@ -33,7 +33,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v3
- name: Set up php
uses: shivammathur/setup-php@2.18.0
uses: shivammathur/setup-php@2.21.2
with:
php-version: 7.4
coverage: none
+1 -1
View File
@@ -25,7 +25,7 @@ jobs:
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.18.0
uses: shivammathur/setup-php@2.21.2
with:
php-version: '7.4'
tools: composer
+10 -2
View File
@@ -2,6 +2,14 @@ name: PHPUnit
on:
pull_request:
paths:
- '.github/workflows/phpunit.yml'
- 'appinfo/**'
- 'lib/**'
- 'templates/**'
- 'tests/**'
- 'composer.json'
- 'composer.lock'
push:
branches:
- master
@@ -20,7 +28,7 @@ jobs:
matrix:
php-versions: ['7.4', '8.0', '8.1']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['stable24']
server-versions: ['master']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -62,7 +70,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.18.0
uses: shivammathur/setup-php@2.21.2
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
+1 -1
View File
@@ -49,7 +49,7 @@ jobs:
continue-on-error: true
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@v4
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: Update psalm baseline
+1 -1
View File
@@ -1,6 +1,6 @@
[main]
host = https://www.transifex.com
lang_map = bg_BG: bg, cs_CZ: cs, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja
lang_map = hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs, fi_FI: fi
[o:nextcloud:p:nextcloud:r:deck]
file_filter = translationfiles/<lang>/deck.po
+35 -30
View File
@@ -1,40 +1,45 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.7.3
## 1.8.0-beta.1
### Enhancements
- Nextcloud 25 compatibility
- Performance improvements
- Use capped memory cache for board permissions @juliushaertl [#3980](https://github.com/nextcloud/deck/pull/3980)
- Improve CalDAV integration performance @juliushaertl [#3982](https://github.com/nextcloud/deck/pull/3982)
- Simpify query for getting shared files @juliushaertl [#3983](https://github.com/nextcloud/deck/pull/3983)
- Accessibility improvements
- Add a11y label for sidebar button @marcelklehr [#3986](https://github.com/nextcloud/deck/pull/3986)
- Improve filter popover accessibility @juliushaertl [#3820](https://github.com/nextcloud/deck/pull/3820)
- Set ids to skip to content/navigation @juliushaertl [#3924](https://github.com/nextcloud/deck/pull/3924)
- Invert icons properly in dark mode @juliushaertl [#3939](https://github.com/nextcloud/deck/pull/3939)
- Bump dependencies
### Fixed
- feat: add validators to check values in services @juliushaertl [#4176](https://github.com/nextcloud/deck/pull/4176)
- Add integration test for attachment handling on cards [#4178](https://github.com/nextcloud/deck/pull/4178)
- disables autocomplete on card creation @juliushaertl [#4182](https://github.com/nextcloud/deck/pull/4182)
- minor style fixes [#4202](https://github.com/nextcloud/deck/pull/4202)
- set last modified when the card was found. Fixes #3763 @ylebre [#3796](https://github.com/nextcloud/deck/pull/3796)
- Increase file count after sharing @luka-nextcloud [#3682](https://github.com/nextcloud/deck/pull/3682)
- Align Duedate-delete icon properly - fixes nextcloud/deck#3791 @Ben-Ro [#3811](https://github.com/nextcloud/deck/pull/3811)
- Fix for issue #3637 @flummer [#3833](https://github.com/nextcloud/deck/pull/3833)
- Switch to 'markdown-it-task-checkbox' for rendering of task lists @q-wertz [#3898](https://github.com/nextcloud/deck/pull/3898)
- Make rename functions accessibly by keyboard navigation @juliushaertl [#3813](https://github.com/nextcloud/deck/pull/3813)
- Prevent opening card and applyLabelFilter on card drag end @eneiluj [#3916](https://github.com/nextcloud/deck/pull/3916)
- Inserted required property in the rename list field, to prevent the l… @mstolf [#3862](https://github.com/nextcloud/deck/pull/3862)
- Fix share provider for master changes @nickvergessen [#3942](https://github.com/nextcloud/deck/pull/3942)
- Fetch attachment folder for the correct user during cron job @juliushaertl [#3952](https://github.com/nextcloud/deck/pull/3952)
- Fix z-index for deck sidebar @Raudius [#3884](https://github.com/nextcloud/deck/pull/3884)
### Other
## 1.7.2
### Fixed
- Cache user membership for circles [#4132](https://github.com/nextcloud/deck/pull/4132)
- Set event link also for notifications that get emitted from activities [#4118](https://github.com/nextcloud/deck/pull/4118)
- Fix Card menu not displaying when description is not set [#4103](https://github.com/nextcloud/deck/pull/4103)
- disable Create card button while no stack is chosen [#4019](https://github.com/nextcloud/deck/pull/4019)
- to nextcloud/OCP package in stable24 [#4093](https://github.com/nextcloud/deck/pull/4093)
- Fix attachment creator name: show display name [#4037](https://github.com/nextcloud/deck/pull/4037)
- Use capped memory cache for board permissions [#3997](https://github.com/nextcloud/deck/pull/3997)
- Improve CalDAV integration performance [#3995](https://github.com/nextcloud/deck/pull/3995)
- Fetch attachment folder for the correct user during cron job [#3959](https://github.com/nextcloud/deck/pull/3959)
- Switch to 'markdown-it-task-checkbox' for rendering of task lists [#3925](https://github.com/nextcloud/deck/pull/3925)
- Prevent opening card and applyLabelFilter on card drag end [#3917](https://github.com/nextcloud/deck/pull/3917)
- Fix for issue #3637 [#3901](https://github.com/nextcloud/deck/pull/3901)
- Fix z-index for deck sidebar [#3885](https://github.com/nextcloud/deck/pull/3885)
## 1.7.1
### Fixed
- Align Duedate-delete icon properly - fixes nextcloud/deck#3791 [#3817](https://github.com/nextcloud/deck/pull/3817)
- Increase file count after sharing [#3806](https://github.com/nextcloud/deck/pull/3806)
- Fetch full board data after cloning [#3781](https://github.com/nextcloud/deck/pull/3781)
- Switch from OC::$server->get to OCP\Server::get @CarlSchwan [#3801](https://github.com/nextcloud/deck/pull/3801)
- Add performance section in README @eneiluj [#3830](https://github.com/nextcloud/deck/pull/3830)
- Fix static analysis by stubbing more circle methods @juliushaertl [#3900](https://github.com/nextcloud/deck/pull/3900)
- fix(docs): fix links to JSON schemas for Trello @wiktor2200 [#3872](https://github.com/nextcloud/deck/pull/3872)
- Move to OCP\Collaboration\Resources\LoadAdditionalScriptsEvent @juliushaertl [#3818](https://github.com/nextcloud/deck/pull/3818)
- Rename settings to deck settings @PVince81 [#3928](https://github.com/nextcloud/deck/pull/3928)
- SCSS cleanup @juliushaertl [#3803](https://github.com/nextcloud/deck/pull/3803)
- Hide deprecated projects in sidebar and card details by default @Pytal [#3984](https://github.com/nextcloud/deck/pull/3984)
## 1.7.0
@@ -86,7 +91,7 @@ All notable changes to this project will be documented in this file.
- Adapt the card modal to upstream changes [#3764](https://github.com/nextcloud/deck/pull/3764)
- Fix text selection in dark mode and modal view [#3765](https://github.com/nextcloud/deck/pull/3765)
- Add missing indices [#3754](https://github.com/nextcloud/deck/pull/3754)
- Handle qb mapper exception messages properly @juliushaertl [#3769](https://github.com/nextcloud/deck/pull/3769)
## 1.6.0-beta1
+10
View File
@@ -30,6 +30,16 @@ build: clean-dist install-deps build-js
release: clean-dist install-deps-nodev build-js
lint: lint-js lint-php
lint-js:
npm run lint
npm run stylelint
lint-php:
composer run lint 1>/dev/null
composer run cs:check
build-js: install-deps-js
npm run build
+20 -2
View File
@@ -24,9 +24,9 @@ Deck is a kanban style organization tool aimed at personal planning and project
### 3rd-Party Integrations
- [trello-to-deck](https://github.com/maxammann/trello-to-deck) - Migrates cards from Trello
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
- [A-deck](https://github.com/leoossa/A-deck) - Chrome Extension that allows to create new card in selected stack based on current tab
## Installation/Update
This app is supposed to work on the two latest Nextcloud versions.
@@ -52,14 +52,32 @@ Please make sure you have installed the following dependencies: `make, which, ta
Instead of setting everything up manually, you can just [download the nightly build](https://github.com/nextcloud/deck/releases/tag/nightly) instead. These builds are updated every 24 hours, and are pre-configured with all the needed dependencies.
## Performance limitations
Deck is not yet ready for intensive usage.
A lot of database queries are generated when the number of boards, cards and attachments is high.
For example, a user having access to 13 boards, with each board having on average 100 cards,
and each card having on average 5 attachments,
would generate 6500 database queries when doing the file related queries
which would increase the page loading time significantly.
Improvements on Nextcloud server and Deck itself will improve the situation.
## Developing
### Nextcloud environment
You need to setup a [development environment](https://docs.nextcloud.com/server/latest/developer_manual//getting_started/devenv.html) of the current nextcloud version. You can also alternatively install & run the [nextcloud docker container](https://github.com/juliushaertl/nextcloud-docker-dev).
After the finished installation, you can clone the deck project directly in the `/[nextcloud-docker-dev-dir]/workspace/server/apps/` folder.
### PHP
Nothing to prepare, just dig into the code.
### JavaScript
This requires at least Node 16 and npm 7 to be installed.
Deck requires running a `make build-js` to install npm dependencies and build the JavaScript code using webpack. While developing you can also use `make watch` to rebuild everytime the code changes.
#### Hot reloading
+2 -2
View File
@@ -16,7 +16,7 @@
- 🚀 Get your project organized
</description>
<version>1.7.3</version>
<version>1.9.0-beta.1</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>
@@ -34,7 +34,7 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>
<nextcloud min-version="24" max-version="24"/>
<nextcloud min-version="26" max-version="26"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>
+2 -1
View File
@@ -19,7 +19,7 @@
"symfony/event-dispatcher": "^4.0",
"vimeo/psalm": "^4.3",
"php-parallel-lint/php-parallel-lint": "^1.2",
"nextcloud/ocp": "dev-stable24"
"nextcloud/ocp": "dev-master"
},
"config": {
"optimize-autoloader": true,
@@ -36,6 +36,7 @@
"cs:check": "php-cs-fixer fix --dry-run --diff",
"cs:fix": "php-cs-fixer fix",
"psalm": "psalm",
"psalm:update-baseline": "psalm --update-baseline",
"psalm:fix": "psalm --alter --issues=InvalidReturnType,InvalidNullableReturnType,MismatchingDocblockParamType,MismatchingDocblockReturnType,MissingParamType,InvalidFalsableReturnType",
"test": [
"@test:unit",
Generated
+180 -240
View File
File diff suppressed because it is too large Load Diff
+9
View File
@@ -0,0 +1,9 @@
.icon-deck {
background-image: url(../img/deck-dark.svg);
filter: var(--background-invert-if-dark);
}
.icon-deck-white, .icon-deck.icon-white {
background-image: url(../img/deck.svg);
filter: var(--background-invert-if-dark);
}
-1
View File
@@ -1 +0,0 @@
@include icon-black-white('deck', 'deck', 1);
-28
View File
@@ -1,28 +0,0 @@
/*
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
* @author Artem Anufrij <artem.anufrij@live.de>
* @author Marin Treselj <marin@pixelipo.com>
* @author Oskar Kurz <oskar.kurz@gmail.com>
* @author Ryan Fletcher <ryan.fletcher@codepassion.ca>
*
* @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 'icons';
@import 'print';
-41
View File
@@ -1,41 +0,0 @@
/**
* Custom icons
*/
@include icon-black-white('deck', 'deck', 1);
@include icon-black-white('archive', 'deck', 1);
@include icon-black-white('circles', 'deck', 1);
@include icon-black-white('clone', 'deck', 1);
@include icon-black-white('filter', 'deck', 1);
@include icon-black-white('filter_set', 'deck', 1);
@include icon-black-white('attach', 'deck', 1);
@include icon-black-white('reply', 'deck', 1);
@include icon-black-white('notifications-dark', 'deck', 1);
@include icon-black-white('description', 'deck', 1);
.icon-toggle-compact-collapsed {
@include icon-color('toggle-view-expand', 'deck', $color-black);
}
.icon-toggle-compact-expanded {
@include icon-color('toggle-view-collapse', 'deck', $color-black);
}
.icon-activity {
@include icon-color('activity-dark', 'activity', $color-black);
}
.icon-comment--unread {
@include icon-color('comment', 'actions', $color-primary, 1, true);
}
.avatardiv.circles {
background: var(--color-primary);
}
.icon-circles {
opacity: 1;
background-size: 20px;
background-position: center center;
}
.icon-colorpicker {
background-image: url('../img/color_picker.svg');
}
+17
View File
@@ -0,0 +1,17 @@
const { defineConfig } = require('cypress')
module.exports = defineConfig({
projectId: '1s7wkc',
viewportWidth: 1280,
viewportHeight: 720,
e2e: {
// We've imported your old cypress plugins here.
// You may want to clean this up later by importing these.
setupNodeEvents(on, config) {
return require('./cypress/plugins/index.js')(on, config)
},
baseUrl: 'http://nextcloud.local/index.php',
experimentalSessionAndOrigin: true,
specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}',
},
})
+41
View File
@@ -0,0 +1,41 @@
import { randHash } from '../utils'
const randUser = randHash()
describe('Board', function() {
const password = 'pass123'
before(function() {
cy.nextcloudCreateUser(randUser, password)
})
beforeEach(function() {
cy.login(randUser, password)
})
it('Can create a board', function() {
const board = 'Test'
cy.intercept({
method: 'POST',
url: '/index.php/apps/deck/boards',
}).as('createBoardRequest')
// Click "Add board"
cy.openLeftSidebar()
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
.eq(3).find('a').first().click({ force: true })
// Type the board title
cy.get('.board-create form input[type=text]')
.type(board, { force: true })
// Submit
cy.get('.board-create form input[type=submit]')
.first().click({ force: true })
cy.wait('@createBoardRequest').its('response.statusCode').should('equal', 200)
cy.get('.app-navigation__list .app-navigation-entry__children .app-navigation-entry')
.contains(board).should('be.visible')
})
})
+67
View File
@@ -0,0 +1,67 @@
import { randHash } from '../utils'
const randUser = randHash()
const testBoardData = {
title: 'MyBoardTest',
color: '00ff00',
stacks: [
{
title: 'TestList',
cards: [
{
title: 'Hello world',
},
],
},
],
}
describe('Card', function() {
before(function() {
cy.nextcloudCreateUser(randUser, randUser)
cy.createExampleBoard({
user: randUser,
password: randUser,
board: testBoardData,
})
})
beforeEach(function() {
cy.login(randUser, randUser)
})
it('Can show card details modal', function() {
cy.openLeftSidebar()
cy.getNavigationEntry(testBoardData.title)
.first().click({ force: true })
cy.get('.board .stack').eq(0).within(() => {
cy.get('.card:contains("Hello world")').should('be.visible').click()
})
cy.get('.modal__card').should('be.visible')
cy.get('.app-sidebar-header__maintitle').contains('Hello world')
})
it('Can add a card', function() {
const newCardTitle = 'Write some cypress tests'
cy.openLeftSidebar()
cy.getNavigationEntry(testBoardData.title)
.first().click({ force: true })
cy.get('.board .stack').eq(0).within(() => {
cy.get('.card:contains("Hello world")').should('be.visible')
cy.get('.button-vue[aria-label*="Add card"]')
.first().click()
cy.get('.stack__card-add form input#new-stack-input-main')
.type(newCardTitle)
cy.get('.stack__card-add form input[type=submit]')
.first().click()
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
})
})
})
+31
View File
@@ -0,0 +1,31 @@
import { randHash } from '../utils'
const randUser = randHash()
describe('Deck dashboard', function() {
const password = 'pass123'
before(function() {
cy.nextcloudCreateUser(randUser, password)
})
beforeEach(function() {
cy.login(randUser, password)
})
it('Can show the right title on the dashboard', function() {
cy.get('.board-title h2')
.should('have.length', 1).first()
.should('have.text', 'Upcoming cards')
})
it('Can see the default "Personal Board" created for user by default', function() {
const defaultBoard = 'Personal'
cy.openLeftSidebar()
cy.get('.app-navigation-entry-wrapper[icon=icon-deck]')
.find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + defaultBoard + ')')
.first()
.contains(defaultBoard)
.should('be.visible')
})
})
+30
View File
@@ -0,0 +1,30 @@
import { randHash } from '../utils'
const randUser = randHash()
describe('Stack', function() {
const board = 'TestBoard'
const password = 'pass123'
const stack = 'List 1'
before(function() {
cy.nextcloudCreateUser(randUser, password)
cy.deckCreateBoard({ user: randUser, password }, board)
})
beforeEach(function() {
cy.logout()
cy.login(randUser, password)
})
it('Can create a stack', function() {
cy.openLeftSidebar()
cy.getNavigationEntry(board)
.click({ force: true })
cy.get('#stack-add button').first().click()
cy.get('#stack-add form input#new-stack-input-main').type(stack)
cy.get('#stack-add form input[type=submit]').first().click()
cy.get('.board .stack').eq(0).contains(stack).should('be.visible')
})
})
+5
View File
@@ -0,0 +1,5 @@
{
"name": "Using fixtures to represent data",
"email": "hello@cypress.io",
"body": "Fixtures are a great way to mock data for responses to routes"
}
+22
View File
@@ -0,0 +1,22 @@
/// <reference types="cypress" />
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)
/**
* @type {Cypress.PluginConfig}
*/
// eslint-disable-next-line no-unused-vars
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
}
+159
View File
@@ -0,0 +1,159 @@
/**
* @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @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/>.
*
*/
const url = Cypress.config('baseUrl').replace(/\/index.php\/?$/g, '')
Cypress.env('baseUrl', url)
Cypress.Commands.add('login', (user, password, route = '/apps/deck/') => {
const session = `${user}-${Date.now()}`
cy.session(session, function() {
cy.visit(route)
cy.get('input[name=user]').type(user)
cy.get('input[name=password]').type(password)
cy.get('form[name=login] [type=submit]').click()
cy.url().should('include', route)
})
cy.visit(route)
})
Cypress.Commands.add('logout', (route = '/') => {
cy.session('_guest', function() {})
})
Cypress.Commands.add('nextcloudCreateUser', (user, password) => {
cy.clearCookies()
cy.request({
method: 'POST',
url: `${Cypress.env('baseUrl')}/ocs/v1.php/cloud/users?format=json`,
form: true,
body: {
userid: user,
password,
},
auth: { user: 'admin', pass: 'admin' },
headers: {
'OCS-ApiRequest': 'true',
'Content-Type': 'application/x-www-form-urlencoded',
},
}).then((response) => {
cy.log(`Created user ${user}`, response.status)
})
})
Cypress.Commands.add('nextcloudUpdateUser', (user, password, key, value) => {
cy.request({
method: 'PUT',
url: `${Cypress.env('baseUrl')}/ocs/v2.php/cloud/users/${user}`,
form: true,
body: { key, value },
auth: { user, pass: password },
headers: {
'OCS-ApiRequest': 'true',
'Content-Type': 'application/x-www-form-urlencoded',
},
}).then((response) => {
cy.log(`Updated user ${user} ${key} to ${value}`, response.status)
})
})
Cypress.Commands.add('openLeftSidebar', () => {
cy.get('.app-navigation button.app-navigation-toggle').click()
})
Cypress.Commands.add('deckCreateBoard', ({ user, password }, title) => {
cy.login(user, password)
cy.get('.app-navigation button.app-navigation-toggle').click()
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
.eq(3)
.find('a')
.first()
.click({ force: true })
cy.get('.board-create form input[type=text]').type(title, { force: true })
cy.get('.board-create form input[type=submit]')
.first()
.click({ force: true })
})
Cypress.Commands.add('deckCreateList', ({ user, password }, title) => {
cy.login(user, password)
cy.get('.app-navigation button.app-navigation-toggle').click()
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
.eq(3)
.find('a.app-navigation-entry-link')
.first()
.click({ force: true })
cy.get('#stack-add button').first().click()
cy.get('#stack-add form input#new-stack-input-main').type(title)
cy.get('#stack-add form input[type=submit]').first().click()
})
Cypress.Commands.add('createExampleBoard', ({ user, password, board }) => {
cy.request({
method: 'POST',
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards`,
auth: {
user,
password,
},
body: { title: board.title, color: board.color ?? 'ff0000' },
}).then((boardResponse) => {
expect(boardResponse.status).to.eq(200)
const boardData = boardResponse.body
for (const stackIndex in board.stacks) {
const stack = board.stacks[stackIndex]
cy.request({
method: 'POST',
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards/${boardData.id}/stacks`,
auth: {
user,
password,
},
body: { title: stack.title, order: 0 },
}).then((stackResponse) => {
const stackData = stackResponse.body
for (const cardIndex in stack.cards) {
const card = stack.cards[cardIndex]
cy.request({
method: 'POST',
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards/${boardData.id}/stacks/${stackData.id}/cards`,
auth: {
user,
password,
},
body: { title: card.title },
})
}
})
}
})
})
Cypress.Commands.add('getNavigationEntry', (boardTitle) => {
return cy.get('.app-navigation-entry-wrapper[icon=icon-deck]')
.find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + boardTitle + ')')
.find('a.app-navigation-entry-link')
})
+20
View File
@@ -0,0 +1,20 @@
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands'
// Alternatively you can use CommonJS syntax:
// require('./commands')
+1
View File
@@ -0,0 +1 @@
export const randHash = () => Math.random().toString(36).replace(/[^a-z]+/g, '').slice(0, 10)
+2 -2
View File
@@ -90,7 +90,7 @@ Steps:
* Create the configuration file
* Execute the import informing the import file path, data file and source as `Trello JSON`
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/master/lib/Service/fixtures/config-trelloJson-schema.json) for import `Trello JSON`
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/master/lib/Service/Importer/fixtures/config-trelloJson-schema.json) for import `Trello JSON`
Example configuration file:
```json
@@ -120,7 +120,7 @@ https://api.trello.com/1/members/me/boards?key={yourKey}&token={yourToken}&field
This ID you will use in the configuration file in the `board` property
* Create the configuration file
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/master/lib/Service/fixtures/config-trelloApi-schema.json) for import `Trello JSON`
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/master/lib/Service/Importer/fixtures/config-trelloApi-schema.json) for import `Trello JSON`
Example configuration file:
```json
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.0" viewbox="0 0 32 32">
<path d="m16 1-10 18h11l-1 12 10-18h-11z"/>
</svg>

After

Width:  |  Height:  |  Size: 205 B

+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.0" viewBox="0 0 32 32">
<path d="m16 1-10 18h11l-1 12 10-18h-11z" fill="#FFF"/>
</svg>

After

Width:  |  Height:  |  Size: 217 B

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g transform="translate(0 -1036.362)" fill="#fff"><path d="M1.93 1041.296c-.185 0-.336.138-.336.31v9.842c0 .172.15.313.336.313h12.517c.185 0 .333-.14.333-.313v-9.842c0-.172-.148-.31-.333-.31H1.93zm4.124 1.507h4.223c.39 0 .705.314.705.704v.43c0 .39-.315.705-.705.705H6.054a.703.703 0 0 1-.705-.705v-.43c0-.39.314-.704.705-.704z"/><rect width="15.742" height="2.296" x=".136" y="1037.543" ry="0"/></g></svg>

Before

Width:  |  Height:  |  Size: 488 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58 58" width="512" height="512"><g fill="#000"><path d="M54.319 37.839C54.762 35.918 55 33.96 55 32c0-9.095-4.631-17.377-12.389-22.153a1 1 0 1 0-1.049 1.703C48.724 15.96 53 23.604 53 32c0 1.726-.2 3.451-.573 5.147A6.992 6.992 0 0 0 51 37c-3.86 0-7 3.141-7 7s3.14 7 7 7 7-3.141 7-7a7.006 7.006 0 0 0-3.681-6.161zM38.171 54.182A23.867 23.867 0 0 1 29 56a24.047 24.047 0 0 1-17.017-7.092A6.974 6.974 0 0 0 14 44c0-3.859-3.14-7-7-7s-7 3.141-7 7 3.14 7 7 7a6.952 6.952 0 0 0 3.381-.875C15.26 55.136 21.994 58 29 58c3.435 0 6.778-.663 9.936-1.971.51-.211.753-.796.542-1.307a1.001 1.001 0 0 0-1.307-.54zM4 31.213a1 1 0 0 0 1.068-.927c.712-10.089 7.586-18.52 17.22-21.314C23.142 11.874 25.825 14 29 14c3.86 0 7-3.141 7-7s-3.14-7-7-7c-3.851 0-6.985 3.127-6.999 6.975C11.42 9.922 3.851 19.12 3.073 30.146A.999.999 0 0 0 4 31.213z"/></g></svg>

After

Width:  |  Height:  |  Size: 885 B

+1 -1
View File
@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58 58" width="512" height="512"><g fill="#000"><path d="M54.319 37.839C54.762 35.918 55 33.96 55 32c0-9.095-4.631-17.377-12.389-22.153a1 1 0 1 0-1.049 1.703C48.724 15.96 53 23.604 53 32c0 1.726-.2 3.451-.573 5.147A6.992 6.992 0 0 0 51 37c-3.86 0-7 3.141-7 7s3.14 7 7 7 7-3.141 7-7a7.006 7.006 0 0 0-3.681-6.161zM38.171 54.182A23.867 23.867 0 0 1 29 56a24.047 24.047 0 0 1-17.017-7.092A6.974 6.974 0 0 0 14 44c0-3.859-3.14-7-7-7s-7 3.141-7 7 3.14 7 7 7a6.952 6.952 0 0 0 3.381-.875C15.26 55.136 21.994 58 29 58c3.435 0 6.778-.663 9.936-1.971.51-.211.753-.796.542-1.307a1.001 1.001 0 0 0-1.307-.54zM4 31.213a1 1 0 0 0 1.068-.927c.712-10.089 7.586-18.52 17.22-21.314C23.142 11.874 25.825 14 29 14c3.86 0 7-3.141 7-7s-3.14-7-7-7c-3.851 0-6.985 3.127-6.999 6.975C11.42 9.922 3.851 19.12 3.073 30.146A.999.999 0 0 0 4 31.213z"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58 58" width="512" height="512"><g fill="#fff"><path d="M54.319 37.839C54.762 35.918 55 33.96 55 32c0-9.095-4.631-17.377-12.389-22.153a1 1 0 1 0-1.049 1.703C48.724 15.96 53 23.604 53 32c0 1.726-.2 3.451-.573 5.147A6.992 6.992 0 0 0 51 37c-3.86 0-7 3.141-7 7s3.14 7 7 7 7-3.141 7-7a7.006 7.006 0 0 0-3.681-6.161zM38.171 54.182A23.867 23.867 0 0 1 29 56a24.047 24.047 0 0 1-17.017-7.092A6.974 6.974 0 0 0 14 44c0-3.859-3.14-7-7-7s-7 3.141-7 7 3.14 7 7 7a6.952 6.952 0 0 0 3.381-.875C15.26 55.136 21.994 58 29 58c3.435 0 6.778-.663 9.936-1.971.51-.211.753-.796.542-1.307a1.001 1.001 0 0 0-1.307-.54zM4 31.213a1 1 0 0 0 1.068-.927c.712-10.089 7.586-18.52 17.22-21.314C23.142 11.874 25.825 14 29 14c3.86 0 7-3.141 7-7s-3.14-7-7-7c-3.851 0-6.985 3.127-6.999 6.975C11.42 9.922 3.851 19.12 3.073 30.146A.999.999 0 0 0 4 31.213z"/></g></svg>

Before

Width:  |  Height:  |  Size: 885 B

After

Width:  |  Height:  |  Size: 885 B

-1
View File
@@ -1 +0,0 @@
<svg width="16" height="16" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M11.8 13.8H2.2V4.2h9.6m1.2 0c0-.67-.53-1.2-1.2-1.2H2.2C1.53 3 1 3.53 1 4.2v9.6c0 .67.53 1.2 1.2 1.2h9.6c.67 0 1.2-.53 1.2-1.2"/><path d="m4.2 1c-0.67 0-1.2 0.54-1.2 1.2h10.8v10.8c0.67 0 1.2-0.53 1.2-1.2v-9.6c0-0.67-0.53-1.2-1.2-1.2z"/></svg>

Before

Width:  |  Height:  |  Size: 327 B

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16"><path d="M15 15s-.4-7.8-7-10V1L1 8l7 7v-4c5.1 0 7 4 7 4z"/></svg>

Before

Width:  |  Height:  |  Size: 128 B

-3
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Неуспешно прехвърляне на таблото на {user}",
"Add a new list" : "Добавяне на нов списък",
"Archive all cards" : "Архивира всички карти",
"Unarchive all cards" : "Разархивиране на всички карти",
"Delete list" : "Изтрива списък",
"Archive all cards in this list" : "Архивира всички карти в този списък",
"Unarchive all cards in this list" : "Разархивиране всички карти в този списък",
"Add a new card" : "Добави нова карта",
"Card name" : "Име на карта",
"List deleted" : "Списъкът е изтрит",
@@ -262,7 +260,6 @@ OC.L10N.register(
"Shared with you" : "Споделени с вас",
"Deck settings" : "Настройки на платформата",
"Use bigger card view" : "Използва по-голям изглед на картата",
"Show card ID badge" : "Показване на обозначение за самоличност на картата",
"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." : "Ограничаването на приложението Deck/набор/ ще блокира потребителите, които не са част от тези групи, да създават свои собствени табла. Потребителите все още ще могат да работят на таблата, които са споделени с тях.",
-3
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "Неуспешно прехвърляне на таблото на {user}",
"Add a new list" : "Добавяне на нов списък",
"Archive all cards" : "Архивира всички карти",
"Unarchive all cards" : "Разархивиране на всички карти",
"Delete list" : "Изтрива списък",
"Archive all cards in this list" : "Архивира всички карти в този списък",
"Unarchive all cards in this list" : "Разархивиране всички карти в този списък",
"Add a new card" : "Добави нова карта",
"Card name" : "Име на карта",
"List deleted" : "Списъкът е изтрит",
@@ -260,7 +258,6 @@
"Shared with you" : "Споделени с вас",
"Deck settings" : "Настройки на платформата",
"Use bigger card view" : "Използва по-голям изглед на картата",
"Show card ID badge" : "Показване на обозначение за самоличност на картата",
"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." : "Ограничаването на приложението Deck/набор/ ще блокира потребителите, които не са част от тези групи, да създават свои собствени табла. Потребителите все още ще могат да работят на таблата, които са споделени с тях.",
-3
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Nepodařilo se předat vlastnictví tabule uživateli {user}",
"Add a new list" : "Přidat nový sloupec",
"Archive all cards" : "Archivovat všechny karty",
"Unarchive all cards" : "Zrušit archivaci všech karet",
"Delete list" : "Smazat seznam",
"Archive all cards in this list" : "Archivovat všechny karty v tomto seznamu",
"Unarchive all cards in this list" : "Zrušit archivaci všech karet v tomto seznamu",
"Add a new card" : "Přidat novou kartu",
"Card name" : "Název karty",
"List deleted" : "Seznam smazán",
@@ -262,7 +260,6 @@ OC.L10N.register(
"Shared with you" : "Sdíleno s vámi",
"Deck settings" : "Nastavení pro Deck",
"Use bigger card view" : "Použít větší zobrazení karet",
"Show card ID badge" : "Zobrazit odznáček s identifikátorem karty",
"Show boards in calendar/tasks" : "Zobrazit tabule v kalendáři/úkolech",
"Limit deck usage of groups" : "Omezit využití deck na skupiny",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Omezení nastavené pro Deck brání uživatelům, kteří nejsou součástí těchto skupin, ve vytváření vlastních tabulí. Nicméně i tak ale pořád budou moci pracovat na tabulích, které jsou jim nasdíleny.",
-3
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "Nepodařilo se předat vlastnictví tabule uživateli {user}",
"Add a new list" : "Přidat nový sloupec",
"Archive all cards" : "Archivovat všechny karty",
"Unarchive all cards" : "Zrušit archivaci všech karet",
"Delete list" : "Smazat seznam",
"Archive all cards in this list" : "Archivovat všechny karty v tomto seznamu",
"Unarchive all cards in this list" : "Zrušit archivaci všech karet v tomto seznamu",
"Add a new card" : "Přidat novou kartu",
"Card name" : "Název karty",
"List deleted" : "Seznam smazán",
@@ -260,7 +258,6 @@
"Shared with you" : "Sdíleno s vámi",
"Deck settings" : "Nastavení pro Deck",
"Use bigger card view" : "Použít větší zobrazení karet",
"Show card ID badge" : "Zobrazit odznáček s identifikátorem karty",
"Show boards in calendar/tasks" : "Zobrazit tabule v kalendáři/úkolech",
"Limit deck usage of groups" : "Omezit využití deck na skupiny",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Omezení nastavené pro Deck brání uživatelům, kteří nejsou součástí těchto skupin, ve vytváření vlastních tabulí. Nicméně i tak ale pořád budou moci pracovat na tabulích, které jsou jim nasdíleny.",
+3 -5
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Das Board konnte nicht an {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -215,10 +213,10 @@ OC.L10N.register(
"The title cannot be empty." : "Der Titel darf nicht leer sein.",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginne die Diskussion!",
"Failed to load comments" : "Das Laden der Kommentare ist fehlgeschlagen",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen …",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen…",
"Assign to users" : "Benutzern zuweisen",
"Assign to users/groups/circles" : "An Benutzer, Gruppen oder Kreise zuweisen",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen …",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen…",
"Due date" : "Fälligkeitsdatum",
"Set a due date" : "Ein Ablaufdatum setzen",
"Remove due date" : "Fälligkeitsdatum löschen",
@@ -237,7 +235,7 @@ OC.L10N.register(
"Description" : "Beschreibung",
"(Unsaved)" : "(nicht gespeichert)",
"(Saving…)" : "(Speichere…)",
"Formatting help" : "Hilfe zur Formatierung",
"Formatting help" : "Formatierungshilfe",
"Edit description" : "Beschreibung bearbeiten",
"View description" : "Beschreibung anzeigen",
"Add Attachment" : "Anhang anhängen",
+3 -5
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "Das Board konnte nicht an {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -213,10 +211,10 @@
"The title cannot be empty." : "Der Titel darf nicht leer sein.",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginne die Diskussion!",
"Failed to load comments" : "Das Laden der Kommentare ist fehlgeschlagen",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen …",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen…",
"Assign to users" : "Benutzern zuweisen",
"Assign to users/groups/circles" : "An Benutzer, Gruppen oder Kreise zuweisen",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen …",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen…",
"Due date" : "Fälligkeitsdatum",
"Set a due date" : "Ein Ablaufdatum setzen",
"Remove due date" : "Fälligkeitsdatum löschen",
@@ -235,7 +233,7 @@
"Description" : "Beschreibung",
"(Unsaved)" : "(nicht gespeichert)",
"(Saving…)" : "(Speichere…)",
"Formatting help" : "Hilfe zur Formatierung",
"Formatting help" : "Formatierungshilfe",
"Edit description" : "Beschreibung bearbeiten",
"View description" : "Beschreibung anzeigen",
"Add Attachment" : "Anhang anhängen",
-3
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Das Board konnte nicht auf {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten in dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -262,7 +260,6 @@ OC.L10N.register(
"Shared with you" : "Mit Ihnen geteilt",
"Deck settings" : "Deck-Einstellungen",
"Use bigger card view" : "Größere Kartenansicht verwenden",
"Show card ID badge" : "Abzeichen mit Karten-ID zeigen",
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung auf Gruppen einschränken",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Wenn Sie Deck einschränken, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
-3
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "Das Board konnte nicht auf {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten in dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -260,7 +258,6 @@
"Shared with you" : "Mit Ihnen geteilt",
"Deck settings" : "Deck-Einstellungen",
"Use bigger card view" : "Größere Kartenansicht verwenden",
"Show card ID badge" : "Abzeichen mit Karten-ID zeigen",
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung auf Gruppen einschränken",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Wenn Sie Deck einschränken, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
-3
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Failed to transfer the board to {user}",
"Add a new list" : "Añadir una lista nueva",
"Archive all cards" : "Archivar todas las tarjetas",
"Unarchive all cards" : "Desarchivar todas las tarjetas",
"Delete list" : "Eliminar lista",
"Archive all cards in this list" : "Archivar todas las tarjetas en esta lista",
"Unarchive all cards in this list" : "Desarchivar todas las tarjetas en esta lista",
"Add a new card" : "Añadir una nueva tarjeta",
"Card name" : "Nombre de la tarjeta",
"List deleted" : "Lista borrada",
@@ -262,7 +260,6 @@ OC.L10N.register(
"Shared with you" : "Compartido contigo",
"Deck settings" : "Configuración del tablero",
"Use bigger card view" : "Usar vista de tarjeta mayor",
"Show card ID badge" : "Mostrar insignia de la ID de tarjeta",
"Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
"Limit deck usage of groups" : "Limitar el uso de Deck a grupos",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitar Deck impedirá que usuarios que no formen parte de esos grupos creen sus propios tableros. Los usuarios todavía podrán trabajar en tableros que hayan sido compartidos con ellos.",
-3
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "Failed to transfer the board to {user}",
"Add a new list" : "Añadir una lista nueva",
"Archive all cards" : "Archivar todas las tarjetas",
"Unarchive all cards" : "Desarchivar todas las tarjetas",
"Delete list" : "Eliminar lista",
"Archive all cards in this list" : "Archivar todas las tarjetas en esta lista",
"Unarchive all cards in this list" : "Desarchivar todas las tarjetas en esta lista",
"Add a new card" : "Añadir una nueva tarjeta",
"Card name" : "Nombre de la tarjeta",
"List deleted" : "Lista borrada",
@@ -260,7 +258,6 @@
"Shared with you" : "Compartido contigo",
"Deck settings" : "Configuración del tablero",
"Use bigger card view" : "Usar vista de tarjeta mayor",
"Show card ID badge" : "Mostrar insignia de la ID de tarjeta",
"Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
"Limit deck usage of groups" : "Limitar el uso de Deck a grupos",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitar Deck impedirá que usuarios que no formen parte de esos grupos creen sus propios tableros. Los usuarios todavía podrán trabajar en tableros que hayan sido compartidos con ellos.",
-3
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Échec du transfert du tableau à {user}",
"Add a new list" : "Ajouter une nouvelle liste",
"Archive all cards" : "Archiver toutes les cartes",
"Unarchive all cards" : "Désarchiver toutes les cartes",
"Delete list" : "Supprimer la liste",
"Archive all cards in this list" : "Archiver toutes les cartes de cette liste",
"Unarchive all cards in this list" : "Désarchiver toutes les cartes de cette liste",
"Add a new card" : "Ajouter une nouvelle carte",
"Card name" : "Nom de la carte",
"List deleted" : "Liste supprimée",
@@ -262,7 +260,6 @@ OC.L10N.register(
"Shared with you" : "Partagés avec vous",
"Deck settings" : "Paramètres de Deck",
"Use bigger card view" : "Utiliser la vue large des cartes",
"Show card ID badge" : "Afficher la carte d'identité du badge",
"Show boards in calendar/tasks" : "Afficher les tableaux dans les agendas/tâches",
"Limit deck usage of groups" : "Limiter l'utilisation du tableau aux groupes",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limiter Deck empêchera les utilisateurs ne faisant pas partie de ces groupes de créer leurs propres tableaux. Ces utilisateurs pourront toujours travailler sur les tableaux qui ont été partagés avec eux.",
-3
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "Échec du transfert du tableau à {user}",
"Add a new list" : "Ajouter une nouvelle liste",
"Archive all cards" : "Archiver toutes les cartes",
"Unarchive all cards" : "Désarchiver toutes les cartes",
"Delete list" : "Supprimer la liste",
"Archive all cards in this list" : "Archiver toutes les cartes de cette liste",
"Unarchive all cards in this list" : "Désarchiver toutes les cartes de cette liste",
"Add a new card" : "Ajouter une nouvelle carte",
"Card name" : "Nom de la carte",
"List deleted" : "Liste supprimée",
@@ -260,7 +258,6 @@
"Shared with you" : "Partagés avec vous",
"Deck settings" : "Paramètres de Deck",
"Use bigger card view" : "Utiliser la vue large des cartes",
"Show card ID badge" : "Afficher la carte d'identité du badge",
"Show boards in calendar/tasks" : "Afficher les tableaux dans les agendas/tâches",
"Limit deck usage of groups" : "Limiter l'utilisation du tableau aux groupes",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limiter Deck empêchera les utilisateurs ne faisant pas partie de ces groupes de créer leurs propres tableaux. Ces utilisateurs pourront toujours travailler sur les tableaux qui ont été partagés avec eux.",
-4
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "A tábla átadása {user} számára sikertelen",
"Add a new list" : "Új lista hozzáadása",
"Archive all cards" : "Az összes kártya archiválása",
"Unarchive all cards" : "Az összes kártya archiválásának visszavonása",
"Delete list" : "Lista törlése",
"Archive all cards in this list" : "Az összes kártya archiválása ebben a listában",
"Unarchive all cards in this list" : "Az összes kártya archiválásának visszavonása ebben a listában",
"Add a new card" : "Új kártya hozzáadása",
"Card name" : "Kártya neve",
"List deleted" : "Lista törölve",
@@ -262,7 +260,6 @@ OC.L10N.register(
"Shared with you" : "Megosztva Önnel",
"Deck settings" : "Kártyák beállításai",
"Use bigger card view" : "Nagyobb kártyanézet használata",
"Show card ID badge" : "Kártyaazonosító jelvény megjelenítése",
"Show boards in calendar/tasks" : "Táblák megjelenítése a naptárak/teendők között",
"Limit deck usage of groups" : "A kártyák használatának csoportokra korlátozása",
"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." : "A Kártyák korlátozása blokkolja a saját táblák létrehozását azoknál a felhasználóknál, akik nem tagjai a megadott csoportoknak. A felhasználók továbbra is tudnak dolgozni a velük megosztott táblákon.",
@@ -289,7 +286,6 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Keresés a(z) {searchQuery} kifejezésre az összes táblában",
"No results found" : "Nincs találat",
"{stack} in {board}" : "{stack} itt: {board}",
"Click to expand description" : "Kattintson a leírás kibontásához",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Létrehozva: {created}\n* Utoljára módosítva: {lastMod}\n* {nbAttachments} melléklet\n* {nbComments} megjegyzés",
"{nbCards} cards" : "{nbCards} kártya",
"No upcoming cards" : "Nincsenek közelgő kártyák",
-4
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "A tábla átadása {user} számára sikertelen",
"Add a new list" : "Új lista hozzáadása",
"Archive all cards" : "Az összes kártya archiválása",
"Unarchive all cards" : "Az összes kártya archiválásának visszavonása",
"Delete list" : "Lista törlése",
"Archive all cards in this list" : "Az összes kártya archiválása ebben a listában",
"Unarchive all cards in this list" : "Az összes kártya archiválásának visszavonása ebben a listában",
"Add a new card" : "Új kártya hozzáadása",
"Card name" : "Kártya neve",
"List deleted" : "Lista törölve",
@@ -260,7 +258,6 @@
"Shared with you" : "Megosztva Önnel",
"Deck settings" : "Kártyák beállításai",
"Use bigger card view" : "Nagyobb kártyanézet használata",
"Show card ID badge" : "Kártyaazonosító jelvény megjelenítése",
"Show boards in calendar/tasks" : "Táblák megjelenítése a naptárak/teendők között",
"Limit deck usage of groups" : "A kártyák használatának csoportokra korlátozása",
"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." : "A Kártyák korlátozása blokkolja a saját táblák létrehozását azoknál a felhasználóknál, akik nem tagjai a megadott csoportoknak. A felhasználók továbbra is tudnak dolgozni a velük megosztott táblákon.",
@@ -287,7 +284,6 @@
"Search for {searchQuery} in all boards" : "Keresés a(z) {searchQuery} kifejezésre az összes táblában",
"No results found" : "Nincs találat",
"{stack} in {board}" : "{stack} itt: {board}",
"Click to expand description" : "Kattintson a leírás kibontásához",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Létrehozva: {created}\n* Utoljára módosítva: {lastMod}\n* {nbAttachments} melléklet\n* {nbComments} megjegyzés",
"{nbCards} cards" : "{nbCards} kártya",
"No upcoming cards" : "Nincsenek közelgő kártyák",
+5 -7
View File
@@ -70,7 +70,6 @@ OC.L10N.register(
"Personal" : "Asmeniniai",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortelę \"%s\" ties \"%s\" priskyrė jums %s.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortelė „%s“, esanti lentoje „%s“, pasiekė savo galutinį terminą.",
"The card {deck-card} on {deck-board} has reached its due date." : "Kortelė {deck-card}, esanti lentoje {deck-board} pasiekė savo galutinio termino datą.",
"%s has mentioned you in a comment on \"%s\"." : "%s paminėjo jus komentare ties \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Lentą \"%s\" su jumis bendrina %s.",
"%s on %s" : "%s ant %s",
@@ -201,9 +200,9 @@ OC.L10N.register(
"Assign to users" : "Priskirti naudotojams",
"Assign to users/groups/circles" : "Priskirti naudotojams/grupėms/ratams",
"Assign a user to this card…" : "Priskirti šiai kortelei naudotoją…",
"Due date" : "Galutinio termino data",
"Due date" : "Terminas",
"Set a due date" : "Nustatyti galutinį terminą",
"Remove due date" : "Šalinti galutinio termino datą",
"Remove due date" : "Pašalinti terminą",
"Select Date" : "Pasirinkti datą",
"Today" : "Šiandien",
"Tomorrow" : "Rytoj",
@@ -244,9 +243,9 @@ OC.L10N.register(
"Clone board" : "Dubliuoti lentą",
"Unarchive board" : "Išarchyvuoti lentą",
"Archive board" : "Archyvuoti lentą",
"Turn on due date reminders" : "Įjungti priminimus apie galutinio termino datą",
"Turn off due date reminders" : "Išjungti priminimus apie galutinio termino datą",
"Due date reminders" : "Priminimai apie galutinio termino datą",
"Turn on due date reminders" : "Įjungti priminimus apie galutinį terminą",
"Turn off due date reminders" : "Išjungti priminimus apie galutinį terminą",
"Due date reminders" : "Priminimai apie galutinį terminą",
"All cards" : "Visos kortelės",
"Assigned cards" : "Priskirtos kortelės",
"No notifications" : "Pranešimų nėra",
@@ -258,7 +257,6 @@ OC.L10N.register(
"Delete the board?" : "Ištrinti lentą?",
"No due" : "Be galutinio termino",
"No results found" : "Nerasta jokių rezultatų",
"Due on {date}" : "Galutinis terminas {date}",
"Link to a board" : "Susieti su lenta",
"Link to a card" : "Susieti su kortele",
"Create a card" : "Sukurti kortelę",
+5 -7
View File
@@ -68,7 +68,6 @@
"Personal" : "Asmeniniai",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortelę \"%s\" ties \"%s\" priskyrė jums %s.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortelė „%s“, esanti lentoje „%s“, pasiekė savo galutinį terminą.",
"The card {deck-card} on {deck-board} has reached its due date." : "Kortelė {deck-card}, esanti lentoje {deck-board} pasiekė savo galutinio termino datą.",
"%s has mentioned you in a comment on \"%s\"." : "%s paminėjo jus komentare ties \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Lentą \"%s\" su jumis bendrina %s.",
"%s on %s" : "%s ant %s",
@@ -199,9 +198,9 @@
"Assign to users" : "Priskirti naudotojams",
"Assign to users/groups/circles" : "Priskirti naudotojams/grupėms/ratams",
"Assign a user to this card…" : "Priskirti šiai kortelei naudotoją…",
"Due date" : "Galutinio termino data",
"Due date" : "Terminas",
"Set a due date" : "Nustatyti galutinį terminą",
"Remove due date" : "Šalinti galutinio termino datą",
"Remove due date" : "Pašalinti terminą",
"Select Date" : "Pasirinkti datą",
"Today" : "Šiandien",
"Tomorrow" : "Rytoj",
@@ -242,9 +241,9 @@
"Clone board" : "Dubliuoti lentą",
"Unarchive board" : "Išarchyvuoti lentą",
"Archive board" : "Archyvuoti lentą",
"Turn on due date reminders" : "Įjungti priminimus apie galutinio termino datą",
"Turn off due date reminders" : "Išjungti priminimus apie galutinio termino datą",
"Due date reminders" : "Priminimai apie galutinio termino datą",
"Turn on due date reminders" : "Įjungti priminimus apie galutinį terminą",
"Turn off due date reminders" : "Išjungti priminimus apie galutinį terminą",
"Due date reminders" : "Priminimai apie galutinį terminą",
"All cards" : "Visos kortelės",
"Assigned cards" : "Priskirtos kortelės",
"No notifications" : "Pranešimų nėra",
@@ -256,7 +255,6 @@
"Delete the board?" : "Ištrinti lentą?",
"No due" : "Be galutinio termino",
"No results found" : "Nerasta jokių rezultatų",
"Due on {date}" : "Galutinis terminas {date}",
"Link to a board" : "Susieti su lenta",
"Link to a card" : "Susieti su kortele",
"Create a card" : "Sukurti kortelę",
-3
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Nie udało się przenieść tablicy do {user}",
"Add a new list" : "Dodaj nową listę",
"Archive all cards" : "Zarchiwizuj wszystkie karty",
"Unarchive all cards" : "Przywróć wszystkie karty z archiwum",
"Delete list" : "Usuń listę",
"Archive all cards in this list" : "Zarchiwizuj wszystkie karty na tej liście",
"Unarchive all cards in this list" : "Cofnij archiwizację wszystkich kart z tej listy",
"Add a new card" : "Dodaj nową kartę",
"Card name" : "Nazwa karty",
"List deleted" : "Lista usunięta",
@@ -262,7 +260,6 @@ OC.L10N.register(
"Shared with you" : "Udostępnione Tobie",
"Deck settings" : "Ustawienia Tablicy",
"Use bigger card view" : "Użyj większego widoku karty",
"Show card ID badge" : "Pokaż ID karty",
"Show boards in calendar/tasks" : "Pokaż tablice w kalendarzu/zadaniach",
"Limit deck usage of groups" : "Ogranicz użycie tablic dla grup",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ograniczenie Tablicy zablokuje użytkownikom z tych grup możliwość tworzenia własnych tablic. Użytkownicy nadal będą mogli pracować na tablicach, które zostały im udostępnione.",
-3
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "Nie udało się przenieść tablicy do {user}",
"Add a new list" : "Dodaj nową listę",
"Archive all cards" : "Zarchiwizuj wszystkie karty",
"Unarchive all cards" : "Przywróć wszystkie karty z archiwum",
"Delete list" : "Usuń listę",
"Archive all cards in this list" : "Zarchiwizuj wszystkie karty na tej liście",
"Unarchive all cards in this list" : "Cofnij archiwizację wszystkich kart z tej listy",
"Add a new card" : "Dodaj nową kartę",
"Card name" : "Nazwa karty",
"List deleted" : "Lista usunięta",
@@ -260,7 +258,6 @@
"Shared with you" : "Udostępnione Tobie",
"Deck settings" : "Ustawienia Tablicy",
"Use bigger card view" : "Użyj większego widoku karty",
"Show card ID badge" : "Pokaż ID karty",
"Show boards in calendar/tasks" : "Pokaż tablice w kalendarzu/zadaniach",
"Limit deck usage of groups" : "Ogranicz użycie tablic dla grup",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ograniczenie Tablicy zablokuje użytkownikom z tych grup możliwość tworzenia własnych tablic. Użytkownicy nadal będą mogli pracować na tablicach, które zostały im udostępnione.",
-3
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Chyba pri presune nástenky na {user}",
"Add a new list" : "Pridať nový zoznam",
"Archive all cards" : "Archivovať všetky karty",
"Unarchive all cards" : "Zrušiť archiváciu všetkých kariet",
"Delete list" : "Vymazať zoznam",
"Archive all cards in this list" : "Archivovať všetky karty v tomto zozname",
"Unarchive all cards in this list" : "Zrušiť archiváciu všetkých kariet v tomto zozname",
"Add a new card" : "Pridať novú kartu",
"Card name" : "Názov karty",
"List deleted" : "Zoznam bol vymazaný",
@@ -262,7 +260,6 @@ OC.L10N.register(
"Shared with you" : "Vám sprístupnené",
"Deck settings" : "Nastavenia paluby",
"Use bigger card view" : "Použiť väčšie zobrazenie karty",
"Show card ID badge" : "Ukázať ID karty",
"Show boards in calendar/tasks" : "Zobrazovať nástenky v kalendári/úlohách",
"Limit deck usage of groups" : "Obmedziť použitie Deck na skupiny",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Obmedzenie Násteniek bráni používateľom, ktorí nie sú súčasťou týchto skupín, aby si vytvárali vlastné nástenky. Môžu však stále pracovať na nástenkách, ktoré im niekto sprístupní.",
-3
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "Chyba pri presune nástenky na {user}",
"Add a new list" : "Pridať nový zoznam",
"Archive all cards" : "Archivovať všetky karty",
"Unarchive all cards" : "Zrušiť archiváciu všetkých kariet",
"Delete list" : "Vymazať zoznam",
"Archive all cards in this list" : "Archivovať všetky karty v tomto zozname",
"Unarchive all cards in this list" : "Zrušiť archiváciu všetkých kariet v tomto zozname",
"Add a new card" : "Pridať novú kartu",
"Card name" : "Názov karty",
"List deleted" : "Zoznam bol vymazaný",
@@ -260,7 +258,6 @@
"Shared with you" : "Vám sprístupnené",
"Deck settings" : "Nastavenia paluby",
"Use bigger card view" : "Použiť väčšie zobrazenie karty",
"Show card ID badge" : "Ukázať ID karty",
"Show boards in calendar/tasks" : "Zobrazovať nástenky v kalendári/úlohách",
"Limit deck usage of groups" : "Obmedziť použitie Deck na skupiny",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Obmedzenie Násteniek bráni používateľom, ktorí nie sú súčasťou týchto skupín, aby si vytvárali vlastné nástenky. Môžu však stále pracovať na nástenkách, ktoré im niekto sprístupní.",
+1 -22
View File
@@ -136,7 +136,6 @@ OC.L10N.register(
"Archived cards" : "Arkiverade kort",
"Add list" : "Lägg till lista...",
"List name" : "Namn på lista",
"Active filters" : "Aktiva filter",
"Apply filter" : "Tillämpa filter",
"Filter by tag" : "Filtrera efter tagg",
"Filter by assigned user" : "Filtrera efter tilldelad användare",
@@ -176,17 +175,11 @@ OC.L10N.register(
"Owner" : "Ägare",
"Delete" : "Ta bort",
"Failed to create share with {displayName}" : "Kunde inte skapa delning med {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Är du säker att du vill överföra tavlan {title} till {user}?",
"Transfer the board." : "Överför tavlan.",
"Transfer" : "Överför",
"The board has been transferred to {user}" : "Tavlan har överförts till {user}",
"Failed to transfer the board to {user}" : "Kunde inte överföra tavlan till {user}",
"Add a new list" : "Lägg till en ny lista",
"Archive all cards" : "Arkivera alla kort",
"Unarchive all cards" : "Ta ut alla kort ur arkivet",
"Delete list" : "Ta bort lista",
"Archive all cards in this list" : "Arkivera alla kort i denna lista",
"Unarchive all cards in this list" : "Ta ut alla kort i denna lista ur arkivet",
"Add a new card" : "Lägg till ett nytt kort",
"Card name" : "Kortets namn",
"List deleted" : "Listan har raderats",
@@ -244,9 +237,7 @@ OC.L10N.register(
"Write a description …" : "Ange en beskrivning ...",
"Choose attachment" : "Välj bilaga",
"(group)" : " (grupp)",
"Todo items" : "Todo saker",
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} olästa",
"Edit card title" : "Ändra korttitel",
"Assign to me" : "Tilldela till mig",
"Unassign myself" : "Ta bort från mig själv",
"Move card" : "Flytta kort",
@@ -260,9 +251,7 @@ OC.L10N.register(
"All boards" : "Alla tavlor",
"Archived boards" : "Arkiverade tavlor",
"Shared with you" : "Delad med dig",
"Deck settings" : "Deck-inställningar",
"Use bigger card view" : "Visa större kort",
"Show card ID badge" : "Visa kortets ID-märke",
"Show boards in calendar/tasks" : "Visa tavlor i kalender / uppgifter",
"Limit deck usage of groups" : "Begränsa användningen av grupper",
"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." : "Begränsning av Deck blockerar användare som inte ingår i dessa grupper från att skapa egna tavlor. Användare kan dock fortfarande integrera med tavlor som har delats med dem.",
@@ -282,19 +271,13 @@ OC.L10N.register(
"Only assigned cards" : "Bara tilldelade kort",
"No reminder" : "Ingen påminnelse",
"An error occurred" : "Ett fel uppstod",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Är du säker på att du vill radera brädet {title}? Detta kommer radera all data som tillhör brädet inklusive arkiverade kort.",
"Delete the board?" : "Ta bort tavlan?",
"Loading filtered view" : "Laddar filtrerad vy",
"No due" : "Inget slut",
"Search for {searchQuery} in all boards" : "Sök efter {searchQuery} i alla tavlor",
"No results found" : "Inga resultat funna",
"{stack} in {board}" : "{stack} i {board}",
"Click to expand description" : "Klicka för att utöka beskrivningen",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Skapades {created}\n* Ändrades senast {lastMod}\n* {nbAttachments} bilagor\n* {nbComments} kommentarer",
"{nbCards} cards" : "{nbCards} kort",
"No upcoming cards" : "Inga kommande kort",
"upcoming cards" : "kommande kort",
"Due on {date}" : "Går ut {date}",
"Link to a board" : "Länka till en tavla",
"Link to a card" : "Länka till ett kort",
"Create a card" : "Skapa ett kort",
@@ -307,11 +290,7 @@ OC.L10N.register(
"Share {file} with a Deck card" : "Dela {file} med ett Deck-kort",
"Share" : "Dela",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!",
"Are you sure you want to transfer the board {title} for {user} ?" : "Är du säker på att du vill överföra brädet {title} för {user}?",
"Transfer the board for {user} successfully" : "Överförde brädet för {user}",
"Failed to transfer the board for {user}" : "Misslyckades med att överföra brädet för {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla.",
"This week" : "Denna vecka",
"Are you sure you want to transfer the board {title} for {user}?" : "Är du säker på att du vill överföra brädet {title} för {user}?"
"This week" : "Denna vecka"
},
"nplurals=2; plural=(n != 1);");
+1 -22
View File
@@ -134,7 +134,6 @@
"Archived cards" : "Arkiverade kort",
"Add list" : "Lägg till lista...",
"List name" : "Namn på lista",
"Active filters" : "Aktiva filter",
"Apply filter" : "Tillämpa filter",
"Filter by tag" : "Filtrera efter tagg",
"Filter by assigned user" : "Filtrera efter tilldelad användare",
@@ -174,17 +173,11 @@
"Owner" : "Ägare",
"Delete" : "Ta bort",
"Failed to create share with {displayName}" : "Kunde inte skapa delning med {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Är du säker att du vill överföra tavlan {title} till {user}?",
"Transfer the board." : "Överför tavlan.",
"Transfer" : "Överför",
"The board has been transferred to {user}" : "Tavlan har överförts till {user}",
"Failed to transfer the board to {user}" : "Kunde inte överföra tavlan till {user}",
"Add a new list" : "Lägg till en ny lista",
"Archive all cards" : "Arkivera alla kort",
"Unarchive all cards" : "Ta ut alla kort ur arkivet",
"Delete list" : "Ta bort lista",
"Archive all cards in this list" : "Arkivera alla kort i denna lista",
"Unarchive all cards in this list" : "Ta ut alla kort i denna lista ur arkivet",
"Add a new card" : "Lägg till ett nytt kort",
"Card name" : "Kortets namn",
"List deleted" : "Listan har raderats",
@@ -242,9 +235,7 @@
"Write a description …" : "Ange en beskrivning ...",
"Choose attachment" : "Välj bilaga",
"(group)" : " (grupp)",
"Todo items" : "Todo saker",
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} olästa",
"Edit card title" : "Ändra korttitel",
"Assign to me" : "Tilldela till mig",
"Unassign myself" : "Ta bort från mig själv",
"Move card" : "Flytta kort",
@@ -258,9 +249,7 @@
"All boards" : "Alla tavlor",
"Archived boards" : "Arkiverade tavlor",
"Shared with you" : "Delad med dig",
"Deck settings" : "Deck-inställningar",
"Use bigger card view" : "Visa större kort",
"Show card ID badge" : "Visa kortets ID-märke",
"Show boards in calendar/tasks" : "Visa tavlor i kalender / uppgifter",
"Limit deck usage of groups" : "Begränsa användningen av grupper",
"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." : "Begränsning av Deck blockerar användare som inte ingår i dessa grupper från att skapa egna tavlor. Användare kan dock fortfarande integrera med tavlor som har delats med dem.",
@@ -280,19 +269,13 @@
"Only assigned cards" : "Bara tilldelade kort",
"No reminder" : "Ingen påminnelse",
"An error occurred" : "Ett fel uppstod",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Är du säker på att du vill radera brädet {title}? Detta kommer radera all data som tillhör brädet inklusive arkiverade kort.",
"Delete the board?" : "Ta bort tavlan?",
"Loading filtered view" : "Laddar filtrerad vy",
"No due" : "Inget slut",
"Search for {searchQuery} in all boards" : "Sök efter {searchQuery} i alla tavlor",
"No results found" : "Inga resultat funna",
"{stack} in {board}" : "{stack} i {board}",
"Click to expand description" : "Klicka för att utöka beskrivningen",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Skapades {created}\n* Ändrades senast {lastMod}\n* {nbAttachments} bilagor\n* {nbComments} kommentarer",
"{nbCards} cards" : "{nbCards} kort",
"No upcoming cards" : "Inga kommande kort",
"upcoming cards" : "kommande kort",
"Due on {date}" : "Går ut {date}",
"Link to a board" : "Länka till en tavla",
"Link to a card" : "Länka till ett kort",
"Create a card" : "Skapa ett kort",
@@ -305,11 +288,7 @@
"Share {file} with a Deck card" : "Dela {file} med ett Deck-kort",
"Share" : "Dela",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!",
"Are you sure you want to transfer the board {title} for {user} ?" : "Är du säker på att du vill överföra brädet {title} för {user}?",
"Transfer the board for {user} successfully" : "Överförde brädet för {user}",
"Failed to transfer the board for {user}" : "Misslyckades med att överföra brädet för {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla.",
"This week" : "Denna vecka",
"Are you sure you want to transfer the board {title} for {user}?" : "Är du säker på att du vill överföra brädet {title} för {user}?"
"This week" : "Denna vecka"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}
-3
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Pano {user} kullanıcısına aktarılamadı",
"Add a new list" : "Yeni liste ekle",
"Archive all cards" : "Tüm kartları arşivle",
"Unarchive all cards" : "Tüm kartları arşivden çıkar",
"Delete list" : "Listeyi sil",
"Archive all cards in this list" : "Bu listedeki tüm kartları arşivle",
"Unarchive all cards in this list" : "Bu listedeki tüm kartları arşivden çıkar",
"Add a new card" : "Yeni kart ekle",
"Card name" : "Kart adı",
"List deleted" : "Liste silindi",
@@ -262,7 +260,6 @@ OC.L10N.register(
"Shared with you" : "Sizinle paylaşıldı",
"Deck settings" : "Tahta ayarları",
"Use bigger card view" : "Daha büyük kart görünümü kullanılsın",
"Show card ID badge" : "Kart kodu etiketi görüntülensin",
"Show boards in calendar/tasks" : "Takvimler ve görevlerde panolar görüntülensin",
"Limit deck usage of groups" : "Tahtayı şu gruplar kullanabilsin",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Tahta kullanımı gruplar ile sınırlandığında belirtilen grupların üyesi olmayan kişiler kendi tahtalarını oluşturamaz. Bu kullanıcılar ancak kendileri ile paylaşılan tahtalar üzerinde çalışabilir.",
-3
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "Pano {user} kullanıcısına aktarılamadı",
"Add a new list" : "Yeni liste ekle",
"Archive all cards" : "Tüm kartları arşivle",
"Unarchive all cards" : "Tüm kartları arşivden çıkar",
"Delete list" : "Listeyi sil",
"Archive all cards in this list" : "Bu listedeki tüm kartları arşivle",
"Unarchive all cards in this list" : "Bu listedeki tüm kartları arşivden çıkar",
"Add a new card" : "Yeni kart ekle",
"Card name" : "Kart adı",
"List deleted" : "Liste silindi",
@@ -260,7 +258,6 @@
"Shared with you" : "Sizinle paylaşıldı",
"Deck settings" : "Tahta ayarları",
"Use bigger card view" : "Daha büyük kart görünümü kullanılsın",
"Show card ID badge" : "Kart kodu etiketi görüntülensin",
"Show boards in calendar/tasks" : "Takvimler ve görevlerde panolar görüntülensin",
"Limit deck usage of groups" : "Tahtayı şu gruplar kullanabilsin",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Tahta kullanımı gruplar ile sınırlandığında belirtilen grupların üyesi olmayan kişiler kendi tahtalarını oluşturamaz. Bu kullanıcılar ancak kendileri ile paylaşılan tahtalar üzerinde çalışabilir.",
+2 -2
View File
@@ -11,7 +11,7 @@ OC.L10N.register(
"{user} has shared the board {board} with {acl}" : "{user} поділився дошкою {board} з {acl}",
"You have removed {acl} from the board {board}" : "Ви вилучили {acl} з дошки {board}",
"{user} has removed {acl} from the board {board}" : "{user} вилучив {acl} з дошки {board}",
"You have renamed the board {before} to {board}" : "Ви перейменували дошку з {before} на {board}",
"You have renamed the board {before} to {board}" : "Ви перейменували дошку з {before} у {board}",
"{user} has renamed the board {before} to {board}" : "{user} змінив назву дошки {before} на {board}",
"You have archived the board {board}" : "Ви заархівували дошку {board}",
"{user} has archived the board {before}" : "{user} заархівував дошку {before}",
@@ -190,7 +190,7 @@ OC.L10N.register(
"Something went wrong" : "От халепа!",
"Maximum file size of {size} exceeded" : "Досягнуто максимальний розмір файлу {size}",
"Error creating the share" : "Помилка створення спільного доступу",
"Share" : "Спільний доступ",
"Share" : "Поділитися",
"This week" : "Цього тижня"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
+2 -2
View File
@@ -9,7 +9,7 @@
"{user} has shared the board {board} with {acl}" : "{user} поділився дошкою {board} з {acl}",
"You have removed {acl} from the board {board}" : "Ви вилучили {acl} з дошки {board}",
"{user} has removed {acl} from the board {board}" : "{user} вилучив {acl} з дошки {board}",
"You have renamed the board {before} to {board}" : "Ви перейменували дошку з {before} на {board}",
"You have renamed the board {before} to {board}" : "Ви перейменували дошку з {before} у {board}",
"{user} has renamed the board {before} to {board}" : "{user} змінив назву дошки {before} на {board}",
"You have archived the board {board}" : "Ви заархівували дошку {board}",
"{user} has archived the board {before}" : "{user} заархівував дошку {before}",
@@ -188,7 +188,7 @@
"Something went wrong" : "От халепа!",
"Maximum file size of {size} exceeded" : "Досягнуто максимальний розмір файлу {size}",
"Error creating the share" : "Помилка створення спільного доступу",
"Share" : "Спільний доступ",
"Share" : "Поділитися",
"This week" : "Цього тижня"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
}
-3
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "未能將面板轉移給 {user}",
"Add a new list" : "添加一張新清單",
"Archive all cards" : "封存所有卡片",
"Unarchive all cards" : "解除封存所有卡片",
"Delete list" : "刪除清單",
"Archive all cards in this list" : "封存此清單內的所有卡片",
"Unarchive all cards in this list" : "解除封存所有此列表中的卡片",
"Add a new card" : "添加一張新卡片",
"Card name" : "卡片名稱",
"List deleted" : "清單已被刪除",
@@ -262,7 +260,6 @@ OC.L10N.register(
"Shared with you" : "收到的分享",
"Deck settings" : "看板設定",
"Use bigger card view" : "使用較大的卡片視圖",
"Show card ID badge" : "顯示卡片 ID 徽章",
"Show boards in calendar/tasks" : "在日曆/任務中顯示面板",
"Limit deck usage of groups" : "限制群組使用 Deck",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "限制 Deck 將阻止不屬於這些群組的用戶創建自己的面板。用戶仍然可以在與他們的面板上工作。",
-3
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "未能將面板轉移給 {user}",
"Add a new list" : "添加一張新清單",
"Archive all cards" : "封存所有卡片",
"Unarchive all cards" : "解除封存所有卡片",
"Delete list" : "刪除清單",
"Archive all cards in this list" : "封存此清單內的所有卡片",
"Unarchive all cards in this list" : "解除封存所有此列表中的卡片",
"Add a new card" : "添加一張新卡片",
"Card name" : "卡片名稱",
"List deleted" : "清單已被刪除",
@@ -260,7 +258,6 @@
"Shared with you" : "收到的分享",
"Deck settings" : "看板設定",
"Use bigger card view" : "使用較大的卡片視圖",
"Show card ID badge" : "顯示卡片 ID 徽章",
"Show boards in calendar/tasks" : "在日曆/任務中顯示面板",
"Limit deck usage of groups" : "限制群組使用 Deck",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "限制 Deck 將阻止不屬於這些群組的用戶創建自己的面板。用戶仍然可以在與他們的面板上工作。",
-3
View File
@@ -183,10 +183,8 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "轉移看板給 {user} 失敗",
"Add a new list" : "新增列表",
"Archive all cards" : "封存所有卡片",
"Unarchive all cards" : "解除封存所有卡片",
"Delete list" : "刪除列表",
"Archive all cards in this list" : "封存此列表中的所有卡片",
"Unarchive all cards in this list" : "解除封存所有此列表中的卡片",
"Add a new card" : "新增卡片",
"Card name" : "卡片名稱",
"List deleted" : "列表已刪除",
@@ -262,7 +260,6 @@ OC.L10N.register(
"Shared with you" : "與您分享",
"Deck settings" : "Deck 設定",
"Use bigger card view" : "使用較大的卡片檢視",
"Show card ID badge" : "顯示卡片 ID 徽章",
"Show boards in calendar/tasks" : "在日曆/工作項目中顯示佈告欄",
"Limit deck usage of groups" : "限制群組的 Deck 使用",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "限制 Deck 將會阻止不屬於這些群組的使用者建立自己的佈告欄。使用者仍然可以在與他們分享的佈告欄上工作。",
-3
View File
@@ -181,10 +181,8 @@
"Failed to transfer the board to {user}" : "轉移看板給 {user} 失敗",
"Add a new list" : "新增列表",
"Archive all cards" : "封存所有卡片",
"Unarchive all cards" : "解除封存所有卡片",
"Delete list" : "刪除列表",
"Archive all cards in this list" : "封存此列表中的所有卡片",
"Unarchive all cards in this list" : "解除封存所有此列表中的卡片",
"Add a new card" : "新增卡片",
"Card name" : "卡片名稱",
"List deleted" : "列表已刪除",
@@ -260,7 +258,6 @@
"Shared with you" : "與您分享",
"Deck settings" : "Deck 設定",
"Use bigger card view" : "使用較大的卡片檢視",
"Show card ID badge" : "顯示卡片 ID 徽章",
"Show boards in calendar/tasks" : "在日曆/工作項目中顯示佈告欄",
"Limit deck usage of groups" : "限制群組的 Deck 使用",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "限制 Deck 將會阻止不屬於這些群組的使用者建立自己的佈告欄。使用者仍然可以在與他們分享的佈告欄上工作。",
+22 -12
View File
@@ -45,7 +45,9 @@ use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\Comments\IComment;
use OCP\IUser;
use OCP\Server;
use OCP\L10N\IFactory;
use Psr\Log\LoggerInterface;
class ActivityManager {
public const DECK_NOAUTHOR_COMMENT_SYSTEM_ENFORCED = 'DECK_NOAUTHOR_COMMENT_SYSTEM_ENFORCED';
@@ -53,14 +55,14 @@ class ActivityManager {
public const SUBJECT_PARAMS_MAX_LENGTH = 4000;
public const SHORTENED_DESCRIPTION_MAX_LENGTH = 2000;
private $manager;
private $userId;
private $permissionService;
private $boardMapper;
private $cardMapper;
private $aclMapper;
private $stackMapper;
private $l10nFactory;
private IManager $manager;
private ?string $userId;
private PermissionService $permissionService;
private BoardMapper $boardMapper;
private CardMapper $cardMapper;
private AclMapper $aclMapper;
private StackMapper $stackMapper;
private IFactory $l10nFactory;
public const DECK_OBJECT_BOARD = 'deck_board';
public const DECK_OBJECT_CARD = 'deck_card';
@@ -114,7 +116,7 @@ class ActivityManager {
StackMapper $stackMapper,
AclMapper $aclMapper,
IFactory $l10nFactory,
$userId
?string $userId
) {
$this->manager = $manager;
$this->permissionService = $permissionsService;
@@ -310,10 +312,10 @@ class ActivityManager {
try {
$object = $this->findObjectForEntity($objectType, $entity);
} catch (DoesNotExistException $e) {
\OC::$server->getLogger()->error('Could not create activity entry for ' . $subject . '. Entity not found.', (array)$entity);
Server::get(LoggerInterface::class)->error('Could not create activity entry for ' . $subject . '. Entity not found.', (array)$entity);
return null;
} catch (MultipleObjectsReturnedException $e) {
\OC::$server->getLogger()->error('Could not create activity entry for ' . $subject . '. Entity not found.', (array)$entity);
Server::get(LoggerInterface::class)->error('Could not create activity entry for ' . $subject . '. Entity not found.', (array)$entity);
return null;
}
@@ -365,7 +367,15 @@ class ActivityManager {
case self::SUBJECT_CARD_USER_ASSIGN:
case self::SUBJECT_CARD_USER_UNASSIGN:
$subjectParams = $this->findDetailsForCard($entity->getId(), $subject);
break;
if (isset($additionalParams['after']) && $additionalParams['after'] instanceof \DateTimeInterface) {
$additionalParams['after'] = $additionalParams['after']->format('c');
}
if (isset($additionalParams['before']) && $additionalParams['before'] instanceof \DateTimeInterface) {
$additionalParams['before'] = $additionalParams['before']->format('c');
}
break;
case self::SUBJECT_ATTACHMENT_CREATE:
case self::SUBJECT_ATTACHMENT_UPDATE:
case self::SUBJECT_ATTACHMENT_DELETE:
+10 -3
View File
@@ -312,12 +312,19 @@ class DeckProvider implements IProvider {
$userLanguage = $this->config->getUserValue($event->getAuthor(), 'core', 'lang', $this->l10nFactory->findLanguage());
$userLocale = $this->config->getUserValue($event->getAuthor(), 'core', 'locale', $this->l10nFactory->findLocale());
$l10n = $this->l10nFactory->get('deck', $userLanguage, $userLocale);
$date = new \DateTime($subjectParams['after']);
$date->setTimezone(new \DateTimeZone(\date_default_timezone_get()));
if (is_array($subjectParams['after'])) {
// Unluckily there was a time when we stored jsonSerialized date objects in the database
// Broken in 1.8.0 and fixed again in 1.8.1
$date = new \DateTime($subjectParams['after']['date']);
$date->setTimezone(new \DateTimeZone(\date_default_timezone_get()));
} else {
$date = new \DateTime($subjectParams['after']);
$date->setTimezone(new \DateTimeZone(\date_default_timezone_get()));
}
$params['after'] = [
'type' => 'highlight',
'id' => 'dt:' . $subjectParams['after'],
'name' => $l10n->l('datetime', $date)
'name' => $l10n->l('datetime', $date),
];
}
return $params;
+36 -15
View File
@@ -47,6 +47,7 @@ use OCA\Deck\Listeners\FullTextSearchEventListener;
use OCA\Deck\Middleware\DefaultBoardMiddleware;
use OCA\Deck\Middleware\ExceptionMiddleware;
use OCA\Deck\Notification\Notifier;
use OCA\Deck\Reference\CardReferenceProvider;
use OCA\Deck\Search\CardCommentProvider;
use OCA\Deck\Search\DeckProvider;
use OCA\Deck\Service\PermissionService;
@@ -57,20 +58,22 @@ use OCP\AppFramework\Bootstrap\IBootContext;
use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent;
use OCP\Collaboration\Reference\RenderReferenceEvent;
use OCP\Collaboration\Resources\IProviderManager;
use OCP\Comments\CommentsEntityEvent;
use OCP\Comments\ICommentsManager;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Group\Events\GroupDeletedEvent;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IServerContainer;
use OCP\IUser;
use OCP\IRequest;
use OCP\Server;
use OCP\IUserManager;
use OCP\Notification\IManager as NotificationManager;
use OCP\Share\IManager;
use OCP\User\Events\UserDeletedEvent;
use OCP\Util;
use Psr\Container\ContainerInterface;
@@ -79,13 +82,16 @@ class Application extends App implements IBootstrap {
public const COMMENT_ENTITY_TYPE = 'deckCard';
/** @var IServerContainer */
private $server;
public function __construct(array $urlParams = []) {
parent::__construct(self::APP_ID, $urlParams);
$this->server = \OC::$server;
// TODO move this back to ::register after fixing the autoload issue
// (and use a listener class)
$container = $this->getContainer();
$eventDispatcher = $container->get(IEventDispatcher::class);
$eventDispatcher->addListener(RenderReferenceEvent::class, function () {
Util::addScript(self::APP_ID, self::APP_ID . '-card-reference');
});
}
public function boot(IBootContext $context): void {
@@ -124,8 +130,12 @@ class Application extends App implements IBootstrap {
$context->registerSearchProvider(CardCommentProvider::class);
$context->registerDashboardWidget(DeckWidget::class);
// reference widget
$context->registerReferenceProvider(CardReferenceProvider::class);
// $context->registerEventListener(RenderReferenceEvent::class, CardReferenceListener::class);
$context->registerEventListener(BeforeTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class);
// Event listening for full text search indexing
$context->registerEventListener(CardCreatedEvent::class, FullTextSearchEventListener::class);
$context->registerEventListener(CardUpdatedEvent::class, FullTextSearchEventListener::class);
@@ -141,33 +151,43 @@ class Application extends App implements IBootstrap {
private function registerUserGroupHooks(IUserManager $userManager, IGroupManager $groupManager): void {
$container = $this->getContainer();
/** @var IEventDispatcher $eventDispatcher */
$eventDispatcher = $container->get(IEventDispatcher::class);
// Delete user/group acl entries when they get deleted
$userManager->listen('\OC\User', 'postDelete', static function (IUser $user) use ($container) {
$eventDispatcher->addListener(UserDeletedEvent::class, static function (Event $event) use ($container): void {
if (!($event instanceof UserDeletedEvent)) {
return;
}
$user = $event->getUser();
// delete existing acl entries for deleted user
/** @var AclMapper $aclMapper */
$aclMapper = $container->query(AclMapper::class);
$aclMapper = $container->get(AclMapper::class);
$acls = $aclMapper->findByParticipant(Acl::PERMISSION_TYPE_USER, $user->getUID());
foreach ($acls as $acl) {
$aclMapper->delete($acl);
}
// delete existing user assignments
$assignmentMapper = $container->query(AssignmentMapper::class);
$assignmentMapper = $container->get(AssignmentMapper::class);
$assignments = $assignmentMapper->findByParticipant($user->getUID());
foreach ($assignments as $assignment) {
$assignmentMapper->delete($assignment);
}
/** @var BoardMapper $boardMapper */
$boardMapper = $container->query(BoardMapper::class);
$boardMapper = $container->get(BoardMapper::class);
$boards = $boardMapper->findAllByOwner($user->getUID());
foreach ($boards as $board) {
$boardMapper->delete($board);
}
});
$groupManager->listen('\OC\Group', 'postDelete', static function (IGroup $group) use ($container) {
$eventDispatcher->addListener(GroupDeletedEvent::class, static function (Event $event) use ($container): void {
if (!($event instanceof GroupDeletedEvent)) {
return;
}
$group = $event->getGroup();
/** @var AclMapper $aclMapper */
$aclMapper = $container->query(AclMapper::class);
$aclMapper = $container->get(AclMapper::class);
$aclMapper->findByParticipant(Acl::PERMISSION_TYPE_GROUP, $group->getGID());
$acls = $aclMapper->findByParticipant(Acl::PERMISSION_TYPE_GROUP, $group->getGID());
foreach ($acls as $acl) {
@@ -181,6 +201,7 @@ class Application extends App implements IBootstrap {
$event->addEntityCollection(self::COMMENT_ENTITY_TYPE, function ($name) {
/** @var CardMapper */
$cardMapper = $this->getContainer()->get(CardMapper::class);
/** @var PermissionService $permissionService */
$permissionService = $this->getContainer()->get(PermissionService::class);
try {
@@ -203,7 +224,7 @@ class Application extends App implements IBootstrap {
$resourceManager->registerResourceProvider(ResourceProviderCard::class);
$symfonyAdapter->addListener('\OCP\Collaboration\Resources::loadAdditionalScripts', static function () {
if (strpos(\OC::$server->getRequest()->getPathInfo(), '/call/') === 0) {
if (strpos(Server::get(IRequest::class)->getPathInfo(), '/call/') === 0) {
// Talk integration has its own entrypoint which already includes collections handling
return;
}
@@ -32,20 +32,23 @@ use OCP\AppFramework\QueryException;
use OCP\Collaboration\Resources\IManager;
use OCP\Collaboration\Resources\IProvider;
use OCP\Collaboration\Resources\IResource;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\Server;
class ResourceProvider implements IProvider {
public const RESOURCE_TYPE = 'deck';
private $boardMapper;
private $permissionService;
private BoardMapper $boardMapper;
private PermissionService $permissionService;
private IURLGenerator $urlGenerator;
/** @var array */
protected $nodes = [];
protected array $nodes = [];
public function __construct(BoardMapper $boardMapper, PermissionService $permissionService) {
public function __construct(BoardMapper $boardMapper, PermissionService $permissionService, IURLGenerator $urlGenerator) {
$this->boardMapper = $boardMapper;
$this->permissionService = $permissionService;
$this->urlGenerator = $urlGenerator;
}
/**
@@ -70,14 +73,14 @@ class ResourceProvider implements IProvider {
*/
public function getResourceRichObject(IResource $resource): array {
$board = $this->getBoard($resource);
$link = \OC::$server->getURLGenerator()->linkToRoute('deck.page.index') . '#/board/' . $resource->getId();
$link = $this->urlGenerator->linkToRoute('deck.page.index') . '#/board/' . $resource->getId();
return [
'type' => self::RESOURCE_TYPE,
'id' => $resource->getId(),
'name' => $board->getTitle(),
'link' => $link,
'iconUrl' => \OC::$server->getURLGenerator()->imagePath('deck', 'deck-dark.svg')
'iconUrl' => $this->urlGenerator->imagePath('deck', 'deck-dark.svg')
];
}
@@ -118,7 +121,7 @@ class ResourceProvider implements IProvider {
public function invalidateAccessCache($boardId = null) {
try {
/** @var IManager $resourceManager */
$resourceManager = \OC::$server->query(IManager::class);
$resourceManager = Server::get(IManager::class);
} catch (QueryException $e) {
}
if ($boardId !== null) {
@@ -37,24 +37,16 @@ use OCP\Collaboration\Resources\IResource;
use OCP\Collaboration\Resources\ResourceException;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\Server;
class ResourceProviderCard implements IProvider {
public const RESOURCE_TYPE = 'deck-card';
/** @var CardMapper */
private $cardMapper;
/** @var BoardMapper */
private $boardMapper;
/** @var PermissionService */
private $permissionService;
/** @var IURLGenerator */
private $urlGenerator;
/** @var array */
protected $nodes = [];
private CardMapper $cardMapper;
private BoardMapper $boardMapper;
private PermissionService $permissionService;
private IURLGenerator $urlGenerator;
protected array $nodes = [];
public function __construct(CardMapper $cardMapper, BoardMapper $boardMapper, PermissionService $permissionService, IURLGenerator $urlGenerator) {
$this->cardMapper = $cardMapper;
@@ -147,7 +139,7 @@ class ResourceProviderCard implements IProvider {
public function invalidateAccessCache($cardId = null) {
try {
/** @var IManager $resourceManager */
$resourceManager = \OC::$server->query(IManager::class);
$resourceManager = Server::get(IManager::class);
} catch (QueryException $e) {
}
if ($cardId !== null) {
+1 -2
View File
@@ -30,8 +30,7 @@ use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
class BoardImport extends Command {
/** @var BoardImportCommandService */
private $boardImportCommandService;
private BoardImportCommandService $boardImportCommandService;
public function __construct(
BoardImportCommandService $boardImportCommandService
+4 -1
View File
@@ -27,6 +27,7 @@ use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\Service\BoardService;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
@@ -101,7 +102,9 @@ class UserExport extends Command {
$fullCard = $this->cardMapper->find($card->getId());
$assignedUsers = $this->assignedUsersMapper->findAll($card->getId());
$fullCard->setAssignedUsers($assignedUsers);
$data[$board->getId()]['stacks'][$stack->getId()]['cards'][] = (array)$fullCard->jsonSerialize();
$cardDetails = new CardDetails($fullCard, $fullBoard);
$data[$board->getId()]['stacks'][$stack->getId()]['cards'][] = $cardDetails->jsonSerialize();
}
}
}
+20 -11
View File
@@ -29,7 +29,9 @@ use OCA\Deck\Service\PermissionService;
use OCA\Files\Event\LoadSidebar;
use OCA\Viewer\Event\LoadViewer;
use OCP\AppFramework\Http\ContentSecurityPolicy;
use OCP\Collaboration\Resources\LoadAdditionalScriptsEvent as CollaborationResourcesEvent;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IInitialStateService;
use OCP\IRequest;
use OCP\AppFramework\Http\TemplateResponse;
@@ -41,16 +43,17 @@ use OCA\Deck\Db\Acl;
use OCA\Deck\Service\CardService;
class PageController extends Controller {
private $permissionService;
private $initialState;
private $configService;
private $eventDispatcher;
private $cardMapper;
private $urlGenerator;
private $cardService;
private PermissionService $permissionService;
private IInitialStateService $initialState;
private ConfigService $configService;
private IEventDispatcher $eventDispatcher;
private CardMapper $cardMapper;
private IURLGenerator $urlGenerator;
private CardService $cardService;
private IConfig $config;
public function __construct(
$AppName,
string $AppName,
IRequest $request,
PermissionService $permissionService,
IInitialStateService $initialStateService,
@@ -58,7 +61,8 @@ class PageController extends Controller {
IEventDispatcher $eventDispatcher,
CardMapper $cardMapper,
IURLGenerator $urlGenerator,
CardService $cardService
CardService $cardService,
IConfig $config
) {
parent::__construct($AppName, $request);
@@ -69,6 +73,7 @@ class PageController extends Controller {
$this->cardMapper = $cardMapper;
$this->urlGenerator = $urlGenerator;
$this->cardService = $cardService;
$this->config = $config;
}
/**
@@ -84,13 +89,17 @@ class PageController extends Controller {
$this->initialState->provideInitialState(Application::APP_ID, 'config', $this->configService->getAll());
$this->eventDispatcher->dispatchTyped(new LoadSidebar());
$this->eventDispatcher->dispatchTyped(new CollaborationResourcesEvent());
if (class_exists(LoadViewer::class)) {
$this->eventDispatcher->dispatchTyped(new LoadViewer());
}
$response = new TemplateResponse('deck', 'main');
$response = new TemplateResponse('deck', 'main', [
'id-app-content' => '#app-content-vue',
'id-app-navigation' => '#app-navigation-vue',
]);
if (\OC::$server->getConfig()->getSystemValueBool('debug', false)) {
if ($this->config->getSystemValueBool('debug', false)) {
$csp = new ContentSecurityPolicy();
$csp->addAllowedConnectDomain('*');
$csp->addAllowedScriptDomain('*');
+6 -2
View File
@@ -27,6 +27,7 @@ declare(strict_types=1);
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Card;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\Service\SearchService;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCSController;
@@ -50,9 +51,12 @@ class SearchController extends OCSController {
public function search(string $term, ?int $limit = null, ?int $cursor = null): DataResponse {
$cards = $this->searchService->searchCards($term, $limit, $cursor);
return new DataResponse(array_map(function (Card $card) {
$json = $card->jsonSerialize();
$board = $card->getRelatedBoard();
$json = (new CardDetails($card, $board))->jsonSerialize();
$json['relatedBoard'] = $board;
$json['relatedStack'] = $card->getRelatedStack();
$json['relatedBoard'] = $card->getRelatedBoard();
return $json;
}, $cards));
}
+97 -10
View File
@@ -26,18 +26,34 @@ declare(strict_types=1);
namespace OCA\Deck\Dashboard;
use OCP\Dashboard\IWidget;
use DateTime;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\Db\Label;
use OCA\Deck\Service\OverviewService;
use OCP\Dashboard\IAPIWidget;
use OCP\Dashboard\IButtonWidget;
use OCP\Dashboard\IIconWidget;
use OCP\Dashboard\Model\WidgetButton;
use OCP\Dashboard\Model\WidgetItem;
use OCP\IDateTimeFormatter;
use OCP\IL10N;
use OCP\IURLGenerator;
use OCP\Util;
class DeckWidget implements IWidget {
class DeckWidget implements IAPIWidget, IButtonWidget, IIconWidget {
private IL10N $l10n;
private OverviewService $dashboardService;
private IURLGenerator $urlGenerator;
private IDateTimeFormatter $dateTimeFormatter;
/**
* @var IL10N
*/
private $l10n;
public function __construct(IL10N $l10n) {
public function __construct(IL10N $l10n,
OverviewService $dashboardService,
IDateTimeFormatter $dateTimeFormatter,
IURLGenerator $urlGenerator) {
$this->l10n = $l10n;
$this->dashboardService = $dashboardService;
$this->urlGenerator = $urlGenerator;
$this->dateTimeFormatter = $dateTimeFormatter;
}
/**
@@ -68,17 +84,88 @@ class DeckWidget implements IWidget {
return 'icon-deck';
}
/**
* @inheritDoc
*/
public function getIconUrl(): string {
return $this->urlGenerator->getAbsoluteURL(
$this->urlGenerator->imagePath(Application::APP_ID, 'deck-dark.svg')
);
}
/**
* @inheritDoc
*/
public function getUrl(): ?string {
return null;
return $this->urlGenerator->getAbsoluteURL(
$this->urlGenerator->linkToRoute(Application::APP_ID . '.page.index')
);
}
/**
* @inheritDoc
*/
public function load(): void {
\OCP\Util::addScript('deck', 'deck-dashboard');
Util::addScript('deck', 'deck-dashboard');
}
/**
* @inheritDoc
*/
public function getItems(string $userId, ?string $since = null, int $limit = 7): array {
$upcomingCards = $this->dashboardService->findUpcomingCards($userId);
$nowTimestamp = (new Datetime())->getTimestamp();
$sinceTimestamp = $since !== null ? (new Datetime($since))->getTimestamp() : null;
$upcomingCards = array_filter($upcomingCards, static function (array $card) use ($nowTimestamp, $sinceTimestamp) {
if ($card['duedate']) {
$ts = (new Datetime($card['duedate']))->getTimestamp();
return $ts > $nowTimestamp && ($sinceTimestamp === null || $ts > $sinceTimestamp);
}
return false;
});
usort($upcomingCards, static function ($a, $b) {
$a = new Datetime($a['duedate']);
$ta = $a->getTimestamp();
$b = new Datetime($b['duedate']);
$tb = $b->getTimestamp();
return ($ta > $tb) ? 1 : -1;
});
$upcomingCards = array_slice($upcomingCards, 0, $limit);
$urlGenerator = $this->urlGenerator;
$dateTimeFormatter = $this->dateTimeFormatter;
return array_map(static function (array $card) use ($urlGenerator, $dateTimeFormatter) {
$formattedDueDate = $dateTimeFormatter->formatDateTime(new DateTime($card['duedate']));
return new WidgetItem(
$card['title'] . ' (' . $formattedDueDate . ')',
implode(
', ',
array_map(static function (Label $label) {
return $label->jsonSerialize()['title'];
}, $card['labels'])
),
$urlGenerator->getAbsoluteURL(
$urlGenerator->linkToRoute(Application::APP_ID . '.page.redirectToCard', ['cardId' => $card['id']])
),
$urlGenerator->getAbsoluteURL(
$urlGenerator->imagePath(Application::APP_ID, 'deck-dark.svg')
),
$card['duedate']
);
}, $upcomingCards);
}
/**
* @inheritDoc
*/
public function getWidgetButtons(string $userId): array {
return [
new WidgetButton(
WidgetButton::TYPE_MORE,
$this->urlGenerator->getAbsoluteURL(
$this->urlGenerator->linkToRoute(Application::APP_ID . '.page.index')
),
$this->l10n->t('Load more')
),
];
}
}
+49 -9
View File
@@ -33,18 +33,46 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
parent::__construct($db, 'deck_board_acl', Acl::class);
}
/**
* @param numeric $boardId
* @param int|null $limit
* @param int|null $offset
* @return Acl[]
* @throws \OCP\DB\Exception
*/
public function findAll($boardId, $limit = null, $offset = null) {
$sql = 'SELECT id, board_id, type, participant, permission_edit, permission_share, permission_manage FROM `*PREFIX*deck_board_acl` WHERE `board_id` = ? ';
return $this->findEntities($sql, [$boardId], $limit, $offset);
$qb = $this->db->getQueryBuilder();
$qb->select('id', 'board_id', 'type', 'participant', 'permission_edit', 'permission_share', 'permission_manage')
->from('deck_board_acl')
->where($qb->expr()->eq('board_id', $qb->createNamedParameter($boardId, IQueryBuilder::PARAM_INT)))
->setMaxResults($limit)
->setFirstResult($offset);
return $this->findEntities($qb);
}
public function isOwner($userId, $aclId): bool {
$sql = 'SELECT owner FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_board_acl` WHERE id = ?)';
$stmt = $this->execute($sql, [$aclId]);
$row = $stmt->fetch();
return ($row['owner'] === $userId);
/**
* @param numeric $userId
* @param numeric $id
* @return bool
* @throws \OCP\DB\Exception
*/
public function isOwner($userId, $id): bool {
$aclId = $id;
$qb = $this->db->getQueryBuilder();
$qb->select('acl.id')
->from($this->getTableName(), 'acl')
->innerJoin('acl', 'deck_boards', 'b', 'acl.board_id = b.id')
->where($qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)))
->andWhere($qb->expr()->eq('acl.id', $qb->createNamedParameter($aclId, IQueryBuilder::PARAM_INT)));
return count($qb->executeQuery()->fetchAll()) > 0;
}
/**
* @param numeric $id
* @return int|null
*/
public function findBoardId($id): ?int {
try {
$entity = $this->find($id);
@@ -54,9 +82,21 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
return null;
}
/**
* @param int $type
* @param string $participant
* @return Acl[]
* @throws \OCP\DB\Exception
*/
public function findByParticipant($type, $participant): array {
$sql = 'SELECT * from *PREFIX*deck_board_acl WHERE type = ? AND participant = ?';
return $this->findEntities($sql, [$type, $participant]);
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from($this->getTableName())
->where($qb->expr()->eq('type', $qb->createNamedParameter($type, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('participant', $qb->createNamedParameter($participant, IQueryBuilder::PARAM_STR)));
return $this->findEntities($qb);
}
/**
+2 -5
View File
@@ -55,9 +55,6 @@ class AssignmentMapper extends QBMapper implements IPermissionMapper {
$this->circleService = $circleService;
}
/**
* @return Assignment[]
*/
public function findAll(int $cardId): array {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
@@ -80,8 +77,8 @@ class AssignmentMapper extends QBMapper implements IPermissionMapper {
}
public function isOwner($userId, $cardId): bool {
return $this->cardMapper->isOwner($userId, $cardId);
public function isOwner($userId, $id): bool {
return $this->cardMapper->isOwner($userId, $id);
}
public function findBoardId($id): ?int {
+24 -48
View File
@@ -30,7 +30,6 @@ use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
use OCP\IUserManager;
use PDO;
class AttachmentMapper extends DeckMapper implements IPermissionMapper {
private $cardMapper;
@@ -52,70 +51,53 @@ class AttachmentMapper extends DeckMapper implements IPermissionMapper {
}
/**
* @param $id
* @return Entity|Attachment
* @throws \OCP\AppFramework\Db\DoesNotExistException
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
* @param int $id
* @return Attachment
* @throws DoesNotExistException
* @throws MultipleObjectsReturnedException
* @throws \OCP\DB\Exception
*/
public function find($id) {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from('deck_attachment')
->from($this->getTableName())
->where($qb->expr()->eq('id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT)));
$cursor = $qb->execute();
$row = $cursor->fetch(PDO::FETCH_ASSOC);
if ($row === false) {
$cursor->closeCursor();
throw new DoesNotExistException('Did expect one result but found none when executing query: ' . $qb->getSQL());
}
$row2 = $cursor->fetch();
$cursor->closeCursor();
if ($row2 !== false) {
throw new MultipleObjectsReturnedException('Did not expect more than one result when executing query: ' . $qb->getSQL());
}
return $this->mapRowToEntity($row);
return $this->findEntity($qb);
}
/**
* @param int $cardId
* @param string $data
* @return Attachment
* @throws DoesNotExistException
* @throws MultipleObjectsReturnedException
* @throws \OCP\DB\Exception
*/
public function findByData($cardId, $data) {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from('deck_attachment')
->from($this->getTableName())
->where($qb->expr()->eq('card_id', $qb->createNamedParameter($cardId, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('data', $qb->createNamedParameter($data, IQueryBuilder::PARAM_STR)));
$cursor = $qb->execute();
$row = $cursor->fetch(PDO::FETCH_ASSOC);
if ($row === false) {
$cursor->closeCursor();
throw new DoesNotExistException('Did expect one result but found none when executing query: ' . $qb->getSQL());
}
$cursor->closeCursor();
return $this->mapRowToEntity($row);
return $this->findEntity($qb);
}
/**
* Find all attachments for a card
*
* @param $cardId
* @return array
* @return Entity[]
* @throws \OCP\DB\Exception
*/
public function findAll($cardId) {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from('deck_attachment')
->from($this->getTableName())
->where($qb->expr()->eq('card_id', $qb->createNamedParameter($cardId, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
$entities = [];
$cursor = $qb->execute();
while ($row = $cursor->fetch()) {
$entities[] = $this->mapRowToEntity($row);
}
$cursor->closeCursor();
return $entities;
return $this->findEntities($qb);
}
/**
@@ -128,7 +110,7 @@ class AttachmentMapper extends DeckMapper implements IPermissionMapper {
$timeLimit = time() - (60 * 5);
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from('deck_attachment')
->from($this->getTableName())
->where($qb->expr()->gt('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
if ($withOffset) {
$qb
@@ -139,13 +121,7 @@ class AttachmentMapper extends DeckMapper implements IPermissionMapper {
->andWhere($qb->expr()->eq('card_id', $qb->createNamedParameter($cardId, IQueryBuilder::PARAM_INT)));
}
$entities = [];
$cursor = $qb->execute();
while ($row = $cursor->fetch()) {
$entities[] = $this->mapRowToEntity($row);
}
$cursor->closeCursor();
return $entities;
return $this->findEntities($qb);
}
+8
View File
@@ -23,6 +23,14 @@
namespace OCA\Deck\Db;
/**
* @method int getId()
* @method string getTitle()
* @method int getShared()
* @method bool getArchived()
* @method int getDeletedAt()
* @method int getLastModified()
*/
class Board extends RelationalEntity {
protected $title;
protected $owner;
+47 -17
View File
@@ -42,9 +42,9 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
private $circlesService;
private $logger;
/** @var CappedMemoryCache */
/** @var CappedMemoryCache<Board[]> */
private $userBoardCache;
/** @var CappedMemoryCache */
/** @var CappedMemoryCache<Board> */
private $boardCache;
public function __construct(
@@ -107,6 +107,47 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
return $this->boardCache[$id];
}
public function findBoardIds(string $userId): array {
$qb = $this->db->getQueryBuilder();
$qb->selectDistinct('b.id')
->from($this->getTableName(), 'b')
->leftJoin('b', 'deck_board_acl', 'acl', $qb->expr()->eq('b.id', 'acl.board_id'));
// Owned by the user
$qb->where($qb->expr()->andX(
$qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)),
));
// Shared to the user
$qb->orWhere($qb->expr()->andX(
$qb->expr()->eq('acl.participant', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)),
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_USER, IQueryBuilder::PARAM_INT)),
));
// Shared to user groups of the user
$groupIds = $this->groupManager->getUserGroupIds($this->userManager->get($userId));
if (count($groupIds) !== 0) {
$qb->orWhere($qb->expr()->andX(
$qb->expr()->in('acl.participant', $qb->createNamedParameter($groupIds, IQueryBuilder::PARAM_STR_ARRAY)),
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_GROUP, IQueryBuilder::PARAM_INT)),
));
}
// Shared to circles of the user
$circles = $this->circlesService->getUserCircles($userId);
if (count($circles) !== 0) {
$qb->orWhere($qb->expr()->andX(
$qb->expr()->in('acl.participant', $qb->createNamedParameter($circles, IQueryBuilder::PARAM_STR_ARRAY)),
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_CIRCLE, IQueryBuilder::PARAM_INT)),
));
}
$result = $qb->executeQuery();
return array_map(function (string $id) {
return (int)$id;
}, $result->fetchAll(\PDO::FETCH_COLUMN));
}
public function findAllForUser(string $userId, ?int $since = null, bool $includeArchived = true, ?int $before = null,
?string $term = null): array {
$useCache = ($since === -1 && $includeArchived === true && $before === null && $term === null);
@@ -131,14 +172,9 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
/**
* Find all boards for a given user
*
* @param $userId
* @param null $limit
* @param null $offset
* @return array
*/
public function findAllByUser(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
// FIXME this used to be a UNION to get boards owned by $userId and the user shares in one single query
// Is it possible with the query builder?
$qb = $this->db->getQueryBuilder();
@@ -247,15 +283,9 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
/**
* Find all boards for a given user
*
* @param $userId
* @param $groups
* @param null $limit
* @param null $offset
* @return array
*/
public function findAllByGroups(string $userId, array $groups, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
if (count($groups) <= 0) {
return [];
}
@@ -414,8 +444,8 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
return parent::delete($entity);
}
public function isOwner($userId, $boardId): bool {
$board = $this->find($boardId);
public function isOwner($userId, $id): bool {
$board = $this->find($id);
return ($board->getOwner() === $userId);
}
+40 -45
View File
@@ -27,6 +27,44 @@ use DateTime;
use DateTimeZone;
use Sabre\VObject\Component\VCalendar;
/**
* @method string getTitle()
* @method string getDescription()
* @method string getDescriptionPrev()
* @method int getStackId()
* @method int getOrder()
* @method int getLastModified()
* @method int getCreatedAt()
* @method bool getArchived()
* @method bool getNotified()
*
* @method void setLabels(Label[] $labels)
* @method null|Label[] getLabels()
*
* @method void setAssignedUsers(Assignment[] $users)
* @method null|User[] getAssignedUsers()
*
* @method void setAttachments(Attachment[] $attachments)
* @method null|Attachment[] getAttachments()
*
* @method void setAttachmentCount(int $count)
* @method null|int getAttachmentCount()
*
* @method void setCommentsUnread(int $count)
* @method null|int getCommentsUnread()
*
* @method void setCommentsCount(int $count)
* @method null|int getCommentsCount()
*
* @method void setOwner(string $user)
* @method null|string getOwner()
*
* @method void setRelatedStack(Stack $stack)
* @method null|Stack getRelatedStack()
*
* @method void setRelatedBoard(Board $board)
* @method null|Board getRelatedBoard()
*/
class Card extends RelationalEntity {
public const TITLE_MAX_LENGTH = 255;
@@ -70,6 +108,7 @@ class Card extends RelationalEntity {
$this->addType('archived', 'boolean');
$this->addType('notified', 'boolean');
$this->addType('deletedAt', 'integer');
$this->addType('duedate', 'datetime');
$this->addRelation('labels');
$this->addRelation('assignedUsers');
$this->addRelation('attachments');
@@ -87,50 +126,6 @@ class Card extends RelationalEntity {
$this->databaseType = $type;
}
public function getDuedate($isoFormat = false) {
if ($this->duedate === null) {
return null;
}
$dt = new DateTime($this->duedate);
if (!$isoFormat && $this->databaseType === 'mysql') {
return $dt->format('Y-m-d H:i:s');
}
return $dt->format('c');
}
public function jsonSerialize(): array {
$json = parent::jsonSerialize();
$json['overdue'] = self::DUEDATE_FUTURE;
$due = $this->duedate ? strtotime($this->duedate) : false;
if ($due !== false) {
$today = new DateTime();
$today->setTime(0, 0);
$match_date = new DateTime($this->duedate);
$match_date->setTime(0, 0);
$diff = $today->diff($match_date);
$diffDays = (integer) $diff->format('%R%a'); // Extract days count in interval
if ($diffDays === 1) {
$json['overdue'] = self::DUEDATE_NEXT;
}
if ($diffDays === 0) {
$json['overdue'] = self::DUEDATE_NOW;
}
if ($diffDays < 0) {
$json['overdue'] = self::DUEDATE_OVERDUE;
}
}
$json['duedate'] = $this->getDuedate(true);
unset($json['notified']);
unset($json['descriptionPrev']);
unset($json['relatedStack']);
unset($json['relatedBoard']);
return $json;
}
public function getCalendarObject(): VCalendar {
$calendar = new VCalendar();
$event = $calendar->createComponent('VTODO');
@@ -139,7 +134,7 @@ class Card extends RelationalEntity {
$creationDate = new DateTime();
$creationDate->setTimestamp($this->createdAt);
$event->DTSTAMP = $creationDate;
$event->DUE = new DateTime($this->getDuedate(true), new DateTimeZone('UTC'));
$event->DUE = new DateTime($this->getDuedate()->format('c'), new DateTimeZone('UTC'));
}
$event->add('RELATED-TO', 'deck-stack-' . $this->getStackId());
+17 -2
View File
@@ -227,6 +227,21 @@ class CardMapper extends QBMapper implements IPermissionMapper {
return $this->findEntities($qb);
}
public function findAllByBoardId(int $boardId, ?int $limit = null, ?int $offset = null): array {
$qb = $this->db->getQueryBuilder();
$qb->select('c.*')
->from('deck_cards', 'c')
->innerJoin('c', 'deck_stacks', 's', 's.id = c.stack_id')
->innerJoin('s', 'deck_boards', 'b', 'b.id = s.board_id')
->where($qb->expr()->eq('board_id', $qb->createNamedParameter($boardId, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->setMaxResults($limit)
->setFirstResult($offset)
->orderBy('c.lastmodified')
->addOrderBy('c.id');
return $this->findEntities($qb);
}
public function findAllWithDue($boardId) {
$qb = $this->db->getQueryBuilder();
$qb->select('c.*')
@@ -549,10 +564,10 @@ class CardMapper extends QBMapper implements IPermissionMapper {
$qb->execute();
}
public function isOwner($userId, $cardId): bool {
public function isOwner($userId, $id): bool {
$sql = 'SELECT owner FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_stacks` WHERE id IN (SELECT stack_id FROM `*PREFIX*deck_cards` WHERE id = ?))';
$stmt = $this->db->prepare($sql);
$stmt->bindParam(1, $cardId, \PDO::PARAM_INT, 0);
$stmt->bindParam(1, $id, \PDO::PARAM_INT, 0);
$stmt->execute();
$row = $stmt->fetch();
return ($row['owner'] === $userId);
+6 -2
View File
@@ -24,6 +24,7 @@
namespace OCA\Deck\Db;
use OCP\ICacheFactory;
use OCP\ICache;
use OCP\IDBConnection;
use OCP\IRequest;
@@ -31,13 +32,16 @@ class ChangeHelper {
public const TYPE_BOARD = 'boardChanged';
public const TYPE_CARD = 'cardChanged';
private $db;
private IDBConnection $db;
private ICache $cache;
private IRequest $request;
private ?string $userId;
public function __construct(
IDBConnection $db,
ICacheFactory $cacheFactory,
IRequest $request,
$userId
?string $userId
) {
$this->db = $db;
$this->cache = $cacheFactory->createDistributed('deck_changes');
+8 -10
View File
@@ -23,17 +23,15 @@
namespace OCA\Deck\Db;
use OCP\AppFramework\Db\Mapper;
use OCP\AppFramework\Db\QBMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
/**
* Class DeckMapper
*
* @package OCA\Deck\Db
* @deprecated use QBMapper
*
* TODO: Move to QBMapper once Nextcloud 14 is a minimum requirement
*/
class DeckMapper extends Mapper {
class DeckMapper extends QBMapper {
/**
* @param $id
@@ -42,11 +40,11 @@ class DeckMapper extends Mapper {
* @throws \OCP\AppFramework\Db\DoesNotExistException
*/
public function find($id) {
$sql = 'SELECT * FROM `' . $this->tableName . '` ' . 'WHERE `id` = ?';
return $this->findEntity($sql, [$id]);
}
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from($this->getTableName())
->where($qb->expr()->eq('id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT)));
protected function execute($sql, array $params = [], $limit = null, $offset = null) {
return parent::execute($sql, $params, $limit, $offset);
return $this->findEntity($qb);
}
}
+116 -27
View File
@@ -26,6 +26,7 @@ namespace OCA\Deck\Db;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\Entity;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
class LabelMapper extends DeckMapper implements IPermissionMapper {
@@ -33,41 +34,105 @@ class LabelMapper extends DeckMapper implements IPermissionMapper {
parent::__construct($db, 'deck_labels', Label::class);
}
public function findAll($boardId, $limit = null, $offset = null) {
$sql = 'SELECT * FROM `*PREFIX*deck_labels` WHERE `board_id` = ? ORDER BY `id`';
return $this->findEntities($sql, [$boardId], $limit, $offset);
/**
* @param numeric $boardId
* @param int|null $limit
* @param int|null $offset
* @return Label[]
* @throws \OCP\DB\Exception
*/
public function findAll($boardId, $limit = null, $offset = null): array {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from($this->getTableName())
->where($qb->expr()->eq('board_id', $qb->createNamedParameter($boardId, IQueryBuilder::PARAM_INT)))
->setMaxResults($limit)
->setFirstResult($offset);
return $this->findEntities($qb);
}
public function delete(\OCP\AppFramework\Db\Entity $entity) {
/**
* @param Entity $entity
* @return Entity
* @throws \OCP\DB\Exception
*/
public function delete(Entity $entity): Entity {
// delete assigned labels
$this->deleteLabelAssignments($entity->getId());
// delete label
return parent::delete($entity);
}
public function findAssignedLabelsForCard($cardId, $limit = null, $offset = null) {
$sql = 'SELECT l.*,card_id FROM `*PREFIX*deck_assigned_labels` as al INNER JOIN *PREFIX*deck_labels as l ON l.id = al.label_id WHERE `card_id` = ? ORDER BY l.id';
return $this->findEntities($sql, [$cardId], $limit, $offset);
}
public function findAssignedLabelsForBoard($boardId, $limit = null, $offset = null) {
$sql = 'SELECT c.id as card_id, l.id as id, l.title as title, l.color as color FROM `*PREFIX*deck_cards` as c ' .
' INNER JOIN `*PREFIX*deck_assigned_labels` as al ON al.card_id = c.id INNER JOIN `*PREFIX*deck_labels` as l ON al.label_id = l.id WHERE board_id=? ORDER BY l.id';
return $this->findEntities($sql, [$boardId], $limit, $offset);
/**
* @param numeric $cardId
* @param int|null $limit
* @param int|null $offset
* @return Label[]
* @throws \OCP\DB\Exception
*/
public function findAssignedLabelsForCard($cardId, $limit = null, $offset = null): array {
$qb = $this->db->getQueryBuilder();
$qb->select('l.*', 'card_id')
->from($this->getTableName(), 'l')
->innerJoin('l', 'deck_assigned_labels', 'al', 'l.id = al.label_id')
->where($qb->expr()->eq('card_id', $qb->createNamedParameter($cardId, IQueryBuilder::PARAM_INT)))
->orderBy('l.id')
->setMaxResults($limit)
->setFirstResult($offset);
return $this->findEntities($qb);
}
public function insert(Entity $entity) {
/**
* @param numeric $boardId
* @param int|null $limit
* @param int|null $offset
* @return Label[]
* @throws \OCP\DB\Exception
*/
public function findAssignedLabelsForBoard($boardId, $limit = null, $offset = null): array {
$qb = $this->db->getQueryBuilder();
$qb->select('l.id as id', 'l.title as title', 'l.color as color')
->selectAlias('c.id', 'card_id')
->from($this->getTableName(), 'l')
->innerJoin('l', 'deck_assigned_labels', 'al', 'al.label_id = l.id')
->innerJoin('l', 'deck_cards', 'c', 'al.card_id = c.id')
->where($qb->expr()->eq('board_id', $qb->createNamedParameter($boardId, IQueryBuilder::PARAM_INT)))
->orderBy('l.id')
->setMaxResults($limit)
->setFirstResult($offset);
return $this->findEntities($qb);
}
/**
* @param Entity $entity
* @return Entity
* @throws \OCP\DB\Exception
*/
public function insert(Entity $entity): Entity {
$entity->setLastModified(time());
return parent::insert($entity);
}
public function update(Entity $entity, $updateModified = true) {
/**
* @param Entity $entity
* @param bool $updateModified
* @return Entity
* @throws \OCP\DB\Exception
*/
public function update(Entity $entity, $updateModified = true): Entity {
if ($updateModified) {
$entity->setLastModified(time());
}
return parent::update($entity);
}
/**
* @param numeric $boardId
* @return array
* @throws \OCP\DB\Exception
*/
public function getAssignedLabelsForBoard($boardId) {
$labels = $this->findAssignedLabelsForBoard($boardId);
$result = [];
@@ -80,27 +145,51 @@ class LabelMapper extends DeckMapper implements IPermissionMapper {
return $result;
}
/**
* @param numeric $labelId
* @return void
* @throws \OCP\DB\Exception
*/
public function deleteLabelAssignments($labelId) {
$sql = 'DELETE FROM `*PREFIX*deck_assigned_labels` WHERE label_id = ?';
$stmt = $this->db->prepare($sql);
$stmt->bindParam(1, $labelId, \PDO::PARAM_INT, 0);
$stmt->execute();
$qb = $this->db->getQueryBuilder();
$qb->delete('deck_assigned_labels')
->where($qb->expr()->eq('label_id', $qb->createNamedParameter($labelId, IQueryBuilder::PARAM_INT)));
$qb->executeStatement();
}
/**
* @param numeric $cardId
* @return void
* @throws \OCP\DB\Exception
*/
public function deleteLabelAssignmentsForCard($cardId) {
$sql = 'DELETE FROM `*PREFIX*deck_assigned_labels` WHERE card_id = ?';
$stmt = $this->db->prepare($sql);
$stmt->bindParam(1, $cardId, \PDO::PARAM_INT, 0);
$stmt->execute();
$qb = $this->db->getQueryBuilder();
$qb->delete('deck_assigned_labels')
->where($qb->expr()->eq('card_id', $qb->createNamedParameter($cardId, IQueryBuilder::PARAM_INT)));
$qb->executeStatement();
}
/**
* @param string $userId
* @param numeric $labelId
* @return bool
* @throws \OCP\DB\Exception
*/
public function isOwner($userId, $labelId): bool {
$sql = 'SELECT owner FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_labels` WHERE id = ?)';
$stmt = $this->execute($sql, [$labelId]);
$row = $stmt->fetch();
return ($row['owner'] === $userId);
$qb = $this->db->getQueryBuilder();
$qb->select('l.id')
->from($this->getTableName(), 'l')
->innerJoin('l', 'deck_boards', 'b', 'l.board_id = b.id')
->where($qb->expr()->eq('l.id', $qb->createNamedParameter($labelId, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('b.owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
return count($qb->executeQuery()->fetchAll()) > 0;
}
/**
* @param numeric $id
* @return int|null
*/
public function findBoardId($id): ?int {
try {
$entity = $this->find($id);
+3
View File
@@ -72,6 +72,9 @@ class RelationalEntity extends Entity implements \JsonSerializable {
$propertyReflection = $reflection->getProperty($property);
if (!$propertyReflection->isPrivate() && !in_array($property, $this->_resolvedProperties, true)) {
$json[$property] = $this->getter($property);
if ($json[$property] instanceof \DateTimeInterface) {
$json[$property] = $json[$property]->format('c');
}
}
}
}
+77 -26
View File
@@ -26,6 +26,7 @@ namespace OCA\Deck\Db;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\Entity;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
class StackMapper extends DeckMapper implements IPermissionMapper {
@@ -38,62 +39,112 @@ class StackMapper extends DeckMapper implements IPermissionMapper {
/**
* @param $id
* @throws MultipleObjectsReturnedException
* @param numeric $id
* @return Stack
* @throws DoesNotExistException
* @throws MultipleObjectsReturnedException
* @throws \OCP\DB\Exception
*/
public function find($id): Stack {
$sql = 'SELECT * FROM `*PREFIX*deck_stacks` ' .
'WHERE `id` = ?';
return $this->findEntity($sql, [$id]);
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from($this->getTableName())
->where($qb->expr()->eq('id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT)));
return $this->findEntity($qb);
}
/**
* @param $cardId
* @return Stack|null
* @throws \OCP\DB\Exception
*/
public function findStackFromCardId($cardId): ?Stack {
$sql = <<<SQL
SELECT s.*
FROM `*PREFIX*deck_stacks` as `s`
INNER JOIN `*PREFIX*deck_cards` as `c` ON s.id = c.stack_id
WHERE c.id = ?
SQL;
$qb = $this->db->getQueryBuilder();
$qb->select('s.*')
->from($this->getTableName(), 's')
->innerJoin('s', 'deck_cards', 'c', 's.id = c.stack_id')
->where($qb->expr()->eq('c.id', $qb->createNamedParameter($cardId, IQueryBuilder::PARAM_INT)));
try {
return $this->findEntity($sql, [$cardId]);
return $this->findEntity($qb);
} catch (MultipleObjectsReturnedException|DoesNotExistException $e) {
}
return null;
}
/**
* @param numeric $boardId
* @param int|null $limit
* @param int|null $offset
* @return Stack[]
* @throws \OCP\DB\Exception
*/
public function findAll($boardId, $limit = null, $offset = null): array {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from($this->getTableName())
->where($qb->expr()->eq('board_id', $qb->createNamedParameter($boardId, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
->setFirstResult($offset)
->setMaxResults($limit);
public function findAll($boardId, $limit = null, $offset = null) {
$sql = 'SELECT * FROM `*PREFIX*deck_stacks` WHERE `board_id` = ? AND deleted_at = 0 ORDER BY `order`, `id`';
return $this->findEntities($sql, [$boardId], $limit, $offset);
return $this->findEntities($qb);
}
/**
* @param numeric $boardId
* @param int|null $limit
* @param int|null $offset
* @return Stack[]
* @throws \OCP\DB\Exception
*/
public function findDeleted($boardId, $limit = null, $offset = null) {
$sql = 'SELECT * FROM `*PREFIX*deck_stacks` s
WHERE `s`.`board_id` = ? AND NOT s.deleted_at = 0';
return $this->findEntities($sql, [$boardId], $limit, $offset);
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from($this->getTableName())
->where($qb->expr()->eq('board_id', $qb->createNamedParameter($boardId, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->neq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
->setFirstResult($offset)
->setMaxResults($limit);
return $this->findEntities($qb);
}
public function delete(Entity $entity) {
/**
* @param Entity $entity
* @return Entity
* @throws \OCP\DB\Exception
*/
public function delete(Entity $entity): Entity {
// delete cards on stack
$this->cardMapper->deleteByStack($entity->getId());
return parent::delete($entity);
}
public function isOwner($userId, $stackId): bool {
$sql = 'SELECT owner FROM `*PREFIX*deck_boards` WHERE `id` IN (SELECT board_id FROM `*PREFIX*deck_stacks` WHERE id = ?)';
$stmt = $this->execute($sql, [$stackId]);
$row = $stmt->fetch();
return ($row['owner'] === $userId);
/**
* @param numeric $userId
* @param numeric $stackId
* @return bool
* @throws \OCP\DB\Exception
*/
public function isOwner($userId, $id): bool {
$qb = $this->db->getQueryBuilder();
$qb->select('s.id')
->from($this->getTableName(), 's')
->innerJoin('s', 'deck_boards', 'b', 'b.id = s.board_id')
->where($qb->expr()->eq('s.id', $qb->createNamedParameter($id, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)));
return count($qb->executeQuery()->fetchAll()) > 0;
}
/**
* @param numeric $id
* @return int|null
* @throws \OCP\DB\Exception
*/
public function findBoardId($id): ?int {
try {
$entity = $this->find($id);
+2 -3
View File
@@ -33,7 +33,6 @@ use OCP\AppFramework\OCS\OCSException;
use OCP\AppFramework\OCSController;
use OCP\ILogger;
use OCP\IRequest;
use OCP\Util;
use OCP\IConfig;
class ExceptionMiddleware extends Middleware {
@@ -85,9 +84,9 @@ class ExceptionMiddleware extends Middleware {
'message' => 'Permission denied'
], 403);
}
if ($exception instanceof StatusException) {
if ($this->config->getSystemValue('loglevel', Util::WARN) === Util::DEBUG) {
if ($this->config->getSystemValue('loglevel', ILogger::WARN) === ILogger::DEBUG) {
$this->logger->logException($exception);
}
@@ -1,10 +1,8 @@
<?php
/**
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
* @copyright Copyright (c) 2022 Raul Ferreira Fuentes <raul@nextcloud.com>
*
* @author Julius Härtl <jus@bitgrid.net>
* @author Maxence Lange <maxence@artificial-owl.com>
* @author Luka Trovic <luka.trovic@nextcloud.com>
* @author Raul Ferreira Fuentes <raul@nextcloud.com>
*
* @license GNU AGPL version 3 or any later version
*
@@ -22,16 +20,26 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCA\Deck\Model;
declare(strict_types=1);
use OCA\Deck\Db\Board;
namespace OCA\Deck\Validators;
class BoardSummary extends Board {
private Board $board;
class AssignmentServiceValidator extends BaseValidator {
public function rules() {
public function __construct(Board $board) {
parent::__construct();
$this->board = $board;
}
public function jsonSerialize(): array {
return [
'cardId' => ['numeric'],
'userId' => ['not_empty', 'not_null', 'not_false', 'max:64'],
'id' => $this->getId(),
'title' => $this->getTitle()
];
}
public function __call($name, $arguments) {
return $this->board->__call($name, $arguments);
}
}
+92
View File
@@ -0,0 +1,92 @@
<?php
/**
* @copyright Copyright (c) 2022 Raul Ferreira Fuentes <raul@nextcloud.com>
*
* @author Raul Ferreira Fuentes <raul@nextcloud.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCA\Deck\Model;
use DateTime;
use OCA\Deck\Db\Board;
use OCA\Deck\Db\Card;
class CardDetails extends Card {
private Card $card;
private ?Board $board;
public function __construct(Card $card, ?Board $board = null) {
parent::__construct();
$this->card = $card;
$this->board = $board;
}
public function setBoard(?Board $board): void {
$this->board = $board;
}
public function jsonSerialize(array $extras = []): array {
$array = $this->card->jsonSerialize();
unset($array['notified'], $array['descriptionPrev'], $array['relatedStack'], $array['relatedBoard']);
$array['overdue'] = $this->getDueStatus();
$this->appendBoardDetails($array);
return $array;
}
private function getDueStatus(): int {
$today = new DateTime();
$today->setTime(0, 0);
$match_date = $this->card->getDuedate();
if (!$match_date) {
return Card::DUEDATE_FUTURE;
}
$match_date->setTime(0, 0);
$diff = $today->diff($match_date);
$diffDays = (int) $diff->format('%R%a'); // Extract days count in interval
if ($diffDays === 1) {
return Card::DUEDATE_NEXT;
}
if ($diffDays === 0) {
return Card::DUEDATE_NOW;
}
if ($diffDays < 0) {
return Card::DUEDATE_OVERDUE;
}
return Card::DUEDATE_FUTURE;
}
private function appendBoardDetails(&$array): void {
if (!$this->board) {
return;
}
$array['boardId'] = $this->board->id;
$array['board'] = (new BoardSummary($this->board))->jsonSerialize();
}
public function __call($name, $arguments) {
return $this->card->__call($name, $arguments);
}
}
+2 -2
View File
@@ -129,7 +129,7 @@ class NotificationHelper {
->setSubject('card-overdue', [
$card->getTitle(), $board->getTitle()
])
->setDateTime(new DateTime($card->getDuedate()));
->setDateTime($card->getDuedate());
$this->notificationManager->notify($notification);
}
}
@@ -242,7 +242,7 @@ class NotificationHelper {
}
return $this->boards[$boardId];
}
private function generateBoardShared(Board $board, string $userId): INotification {
$notification = $this->notificationManager->createNotification();
$notification
+4 -4
View File
@@ -114,7 +114,7 @@ class Notifier implements INotifier {
$dn = $params[2];
}
$notification->setParsedSubject(
(string) $l->t('The card "%s" on "%s" has been assigned to you by %s.', [$params[0], $params[1], $dn])
$l->t('The card "%s" on "%s" has been assigned to you by %s.', [$params[0], $params[1], $dn])
);
$notification->setRichSubject(
$l->t('{user} has assigned the card {deck-card} on {deck-board} to you.'),
@@ -151,7 +151,7 @@ class Notifier implements INotifier {
}
$notification->setParsedSubject(
(string) $l->t('The card "%s" on "%s" has reached its due date.', $params)
$l->t('The card "%s" on "%s" has reached its due date.', $params)
);
$notification->setRichSubject(
$l->t('The card {deck-card} on {deck-board} has reached its due date.'),
@@ -189,7 +189,7 @@ class Notifier implements INotifier {
$dn = $params[2];
}
$notification->setParsedSubject(
(string) $l->t('%s has mentioned you in a comment on "%s".', [$dn, $params[0]])
$l->t('%s has mentioned you in a comment on "%s".', [$dn, $params[0]])
);
$notification->setRichSubject(
$l->t('{user} has mentioned you in a comment on {deck-card}.'),
@@ -226,7 +226,7 @@ class Notifier implements INotifier {
$dn = $params[1];
}
$notification->setParsedSubject(
(string) $l->t('The board "%s" has been shared with you by %s.', [$params[0], $dn])
$l->t('The board "%s" has been shared with you by %s.', [$params[0], $dn])
);
$notification->setRichSubject(
$l->t('{user} has shared {deck-board} with you.'),
+5 -16
View File
@@ -54,22 +54,11 @@ use OCP\IURLGenerator;
class DeckProvider implements IFullTextSearchProvider {
public const DECK_PROVIDER_ID = 'deck';
/** @var IL10N */
private $l10n;
/** @var IUrlGenerator */
private $urlGenerator;
/** @var FullTextSearchService */
private $fullTextSearchService;
/** @var IRunner */
private $runner;
/** @var IIndexOptions */
private $indexOptions = [];
private IL10N $l10n;
private IUrlGenerator $urlGenerator;
private FullTextSearchService $fullTextSearchService;
private ?IRunner $runner = null;
private ?IIndexOptions $indexOptions = null;
/**
+167
View File
@@ -0,0 +1,167 @@
<?php
/**
* @copyright Copyright (c) 2022 Julien Veyssier <eneiluj@posteo.net>
*
* @author Julien Veyssier <eneiluj@posteo.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
namespace OCA\Deck\Reference;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\Db\Assignment;
use OCA\Deck\Db\Attachment;
use OCA\Deck\Db\Label;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\CardService;
use OCA\Deck\Service\StackService;
use OCP\Collaboration\Reference\IReference;
use OCP\Collaboration\Reference\IReferenceProvider;
use OCP\Collaboration\Reference\Reference;
use OCP\IURLGenerator;
class CardReferenceProvider implements IReferenceProvider {
private CardService $cardService;
private IURLGenerator $urlGenerator;
private BoardService $boardService;
private StackService $stackService;
public function __construct(CardService $cardService,
BoardService $boardService,
StackService $stackService,
IURLGenerator $urlGenerator,
?string $userId) {
$this->cardService = $cardService;
$this->urlGenerator = $urlGenerator;
$this->boardService = $boardService;
$this->stackService = $stackService;
}
/**
* @inheritDoc
*/
public function matchReference(string $referenceText): bool {
$start = $this->urlGenerator->getAbsoluteURL('/apps/' . Application::APP_ID);
$startIndex = $this->urlGenerator->getAbsoluteURL('/index.php/apps/' . Application::APP_ID);
// link example: https://nextcloud.local/index.php/apps/deck/#/board/2/card/11
$noIndexMatch = preg_match('/^' . preg_quote($start, '/') . '\/#\/board\/[0-9]+\/card\/[0-9]+$/', $referenceText) === 1;
$indexMatch = preg_match('/^' . preg_quote($startIndex, '/') . '\/#\/board\/[0-9]+\/card\/[0-9]+$/', $referenceText) === 1;
return $noIndexMatch || $indexMatch;
}
/**
* @inheritDoc
*/
public function resolveReference(string $referenceText): ?IReference {
if ($this->matchReference($referenceText)) {
$ids = $this->getBoardCardId($referenceText);
if ($ids !== null) {
[$boardId, $cardId] = $ids;
$card = $this->cardService->find((int) $cardId)->jsonSerialize();
$board = $this->boardService->find((int) $boardId)->jsonSerialize();
$stack = $this->stackService->find((int) $card['stackId'])->jsonSerialize();
$card = $this->sanitizeSerializedCard($card);
$board = $this->sanitizeSerializedBoard($board);
$stack = $this->sanitizeSerializedStack($stack);
/** @var IReference $reference */
$reference = new Reference($referenceText);
$reference->setRichObject(Application::APP_ID . '-card', [
'id' => $boardId . '/' . $cardId,
'card' => $card,
'board' => $board,
'stack' => $stack,
]);
return $reference;
}
}
return null;
}
private function sanitizeSerializedStack(array $stack): array {
$stack['cards'] = array_map(function (CardDetails $cardDetails) {
$result = $cardDetails->jsonSerialize();
unset($result['assignedUsers']);
return $result;
}, $stack['cards']);
return $stack;
}
private function sanitizeSerializedBoard(array $board): array {
unset($board['labels']);
$board['owner'] = $board['owner']->jsonSerialize();
unset($board['acl']);
unset($board['users']);
return $board;
}
private function sanitizeSerializedCard(array $card): array {
$card['labels'] = array_map(function (Label $label) {
return $label->jsonSerialize();
}, $card['labels']);
$card['assignedUsers'] = array_map(function (Assignment $assignment) {
$result = $assignment->jsonSerialize();
$result['participant'] = $result['participant']->jsonSerialize();
return $result;
}, $card['assignedUsers']);
$card['owner'] = $card['owner']->jsonSerialize();
unset($card['relatedStack']);
unset($card['relatedBoard']);
$card['attachments'] = array_map(function (Attachment $attachment) {
return $attachment->jsonSerialize();
}, $card['attachments']);
return $card;
}
private function getBoardCardId(string $url): ?array {
$start = $this->urlGenerator->getAbsoluteURL('/apps/' . Application::APP_ID);
$startIndex = $this->urlGenerator->getAbsoluteURL('/index.php/apps/' . Application::APP_ID);
preg_match('/^' . preg_quote($start, '/') . '\/#\/board\/([0-9]+)\/card\/([0-9]+)$/', $url, $matches);
if ($matches && count($matches) > 2) {
return [$matches[1], $matches[2]];
}
preg_match('/^' . preg_quote($startIndex, '/') . '\/#\/board\/([0-9]+)\/card\/([0-9]+)$/', $url, $matches2);
if ($matches2 && count($matches2) > 2) {
return [$matches2[1], $matches2[2]];
}
return null;
}
public function getCachePrefix(string $referenceId): string {
$ids = $this->getBoardCardId($referenceId);
if ($ids !== null) {
[$boardId, $cardId] = $ids;
return $boardId . '/' . $cardId;
}
return $referenceId;
}
public function getCacheKey(string $referenceId): ?string {
return $this->userId ?? '';
}
}

Some files were not shown because too many files have changed in this diff Show More