Compare commits

..

159 Commits

Author SHA1 Message Date
Julius Härtl
0ae18ed0a2 fix: Avoid failing due to uninitialized acces of systemInstance
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-17 16:54:41 +02:00
Julius Härtl
3106ad7cfc fix: Properly export cards as a child element of the related stack
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-17 16:54:20 +02:00
Nextcloud bot
84e1bd5fbe Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-16 00:39:18 +00:00
dependabot[bot]
f55d851bff Merge pull request #4922 from nextcloud/dependabot/npm_and_yarn/main/dompurify-3.0.5 2023-07-15 06:14:53 +00:00
dependabot[bot]
40c13a7fa5 Merge pull request #4923 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.17.1 2023-07-15 04:02:45 +00:00
dependabot[bot]
573d884acf Merge pull request #4921 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/initial-state-2.1.0 2023-07-15 03:55:33 +00:00
dependabot[bot]
7b29f11e1d Chore(deps): Bump dompurify from 3.0.4 to 3.0.5
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.0.4 to 3.0.5.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.0.4...3.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 03:53:53 +00:00
dependabot[bot]
a37c1e173b Merge pull request #4919 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-7.12.1 2023-07-15 03:53:09 +00:00
dependabot[bot]
80c45b4dd8 Chore(deps-dev): Bump cypress from 12.17.0 to 12.17.1
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.17.0 to 12.17.1.
- [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/v12.17.0...v12.17.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 01:28:01 +00:00
dependabot[bot]
72a48d956d Chore(deps): Bump @nextcloud/initial-state from 2.0.0 to 2.1.0
Bumps [@nextcloud/initial-state](https://github.com/nextcloud/nextcloud-initial-state) from 2.0.0 to 2.1.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/compare/v2.0.0...v2.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 01:27:03 +00:00
dependabot[bot]
e272ddaf96 Chore(deps): Bump @nextcloud/vue from 7.12.0 to 7.12.1
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.12.0 to 7.12.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.12.0...v7.12.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>
2023-07-15 01:26:04 +00:00
dependabot[bot]
b80c3bf30f Merge pull request #4913 from nextcloud/dependabot/composer/phpunit/phpunit-9.6.10 2023-07-15 01:13:41 +00:00
dependabot[bot]
1b5cc98249 Chore(deps-dev): Bump phpunit/phpunit from 9.6.9 to 9.6.10
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.9 to 9.6.10.
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.10/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.9...9.6.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-15 01:01:55 +00:00
Julius Härtl
c4a826b073 Merge pull request #4718 from fsamapoor/constructor_property_promotion_in_controllers 2023-07-14 14:24:00 +02:00
Faraz Samapoor
559579fbd9 Refactors controllers by using PHP8's constructor property promotion.
Co-authored-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
Signed-off-by: Faraz Samapoor <fsa@adlas.at>
2023-07-14 15:42:44 +03:30
Julius Härtl
90d051f8e4 Merge pull request #4908 from nextcloud/bugfix/noid/prevent-null-in-notification-parameter 2023-07-14 08:25:13 +02:00
Joas Schilling
4b1e670b4e fix(notification): Prevent null in parameters
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-14 07:53:51 +02:00
Nextcloud bot
85e09acfc3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-14 00:44:25 +00:00
Julius Härtl
1a89685d53 Merge pull request #4907 from nextcloud/ci/perf-garm 2023-07-13 18:08:20 +02:00
Julius Härtl
698ee422ff ci: Make paths of query count compatible with garm
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-13 17:51:20 +02:00
Julius Härtl
2b19c3353a ci(integration): Make query.log paths relative so they work on GitHub and Garm
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-13 11:52:03 +02:00
Julius Härtl
6e99ec8fc5 Delete nightly.yml
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-13 11:47:48 +02:00
Nextcloud bot
281eb6d2ff Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-13 00:44:42 +00:00
Nextcloud bot
f4daedd84f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-12 00:36:28 +00:00
Nextcloud bot
683ae36b8b Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-11 00:47:38 +00:00
Julius Härtl
74b0d2f690 Merge pull request #4877 from nextcloud/actions/pr-feedback 2023-07-10 17:47:18 +02:00
Julius Härtl
dfd8656339 Merge pull request #4871 from nextcloud/automated/noid/main-fix-npm-audit 2023-07-10 12:31:53 +02:00
Nextcloud bot
7ae66082c4 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-10 00:44:03 +00:00
nextcloud-command
f2ba642207 chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-07-09 03:52:21 +00:00
dependabot[bot]
dd23dd6bf3 Merge pull request #4893 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.22.6 2023-07-08 04:11:50 +00:00
dependabot[bot]
8d324c0669 Merge pull request #4892 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.17.0 2023-07-08 04:11:40 +00:00
dependabot[bot]
e6363439b6 Merge pull request #4894 from nextcloud/dependabot/npm_and_yarn/main/url-search-params-polyfill-8.2.4 2023-07-08 03:31:01 +00:00
dependabot[bot]
bf66da8313 Chore(deps): Bump @babel/runtime from 7.22.5 to 7.22.6
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.5 to 7.22.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.22.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>
2023-07-08 03:29:39 +00:00
dependabot[bot]
4a4fcca61f Chore(deps-dev): Bump cypress from 12.16.0 to 12.17.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.16.0 to 12.17.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/v12.16.0...v12.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-08 03:29:25 +00:00
dependabot[bot]
85a99dd15b Merge pull request #4891 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/axios-2.4.0 2023-07-08 03:28:45 +00:00
dependabot[bot]
e21c3da80b Merge pull request #4890 from nextcloud/dependabot/npm_and_yarn/main/jest-29.6.1 2023-07-08 03:28:05 +00:00
dependabot[bot]
7379fbad1b Chore(deps): Bump url-search-params-polyfill from 8.2.3 to 8.2.4
Bumps [url-search-params-polyfill](https://github.com/jerrybendy/url-search-params-polyfill) from 8.2.3 to 8.2.4.
- [Release notes](https://github.com/jerrybendy/url-search-params-polyfill/releases)
- [Commits](https://github.com/jerrybendy/url-search-params-polyfill/commits/v8.2.4)

---
updated-dependencies:
- dependency-name: url-search-params-polyfill
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-08 01:42:19 +00:00
dependabot[bot]
fc721646c1 Chore(deps): Bump @nextcloud/axios from 2.3.0 to 2.4.0
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 2.3.0 to 2.4.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.3.0...v2.4.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>
2023-07-08 01:40:59 +00:00
dependabot[bot]
05823b9119 Chore(deps-dev): Bump jest from 29.5.0 to 29.6.1
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.5.0 to 29.6.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.6.1/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>
2023-07-08 01:40:40 +00:00
Nextcloud bot
ad770a370a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-08 00:45:00 +00:00
Nextcloud bot
bdb97c56df Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-07 00:42:25 +00:00
Nextcloud bot
ff3592134c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-06 00:45:26 +00:00
max-nextcloud
fdb8f710ca Create pr-feedback.yml
Signed-off-by: max-nextcloud <max@nextcloud.com>
2023-07-04 18:33:30 +02:00
dependabot[bot]
425f76de55 Merge pull request #4870 from nextcloud/dependabot/npm_and_yarn/main/dompurify-3.0.4 2023-07-01 05:01:22 +00:00
dependabot[bot]
ec312abd7a Merge pull request #4867 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.16.0 2023-07-01 03:30:52 +00:00
dependabot[bot]
580ed4c843 bump dompurify from 3.0.3 to 3.0.4
---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 03:18:06 +00:00
dependabot[bot]
801076e2ae Merge pull request #4866 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/l10n-2.2.0 2023-07-01 03:17:07 +00:00
dependabot[bot]
c0c8e4b5fa Merge pull request #4865 from nextcloud/dependabot/composer/vimeo/psalm-5.13.1 2023-07-01 02:21:33 +00:00
dependabot[bot]
843c31097b Chore(deps-dev): Bump cypress from 12.15.0 to 12.16.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.15.0 to 12.16.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/v12.15.0...v12.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 02:05:02 +00:00
dependabot[bot]
d85a2e3844 Chore(deps): Bump @nextcloud/l10n from 2.1.0 to 2.2.0
Bumps [@nextcloud/l10n](https://github.com/nextcloud/nextcloud-l10n) from 2.1.0 to 2.2.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/compare/v2.1.0...v2.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 01:39:30 +00:00
dependabot[bot]
bb045e0cee Chore(deps-dev): Bump vimeo/psalm from 5.12.0 to 5.13.1
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 5.12.0 to 5.13.1.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/5.12.0...5.13.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 01:16:08 +00:00
Nextcloud bot
ab016b4561 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-30 00:44:04 +00:00
Nextcloud bot
df2ab676cd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-28 00:46:01 +00:00
Nextcloud bot
deaed6324d Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-27 00:47:11 +00:00
Nextcloud bot
7e59907485 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-26 00:42:51 +00:00
Julius Härtl
bfaa63363d Merge pull request #4852 from nextcloud/automated/noid/main-fix-npm-audit 2023-06-25 12:31:59 +02:00
nextcloud-command
a99993f54c chore(deps): fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2023-06-25 03:59:14 +00:00
dependabot[bot]
aeb2716831 Merge pull request #4846 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.15.0 2023-06-24 03:54:50 +00:00
dependabot[bot]
064041f4fb Merge pull request #4841 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/dialogs-4.1.0 2023-06-24 03:48:51 +00:00
dependabot[bot]
f9ba318f9e Merge pull request #4845 from nextcloud/dependabot/npm_and_yarn/fast-xml-parser-4.2.5 2023-06-24 03:43:48 +00:00
dependabot[bot]
a3326c9e10 Chore(deps-dev): Bump cypress from 12.14.0 to 12.15.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.14.0 to 12.15.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/v12.14.0...v12.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 03:43:02 +00:00
dependabot[bot]
d0ab17ab67 Chore(deps): Bump @nextcloud/dialogs from 4.0.1 to 4.1.0
Bumps [@nextcloud/dialogs](https://github.com/nextcloud/nextcloud-dialogs) from 4.0.1 to 4.1.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/v4.0.1...v4.1.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>
2023-06-24 03:33:13 +00:00
dependabot[bot]
dc2153d813 Chore(deps): Bump fast-xml-parser from 4.2.4 to 4.2.5
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 4.2.4 to 4.2.5.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.2.4...v4.2.5)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 03:32:55 +00:00
dependabot[bot]
26fd2c5945 Merge pull request #4843 from nextcloud/dependabot/npm_and_yarn/main/relative-ci/agent-4.1.5 2023-06-24 03:32:18 +00:00
dependabot[bot]
ce199d66a8 Chore(deps-dev): Bump @relative-ci/agent from 4.1.4 to 4.1.5
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.4...v4.1.5)

---
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>
2023-06-24 03:20:41 +00:00
Nextcloud bot
54258aca68 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-24 00:40:41 +00:00
Nextcloud bot
3cb4cd6f21 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-23 01:12:41 +00:00
Julius Härtl
58cc4b5ccb Merge pull request #4836 from nextcloud/automated/update-engines/default 2023-06-21 17:45:13 +02:00
John Molakvoæ
e3c275a7cb chore: update node engines to next LTS (node 20 / npm 9)
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-06-21 10:12:12 +02:00
Julius Härtl
36350fa292 Merge pull request #4816 from nextcloud/fix/occ-import-crash 2023-06-20 10:48:28 +02:00
Julius Härtl
82e356ad01 Merge pull request #4826 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.25.4 2023-06-20 10:47:19 +02:00
Julius Härtl
f23deebd25 Merge pull request #4817 from nextcloud/bugfix/open-card-in-modal 2023-06-20 10:46:46 +02:00
Julius Härtl
6a103b5a76 Merge pull request #4828 from pbek/main 2023-06-20 10:42:33 +02:00
Nextcloud bot
110e1e42e7 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-20 00:38:09 +00:00
Patrizio Bekerle
fa08842aa4 doc: mention QOwnNotes integration 2023-06-17 13:41:01 +02:00
dependabot[bot]
66e679bd11 Merge pull request #4825 from nextcloud/dependabot/github_actions/peter-evans/create-pull-request-5.0.2 2023-06-17 04:50:07 +00:00
dependabot[bot]
bc379bade8 Merge pull request #4823 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/router-2.1.2 2023-06-17 04:15:33 +00:00
dependabot[bot]
db8d83c1c4 Chore(deps): Bump shivammathur/setup-php from 2.25.2 to 2.25.4
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.25.2 to 2.25.4.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.25.2...2.25.4)

---
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>
2023-06-17 03:45:45 +00:00
dependabot[bot]
6a8f3b626b Chore(deps): Bump peter-evans/create-pull-request from 5.0.1 to 5.0.2
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](284f54f989...153407881e)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-17 03:45:31 +00:00
dependabot[bot]
54f7cf78e9 Merge pull request #4820 from nextcloud/dependabot/composer/phpunit/phpunit-9.6.9 2023-06-17 03:14:14 +00:00
dependabot[bot]
2581584b6b Chore(deps): Bump @nextcloud/router from 2.1.1 to 2.1.2
Bumps [@nextcloud/router](https://github.com/nextcloud/nextcloud-router) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/nextcloud/nextcloud-router/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-router/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-router/compare/v2.1.1...v2.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-17 02:58:18 +00:00
dependabot[bot]
72ac69b075 Chore(deps-dev): Bump phpunit/phpunit from 9.6.8 to 9.6.9
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.6.8 to 9.6.9.
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/9.6.9/ChangeLog-9.6.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.6.8...9.6.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-17 01:56:30 +00:00
Nextcloud bot
d1a3720f50 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-17 00:32:02 +00:00
Luka Trovic
710d648af7 fix: cypress issue
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2023-06-16 19:09:29 +02:00
Luka Trovic
e2d463e7d8 fix: open card in modal on main route
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2023-06-16 19:09:29 +02:00
Nextcloud bot
91b1f6e9aa Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-16 00:31:59 +00:00
Max
cfa9c4d1c4 fix: crash when leaving out system parameter
The `--system` parameter can be supplied via command line
or selected afterwards.

However if none was provided the command would crash with
`TypeError: Cannot assign null to property $system`.

Handle that gracefully and make the type spec more precise
for the setSystem function.

Signed-off-by: Max <max@nextcloud.com>
2023-06-15 12:53:14 +02:00
Nextcloud bot
4ddbf472c3 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-15 00:32:03 +00:00
Julius Härtl
5298a8d26a Merge pull request #4810 from nextcloud/fix/4010-set-userid-for-export-command 2023-06-14 12:30:22 +02:00
Julius Härtl
53f1247939 Merge pull request #4809 from nextcloud/fix/return-int-from-commands 2023-06-14 12:29:17 +02:00
Max
ff16f95b57 fix: execute return int for export command
Signed-off-by: Max <max@nextcloud.com>
2023-06-14 11:17:50 +02:00
Max
0419ebc856 Fix(occ): set user id for permission sevice from board service
Fixes #4010.

Signed-off-by: Max <max@nextcloud.com>
2023-06-14 11:12:58 +02:00
Nextcloud bot
6fa8480722 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-14 00:32:15 +00:00
Nextcloud bot
1da513cecd Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-13 00:32:36 +00:00
Julius Härtl
309ec45a98 Merge pull request #4772 from nextcloud/fix/dynamic-autoloading 2023-06-12 10:14:02 +02:00
Julius Härtl
ddfd695376 fix: Allow dynamic autoloading for classes added during upgrade
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-06-12 09:15:41 +02:00
Nextcloud bot
260e87c983 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-11 00:52:38 +00:00
dependabot[bot]
460b0d8968 Merge pull request #4796 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.14.0 2023-06-10 05:30:24 +00:00
dependabot[bot]
b61daa36a0 Merge pull request #4797 from nextcloud/dependabot/npm_and_yarn/main/url-search-params-polyfill-8.2.3 2023-06-10 05:30:00 +00:00
dependabot[bot]
fcbb4ee45e Merge pull request #4779 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.22.5 2023-06-10 05:16:28 +00:00
dependabot[bot]
536e9350b3 Merge pull request #4791 from nextcloud/dependabot/github_actions/peter-evans/create-or-update-comment-3.0.2 2023-06-10 04:50:27 +00:00
dependabot[bot]
9efabe8638 Merge pull request #4788 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-7.12.0 2023-06-10 04:16:42 +00:00
dependabot[bot]
4f9c8b3640 Chore(deps): Bump url-search-params-polyfill from 8.2.2 to 8.2.3
Bumps [url-search-params-polyfill](https://github.com/jerrybendy/url-search-params-polyfill) from 8.2.2 to 8.2.3.
- [Release notes](https://github.com/jerrybendy/url-search-params-polyfill/releases)
- [Commits](https://github.com/jerrybendy/url-search-params-polyfill/commits)

---
updated-dependencies:
- dependency-name: url-search-params-polyfill
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 03:49:30 +00:00
dependabot[bot]
e9a03d79b6 Chore(deps-dev): Bump cypress from 12.13.0 to 12.14.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.13.0 to 12.14.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/v12.13.0...v12.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 03:46:50 +00:00
dependabot[bot]
e920676f92 Merge pull request #4784 from nextcloud/dependabot/npm_and_yarn/main/vue/test-utils-1.3.6 2023-06-10 03:23:01 +00:00
dependabot[bot]
63544eb8f4 Chore(deps): Bump peter-evans/create-or-update-comment
Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](ca08ebd5dc...c6c9a1a660)

---
updated-dependencies:
- dependency-name: peter-evans/create-or-update-comment
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 03:19:35 +00:00
dependabot[bot]
6b5c2a8821 bump @nextcloud/vue from 7.11.6 to 7.12.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>
2023-06-10 03:08:21 +00:00
dependabot[bot]
41ca96880f Chore(deps-dev): Bump @vue/test-utils from 1.3.5 to 1.3.6
Bumps [@vue/test-utils](https://github.com/vuejs/test-utils) from 1.3.5 to 1.3.6.
- [Release notes](https://github.com/vuejs/test-utils/releases)
- [Commits](https://github.com/vuejs/test-utils/commits)

---
updated-dependencies:
- dependency-name: "@vue/test-utils"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 03:03:14 +00:00
dependabot[bot]
39bcdfe5d9 Chore(deps): Bump @babel/runtime from 7.22.3 to 7.22.5
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.3 to 7.22.5.
- [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.22.5/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>
2023-06-10 01:57:52 +00:00
Julius Härtl
186082caf6 Merge pull request #4765 from nextcloud/boardIdInt 2023-06-09 09:42:55 +02:00
Git'Fellow
b53d6a3fe5 Ensure boardId is an integer
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-06-09 09:28:51 +02:00
Julius Härtl
afcccabd22 Merge pull request #4768 from nextcloud/dependabot/npm_and_yarn/fast-xml-parser-and-is-svg-4.2.4 2023-06-06 21:23:46 +02:00
dependabot[bot]
1de3a25157 Chore(deps): Bump fast-xml-parser and is-svg
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [is-svg](https://github.com/sindresorhus/is-svg). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 3.21.1 to 4.2.4
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

Updates `is-svg` from 4.3.2 to 4.4.0
- [Release notes](https://github.com/sindresorhus/is-svg/releases)
- [Commits](https://github.com/sindresorhus/is-svg/compare/v4.3.2...v4.4.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
- dependency-name: is-svg
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 18:38:16 +00:00
dependabot[bot]
8038e568a3 Merge pull request #4752 from nextcloud/dependabot/composer/nextcloud/coding-standard-1.1.1 2023-06-05 20:33:29 +00:00
Julius Härtl
f2e15a3dce ci: Fix psalm config
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-06-05 22:27:03 +02:00
Julius Härtl
0985f24f57 chore: Fix php-cs-fixer errors
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-06-05 22:26:08 +02:00
Julius Härtl
a7e7daf177 Merge pull request #4761 from nextcloud/dependabot/github_actions/skjnldsv/read-package-engines-version-actions-2.2 2023-06-05 07:45:28 +02:00
dependabot[bot]
adc488b334 Merge pull request #4760 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.22.3 2023-06-03 04:59:36 +00:00
dependabot[bot]
fead689299 Chore(deps): Bump skjnldsv/read-package-engines-version-actions
Bumps [skjnldsv/read-package-engines-version-actions](https://github.com/skjnldsv/read-package-engines-version-actions) from 2.1 to 2.2.
- [Release notes](https://github.com/skjnldsv/read-package-engines-version-actions/releases)
- [Commits](0ce2ed60f6...8205673bab)

---
updated-dependencies:
- dependency-name: skjnldsv/read-package-engines-version-actions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-03 03:32:46 +00:00
dependabot[bot]
1b4391cbd1 Chore(deps): Bump @babel/runtime from 7.22.0 to 7.22.3
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.22.0 to 7.22.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.22.3/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>
2023-06-03 03:23:21 +00:00
dependabot[bot]
c0136ca0d0 Merge pull request #4754 from nextcloud/dependabot/npm_and_yarn/main/url-search-params-polyfill-8.2.2 2023-06-03 02:57:25 +00:00
dependabot[bot]
45f9db3641 Chore(deps): Bump url-search-params-polyfill from 8.1.1 to 8.2.2
Bumps [url-search-params-polyfill](https://github.com/jerrybendy/url-search-params-polyfill) from 8.1.1 to 8.2.2.
- [Release notes](https://github.com/jerrybendy/url-search-params-polyfill/releases)
- [Commits](https://github.com/jerrybendy/url-search-params-polyfill/commits)

---
updated-dependencies:
- dependency-name: url-search-params-polyfill
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-03 01:57:43 +00:00
dependabot[bot]
a281e92f34 Chore(deps-dev): Bump nextcloud/coding-standard from 1.0.0 to 1.1.1
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 1.0.0 to 1.1.1.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v1.0.0...v1.1.1)

---
updated-dependencies:
- dependency-name: nextcloud/coding-standard
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-03 01:56:22 +00:00
Nextcloud bot
c8458d10ba Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-03 00:31:44 +00:00
John Molakvoæ
78d4d7ef99 Merge pull request #4750 from nextcloud/automated/update-workflows 2023-06-01 18:11:48 +02:00
John Molakvoæ
1c576245ce chore: update workflows from templates
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-06-01 16:25:41 +02:00
Julius Härtl
3eede07064 Merge pull request #4746 from nextcloud/automated/update-workflows 2023-05-27 14:07:08 +02:00
dependabot[bot]
0eb7ecc90e Merge pull request #4737 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.22.0 2023-05-27 08:04:11 +00:00
John Molakvoæ
050df0577e chore: update workflows from templates
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-05-27 09:45:38 +02:00
dependabot[bot]
8d395186fd Merge pull request #4744 from nextcloud/dependabot/github_actions/svenstaro/upload-release-action-2.6.0 2023-05-27 07:09:01 +00:00
dependabot[bot]
2c23a8e154 Merge pull request #4743 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.25.2 2023-05-27 07:08:54 +00:00
dependabot[bot]
c60d16ab1c Merge pull request #4742 from nextcloud/dependabot/composer/tests/integration/guzzlehttp/guzzle-7.7.0 2023-05-27 07:01:18 +00:00
dependabot[bot]
6dcbf3c56d Merge pull request #4732 from nextcloud/dependabot/npm_and_yarn/main/cypress-12.13.0 2023-05-27 03:30:41 +00:00
dependabot[bot]
bde86ea0c0 Chore(deps): Bump svenstaro/upload-release-action from 2.5.0 to 2.6.0
Bumps [svenstaro/upload-release-action](https://github.com/svenstaro/upload-release-action) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/svenstaro/upload-release-action/releases)
- [Changelog](https://github.com/svenstaro/upload-release-action/blob/master/CHANGELOG.md)
- [Commits](7319e4733e...58d5258088)

---
updated-dependencies:
- dependency-name: svenstaro/upload-release-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 03:27:40 +00:00
dependabot[bot]
dafcd563c2 Chore(deps): Bump shivammathur/setup-php from 2.25.1 to 2.25.2
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.25.1 to 2.25.2.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.25.1...2.25.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>
2023-05-27 03:27:15 +00:00
dependabot[bot]
15f303be12 bump @babel/runtime from 7.21.5 to 7.22.0
---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 03:24:19 +00:00
dependabot[bot]
2ffc9aa1bb Merge pull request #4735 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/auth-2.1.0 2023-05-27 03:23:29 +00:00
dependabot[bot]
dc8112e574 Chore(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/7.7/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.6.1...7.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 03:20:27 +00:00
dependabot[bot]
31d80cf0a5 Merge pull request #4730 from nextcloud/dependabot/composer/vimeo/psalm-5.12.0 2023-05-27 03:12:34 +00:00
dependabot[bot]
c8290725bd Chore(deps): Bump @nextcloud/auth from 2.0.0 to 2.1.0
Bumps [@nextcloud/auth](https://github.com/nextcloud/nextcloud-auth) from 2.0.0 to 2.1.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/v2.0.0...v2.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 01:58:02 +00:00
dependabot[bot]
8482a26c60 Chore(deps-dev): Bump cypress from 12.12.0 to 12.13.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 12.12.0 to 12.13.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/v12.12.0...v12.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-27 01:57:46 +00:00
dependabot[bot]
b5026fc4c7 Chore(deps-dev): Bump vimeo/psalm from 5.11.0 to 5.12.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 5.11.0 to 5.12.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/5.11.0...5.12.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>
2023-05-27 01:56:38 +00:00
Nextcloud bot
acb1cd9576 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-27 00:32:20 +00:00
Arthur Schiwon
42f38543fd Merge pull request #4715 from nextcloud/tests/php8.2
tests(phpunit): Run phpunit tests against PHP 8.2
2023-05-23 20:53:56 +02:00
Nextcloud bot
7ecca9727e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-21 00:29:05 +00:00
Julius Härtl
0e8416ccbd tests(phpunit): Run phpunit tests against PHP 8.2
fixes #4690

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-18 14:23:46 +02:00
Nextcloud bot
5bfa61ab70 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-18 00:29:42 +00:00
dependabot[bot]
bc8d5b2c39 Merge pull request #4699 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/event-bus-3.1.0 2023-05-17 21:39:37 +00:00
dependabot[bot]
bff7663b55 Merge pull request #4702 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/vue-7.11.6 2023-05-17 21:39:16 +00:00
dependabot[bot]
c34990bdae Merge pull request #4693 from nextcloud/dependabot/composer/tests/integration/guzzlehttp/guzzle-7.6.1 2023-05-17 21:34:52 +00:00
Julius Härtl
63bf418060 Merge pull request #4688 from nextcloud/dev/hmr 2023-05-17 20:13:19 +02:00
dependabot[bot]
26c031c0ee Chore(deps): Bump @nextcloud/vue from 7.11.4 to 7.11.6
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.11.4 to 7.11.6.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/v7.11.6/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.11.4...v7.11.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>
2023-05-17 18:11:49 +00:00
dependabot[bot]
c72d85ffd3 Chore(deps): Bump @nextcloud/event-bus from 3.0.2 to 3.1.0
Bumps [@nextcloud/event-bus](https://github.com/nextcloud/nextcloud-event-bus) from 3.0.2 to 3.1.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/v3.0.2...v3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:11:37 +00:00
dependabot[bot]
01ba03eb0e Chore(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/7.6/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.5.1...7.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 18:11:05 +00:00
Julius Härtl
79fd89b3c4 Merge pull request #4692 from nextcloud/update-main-version 2023-05-17 20:10:38 +02:00
Joas Schilling
0824921b2d feat(deps): Add Nextcloud 28 support on main
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-05-17 15:26:57 +02:00
Julius Härtl
a9a4aceaac chore(webpack): Remove outdated config for hmr
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-17 09:53:51 +02:00
Julius Härtl
d096208f58 chore(webpack): Move to shared code for entrypoints and use webpack serve public path
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-17 09:53:50 +02:00
Julius Härtl
9f753e4395 chore(webpack): Add npm run serve command
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-05-17 09:51:16 +02:00
108 changed files with 34589 additions and 34373 deletions

View File

@@ -12,6 +12,40 @@ updates:
reviewers:
- juliushaertl
- package-ecosystem: npm
target-branch: stable27
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 30
labels:
- 3. to review
- dependencies
- package-ecosystem: npm
target-branch: stable26
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 30
labels:
- 3. to review
- dependencies
- package-ecosystem: npm
target-branch: stable25
versioning-strategy: lockfile-only

View File

@@ -24,7 +24,7 @@ jobs:
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.25.1
uses: shivammathur/setup-php@2.25.4
with:
php-version: '7.4'
tools: composer

View File

@@ -32,7 +32,7 @@ jobs:
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
path: ${{ env.APP_NAME }}
@@ -44,7 +44,7 @@ jobs:
expression: "//info//dependencies//nextcloud/@min-version"
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
# Continue if no package.json
continue-on-error: true
@@ -56,7 +56,7 @@ jobs:
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
# Skip if no package.json
if: ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -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.25.1 # v2
uses: shivammathur/setup-php@2.25.4 # v2
with:
php-version: ${{ env.PHP_VERSION }}
coverage: none
@@ -126,9 +126,10 @@ jobs:
unzip latest-$NCVERSION.zip
- name: Checkout server master fallback
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
if: ${{ steps.server-checkout.outcome != 'success' }}
with:
submodules: true
repository: nextcloud/server
path: nextcloud
@@ -148,7 +149,7 @@ jobs:
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
- name: Attach tarball to github release
uses: svenstaro/upload-release-action@7319e4733ec7a184d739a6f412c40ffc339b69c7 # v2
uses: svenstaro/upload-release-action@2b9d2847a97b04d02ad5c3df2d3a27baa97ce689 # v2
id: attach_to_release
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -23,7 +23,7 @@ jobs:
steps:
- name: Add reaction on start
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
repository: ${{ github.event.repository.full_name }}
@@ -31,18 +31,18 @@ jobs:
reaction-type: "+1"
- name: Checkout the latest code
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
fetch-depth: 0
token: ${{ secrets.COMMAND_BOT_PAT }}
- name: Automatic Rebase
uses: cirrus-actions/rebase@6e572f08c244e2f04f9beb85a943eb618218714d # 1.7
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
env:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2
if: failure()
with:
token: ${{ secrets.COMMAND_BOT_PAT }}

View File

@@ -23,7 +23,7 @@ jobs:
# containers: [1, 2, 3]
php-versions: [ '8.0' ]
databases: [ 'sqlite' ]
server-versions: [ 'stable27' ]
server-versions: [ 'master' ]
steps:
- name: Use Node.js ${{ matrix.node-version }}
@@ -64,7 +64,7 @@ jobs:
path: apps/text
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.25.1
uses: shivammathur/setup-php@2.25.4
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu

View File

@@ -3,31 +3,31 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Pull request checks
name: Block fixup and squash commits
on:
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
pull_request:
types: [opened, ready_for_review, reopened, synchronize]
permissions:
contents: read
contents: read
concurrency:
group: fixup-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
group: fixup-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
commit-message-check:
if: github.event.pull_request.draft == false
commit-message-check:
if: github.event.pull_request.draft == false
permissions:
pull-requests: write
name: Block fixup and squash commits
permissions:
pull-requests: write
name: Block fixup and squash commits
runs-on: ubuntu-latest
runs-on: ubuntu-latest
steps:
- name: Run check
uses: xt0rted/block-autosquash-commits-action@79880c36b4811fe549cfffe20233df88876024e7 # v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Run check
uses: skjnldsv/block-fixup-merge-action@42d26e1b536ce61e5cf467d65fb76caf4aa85acf # v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -28,7 +28,7 @@ jobs:
matrix:
php-versions: ['8.1']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['stable27']
server-versions: ['master']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -71,7 +71,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.25.1
uses: shivammathur/setup-php@2.25.4
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
@@ -98,7 +98,7 @@ jobs:
cat config/config.php
./occ user:list
./occ app:enable --force ${{ env.APP_NAME }}
./occ config:system:set query_log_file --value '/home/runner/work/${{ env.APP_NAME }}/${{ env.APP_NAME }}/query.log'
./occ config:system:set query_log_file --value "$PWD/query.log"
php -S localhost:8080 &
- name: Run behat
@@ -123,12 +123,12 @@ jobs:
myError += data.toString()
}
}
await exec.exec(`/bin/bash -c "cat /home/runner/work/${{ env.APP_NAME }}/${{ env.APP_NAME }}/query.log | wc -l"`, [], options)
await exec.exec(`/bin/bash -c "cat query.log | wc -l"`, [], options)
msg = myOutput
const queryCount = parseInt(myOutput, 10)
myOutput = ''
await exec.exec('cat', ['/home/runner/work/${{ env.APP_NAME }}/${{ env.APP_NAME }}/apps/${{ env.APP_NAME }}/tests/integration/base-query-count.txt'], options)
await exec.exec('cat', ['apps/${{ env.APP_NAME }}/tests/integration/base-query-count.txt'], options)
const baseCount = parseInt(myOutput, 10)
const absoluteIncrease = queryCount - baseCount

View File

@@ -6,7 +6,7 @@
# Use lint-eslint together with lint-eslint-when-unrelated to make eslint a required check for GitHub actions
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
name: Lint
name: Lint eslint
on:
pull_request:
@@ -38,17 +38,17 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -3,7 +3,7 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Lint
name: Lint php-cs
on: pull_request
@@ -22,13 +22,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Set up php
uses: shivammathur/setup-php@2.25.1 # v2
uses: shivammathur/setup-php@2.25.4 # v2
with:
php-version: 8.1
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -3,7 +3,7 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Lint
name: Lint php
on:
pull_request:
@@ -31,13 +31,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.25.1 # v2
uses: shivammathur/setup-php@2.25.4 # v2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -3,7 +3,7 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Lint
name: Lint stylelint
on: pull_request
@@ -22,17 +22,17 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}

View File

@@ -1,64 +0,0 @@
name: Package nightly
on:
push:
branches:
- nightly
schedule:
- cron: '0 1 * * *' # run at 2 AM UTC
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [14.x]
steps:
- uses: actions/checkout@v3
- 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: Setup PHP
uses: shivammathur/setup-php@2.25.1
with:
php-version: '7.4'
tools: composer
- name: install dependencies
run: |
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.12.2/krankerl_0.12.2_amd64.deb
sudo dpkg -i krankerl_0.12.2_amd64.deb
- name: package
run: |
uname -a
RUST_BACKTRACE=1 krankerl --version
RUST_BACKTRACE=1 krankerl package
- name: Set git config
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git tag -f nightly
- name: Push tag
uses: juliushaertl/github-push-action@main
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
tags: true
force: true
- name: Create Release
id: create_release
uses: juliushaertl/action-release@main
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: nightly
files: ./build/artifacts/deck.tar.gz
name: Nightly build
body: |
Nightly release of deck
draft: false
prerelease: true
overwrite: true

View File

@@ -3,7 +3,7 @@
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: npm audit fix and compile
name: Npm audit fix and compile
on:
workflow_dispatch:
@@ -18,25 +18,25 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ["main", "master", "stable26", "stable25", "stable24"]
branches: ["main", "master", "stable27", "stable26", "stable25", "stable24"]
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
ref: ${{ matrix.branches }}
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
id: versions
with:
fallbackNode: '^16'
fallbackNpm: '^7'
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
with:
node-version: ${{ steps.versions.outputs.nodeVersion }}
@@ -55,7 +55,7 @@ jobs:
- name: Create Pull Request
if: always()
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v3
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v5
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(deps): fix npm audit"

View File

@@ -26,9 +26,9 @@ jobs:
strategy:
fail-fast: false
matrix:
php-versions: ['8.0', '8.1']
php-versions: ['8.0', '8.1', '8.2']
databases: ['sqlite', 'mysql', 'pgsql']
server-versions: ['stable27']
server-versions: ['master']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
@@ -70,7 +70,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.25.1
uses: shivammathur/setup-php@2.25.4
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit

29
.github/workflows/pr-feedback.yml vendored Normal file
View File

@@ -0,0 +1,29 @@
name: 'Ask for feedback on PRs'
on:
schedule:
- cron: '30 1 * * *'
jobs:
pr-feedback:
runs-on: ubuntu-22.04
steps:
- name: The get-github-handles-from-website action
uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0
id: scrape
with:
website: 'https://nextcloud.com/team/'
- uses: marcelklehr/pr-feedback-action@601109aa729eb4c8d6d0ece7567b9d4901db4aef
with:
feedback-message: |
Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.
We hope that the reviewing process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR reviewing process.
Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6
Thank you for contributing to Nextcloud and we hope to hear from you soon!
days-before-feedback: 14
start-date: "2023-07-10"
exempt-authors: "${{ steps.scrape.outputs.users }}"
exempt-bots: true

View File

@@ -24,13 +24,14 @@ jobs:
name: Nextcloud
steps:
- name: Checkout
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
- name: Set up php
uses: shivammathur/setup-php@2.25.1 # v2
uses: shivammathur/setup-php@2.25.4 # v2
with:
php-version: 8.1
coverage: none
ini-file: development
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -17,21 +17,22 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ["master", "stable26", "stable25", "stable24"]
branches: ["main", "master", "stable27", "stable26", "stable25"]
name: update-nextcloud-ocp-${{ matrix.branches }}
steps:
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
with:
ref: ${{ matrix.branches }}
submodules: true
- name: Set up php8.1
uses: shivammathur/setup-php@2.25.1 # v2
uses: shivammathur/setup-php@2.25.4 # v2
with:
php-version: 8.1
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -40,19 +41,33 @@ jobs:
run: composer install
- name: Composer update nextcloud/ocp
if: matrix.branches != 'main'
run: composer require --dev nextcloud/ocp:dev-${{ matrix.branches }}
continue-on-error: true
- name: Reset checkout dirs
- name: Composer update nextcloud/ocp
if: matrix.branches == 'main'
run: composer require --dev nextcloud/ocp:dev-master
- name: Reset checkout 3rdparty
run: |
git clean -f 3rdparty
git checkout 3rdparty
continue-on-error: true
- name: Reset checkout vendor
run: |
git clean -f vendor
git checkout vendor
continue-on-error: true
- name: Reset checkout vendor-bin
run: |
git clean -f vendor-bin
git checkout 3rdparty vendor vendor-bin
git checkout vendor-bin
continue-on-error: true
- name: Create Pull Request
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v3
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v3
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"

View File

@@ -1,7 +1,7 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.10.0
## 1.10.0-beta.1
### Added
@@ -9,8 +9,6 @@ All notable changes to this project will be documented in this file.
### Fixed
- fix: Properly overwrite z-index of datepicker above modal @juliushaertl [#4664](https://github.com/nextcloud/deck/pull/4664)
- Use the color-primary-element* variables @szaimen [#4673](https://github.com/nextcloud/deck/pull/4673)
- fix(references): Mute NoPermissionException as it is expected to happen for references @juliushaertl [#4514](https://github.com/nextcloud/deck/pull/4514)
- fix(cards): Fix card sizing by limiting too wide style rules @juliushaertl [#4512](https://github.com/nextcloud/deck/pull/4512)
- fix: Adapt NcEmptyContent usages to new slots @juliushaertl [#4561](https://github.com/nextcloud/deck/pull/4561)
@@ -30,12 +28,7 @@ All notable changes to this project will be documented in this file.
- Better display of card dates (creation and change dates) @Jerome-Herbinet [#4604](https://github.com/nextcloud/deck/pull/4604)
- Refactors lib\Activity\DeckProvider.php to improve code readability. @fsamapoor [#4648](https://github.com/nextcloud/deck/pull/4648)
- Converts 'strpos()' calls to improve code readability. @fsamapoor [#4657](https://github.com/nextcloud/deck/pull/4657)
- Dependency updates
### Other
- feat: Add devcontainer and update dev docs @juliushaertl [#4683](https://github.com/nextcloud/deck/pull/4683)
- chore(CI): Adjust testing matrix for Nextcloud 27 on stable27 @nickvergessen [#4691](https://github.com/nextcloud/deck/pull/4691)
## 1.9.0-beta.1

View File

@@ -27,6 +27,7 @@ Deck is a kanban style organization tool aimed at personal planning and project
- [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
- [A-deck](https://github.com/leoossa/A-deck) - Chrome Extension that allows to create new card in selected stack based on current tab
- [QOwnNotes](https://github.com/pbek/QOwnNotes) - Quickly creates cards and links to them in Markdown notes
## Installation/Update

View File

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

View File

@@ -19,11 +19,10 @@
"symfony/event-dispatcher": "^4.0",
"vimeo/psalm": "^5.4",
"php-parallel-lint/php-parallel-lint": "^1.2",
"nextcloud/ocp": "dev-stable27"
"nextcloud/ocp": "dev-master"
},
"config": {
"optimize-autoloader": true,
"classmap-authoritative": true,
"allow-plugins": {
"composer/package-versions-deprecated": true
},

878
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -2,6 +2,7 @@ OC.L10N.register(
"deck",
{
"Personal" : "Persoonlik",
"Later" : "Later",
"copy" : "kopie",
"Done" : "Gereed",
"The file was uploaded" : "Die lêer is opgelaai",

View File

@@ -1,5 +1,6 @@
{ "translations": {
"Personal" : "Persoonlik",
"Later" : "Later",
"copy" : "kopie",
"Done" : "Gereed",
"The file was uploaded" : "Die lêer is opgelaai",

View File

@@ -68,6 +68,7 @@ OC.L10N.register(
"Changes in the <strong>Deck app</strong>" : "تغييرات في <strong>تطبيق Deck</strong> ",
"A <strong>comment</strong> was created on a card" : "<strong>تعليق</strong> تم إنشاؤه على بطاقة",
"Upcoming cards" : "البطاقات القادمة",
"Load more" : "حمّل أكثر",
"Personal" : "شخصي",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "البطاقة \"%s\" على \"%s\" كُلفت بها من قبل %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} قام بتكليف البطاقة {deck-board} على {deck-board} لك",
@@ -78,8 +79,12 @@ OC.L10N.register(
"The board \"%s\" has been shared with you by %s." : "تمت مشاركة اللوح \"%s\" معك من قبل %s.",
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
"Deck board" : "لوح Deck",
"Owned by %1$s" : "يملكها %1$s",
"Deck boards, cards and comments" : "الرُّقع و البطاقات و الملاحظات",
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
"Card comments" : "تعليقات البطاقة ",
"%s on %s" : "%s على %s",
"Deck boards and cards" : "الرُّقع و البطاقات",
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
"Finished" : "اكتمل",
"To review" : "لإعادة المراجعة",
@@ -101,10 +106,12 @@ OC.L10N.register(
"Could not write file to disk" : "لم يستطع كتابة ملف للقرص",
"A PHP extension stopped the file upload" : "إضافة البي اچ بي PHP أوقفت رفع الملف",
"No file uploaded or file size exceeds maximum of %s" : "لم يتم تحميل أي ملف أو أن يتجاوز حجم الملف الحد الأقصى %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : " هذه الملاحظات فيها أكثر من %s حرفاً.\n تمّت إضافتها كمُرفق إلى البطاقة التي اسمها%s.\n الموجودة على الرابط %s.",
"Card not found" : "لم يتم العثور على البطاقة ",
"Path is already shared with this card" : "تم مشاركة المسار بالفعل مع هذه البطاقة ",
"Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD",
"Personal planning and team project organization" : "التخطيط الشخصي و تنظيم مشروع الفريق",
"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 \"الرُّقعة\" هو أداة لتنظيم المهام الشخصية و الجماعية في نكست كلاود على نمط \"خطوط التصنيع أو التجميع في المصانع\" و المعروف بـ kanban.\n\n\n- 📥 أكتب مهمتك او مهمة فريقك على بطاقة و ضع البطاقة في الرُّقعة على كدسة البطاقات من ذات التصنيف أو المرحلة من الإنجاز\n- 📄 دوّن ملاحظاتك الإضافية على البطاقة بصيغة ماركداون markdown\n- 🔖 و يمكنك أيضاً إسناد البطاقة أي المهمة إلى شخص أو أشخاص في فريقك\n- 👥 شارك البطاقة مع من ترغب من أعضاء فريقك أو عائلتك أو أصدقائك\n- 📎 إرفاق ملفات و تضمينها بصيغة ماركداون في البطاقة\n- 💬ناقش البطاقة مع زملائك في خانة الملاحظات\n- ⚡ تابع ما يُستجد من عمليات و تطوّرات على البطاقة أو المهمة\n- 🚀 حافظ على مشروعك مُنسّقاً باستمرار.",
"Add board" : "إضافة لوح",
"Select the board to link to a project" : "تحديد اللوح لربطه بمشروع",
"Search by board title" : "بحث بواسطة عنوان اللوح",
@@ -133,6 +140,7 @@ OC.L10N.register(
"Archived cards" : "البطاقات المؤرشفة",
"Add list" : "إضافة قائمة",
"List name" : "قامة اسماء",
"Active filters" : "فلاتر نشطة",
"Apply filter" : "تطبيق التصفية",
"Filter by tag" : "تصفية بواسطة الوسم",
"Filter by assigned user" : "تصفية بواسطة المستخدم الموكل اليه",
@@ -149,6 +157,7 @@ OC.L10N.register(
"Toggle compact mode" : "تبديل النمط المضغوط",
"Open details" : "افتح التفاصيل",
"Details" : "التفاصيل",
"Currently present people" : "أشخاص معروضون حاليّاً",
"Loading board" : "جارِ تحميل اللوح..",
"No lists available" : "لا يوجد قائمة متاحه ",
"Create a new list to add cards to this board" : "إنشاء قائمة جديدة لإضافة البطاقات على هذا اللوح",
@@ -172,10 +181,17 @@ OC.L10N.register(
"Owner" : "المالك",
"Delete" : "حذف ",
"Failed to create share with {displayName}" : "فشل في إنشاء المشاركة مع {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "هل أنت متأكد أنك تريد نقل الرُّقعة {title} إلى {user} ؟",
"Transfer the board." : "نقل الرُّقعة.",
"Transfer" : "نقل",
"The board has been transferred to {user}" : "تمّ نقل الرُّقعة إلى {user}",
"Failed to transfer the board to {user}" : "إخفاق في نقل الرُّقعة إلى {user}",
"Edit list title" : "عدّل اسم القائمة",
"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" : "القائمة حٌذفت ",
@@ -186,9 +202,11 @@ OC.L10N.register(
"Members" : "الاعضاء",
"Upload new files" : "رفع ملفات جديدة",
"Share from Files" : "مشاركة من الملفات",
"Pending share" : "مشاركة مُعلّقة",
"Add this attachment" : "إضافة هذا المرفق",
"Show in Files" : "عرض في الملفات ",
"Download" : "تنزيل",
"Remove attachment" : "حذف المُرفق",
"Delete Attachment" : "مسح المرفق",
"Restore Attachment" : "إستعادة المرفق",
"File to share" : "ملف للمشاركة",
@@ -231,7 +249,9 @@ OC.L10N.register(
"Write a description …" : "كتابة وصف...",
"Choose attachment" : "اختيار مرفق",
"(group)" : "(مجموعة)",
"Todo items" : "قائمة المهام",
"{count} comments, {unread} unread" : "{عدد} التعليقات، {غير مقروءة} غير مقروءة",
"Edit card title" : "تعديل اسم القائمة",
"Assign to me" : "ينسب لي",
"Unassign myself" : "إلغاء تعييني ",
"Move card" : "حرك البطاقة",
@@ -240,12 +260,15 @@ OC.L10N.register(
"Archive card" : "أرشفة البطاقة",
"Delete card" : "حذف البطاقة",
"Move card to another board" : "حرك البطاقة الى لوح اخر",
"List is empty" : "القائمة فارغة",
"Card deleted" : "البطاقة حٌذفت ",
"seconds ago" : "ثوانٍ مضت",
"All boards" : "جميع الالواح",
"Archived boards" : "الالواح المؤرشفة",
"Shared with you" : "تم مشاركتها معك",
"Deck settings" : "إعدادات الرُّقعة",
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
"Show card ID badge" : "أعرض شارة رقم البطاقة",
"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 إلى منع المستخدمين الذين ليسوا جزءًا من تلك المجموعات من إنشاء لوحاتهم الخاصة. سيظل المستخدمون قادرين على العمل على اللوحات التي تمت مشاركتها معهم.",
@@ -254,6 +277,7 @@ OC.L10N.register(
"Clone board" : "استنسخ اللوح",
"Unarchive board" : "إلغاء أرشفة اللوح",
"Archive board" : "أرشفة اللوح ",
"Export board" : "صدّر الرُّقعة",
"Turn on due date reminders" : "تفعيل التذكيرات للموعد المحدد ",
"Turn off due date reminders" : "إيقاف تشغيل التذكيرات للموعد المحددد",
"Due date reminders" : "تذكيرات الموعد المحدد ",
@@ -265,14 +289,22 @@ OC.L10N.register(
"Only assigned cards" : "البطاقات المخصصة فقط",
"No reminder" : "لا يوجد تذكير ",
"An error occurred" : "حدث خطأ",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "هل أنت متأكد من حذف الرقعة {title}؟ هذا سيؤدي إلى حذف كل بيانات هذه الرُّقعة بما في ذلك البطاقات المؤرشفة.",
"Delete the board?" : "مسح اللوح؟",
"Loading filtered view" : "جارِ تحميل التصفية ",
"No due" : "غير محدد",
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
"No results found" : "لا يتم العثور على أي نتائج ",
"Deck board {name}\n* Last modified on {lastMod}" : "اسم الرُّقعة {name} \n* آخر تعديل لها في {lastMod}",
"{stack} in {board}" : "{stack} في {board}",
"Click to expand description" : "إضعط للتوسّع في الوصف",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* أُنشأت في {created}\n* آخر تعديل لها في {lastMod}\n* {nbAttachments} مُرفقات\n* {nbComments} مُلاحظات",
"{nbCards} cards" : "{nbCards} بطاقات",
"Click to expand comment" : "إضغط للتوسع في الملاحظات",
"No upcoming cards" : "لا يوجد بطاقات قادمة ",
"upcoming cards" : "البطاقات القادمة",
"New card" : "بطاقة جديدة",
"Due on {date}" : "مطلوب في {date}",
"Link to a board" : "ربط بلوح",
"Link to a card" : "ربط ببطاقة",
"Create a card" : "أنشى بطاقة ",

View File

@@ -66,6 +66,7 @@
"Changes in the <strong>Deck app</strong>" : "تغييرات في <strong>تطبيق Deck</strong> ",
"A <strong>comment</strong> was created on a card" : "<strong>تعليق</strong> تم إنشاؤه على بطاقة",
"Upcoming cards" : "البطاقات القادمة",
"Load more" : "حمّل أكثر",
"Personal" : "شخصي",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "البطاقة \"%s\" على \"%s\" كُلفت بها من قبل %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} قام بتكليف البطاقة {deck-board} على {deck-board} لك",
@@ -76,8 +77,12 @@
"The board \"%s\" has been shared with you by %s." : "تمت مشاركة اللوح \"%s\" معك من قبل %s.",
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
"Deck board" : "لوح Deck",
"Owned by %1$s" : "يملكها %1$s",
"Deck boards, cards and comments" : "الرُّقع و البطاقات و الملاحظات",
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
"Card comments" : "تعليقات البطاقة ",
"%s on %s" : "%s على %s",
"Deck boards and cards" : "الرُّقع و البطاقات",
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
"Finished" : "اكتمل",
"To review" : "لإعادة المراجعة",
@@ -99,10 +104,12 @@
"Could not write file to disk" : "لم يستطع كتابة ملف للقرص",
"A PHP extension stopped the file upload" : "إضافة البي اچ بي PHP أوقفت رفع الملف",
"No file uploaded or file size exceeds maximum of %s" : "لم يتم تحميل أي ملف أو أن يتجاوز حجم الملف الحد الأقصى %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : " هذه الملاحظات فيها أكثر من %s حرفاً.\n تمّت إضافتها كمُرفق إلى البطاقة التي اسمها%s.\n الموجودة على الرابط %s.",
"Card not found" : "لم يتم العثور على البطاقة ",
"Path is already shared with this card" : "تم مشاركة المسار بالفعل مع هذه البطاقة ",
"Invalid date, date format must be YYYY-MM-DD" : "تاريخ غير صحيح, يجب أن يكون تنسيق التاريخ YYYY-MM-DD",
"Personal planning and team project organization" : "التخطيط الشخصي و تنظيم مشروع الفريق",
"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 \"الرُّقعة\" هو أداة لتنظيم المهام الشخصية و الجماعية في نكست كلاود على نمط \"خطوط التصنيع أو التجميع في المصانع\" و المعروف بـ kanban.\n\n\n- 📥 أكتب مهمتك او مهمة فريقك على بطاقة و ضع البطاقة في الرُّقعة على كدسة البطاقات من ذات التصنيف أو المرحلة من الإنجاز\n- 📄 دوّن ملاحظاتك الإضافية على البطاقة بصيغة ماركداون markdown\n- 🔖 و يمكنك أيضاً إسناد البطاقة أي المهمة إلى شخص أو أشخاص في فريقك\n- 👥 شارك البطاقة مع من ترغب من أعضاء فريقك أو عائلتك أو أصدقائك\n- 📎 إرفاق ملفات و تضمينها بصيغة ماركداون في البطاقة\n- 💬ناقش البطاقة مع زملائك في خانة الملاحظات\n- ⚡ تابع ما يُستجد من عمليات و تطوّرات على البطاقة أو المهمة\n- 🚀 حافظ على مشروعك مُنسّقاً باستمرار.",
"Add board" : "إضافة لوح",
"Select the board to link to a project" : "تحديد اللوح لربطه بمشروع",
"Search by board title" : "بحث بواسطة عنوان اللوح",
@@ -131,6 +138,7 @@
"Archived cards" : "البطاقات المؤرشفة",
"Add list" : "إضافة قائمة",
"List name" : "قامة اسماء",
"Active filters" : "فلاتر نشطة",
"Apply filter" : "تطبيق التصفية",
"Filter by tag" : "تصفية بواسطة الوسم",
"Filter by assigned user" : "تصفية بواسطة المستخدم الموكل اليه",
@@ -147,6 +155,7 @@
"Toggle compact mode" : "تبديل النمط المضغوط",
"Open details" : "افتح التفاصيل",
"Details" : "التفاصيل",
"Currently present people" : "أشخاص معروضون حاليّاً",
"Loading board" : "جارِ تحميل اللوح..",
"No lists available" : "لا يوجد قائمة متاحه ",
"Create a new list to add cards to this board" : "إنشاء قائمة جديدة لإضافة البطاقات على هذا اللوح",
@@ -170,10 +179,17 @@
"Owner" : "المالك",
"Delete" : "حذف ",
"Failed to create share with {displayName}" : "فشل في إنشاء المشاركة مع {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "هل أنت متأكد أنك تريد نقل الرُّقعة {title} إلى {user} ؟",
"Transfer the board." : "نقل الرُّقعة.",
"Transfer" : "نقل",
"The board has been transferred to {user}" : "تمّ نقل الرُّقعة إلى {user}",
"Failed to transfer the board to {user}" : "إخفاق في نقل الرُّقعة إلى {user}",
"Edit list title" : "عدّل اسم القائمة",
"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" : "القائمة حٌذفت ",
@@ -184,9 +200,11 @@
"Members" : "الاعضاء",
"Upload new files" : "رفع ملفات جديدة",
"Share from Files" : "مشاركة من الملفات",
"Pending share" : "مشاركة مُعلّقة",
"Add this attachment" : "إضافة هذا المرفق",
"Show in Files" : "عرض في الملفات ",
"Download" : "تنزيل",
"Remove attachment" : "حذف المُرفق",
"Delete Attachment" : "مسح المرفق",
"Restore Attachment" : "إستعادة المرفق",
"File to share" : "ملف للمشاركة",
@@ -229,7 +247,9 @@
"Write a description …" : "كتابة وصف...",
"Choose attachment" : "اختيار مرفق",
"(group)" : "(مجموعة)",
"Todo items" : "قائمة المهام",
"{count} comments, {unread} unread" : "{عدد} التعليقات، {غير مقروءة} غير مقروءة",
"Edit card title" : "تعديل اسم القائمة",
"Assign to me" : "ينسب لي",
"Unassign myself" : "إلغاء تعييني ",
"Move card" : "حرك البطاقة",
@@ -238,12 +258,15 @@
"Archive card" : "أرشفة البطاقة",
"Delete card" : "حذف البطاقة",
"Move card to another board" : "حرك البطاقة الى لوح اخر",
"List is empty" : "القائمة فارغة",
"Card deleted" : "البطاقة حٌذفت ",
"seconds ago" : "ثوانٍ مضت",
"All boards" : "جميع الالواح",
"Archived boards" : "الالواح المؤرشفة",
"Shared with you" : "تم مشاركتها معك",
"Deck settings" : "إعدادات الرُّقعة",
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
"Show card ID badge" : "أعرض شارة رقم البطاقة",
"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 إلى منع المستخدمين الذين ليسوا جزءًا من تلك المجموعات من إنشاء لوحاتهم الخاصة. سيظل المستخدمون قادرين على العمل على اللوحات التي تمت مشاركتها معهم.",
@@ -252,6 +275,7 @@
"Clone board" : "استنسخ اللوح",
"Unarchive board" : "إلغاء أرشفة اللوح",
"Archive board" : "أرشفة اللوح ",
"Export board" : "صدّر الرُّقعة",
"Turn on due date reminders" : "تفعيل التذكيرات للموعد المحدد ",
"Turn off due date reminders" : "إيقاف تشغيل التذكيرات للموعد المحددد",
"Due date reminders" : "تذكيرات الموعد المحدد ",
@@ -263,14 +287,22 @@
"Only assigned cards" : "البطاقات المخصصة فقط",
"No reminder" : "لا يوجد تذكير ",
"An error occurred" : "حدث خطأ",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "هل أنت متأكد من حذف الرقعة {title}؟ هذا سيؤدي إلى حذف كل بيانات هذه الرُّقعة بما في ذلك البطاقات المؤرشفة.",
"Delete the board?" : "مسح اللوح؟",
"Loading filtered view" : "جارِ تحميل التصفية ",
"No due" : "غير محدد",
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
"No results found" : "لا يتم العثور على أي نتائج ",
"Deck board {name}\n* Last modified on {lastMod}" : "اسم الرُّقعة {name} \n* آخر تعديل لها في {lastMod}",
"{stack} in {board}" : "{stack} في {board}",
"Click to expand description" : "إضعط للتوسّع في الوصف",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* أُنشأت في {created}\n* آخر تعديل لها في {lastMod}\n* {nbAttachments} مُرفقات\n* {nbComments} مُلاحظات",
"{nbCards} cards" : "{nbCards} بطاقات",
"Click to expand comment" : "إضغط للتوسع في الملاحظات",
"No upcoming cards" : "لا يوجد بطاقات قادمة ",
"upcoming cards" : "البطاقات القادمة",
"New card" : "بطاقة جديدة",
"Due on {date}" : "مطلوب في {date}",
"Link to a board" : "ربط بلوح",
"Link to a card" : "ربط ببطاقة",
"Create a card" : "أنشى بطاقة ",

View File

@@ -266,7 +266,7 @@ OC.L10N.register(
"All boards" : "Tots els taulers",
"Archived boards" : "Taulers arxivats",
"Shared with you" : "Us han compartit",
"Deck settings" : "Paràmetres del Tauler",
"Deck settings" : "Paràmetres de Targetes",
"Use bigger card view" : "Utilitza la visualització de targetes més gran",
"Show card ID badge" : "Mostra el distintiu dID de la targeta",
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",

View File

@@ -264,7 +264,7 @@
"All boards" : "Tots els taulers",
"Archived boards" : "Taulers arxivats",
"Shared with you" : "Us han compartit",
"Deck settings" : "Paràmetres del Tauler",
"Deck settings" : "Paràmetres de Targetes",
"Use bigger card view" : "Utilitza la visualització de targetes més gran",
"Show card ID badge" : "Mostra el distintiu dID de la targeta",
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",

View File

@@ -4,6 +4,7 @@ OC.L10N.register(
"Personal" : "Isiklik",
"Finished" : "Lõpetatud",
"Later" : "Hiljem",
"copy" : "koopia",
"Done" : "Valmis",
"The file was uploaded" : "Fail laaditi üles",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Üleslaetud fail on suurem, kui php.ini failis määratud upload_max_filesize",
@@ -12,6 +13,8 @@ OC.L10N.register(
"No file was uploaded" : "Ühtegi faili ei latud üles",
"Missing a temporary folder" : "Ajutine kausta on puudu",
"Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus",
"A PHP extension stopped the file upload" : "PHP laiendus peatas faili üleslaadimise",
"No file uploaded or file size exceeds maximum of %s" : "Faili ei laaditud üles või selle suurus ületab maksimaalse %s",
"Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
"Cancel" : "Loobu",
"Close" : "Sulge",

View File

@@ -2,6 +2,7 @@
"Personal" : "Isiklik",
"Finished" : "Lõpetatud",
"Later" : "Hiljem",
"copy" : "koopia",
"Done" : "Valmis",
"The file was uploaded" : "Fail laaditi üles",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Üleslaetud fail on suurem, kui php.ini failis määratud upload_max_filesize",
@@ -10,6 +11,8 @@
"No file was uploaded" : "Ühtegi faili ei latud üles",
"Missing a temporary folder" : "Ajutine kausta on puudu",
"Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus",
"A PHP extension stopped the file upload" : "PHP laiendus peatas faili üleslaadimise",
"No file uploaded or file size exceeds maximum of %s" : "Faili ei laaditud üles või selle suurus ületab maksimaalse %s",
"Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
"Cancel" : "Loobu",
"Close" : "Sulge",

View File

@@ -1,89 +1,97 @@
OC.L10N.register(
"deck",
{
"You have created a new board {board}" : "Vostede creou o novo taboleiro {board}",
"You have created a new board {board}" : "Vde. creou o novo taboleiro {board}",
"{user} has created a new board {board}" : "{user} creou o novo taboleiro {board}",
"You have deleted the board {board}" : "Vostede eliminou o taboleiro {board}",
"You have deleted the board {board}" : "Vde. eliminou o taboleiro {board}",
"{user} has deleted the board {board}" : "{user} eliminou o taboleiro {board}",
"You have restored the board {board}" : "Vostede restaurou o taboleiro {board}",
"You have restored the board {board}" : "Vde. restaurou o taboleiro {board}",
"{user} has restored the board {board}" : "{user} restaurou o taboleiro {board}",
"You have shared the board {board} with {acl}" : "Vostede compartiu o taboleiro {board} con {acl}",
"You have shared the board {board} with {acl}" : "Vde. compartiu o taboleiro {board} con {acl}",
"{user} has shared the board {board} with {acl}" : "{user} compartiu o taboleiro {board} con {acl}",
"You have removed {acl} from the board {board}" : "Vostede retirou a {acl} do taboleiro {board}",
"You have removed {acl} from the board {board}" : "Vde. retirou a {acl} do taboleiro {board}",
"{user} has removed {acl} from the board {board}" : "{user} retirou a {acl} do taboleiro {board}",
"You have renamed the board {before} to {board}" : "Vostede renomeou o taboleiro {before} como {board}",
"You have renamed the board {before} to {board}" : "Vde. renomeou o taboleiro {before} como {board}",
"{user} has renamed the board {before} to {board}" : "{user} renomeou o taboleiro {before} como {board}",
"You have archived the board {board}" : "Vostede arquivou o taboleiro {board}",
"You have archived the board {board}" : "Vde. arquivou o taboleiro {board}",
"{user} has archived the board {before}" : "{user} arquivou o taboleiro {before}",
"You have unarchived the board {board}" : "Vostede desarquivou o taboleiro {board}",
"You have unarchived the board {board}" : "Vde. desarquivou o taboleiro {board}",
"{user} has unarchived the board {before}" : "{user} desarquivou o taboleiro {before}",
"You have created a new list {stack} on board {board}" : "Vostede creou unha nova lista {stack} no taboleiro {board}",
"You have created a new list {stack} on board {board}" : "Vde. creou unha nova lista {stack} no taboleiro {board}",
"{user} has created a new list {stack} on board {board}" : "{user} creou unha nova lista {stack} no taboleiro {board}",
"You have renamed list {before} to {stack} on board {board}" : "Vostede renomeou a lista {before} no taboleiro {board}",
"You have renamed list {before} to {stack} on board {board}" : "Vde. renomeou a lista {before} no taboleiro {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} renomeou a lista {before} como {stack} no taboleiro {board}",
"You have deleted list {stack} on board {board}" : "Vostede eliminou a lista {stack} do taboleiro {board}",
"You have deleted list {stack} on board {board}" : "Vde. eliminou a lista {stack} do taboleiro {board}",
"{user} has deleted list {stack} on board {board}" : "{user} eliminou a lista {stack} do taboleiro {board}",
"You have created card {card} in list {stack} on board {board}" : "Vostede creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have created card {card} in list {stack} on board {board}" : "Vde. creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Vostede eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Vde. eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have renamed the card {before} to {card}" : "Renomeou a tarxeta {before} a {card}",
"{user} has renamed the card {before} to {card}" : "{user} renomeou a tarxeta {before} a {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Vostede engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have added a description to card {card} in list {stack} on board {board}" : "Vde. engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Vostede actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Vde. actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have archived card {card} in list {stack} on board {board}" : "Vostede arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have archived card {card} in list {stack} on board {board}" : "Vde. arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Vostede desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Vde. desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the due date of card {card}" : "Vostede retirou a caducidade da tarxeta {card}",
"You have removed the due date of card {card}" : "Vde. retirou a caducidade da tarxeta {card}",
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
"You have set the due date of card {card} to {after}" : "Vostede estabeleceu a caducidade da tarxeta {card} a {after}",
"You have set the due date of card {card} to {after}" : "Vde. estabeleceu a caducidade da tarxeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} estabeleceu a caducidade da tarxeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Vostede actualizou a caducidade da tarxeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Vde. actualizou a caducidade da tarxeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vostede engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vostede retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vde. retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Vostede asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Vde. asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vostede desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vde. desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vostede moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vde. moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"You have added the attachment {attachment} to card {card}" : "Vostede engadiu o anexo {attachment} na tarxeta {card}",
"You have added the attachment {attachment} to card {card}" : "Vde. engadiu o anexo {attachment} na tarxeta {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} engadiu o anexo {attachment} na tarxeta {card}",
"You have updated the attachment {attachment} on card {card}" : "Vostede actualizou o anexo {attachment} na tarxeta {card}",
"You have updated the attachment {attachment} on card {card}" : "Vde. actualizou o anexo {attachment} na tarxeta {card}",
"{user} has updated the attachment {attachment} on card {card}" : "{user} actualizou o anexo {attachment} na tarxeta {card}",
"You have deleted the attachment {attachment} from card {card}" : "Vostede eliminou o anexo {attachment} da tarxeta {card}",
"You have deleted the attachment {attachment} from card {card}" : "Vde. eliminou o anexo {attachment} da tarxeta {card}",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} eliminou o anexo {attachment} da tarxeta {card}",
"You have restored the attachment {attachment} to card {card}" : "Vostede restaurou o anexo {attachment} na tarxeta {card}",
"You have restored the attachment {attachment} to card {card}" : "Vde. restaurou o anexo {attachment} na tarxeta {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} restaurou o anexo {attachment} da tarxeta {card}",
"You have commented on card {card}" : "Vostede comentou na tarxeta {card}",
"You have commented on card {card}" : "Vde. comentou na tarxeta {card}",
"{user} has commented on card {card}" : "{user} comentou na tarxeta {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "Cambiouse a <strong>descripción da tarxeta</strong> dentro da aplicación Deck",
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Cambios na <strong>aplicación Deck</strong>",
"A <strong>card description</strong> inside the Deck app has been changed" : "Cambiouse a <strong>descripción da tarxeta</strong> dentro da aplicación Tarxeteiro",
"Deck" : "Tarxeteiro",
"Changes in the <strong>Deck app</strong>" : "Cambios na <strong>aplicación Tarxeteiro</strong>",
"A <strong>comment</strong> was created on a card" : "Creouse un <strong>comentario</strong> nunha tarxeta",
"Upcoming cards" : "Tarxetas próximas",
"Load more" : "Cargar máis",
"Personal" : "Persoal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a vostede por %s.",
"The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» chegou á súa data de caducidade.",
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a vostede nun comentario en «%s».",
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con vostede por %s.",
"Deck board" : "Taboleiro do Deck",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a Vde. por %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} asignoulle a tarxeta {deck-card} en {deck-board} a Vde.",
"The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» acadou a súa data de caducidade.",
"The card {deck-card} on {deck-board} has reached its due date." : "A tarxeta {deck-card} en {deck-board} chegou á súa data de caducidade.",
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a Vde. nun comentario en «%s».",
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionouno a Vde. nun comentario en {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con Vde. por %s.",
"{user} has shared {deck-board} with you." : "{user} compartiu {deck-board} con vostede.",
"Deck board" : "Taboleiro do Tarxeteiro",
"Owned by %1$s" : "Propiedade de %1$s",
"Deck boards, cards and comments" : "Taboleiros do Tarxeteiro, tarxetas e comentarios",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, en %2$s/%3$s, propiedade de %4$s",
"Card comments" : "Comentarios da tarxeta",
"%s on %s" : "%s en %s",
"Deck boards and cards" : "Taboleiros do Tarxeteiro e tarxetas",
"No data was provided to create an attachment." : "Non se forneceu ningún dato para crear un anexo.",
"Finished" : "Rematado",
"To review" : "Para revisar",
"Action needed" : "Necesita unha acción",
"Later" : "Despois",
"Later" : "Após",
"copy" : "copiar",
"To do" : "Para facer",
"To do" : "Tarefa pendente",
"Doing" : "Facendo",
"Done" : "Feito",
"Example Task 3" : "Tarefa de exemplo 3",
@@ -98,10 +106,12 @@ OC.L10N.register(
"Could not write file to disk" : "Non foi posíbel escribir o ficheiro no disco",
"A PHP extension stopped the file upload" : "Unha extensión PHP detivo o envío de ficheiros",
"No file uploaded or file size exceeds maximum of %s" : "Non se enviou ningún ficheiro ou o tamaño do ficheiro supera o máximo de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario ten máis de %s caracteres.\nEngadido como anexo á tarxeta co nome %s.\nAccesíbel no URL: %s.",
"Card not found" : "Non se atopou a tarxeta",
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD",
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
"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" : "Tarxeteiro é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en Markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e integreos na súa descrición de Markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado",
"Add board" : "Engadir taboleiro",
"Select the board to link to a project" : "Seleccione o taboleiro para ligar a un proxecto",
"Search by board title" : "Buscar polo título do taboleiro",
@@ -111,12 +121,14 @@ OC.L10N.register(
"Select a list" : "Seleccionar unha lista",
"Card title" : "Título da tarxeta",
"Cancel" : "Cancelar",
"Creating the new card …" : "Creando unha nova tarxeta…",
"Card \"{card}\" was added to \"{board}\"" : "A tarxeta «{card}» foi engdida a «{board}»",
"Open card" : "Abrir a tarxeta",
"Close" : "Pechar",
"Create card" : "Crear tarxeta",
"Select a card" : "Seleccione unha tarxeta",
"Select the card to link to a project" : "Seleccione a tarxeta para ligar a un proxecto",
"Link to card" : "Ligar á tarxeta",
"Link to card" : "Ligazón á tarxeta",
"File already exists" : "O ficheiro xa existe",
"A file with the name {filename} already exists." : "Xa existe un ficheiro co nome {filename}.",
"Do you want to overwrite it?" : "Quere sobrescribilo?",
@@ -128,6 +140,7 @@ OC.L10N.register(
"Archived cards" : "Tarxetas arquivadas",
"Add list" : "Engadir unha lista",
"List name" : "Nome da lista",
"Active filters" : "Filtros activos",
"Apply filter" : "Aplicar filtro",
"Filter by tag" : "Filtrar pola etiqueta",
"Filter by assigned user" : "Filtrar polo usuario asignado",
@@ -144,6 +157,7 @@ OC.L10N.register(
"Toggle compact mode" : "Alternar o modo compacto",
"Open details" : "Abrir detalles",
"Details" : "Detalles",
"Currently present people" : "Persoas presentes na actualidade",
"Loading board" : "Cargando o taboleiro",
"No lists available" : "Non hai listas dispoñíbeis",
"Create a new list to add cards to this board" : "Crear unha nova lista para engadir tarxetas a este taboleiro",
@@ -167,10 +181,17 @@ OC.L10N.register(
"Owner" : "Propietario",
"Delete" : "Eliminar",
"Failed to create share with {displayName}" : "Produciuse un fallo ao crear o uso compartido con {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Confirma que quere transferir o taboleiro {title} a {user}?",
"Transfer the board." : "Transferir o taboleiro.",
"Transfer" : "Transferencia",
"The board has been transferred to {user}" : "O taboleiro foi transferido a {user}",
"Failed to transfer the board to {user}" : "Produciuse un fallo ao transferir o taboleiro a {user}",
"Edit list title" : "Editar o título da lista",
"Archive all cards" : "Arquivar todas as tarxetas",
"Unarchive all cards" : "Desarquivar todas as tarxetas",
"Delete list" : "Eliminar lista",
"Archive all cards in this list" : "Arquivar todas as tarxetas desta lista",
"Unarchive all cards in this list" : "Desarquivar todas as tarxetas desta lista",
"Add a new card" : "Engadir unha nova tarxeta",
"Card name" : "Nome da tarxeta",
"List deleted" : "Lista eliminada",
@@ -181,9 +202,11 @@ OC.L10N.register(
"Members" : "Membros",
"Upload new files" : "Enviar novos ficheiros",
"Share from Files" : "Compartir dende «Ficheiros»",
"Pending share" : "Compartición pendente",
"Add this attachment" : "Engadir este anexo",
"Show in Files" : "Amosar en Ficheiros",
"Download" : "Descargar",
"Remove attachment" : "Retirar o anexo",
"Delete Attachment" : "Eliminar o anexo",
"Restore Attachment" : "Restaurar o anexo",
"File to share" : "Ficheiro para compartir",
@@ -196,6 +219,7 @@ OC.L10N.register(
"Created" : "Creado",
"The title cannot be empty." : "O título non pode estar baleiro.",
"No comments yet. Begin the discussion!" : "Aínda non hai comentarios. Comece o debate!",
"Failed to load comments" : "Produciuse un fallo ao cargar os comentarios",
"Assign a tag to this card…" : "Asignar unha etiqueta a esta tarxeta…",
"Assign to users" : "Asignar a usuarios",
"Assign to users/groups/circles" : "Asignar a usuarios/grupos/círculos",
@@ -212,6 +236,7 @@ OC.L10N.register(
"The comment cannot be empty." : "O comentario non pode estar baleiro",
"The comment cannot be longer than 1000 characters." : "O comentario non pode ter máis de 1000 caracteres.",
"In reply to" : "En resposta a",
"Cancel reply" : "Cancelar a resposta",
"Reply" : "Responder",
"Update" : "Actualizar",
"Description" : "Descrición",
@@ -224,6 +249,9 @@ OC.L10N.register(
"Write a description …" : "Escriba unha descrición…",
"Choose attachment" : "Escoller o anexo",
"(group)" : "(grupo)",
"Todo items" : "Elementos pendentes",
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sen ler",
"Edit card title" : "Editar o título da tarxeta",
"Assign to me" : "Asignarme",
"Unassign myself" : "Desasignarme",
"Move card" : "Mover a tarxeta",
@@ -234,19 +262,22 @@ OC.L10N.register(
"Move card to another board" : "Mover a tarxeta a outro taboleiro",
"List is empty" : "A lista está baleira",
"Card deleted" : "Tarxeta eliminada",
"seconds ago" : "hai uns segundos",
"seconds ago" : "segundos atrás",
"All boards" : "Todos os taboleiros",
"Archived boards" : "Taboleiros arquivados",
"Shared with you" : "Compartido con vostede",
"Shared with you" : "Compartido con Vde.",
"Deck settings" : "Axustes do Tarxeteiro",
"Use bigger card view" : "Usa a vista de tarxeta máis grande",
"Show card ID badge" : "Amosar o distintivo de identificación da tarxeta",
"Show boards in calendar/tasks" : "Amosar taboleiros no calendario/tarefas",
"Limit deck usage of groups" : "Limitar o uso da plataforma a grupos",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitando Deck bloqueará os usuarios que non formen parte destes grupos, para crear os seus propios taboleiros. Os usuarios aínda así poderán traballar en taboleiros compartidos con eles.",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitando o Tarxeteiro bloqueará os usuarios que non formen parte destes grupos, para crear os seus propios taboleiros. Os usuarios aínda así poderán traballar en taboleiros compartidos con eles.",
"Board details" : "Detalles do taboleiro",
"Edit board" : "Editar taboleiro",
"Clone board" : "Clonar taboleiro",
"Unarchive board" : "Desarquivar taboleiro",
"Archive board" : "Arquivar taboleiro",
"Export board" : "Exportar taboleiro",
"Turn on due date reminders" : "Activar os lembretes de data de caducidade",
"Turn off due date reminders" : "Desctivar os lembretes de data de caducidade",
"Due date reminders" : "Lembretes de data de caducidade",
@@ -258,24 +289,32 @@ OC.L10N.register(
"Only assigned cards" : "Só as tarxetas asignadas",
"No reminder" : "Non hai lembretes",
"An error occurred" : "Produciuse un erro",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Confirma que quere eliminar o taboleiro {title}? Isto eliminará todos os datos deste taboleiro, incluídas as tarxetas arquivadas.",
"Delete the board?" : "Eliminar o taboleiro?",
"Loading filtered view" : "Cargando a vista filtrada",
"No due" : "Sen caducidade",
"Search for {searchQuery} in all boards" : "Resultados de busca para {searchQuery} en todos os taboleiros",
"No results found" : "Non se atoparon resultados",
"Deck board {name}\n* Last modified on {lastMod}" : "Taboleiro do Tarxeteiro {name}\n* Última modificación en {lastMod}",
"{stack} in {board}" : "{stack} en {board}",
"Click to expand description" : "Prema para despregar a descrición",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado o {created}\n* Última modificación o {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentarios",
"{nbCards} cards" : "{nbCards} tarxetas",
"Click to expand comment" : "Prema para despregar o comentario",
"No upcoming cards" : "Non hai tarxetas próximas",
"upcoming cards" : "tarxetas próximas",
"Link to a board" : "Ligar a un taboleiro",
"Link to a card" : "Ligar a unha tarxeta",
"New card" : "Nova tarxeta",
"Due on {date}" : "Caduca o {date}",
"Link to a board" : "Ligazón a un taboleiro",
"Link to a card" : "Ligazón a unha tarxeta",
"Create a card" : "Crear unha tarxeta",
"Message from {author} in {conversationName}" : "Mensaxe de {author} en {conversationName}",
"Something went wrong" : "Algo foi mal",
"Failed to upload {name}" : "Produciuse un fallo ao actualizar {name}",
"Maximum file size of {size} exceeded" : "Excedeuse o tamaño máximo de ficheiro de {size}",
"Error creating the share" : "Produciuse un erro ao crear a compartición",
"Share with a Deck card" : "Compartir cunha tarxeta Deck",
"Share {file} with a Deck card" : "Compartir {file} cunha tarxeta Deck",
"Share with a Deck card" : "Compartir cunha tarxeta de Tarxeteiro",
"Share {file} with a Deck card" : "Compartir {file} cunha tarxeta de Tarxeteiro",
"Share" : "Compartir",
"Add a new list" : "Engadir unha lista nova"
},

View File

@@ -1,87 +1,95 @@
{ "translations": {
"You have created a new board {board}" : "Vostede creou o novo taboleiro {board}",
"You have created a new board {board}" : "Vde. creou o novo taboleiro {board}",
"{user} has created a new board {board}" : "{user} creou o novo taboleiro {board}",
"You have deleted the board {board}" : "Vostede eliminou o taboleiro {board}",
"You have deleted the board {board}" : "Vde. eliminou o taboleiro {board}",
"{user} has deleted the board {board}" : "{user} eliminou o taboleiro {board}",
"You have restored the board {board}" : "Vostede restaurou o taboleiro {board}",
"You have restored the board {board}" : "Vde. restaurou o taboleiro {board}",
"{user} has restored the board {board}" : "{user} restaurou o taboleiro {board}",
"You have shared the board {board} with {acl}" : "Vostede compartiu o taboleiro {board} con {acl}",
"You have shared the board {board} with {acl}" : "Vde. compartiu o taboleiro {board} con {acl}",
"{user} has shared the board {board} with {acl}" : "{user} compartiu o taboleiro {board} con {acl}",
"You have removed {acl} from the board {board}" : "Vostede retirou a {acl} do taboleiro {board}",
"You have removed {acl} from the board {board}" : "Vde. retirou a {acl} do taboleiro {board}",
"{user} has removed {acl} from the board {board}" : "{user} retirou a {acl} do taboleiro {board}",
"You have renamed the board {before} to {board}" : "Vostede renomeou o taboleiro {before} como {board}",
"You have renamed the board {before} to {board}" : "Vde. renomeou o taboleiro {before} como {board}",
"{user} has renamed the board {before} to {board}" : "{user} renomeou o taboleiro {before} como {board}",
"You have archived the board {board}" : "Vostede arquivou o taboleiro {board}",
"You have archived the board {board}" : "Vde. arquivou o taboleiro {board}",
"{user} has archived the board {before}" : "{user} arquivou o taboleiro {before}",
"You have unarchived the board {board}" : "Vostede desarquivou o taboleiro {board}",
"You have unarchived the board {board}" : "Vde. desarquivou o taboleiro {board}",
"{user} has unarchived the board {before}" : "{user} desarquivou o taboleiro {before}",
"You have created a new list {stack} on board {board}" : "Vostede creou unha nova lista {stack} no taboleiro {board}",
"You have created a new list {stack} on board {board}" : "Vde. creou unha nova lista {stack} no taboleiro {board}",
"{user} has created a new list {stack} on board {board}" : "{user} creou unha nova lista {stack} no taboleiro {board}",
"You have renamed list {before} to {stack} on board {board}" : "Vostede renomeou a lista {before} no taboleiro {board}",
"You have renamed list {before} to {stack} on board {board}" : "Vde. renomeou a lista {before} no taboleiro {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} renomeou a lista {before} como {stack} no taboleiro {board}",
"You have deleted list {stack} on board {board}" : "Vostede eliminou a lista {stack} do taboleiro {board}",
"You have deleted list {stack} on board {board}" : "Vde. eliminou a lista {stack} do taboleiro {board}",
"{user} has deleted list {stack} on board {board}" : "{user} eliminou a lista {stack} do taboleiro {board}",
"You have created card {card} in list {stack} on board {board}" : "Vostede creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have created card {card} in list {stack} on board {board}" : "Vde. creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} creou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Vostede eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Vde. eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have renamed the card {before} to {card}" : "Renomeou a tarxeta {before} a {card}",
"{user} has renamed the card {before} to {card}" : "{user} renomeou a tarxeta {before} a {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Vostede engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have added a description to card {card} in list {stack} on board {board}" : "Vde. engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Vostede actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Vde. actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have archived card {card} in list {stack} on board {board}" : "Vostede arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have archived card {card} in list {stack} on board {board}" : "Vde. arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Vostede desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Vde. desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the due date of card {card}" : "Vostede retirou a caducidade da tarxeta {card}",
"You have removed the due date of card {card}" : "Vde. retirou a caducidade da tarxeta {card}",
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
"You have set the due date of card {card} to {after}" : "Vostede estabeleceu a caducidade da tarxeta {card} a {after}",
"You have set the due date of card {card} to {after}" : "Vde. estabeleceu a caducidade da tarxeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} estabeleceu a caducidade da tarxeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Vostede actualizou a caducidade da tarxeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Vde. actualizou a caducidade da tarxeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vostede engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vostede retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vde. retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Vostede asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Vde. asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vostede desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vde. desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vostede moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vde. moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
"You have added the attachment {attachment} to card {card}" : "Vostede engadiu o anexo {attachment} na tarxeta {card}",
"You have added the attachment {attachment} to card {card}" : "Vde. engadiu o anexo {attachment} na tarxeta {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} engadiu o anexo {attachment} na tarxeta {card}",
"You have updated the attachment {attachment} on card {card}" : "Vostede actualizou o anexo {attachment} na tarxeta {card}",
"You have updated the attachment {attachment} on card {card}" : "Vde. actualizou o anexo {attachment} na tarxeta {card}",
"{user} has updated the attachment {attachment} on card {card}" : "{user} actualizou o anexo {attachment} na tarxeta {card}",
"You have deleted the attachment {attachment} from card {card}" : "Vostede eliminou o anexo {attachment} da tarxeta {card}",
"You have deleted the attachment {attachment} from card {card}" : "Vde. eliminou o anexo {attachment} da tarxeta {card}",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} eliminou o anexo {attachment} da tarxeta {card}",
"You have restored the attachment {attachment} to card {card}" : "Vostede restaurou o anexo {attachment} na tarxeta {card}",
"You have restored the attachment {attachment} to card {card}" : "Vde. restaurou o anexo {attachment} na tarxeta {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} restaurou o anexo {attachment} da tarxeta {card}",
"You have commented on card {card}" : "Vostede comentou na tarxeta {card}",
"You have commented on card {card}" : "Vde. comentou na tarxeta {card}",
"{user} has commented on card {card}" : "{user} comentou na tarxeta {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "Cambiouse a <strong>descripción da tarxeta</strong> dentro da aplicación Deck",
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Cambios na <strong>aplicación Deck</strong>",
"A <strong>card description</strong> inside the Deck app has been changed" : "Cambiouse a <strong>descripción da tarxeta</strong> dentro da aplicación Tarxeteiro",
"Deck" : "Tarxeteiro",
"Changes in the <strong>Deck app</strong>" : "Cambios na <strong>aplicación Tarxeteiro</strong>",
"A <strong>comment</strong> was created on a card" : "Creouse un <strong>comentario</strong> nunha tarxeta",
"Upcoming cards" : "Tarxetas próximas",
"Load more" : "Cargar máis",
"Personal" : "Persoal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a vostede por %s.",
"The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» chegou á súa data de caducidade.",
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a vostede nun comentario en «%s».",
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con vostede por %s.",
"Deck board" : "Taboleiro do Deck",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a Vde. por %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} asignoulle a tarxeta {deck-card} en {deck-board} a Vde.",
"The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» acadou a súa data de caducidade.",
"The card {deck-card} on {deck-board} has reached its due date." : "A tarxeta {deck-card} en {deck-board} chegou á súa data de caducidade.",
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a Vde. nun comentario en «%s».",
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionouno a Vde. nun comentario en {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con Vde. por %s.",
"{user} has shared {deck-board} with you." : "{user} compartiu {deck-board} con vostede.",
"Deck board" : "Taboleiro do Tarxeteiro",
"Owned by %1$s" : "Propiedade de %1$s",
"Deck boards, cards and comments" : "Taboleiros do Tarxeteiro, tarxetas e comentarios",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, en %2$s/%3$s, propiedade de %4$s",
"Card comments" : "Comentarios da tarxeta",
"%s on %s" : "%s en %s",
"Deck boards and cards" : "Taboleiros do Tarxeteiro e tarxetas",
"No data was provided to create an attachment." : "Non se forneceu ningún dato para crear un anexo.",
"Finished" : "Rematado",
"To review" : "Para revisar",
"Action needed" : "Necesita unha acción",
"Later" : "Despois",
"Later" : "Após",
"copy" : "copiar",
"To do" : "Para facer",
"To do" : "Tarefa pendente",
"Doing" : "Facendo",
"Done" : "Feito",
"Example Task 3" : "Tarefa de exemplo 3",
@@ -96,10 +104,12 @@
"Could not write file to disk" : "Non foi posíbel escribir o ficheiro no disco",
"A PHP extension stopped the file upload" : "Unha extensión PHP detivo o envío de ficheiros",
"No file uploaded or file size exceeds maximum of %s" : "Non se enviou ningún ficheiro ou o tamaño do ficheiro supera o máximo de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario ten máis de %s caracteres.\nEngadido como anexo á tarxeta co nome %s.\nAccesíbel no URL: %s.",
"Card not found" : "Non se atopou a tarxeta",
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD",
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
"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" : "Tarxeteiro é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en Markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e integreos na súa descrición de Markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado",
"Add board" : "Engadir taboleiro",
"Select the board to link to a project" : "Seleccione o taboleiro para ligar a un proxecto",
"Search by board title" : "Buscar polo título do taboleiro",
@@ -109,12 +119,14 @@
"Select a list" : "Seleccionar unha lista",
"Card title" : "Título da tarxeta",
"Cancel" : "Cancelar",
"Creating the new card …" : "Creando unha nova tarxeta…",
"Card \"{card}\" was added to \"{board}\"" : "A tarxeta «{card}» foi engdida a «{board}»",
"Open card" : "Abrir a tarxeta",
"Close" : "Pechar",
"Create card" : "Crear tarxeta",
"Select a card" : "Seleccione unha tarxeta",
"Select the card to link to a project" : "Seleccione a tarxeta para ligar a un proxecto",
"Link to card" : "Ligar á tarxeta",
"Link to card" : "Ligazón á tarxeta",
"File already exists" : "O ficheiro xa existe",
"A file with the name {filename} already exists." : "Xa existe un ficheiro co nome {filename}.",
"Do you want to overwrite it?" : "Quere sobrescribilo?",
@@ -126,6 +138,7 @@
"Archived cards" : "Tarxetas arquivadas",
"Add list" : "Engadir unha lista",
"List name" : "Nome da lista",
"Active filters" : "Filtros activos",
"Apply filter" : "Aplicar filtro",
"Filter by tag" : "Filtrar pola etiqueta",
"Filter by assigned user" : "Filtrar polo usuario asignado",
@@ -142,6 +155,7 @@
"Toggle compact mode" : "Alternar o modo compacto",
"Open details" : "Abrir detalles",
"Details" : "Detalles",
"Currently present people" : "Persoas presentes na actualidade",
"Loading board" : "Cargando o taboleiro",
"No lists available" : "Non hai listas dispoñíbeis",
"Create a new list to add cards to this board" : "Crear unha nova lista para engadir tarxetas a este taboleiro",
@@ -165,10 +179,17 @@
"Owner" : "Propietario",
"Delete" : "Eliminar",
"Failed to create share with {displayName}" : "Produciuse un fallo ao crear o uso compartido con {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Confirma que quere transferir o taboleiro {title} a {user}?",
"Transfer the board." : "Transferir o taboleiro.",
"Transfer" : "Transferencia",
"The board has been transferred to {user}" : "O taboleiro foi transferido a {user}",
"Failed to transfer the board to {user}" : "Produciuse un fallo ao transferir o taboleiro a {user}",
"Edit list title" : "Editar o título da lista",
"Archive all cards" : "Arquivar todas as tarxetas",
"Unarchive all cards" : "Desarquivar todas as tarxetas",
"Delete list" : "Eliminar lista",
"Archive all cards in this list" : "Arquivar todas as tarxetas desta lista",
"Unarchive all cards in this list" : "Desarquivar todas as tarxetas desta lista",
"Add a new card" : "Engadir unha nova tarxeta",
"Card name" : "Nome da tarxeta",
"List deleted" : "Lista eliminada",
@@ -179,9 +200,11 @@
"Members" : "Membros",
"Upload new files" : "Enviar novos ficheiros",
"Share from Files" : "Compartir dende «Ficheiros»",
"Pending share" : "Compartición pendente",
"Add this attachment" : "Engadir este anexo",
"Show in Files" : "Amosar en Ficheiros",
"Download" : "Descargar",
"Remove attachment" : "Retirar o anexo",
"Delete Attachment" : "Eliminar o anexo",
"Restore Attachment" : "Restaurar o anexo",
"File to share" : "Ficheiro para compartir",
@@ -194,6 +217,7 @@
"Created" : "Creado",
"The title cannot be empty." : "O título non pode estar baleiro.",
"No comments yet. Begin the discussion!" : "Aínda non hai comentarios. Comece o debate!",
"Failed to load comments" : "Produciuse un fallo ao cargar os comentarios",
"Assign a tag to this card…" : "Asignar unha etiqueta a esta tarxeta…",
"Assign to users" : "Asignar a usuarios",
"Assign to users/groups/circles" : "Asignar a usuarios/grupos/círculos",
@@ -210,6 +234,7 @@
"The comment cannot be empty." : "O comentario non pode estar baleiro",
"The comment cannot be longer than 1000 characters." : "O comentario non pode ter máis de 1000 caracteres.",
"In reply to" : "En resposta a",
"Cancel reply" : "Cancelar a resposta",
"Reply" : "Responder",
"Update" : "Actualizar",
"Description" : "Descrición",
@@ -222,6 +247,9 @@
"Write a description …" : "Escriba unha descrición…",
"Choose attachment" : "Escoller o anexo",
"(group)" : "(grupo)",
"Todo items" : "Elementos pendentes",
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sen ler",
"Edit card title" : "Editar o título da tarxeta",
"Assign to me" : "Asignarme",
"Unassign myself" : "Desasignarme",
"Move card" : "Mover a tarxeta",
@@ -232,19 +260,22 @@
"Move card to another board" : "Mover a tarxeta a outro taboleiro",
"List is empty" : "A lista está baleira",
"Card deleted" : "Tarxeta eliminada",
"seconds ago" : "hai uns segundos",
"seconds ago" : "segundos atrás",
"All boards" : "Todos os taboleiros",
"Archived boards" : "Taboleiros arquivados",
"Shared with you" : "Compartido con vostede",
"Shared with you" : "Compartido con Vde.",
"Deck settings" : "Axustes do Tarxeteiro",
"Use bigger card view" : "Usa a vista de tarxeta máis grande",
"Show card ID badge" : "Amosar o distintivo de identificación da tarxeta",
"Show boards in calendar/tasks" : "Amosar taboleiros no calendario/tarefas",
"Limit deck usage of groups" : "Limitar o uso da plataforma a grupos",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitando Deck bloqueará os usuarios que non formen parte destes grupos, para crear os seus propios taboleiros. Os usuarios aínda así poderán traballar en taboleiros compartidos con eles.",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitando o Tarxeteiro bloqueará os usuarios que non formen parte destes grupos, para crear os seus propios taboleiros. Os usuarios aínda así poderán traballar en taboleiros compartidos con eles.",
"Board details" : "Detalles do taboleiro",
"Edit board" : "Editar taboleiro",
"Clone board" : "Clonar taboleiro",
"Unarchive board" : "Desarquivar taboleiro",
"Archive board" : "Arquivar taboleiro",
"Export board" : "Exportar taboleiro",
"Turn on due date reminders" : "Activar os lembretes de data de caducidade",
"Turn off due date reminders" : "Desctivar os lembretes de data de caducidade",
"Due date reminders" : "Lembretes de data de caducidade",
@@ -256,24 +287,32 @@
"Only assigned cards" : "Só as tarxetas asignadas",
"No reminder" : "Non hai lembretes",
"An error occurred" : "Produciuse un erro",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Confirma que quere eliminar o taboleiro {title}? Isto eliminará todos os datos deste taboleiro, incluídas as tarxetas arquivadas.",
"Delete the board?" : "Eliminar o taboleiro?",
"Loading filtered view" : "Cargando a vista filtrada",
"No due" : "Sen caducidade",
"Search for {searchQuery} in all boards" : "Resultados de busca para {searchQuery} en todos os taboleiros",
"No results found" : "Non se atoparon resultados",
"Deck board {name}\n* Last modified on {lastMod}" : "Taboleiro do Tarxeteiro {name}\n* Última modificación en {lastMod}",
"{stack} in {board}" : "{stack} en {board}",
"Click to expand description" : "Prema para despregar a descrición",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado o {created}\n* Última modificación o {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentarios",
"{nbCards} cards" : "{nbCards} tarxetas",
"Click to expand comment" : "Prema para despregar o comentario",
"No upcoming cards" : "Non hai tarxetas próximas",
"upcoming cards" : "tarxetas próximas",
"Link to a board" : "Ligar a un taboleiro",
"Link to a card" : "Ligar a unha tarxeta",
"New card" : "Nova tarxeta",
"Due on {date}" : "Caduca o {date}",
"Link to a board" : "Ligazón a un taboleiro",
"Link to a card" : "Ligazón a unha tarxeta",
"Create a card" : "Crear unha tarxeta",
"Message from {author} in {conversationName}" : "Mensaxe de {author} en {conversationName}",
"Something went wrong" : "Algo foi mal",
"Failed to upload {name}" : "Produciuse un fallo ao actualizar {name}",
"Maximum file size of {size} exceeded" : "Excedeuse o tamaño máximo de ficheiro de {size}",
"Error creating the share" : "Produciuse un erro ao crear a compartición",
"Share with a Deck card" : "Compartir cunha tarxeta Deck",
"Share {file} with a Deck card" : "Compartir {file} cunha tarxeta Deck",
"Share with a Deck card" : "Compartir cunha tarxeta de Tarxeteiro",
"Share {file} with a Deck card" : "Compartir {file} cunha tarxeta de Tarxeteiro",
"Share" : "Compartir",
"Add a new list" : "Engadir unha lista nova"
},"pluralForm" :"nplurals=2; plural=(n != 1);"

View File

@@ -10,6 +10,7 @@ OC.L10N.register(
"The board \"%s\" has been shared with you by %s." : "\"%s\" 게시판을 %s 님이 공유했습니다.",
"Deck board" : "Deck 보드",
"%s on %s" : "%s(%s의)",
"No data was provided to create an attachment." : "첨부할 데이터가 제공되지 않았습니다.",
"Finished" : "완료됨",
"To review" : "리뷰할 항목",
"Action needed" : "동작 필요",
@@ -28,8 +29,9 @@ OC.L10N.register(
"Missing a temporary folder" : "임시 폴더 없음",
"Could not write file to disk" : "디스크에 파일을 쓸 수 없음",
"A PHP extension stopped the file upload" : "PHP 확장 기능에서 파일 업로드를 차단함",
"No file uploaded or file size exceeds maximum of %s" : "파일이 업로드 되지 않았거나 크기가 %s(을)를 초과함",
"Card not found" : "카드 없음",
"Invalid date, date format must be YYYY-MM-DD" : "잘못된 날짜, YYYY-MM-DD 형식이어야 합니다",
"Invalid date, date format must be YYYY-MM-DD" : "잘못된 날짜, YYYY-MM-DD 형식이어야 합니다.",
"Add board" : "보드 추가",
"Search by board title" : "보드 제목으로 검색",
"Select board" : "보드 선택",
@@ -62,6 +64,7 @@ OC.L10N.register(
"No due date" : "기한 없음",
"Hide archived cards" : "보관된 카드 숨기기",
"Show archived cards" : "보관된 카드 보기",
"Toggle compact mode" : "컴팩트 모드 전환",
"Open details" : "자세한 정보 열기",
"Details" : "세부사항",
"Sharing" : "공유",
@@ -69,7 +72,7 @@ OC.L10N.register(
"Deleted items" : "삭제된 항목",
"Timeline" : "타임라인",
"Undo" : "실행 취소",
"No participants found" : "참자를 찾을 수 없음",
"No participants found" : "참자를 찾을 수 없음",
"(Group)" : "(그룹)",
"Can edit" : "편집할 수 있음",
"Can share" : "공유할 수 있음",
@@ -80,7 +83,7 @@ OC.L10N.register(
"Edit" : "편집",
"Members" : "구성원",
"Upload new files" : "새로운 파일 업로드",
"Share from Files" : "파일 공유",
"Share from Files" : "파일에서 공유",
"Download" : "다운로드",
"File to share" : "공유할 파일",
"Invalid path selected" : "잘못된 경로가 선택됨",
@@ -123,7 +126,9 @@ OC.L10N.register(
"An error occurred" : "오류가 발생함",
"Delete the board?" : "보드를 삭제합니까?",
"No results found" : "결과 없음",
"{stack} in {board}" : "{board}의 {stack}",
"Something went wrong" : "잘못된 접근",
"Error creating the share" : "공유를 만드는 중 오류 발생",
"Share" : "공유"
},
"nplurals=1; plural=0;");

View File

@@ -8,6 +8,7 @@
"The board \"%s\" has been shared with you by %s." : "\"%s\" 게시판을 %s 님이 공유했습니다.",
"Deck board" : "Deck 보드",
"%s on %s" : "%s(%s의)",
"No data was provided to create an attachment." : "첨부할 데이터가 제공되지 않았습니다.",
"Finished" : "완료됨",
"To review" : "리뷰할 항목",
"Action needed" : "동작 필요",
@@ -26,8 +27,9 @@
"Missing a temporary folder" : "임시 폴더 없음",
"Could not write file to disk" : "디스크에 파일을 쓸 수 없음",
"A PHP extension stopped the file upload" : "PHP 확장 기능에서 파일 업로드를 차단함",
"No file uploaded or file size exceeds maximum of %s" : "파일이 업로드 되지 않았거나 크기가 %s(을)를 초과함",
"Card not found" : "카드 없음",
"Invalid date, date format must be YYYY-MM-DD" : "잘못된 날짜, YYYY-MM-DD 형식이어야 합니다",
"Invalid date, date format must be YYYY-MM-DD" : "잘못된 날짜, YYYY-MM-DD 형식이어야 합니다.",
"Add board" : "보드 추가",
"Search by board title" : "보드 제목으로 검색",
"Select board" : "보드 선택",
@@ -60,6 +62,7 @@
"No due date" : "기한 없음",
"Hide archived cards" : "보관된 카드 숨기기",
"Show archived cards" : "보관된 카드 보기",
"Toggle compact mode" : "컴팩트 모드 전환",
"Open details" : "자세한 정보 열기",
"Details" : "세부사항",
"Sharing" : "공유",
@@ -67,7 +70,7 @@
"Deleted items" : "삭제된 항목",
"Timeline" : "타임라인",
"Undo" : "실행 취소",
"No participants found" : "참자를 찾을 수 없음",
"No participants found" : "참자를 찾을 수 없음",
"(Group)" : "(그룹)",
"Can edit" : "편집할 수 있음",
"Can share" : "공유할 수 있음",
@@ -78,7 +81,7 @@
"Edit" : "편집",
"Members" : "구성원",
"Upload new files" : "새로운 파일 업로드",
"Share from Files" : "파일 공유",
"Share from Files" : "파일에서 공유",
"Download" : "다운로드",
"File to share" : "공유할 파일",
"Invalid path selected" : "잘못된 경로가 선택됨",
@@ -121,7 +124,9 @@
"An error occurred" : "오류가 발생함",
"Delete the board?" : "보드를 삭제합니까?",
"No results found" : "결과 없음",
"{stack} in {board}" : "{board}의 {stack}",
"Something went wrong" : "잘못된 접근",
"Error creating the share" : "공유를 만드는 중 오류 발생",
"Share" : "공유"
},"pluralForm" :"nplurals=1; plural=0;"
}

View File

@@ -23,6 +23,7 @@ OC.L10N.register(
"Cancel" : "Anulează",
"Close" : "Închide",
"File already exists" : "Fișierul există deja",
"Add card" : "Adaugă card",
"Archived cards" : "Carduri arhivate",
"Add list" : "Adaugă listă ",
"Filter by tag" : "Filtrare după etichetă",

View File

@@ -21,6 +21,7 @@
"Cancel" : "Anulează",
"Close" : "Închide",
"File already exists" : "Fișierul există deja",
"Add card" : "Adaugă card",
"Archived cards" : "Carduri arhivate",
"Add list" : "Adaugă listă ",
"Filter by tag" : "Filtrare după etichetă",

View File

@@ -47,6 +47,7 @@ OC.L10N.register(
"seconds ago" : "วินาทีที่ผ่านมา",
"Shared with you" : "แชร์กับคุณ",
"Edit board" : "แก้ไขกระดาน",
"No notifications" : "ไม่มีการแจ้งเตือน",
"Delete board" : "ลบกระดาน",
"An error occurred" : "เกิดข้อผิดพลาด",
"Share" : "แชร์"

View File

@@ -45,6 +45,7 @@
"seconds ago" : "วินาทีที่ผ่านมา",
"Shared with you" : "แชร์กับคุณ",
"Edit board" : "แก้ไขกระดาน",
"No notifications" : "ไม่มีการแจ้งเตือน",
"Delete board" : "ลบกระดาน",
"An error occurred" : "เกิดข้อผิดพลาด",
"Share" : "แชร์"

View File

@@ -2,7 +2,7 @@ OC.L10N.register(
"deck",
{
"You have created a new board {board}" : "Ви створили нову дошку {board}",
"{user} has created a new board {board}" : "{user} створив нову дошку {board}",
"{user} has created a new board {board}" : "{user} створив(-ла) нову дошку {board}",
"You have deleted the board {board}" : "Ви вилучили дошку {board}",
"{user} has deleted the board {board}" : "{user} вилучив дошку {board}",
"You have restored the board {board}" : "Ви відновили дошку {board}",
@@ -18,19 +18,19 @@ OC.L10N.register(
"You have unarchived the board {board}" : "Ви розархівували дошку {board}",
"{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}",
"You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}",
"{user} has created a new list {stack} on board {board}" : "{user} створив новий список {stack} на дошці {board}",
"{user} has created a new list {stack} on board {board}" : "{user} створив(-ла) новий список {stack} на дошці {board}",
"You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив(-ла) назву списку {before} на {stack} на дошці {board}",
"You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}",
"{user} has deleted list {stack} on board {board}" : "{user} видалив список {stack} на дошці {board}",
"{user} has deleted list {stack} on board {board}" : "{user} вилучив(-ла) список {stack} на дошці {board}",
"You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив картку {card} у списку {stack} на дошці {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив(-ла) картку {card} у списку {stack} на дошці {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} видалив картку {card} у списку {stack} на дошці {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} вилучив(-ла) картку {card} у списку {stack} на дошці {board}",
"You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}",
"{user} has renamed the card {before} to {card}" : "{user} змінив(-ла) назву картки {before} на {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав опис до картки {card} у списку {stack} на дошці {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав(-ла) опис до картки {card} у списку {stack} на дошці {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
"Deck" : "Колода",
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
@@ -86,7 +86,7 @@ OC.L10N.register(
"Add list" : "Додати список",
"List name" : "Назва списку",
"Apply filter" : "Відфільтрувати",
"Filter by tag" : "Відібрати за позначками",
"Filter by tag" : "Відібрати за мітками",
"Filter by assigned user" : "Відібрати за призначеним користувачем",
"Unassigned" : "Скасовано призначення",
"Filter by due date" : "Відібрати за датою завершення",
@@ -98,12 +98,13 @@ OC.L10N.register(
"Hide archived cards" : "Приховати архівні картки",
"Show archived cards" : "Показати архівні картки",
"Toggle compact mode" : "Перемкнути компактний вигляд",
"Open details" : "Показати деталі",
"Details" : "Деталі",
"Loading board" : "Завантаження дошки",
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
"Board not found" : "Дошку не знайдено",
"Sharing" : "Поділитися",
"Tags" : "Теги",
"Tags" : "Мітки",
"Deleted items" : "Вилучені елементи",
"Timeline" : "Дії",
"Deleted lists" : "Вилучені списки",
@@ -122,7 +123,7 @@ OC.L10N.register(
"Delete list" : "Вилучити список",
"Add a new card" : "Додати нову картку",
"Edit" : "Редагувати",
"Add a new tag" : "Додати нову позначку",
"Add a new tag" : "Додати нову мітку",
"title and color value must be provided" : "потрібно зазначити назву та колір",
"Board name" : "Назва дошки",
"Members" : "Учасники",
@@ -140,7 +141,7 @@ OC.L10N.register(
"Modified" : "Змінено",
"Created" : "Створено",
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
"Assign a tag to this card…" : "Додати позначку до цієї картки",
"Assign a tag to this card…" : "Додати мітку до цієї картки",
"Assign to users" : "Призначити користувачам",
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
"Assign a user to this card…" : "Призначити користувачеві цю картку",

View File

@@ -1,6 +1,6 @@
{ "translations": {
"You have created a new board {board}" : "Ви створили нову дошку {board}",
"{user} has created a new board {board}" : "{user} створив нову дошку {board}",
"{user} has created a new board {board}" : "{user} створив(-ла) нову дошку {board}",
"You have deleted the board {board}" : "Ви вилучили дошку {board}",
"{user} has deleted the board {board}" : "{user} вилучив дошку {board}",
"You have restored the board {board}" : "Ви відновили дошку {board}",
@@ -16,19 +16,19 @@
"You have unarchived the board {board}" : "Ви розархівували дошку {board}",
"{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}",
"You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}",
"{user} has created a new list {stack} on board {board}" : "{user} створив новий список {stack} на дошці {board}",
"{user} has created a new list {stack} on board {board}" : "{user} створив(-ла) новий список {stack} на дошці {board}",
"You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив(-ла) назву списку {before} на {stack} на дошці {board}",
"You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}",
"{user} has deleted list {stack} on board {board}" : "{user} видалив список {stack} на дошці {board}",
"{user} has deleted list {stack} on board {board}" : "{user} вилучив(-ла) список {stack} на дошці {board}",
"You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив картку {card} у списку {stack} на дошці {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив(-ла) картку {card} у списку {stack} на дошці {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} видалив картку {card} у списку {stack} на дошці {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} вилучив(-ла) картку {card} у списку {stack} на дошці {board}",
"You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}",
"{user} has renamed the card {before} to {card}" : "{user} змінив(-ла) назву картки {before} на {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав опис до картки {card} у списку {stack} на дошці {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав(-ла) опис до картки {card} у списку {stack} на дошці {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
"Deck" : "Колода",
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
@@ -84,7 +84,7 @@
"Add list" : "Додати список",
"List name" : "Назва списку",
"Apply filter" : "Відфільтрувати",
"Filter by tag" : "Відібрати за позначками",
"Filter by tag" : "Відібрати за мітками",
"Filter by assigned user" : "Відібрати за призначеним користувачем",
"Unassigned" : "Скасовано призначення",
"Filter by due date" : "Відібрати за датою завершення",
@@ -96,12 +96,13 @@
"Hide archived cards" : "Приховати архівні картки",
"Show archived cards" : "Показати архівні картки",
"Toggle compact mode" : "Перемкнути компактний вигляд",
"Open details" : "Показати деталі",
"Details" : "Деталі",
"Loading board" : "Завантаження дошки",
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
"Board not found" : "Дошку не знайдено",
"Sharing" : "Поділитися",
"Tags" : "Теги",
"Tags" : "Мітки",
"Deleted items" : "Вилучені елементи",
"Timeline" : "Дії",
"Deleted lists" : "Вилучені списки",
@@ -120,7 +121,7 @@
"Delete list" : "Вилучити список",
"Add a new card" : "Додати нову картку",
"Edit" : "Редагувати",
"Add a new tag" : "Додати нову позначку",
"Add a new tag" : "Додати нову мітку",
"title and color value must be provided" : "потрібно зазначити назву та колір",
"Board name" : "Назва дошки",
"Members" : "Учасники",
@@ -138,7 +139,7 @@
"Modified" : "Змінено",
"Created" : "Створено",
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
"Assign a tag to this card…" : "Додати позначку до цієї картки",
"Assign a tag to this card…" : "Додати мітку до цієї картки",
"Assign to users" : "Призначити користувачам",
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
"Assign a user to this card…" : "Призначити користувачеві цю картку",

View File

@@ -1,31 +1,31 @@
OC.L10N.register(
"deck",
{
"You have created a new board {board}" : "您创建了一个新面板 {board}",
"{user} has created a new board {board}" : "{user} 创建了一个新面板 {board}",
"You have deleted the board {board}" : "您删除了面板 {board}",
"{user} has deleted the board {board}" : "{user} 删除了面板 {board}",
"You have restored the board {board}" : "您恢复了面板 {board}",
"{user} has restored the board {board}" : "{user} 恢复了 {board}",
"You have shared the board {board} with {acl}" : "您已共享 {board}{acl}",
"{user} has shared the board {board} with {acl}" : "{user} 已使用 {acl}享面板 {board}",
"You have removed {acl} from the board {board}" : "您从面板 {board} 中移除了 {acl}",
"{user} has removed {acl} from the board {board}" : "{user} 从面板 {board} 中移除了 {acl} ",
"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} 归档",
"You have unarchived the board {board}" : "您已将面板 {board} 撤销归档",
"{user} has unarchived the board {before}" : "{user} 已将面板 {before} 撤销归档",
"You have created a new list {stack} on board {board}" : "您在 {board} 上创建了一个新列表 {stack}面板",
"{user} has created a new list {stack} on board {board}" : "{user}{board} 上创建了一个新列表 {stack}",
"You have renamed list {before} to {stack} on board {board}" : "您将面板 {board} 上的列表 {before} 重命名为 {stack}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} 将面板 {board} 上的列表 {before} 重命名为 {stack}",
"You have deleted list {stack} on board {board}" : "您删除了面板 {board} 上的列表 {stack}",
"{user} has deleted list {stack} on board {board}" : "{user} 删除了面板 {board} 上的列表 {stack}",
"You have created card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
"You have deleted card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
"You have created a new board {board}" : "您创建了一个新面板{board}",
"{user} has created a new board {board}" : "{user} 创建了一个新面板{board}",
"You have deleted the board {board}" : "您删除了面板{board}",
"{user} has deleted the board {board}" : "{user}删除了面板{board}",
"You have restored the board {board}" : "您还原了面板{board}",
"{user} has restored the board {board}" : "{user}还原了{board}",
"You have shared the board {board} with {acl}" : "您已分享{board}{acl}",
"{user} has shared the board {board} with {acl}" : "{user}已使用{acl}享面板{board}",
"You have removed {acl} from the board {board}" : "您从面板{board}中移除了{acl}",
"{user} has removed {acl} from the board {board}" : "{user}从面板{board}中移除了{acl} ",
"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}归档",
"You have unarchived the board {board}" : "您已将面板{board}取消归档",
"{user} has unarchived the board {before}" : "{user}已将面板{before}取消归档",
"You have created a new list {stack} on board {board}" : "您在{board}上创建了一个新列表{stack}面板",
"{user} has created a new list {stack} on board {board}" : "{user}{board}上创建了一个新列表{stack}",
"You have renamed list {before} to {stack} on board {board}" : "您将面板{board}上的列表{before}重命名为{stack}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user}将面板{board}上的列表{before}重命名为{stack}",
"You have deleted list {stack} on board {board}" : "您删除了面板{board}上的列表{stack}",
"{user} has deleted list {stack} on board {board}" : "{user}删除了面板{board}上的列表{stack}",
"You have created card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中创建了卡片{card}",
"{user} has created card {card} in list {stack} on board {board}" : "{user}在面板 {board}上的列表{stack}中创建了卡片{card}",
"You have deleted card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中删除了卡片{card}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
"You have renamed the card {before} to {card}" : "您将卡片 {before} 重命名为 {card}",
"{user} has renamed the card {before} to {card}" : "{user} 将卡片 {before} 重命名为 {card}",
@@ -77,10 +77,14 @@ OC.L10N.register(
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的评论中提到了您。",
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deck-card} 的一条评论中提到了你",
"The board \"%s\" has been shared with you by %s." : "面板 \"%s\" 已由 %s 共享给您。",
"{user} has shared {deck-board} with you." : "{user} 与你分享了 {deck-board}",
"Deck board" : "Deck 看板",
"{user} has shared {deck-board} with you." : "{user}与你分享了{deck-board}",
"Deck board" : "看板",
"Owned by %1$s" : "由 %1$s 拥有",
"Deck boards, cards and comments" : "看板、卡片和评论",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "自 %1$s位于 %2$s/%3$s由 %4$s 拥有",
"Card comments" : "卡片评论",
"%s on %s" : "%s 于 %s",
"Deck boards and cards" : "看板及卡片",
"No data was provided to create an attachment." : "未能提供数据以创建附件",
"Finished" : "已完成",
"To review" : "待复核",
@@ -102,10 +106,12 @@ OC.L10N.register(
"Could not write file to disk" : "无法写入文件到磁盘",
"A PHP extension stopped the file upload" : "一个PHP扩展程序中断了文件上传。",
"No file uploaded or file size exceeds maximum of %s" : "没有文件被上传或文件大小超出最大值 %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "此评论超过%s个字符。\n作为附件添加到名称为 %s 的卡片上。\n可通过 URL 访问:%s。",
"Card not found" : "未找到卡片",
"Path is already shared with this card" : "已和这张卡片分享了路径",
"Invalid date, date format must be YYYY-MM-DD" : "无效日期,日期格式必须为 YYYY-MM-DD",
"Personal planning and team project organization" : "个人规划和团队项目安排",
"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" : "看板应用程序是一个看板风格的管理工具旨在为与Nextcloud集成的团队进行个人规划和项目管理。\n\n\n- 📥 添加您的任务到卡片并将之整理好\n- 📄 用Markdown写下额外的注释\n- 🔖 分配标签以更好地管理您的工作\n- 👥 与您的团队、朋友或家人分享\n- 📎 附件文件并将其嵌入到您的Markdown描述中\n- 💬 使用评论与您的团队沟通\n- ⚡ 在活动流中跟踪变更情况\n- 🚀 让您的项目井井有条",
"Add board" : "添加面板",
"Select the board to link to a project" : "选择要链接到一个项目的面板",
"Search by board title" : "通过标题搜索面板",
@@ -151,6 +157,7 @@ OC.L10N.register(
"Toggle compact mode" : "切换简洁模式",
"Open details" : "打开详情",
"Details" : "详情",
"Currently present people" : "当前在线的人",
"Loading board" : "正在加载面板",
"No lists available" : "无列表可用",
"Create a new list to add cards to this board" : "创建新列表后,即可在面板中新建卡片",
@@ -174,10 +181,17 @@ OC.L10N.register(
"Owner" : "所有者",
"Delete" : "删除",
"Failed to create share with {displayName}" : "用{displayName}创建分享失败",
"Transfer" : "传输",
"Are you sure you want to transfer the board {title} to {user}?" : "您确定要将面板 {title} 转移到 {user} 吗?",
"Transfer the board." : "转移面板。",
"Transfer" : "转移",
"The board has been transferred to {user}" : "面板已转移给 {user}",
"Failed to transfer the board to {user}" : "未能将面板转移给 {user}",
"Edit list title" : "编辑列表标题",
"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" : "列表被删除",
@@ -252,7 +266,9 @@ OC.L10N.register(
"All boards" : "全部面板",
"Archived boards" : "已归档面板",
"Shared with you" : "收到的共享",
"Deck settings" : "看板设置",
"Use bigger card view" : "使用较大的卡片视图",
"Show card ID badge" : "显示卡片ID序号",
"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." : "限制看板的使用权后,不在指定群组中的用户将不能新建面板,但仍可使用已共享给他们的面板。",
@@ -261,6 +277,7 @@ OC.L10N.register(
"Clone board" : "克隆面板",
"Unarchive board" : "撤销对面板的归档",
"Archive board" : "归档面板",
"Export board" : "导出面板",
"Turn on due date reminders" : "打开截止日期提醒",
"Turn off due date reminders" : "关闭截止日期提醒",
"Due date reminders" : "截止日期提醒",
@@ -272,15 +289,22 @@ OC.L10N.register(
"Only assigned cards" : "仅限已指派的卡片",
"No reminder" : "无提醒",
"An error occurred" : "发生错误",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "您确定要删除面板 {title} 吗?这将删除该面板的所有数据,包括已归档卡片。",
"Delete the board?" : "是否删除面板?",
"Loading filtered view" : "正在加载已筛选的视图",
"No due" : "没有到期的",
"Search for {searchQuery} in all boards" : "在所有看板中搜索 {searchQuery}",
"No results found" : "未找到结果",
"Deck board {name}\n* Last modified on {lastMod}" : "看板{name}\n* 最后修改于{lastMod}",
"{stack} in {board}" : "{stack} 于 {board}",
"Click to expand description" : "点击展开描述",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 创建于 {created}\n* 最后修改于 {lastMod}\n* {nbAttachments} 个附件\n* {nbComments} 个评论",
"{nbCards} cards" : "{nbCards} 张卡片",
"Click to expand comment" : "点击展开评论",
"No upcoming cards" : "没有即将到来的卡片",
"upcoming cards" : "即将到来的卡片",
"New card" : "新卡片",
"Due on {date}" : "于 {date} 到期 ",
"Link to a board" : "链接到一个面板",
"Link to a card" : "链接到一张卡片",
"Create a card" : "创建一张卡片",

View File

@@ -1,29 +1,29 @@
{ "translations": {
"You have created a new board {board}" : "您创建了一个新面板 {board}",
"{user} has created a new board {board}" : "{user} 创建了一个新面板 {board}",
"You have deleted the board {board}" : "您删除了面板 {board}",
"{user} has deleted the board {board}" : "{user} 删除了面板 {board}",
"You have restored the board {board}" : "您恢复了面板 {board}",
"{user} has restored the board {board}" : "{user} 恢复了 {board}",
"You have shared the board {board} with {acl}" : "您已共享 {board}{acl}",
"{user} has shared the board {board} with {acl}" : "{user} 已使用 {acl}享面板 {board}",
"You have removed {acl} from the board {board}" : "您从面板 {board} 中移除了 {acl}",
"{user} has removed {acl} from the board {board}" : "{user} 从面板 {board} 中移除了 {acl} ",
"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} 归档",
"You have unarchived the board {board}" : "您已将面板 {board} 撤销归档",
"{user} has unarchived the board {before}" : "{user} 已将面板 {before} 撤销归档",
"You have created a new list {stack} on board {board}" : "您在 {board} 上创建了一个新列表 {stack}面板",
"{user} has created a new list {stack} on board {board}" : "{user}{board} 上创建了一个新列表 {stack}",
"You have renamed list {before} to {stack} on board {board}" : "您将面板 {board} 上的列表 {before} 重命名为 {stack}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} 将面板 {board} 上的列表 {before} 重命名为 {stack}",
"You have deleted list {stack} on board {board}" : "您删除了面板 {board} 上的列表 {stack}",
"{user} has deleted list {stack} on board {board}" : "{user} 删除了面板 {board} 上的列表 {stack}",
"You have created card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
"You have deleted card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
"You have created a new board {board}" : "您创建了一个新面板{board}",
"{user} has created a new board {board}" : "{user} 创建了一个新面板{board}",
"You have deleted the board {board}" : "您删除了面板{board}",
"{user} has deleted the board {board}" : "{user}删除了面板{board}",
"You have restored the board {board}" : "您还原了面板{board}",
"{user} has restored the board {board}" : "{user}还原了{board}",
"You have shared the board {board} with {acl}" : "您已分享{board}{acl}",
"{user} has shared the board {board} with {acl}" : "{user}已使用{acl}享面板{board}",
"You have removed {acl} from the board {board}" : "您从面板{board}中移除了{acl}",
"{user} has removed {acl} from the board {board}" : "{user}从面板{board}中移除了{acl} ",
"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}归档",
"You have unarchived the board {board}" : "您已将面板{board}取消归档",
"{user} has unarchived the board {before}" : "{user}已将面板{before}取消归档",
"You have created a new list {stack} on board {board}" : "您在{board}上创建了一个新列表{stack}面板",
"{user} has created a new list {stack} on board {board}" : "{user}{board}上创建了一个新列表{stack}",
"You have renamed list {before} to {stack} on board {board}" : "您将面板{board}上的列表{before}重命名为{stack}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user}将面板{board}上的列表{before}重命名为{stack}",
"You have deleted list {stack} on board {board}" : "您删除了面板{board}上的列表{stack}",
"{user} has deleted list {stack} on board {board}" : "{user}删除了面板{board}上的列表{stack}",
"You have created card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中创建了卡片{card}",
"{user} has created card {card} in list {stack} on board {board}" : "{user}在面板 {board}上的列表{stack}中创建了卡片{card}",
"You have deleted card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中删除了卡片{card}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
"You have renamed the card {before} to {card}" : "您将卡片 {before} 重命名为 {card}",
"{user} has renamed the card {before} to {card}" : "{user} 将卡片 {before} 重命名为 {card}",
@@ -75,10 +75,14 @@
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的评论中提到了您。",
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deck-card} 的一条评论中提到了你",
"The board \"%s\" has been shared with you by %s." : "面板 \"%s\" 已由 %s 共享给您。",
"{user} has shared {deck-board} with you." : "{user} 与你分享了 {deck-board}",
"Deck board" : "Deck 看板",
"{user} has shared {deck-board} with you." : "{user}与你分享了{deck-board}",
"Deck board" : "看板",
"Owned by %1$s" : "由 %1$s 拥有",
"Deck boards, cards and comments" : "看板、卡片和评论",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "自 %1$s位于 %2$s/%3$s由 %4$s 拥有",
"Card comments" : "卡片评论",
"%s on %s" : "%s 于 %s",
"Deck boards and cards" : "看板及卡片",
"No data was provided to create an attachment." : "未能提供数据以创建附件",
"Finished" : "已完成",
"To review" : "待复核",
@@ -100,10 +104,12 @@
"Could not write file to disk" : "无法写入文件到磁盘",
"A PHP extension stopped the file upload" : "一个PHP扩展程序中断了文件上传。",
"No file uploaded or file size exceeds maximum of %s" : "没有文件被上传或文件大小超出最大值 %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "此评论超过%s个字符。\n作为附件添加到名称为 %s 的卡片上。\n可通过 URL 访问:%s。",
"Card not found" : "未找到卡片",
"Path is already shared with this card" : "已和这张卡片分享了路径",
"Invalid date, date format must be YYYY-MM-DD" : "无效日期,日期格式必须为 YYYY-MM-DD",
"Personal planning and team project organization" : "个人规划和团队项目安排",
"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" : "看板应用程序是一个看板风格的管理工具旨在为与Nextcloud集成的团队进行个人规划和项目管理。\n\n\n- 📥 添加您的任务到卡片并将之整理好\n- 📄 用Markdown写下额外的注释\n- 🔖 分配标签以更好地管理您的工作\n- 👥 与您的团队、朋友或家人分享\n- 📎 附件文件并将其嵌入到您的Markdown描述中\n- 💬 使用评论与您的团队沟通\n- ⚡ 在活动流中跟踪变更情况\n- 🚀 让您的项目井井有条",
"Add board" : "添加面板",
"Select the board to link to a project" : "选择要链接到一个项目的面板",
"Search by board title" : "通过标题搜索面板",
@@ -149,6 +155,7 @@
"Toggle compact mode" : "切换简洁模式",
"Open details" : "打开详情",
"Details" : "详情",
"Currently present people" : "当前在线的人",
"Loading board" : "正在加载面板",
"No lists available" : "无列表可用",
"Create a new list to add cards to this board" : "创建新列表后,即可在面板中新建卡片",
@@ -172,10 +179,17 @@
"Owner" : "所有者",
"Delete" : "删除",
"Failed to create share with {displayName}" : "用{displayName}创建分享失败",
"Transfer" : "传输",
"Are you sure you want to transfer the board {title} to {user}?" : "您确定要将面板 {title} 转移到 {user} 吗?",
"Transfer the board." : "转移面板。",
"Transfer" : "转移",
"The board has been transferred to {user}" : "面板已转移给 {user}",
"Failed to transfer the board to {user}" : "未能将面板转移给 {user}",
"Edit list title" : "编辑列表标题",
"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" : "列表被删除",
@@ -250,7 +264,9 @@
"All boards" : "全部面板",
"Archived boards" : "已归档面板",
"Shared with you" : "收到的共享",
"Deck settings" : "看板设置",
"Use bigger card view" : "使用较大的卡片视图",
"Show card ID badge" : "显示卡片ID序号",
"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." : "限制看板的使用权后,不在指定群组中的用户将不能新建面板,但仍可使用已共享给他们的面板。",
@@ -259,6 +275,7 @@
"Clone board" : "克隆面板",
"Unarchive board" : "撤销对面板的归档",
"Archive board" : "归档面板",
"Export board" : "导出面板",
"Turn on due date reminders" : "打开截止日期提醒",
"Turn off due date reminders" : "关闭截止日期提醒",
"Due date reminders" : "截止日期提醒",
@@ -270,15 +287,22 @@
"Only assigned cards" : "仅限已指派的卡片",
"No reminder" : "无提醒",
"An error occurred" : "发生错误",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "您确定要删除面板 {title} 吗?这将删除该面板的所有数据,包括已归档卡片。",
"Delete the board?" : "是否删除面板?",
"Loading filtered view" : "正在加载已筛选的视图",
"No due" : "没有到期的",
"Search for {searchQuery} in all boards" : "在所有看板中搜索 {searchQuery}",
"No results found" : "未找到结果",
"Deck board {name}\n* Last modified on {lastMod}" : "看板{name}\n* 最后修改于{lastMod}",
"{stack} in {board}" : "{stack} 于 {board}",
"Click to expand description" : "点击展开描述",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 创建于 {created}\n* 最后修改于 {lastMod}\n* {nbAttachments} 个附件\n* {nbComments} 个评论",
"{nbCards} cards" : "{nbCards} 张卡片",
"Click to expand comment" : "点击展开评论",
"No upcoming cards" : "没有即将到来的卡片",
"upcoming cards" : "即将到来的卡片",
"New card" : "新卡片",
"Due on {date}" : "于 {date} 到期 ",
"Link to a board" : "链接到一个面板",
"Link to a card" : "链接到一张卡片",
"Create a card" : "创建一张卡片",

View File

@@ -45,8 +45,8 @@ 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 OCP\Server;
use Psr\Log\LoggerInterface;
class ActivityManager {
@@ -332,8 +332,8 @@ class ActivityManager {
case self::SUBJECT_BOARD_UPDATE_ARCHIVED:
case self::SUBJECT_BOARD_DELETE:
case self::SUBJECT_BOARD_RESTORE:
// Not defined as there is no activity for
// case self::SUBJECT_BOARD_UPDATE_COLOR
// Not defined as there is no activity for
// case self::SUBJECT_BOARD_UPDATE_COLOR
break;
case self::SUBJECT_CARD_COMMENT_CREATE:
$eventType = 'deck_comment';
@@ -374,7 +374,7 @@ class ActivityManager {
$additionalParams['before'] = $additionalParams['before']->format('c');
}
break;
break;
case self::SUBJECT_ATTACHMENT_CREATE:
case self::SUBJECT_ATTACHMENT_UPDATE:
case self::SUBJECT_ATTACHMENT_DELETE:

View File

@@ -23,12 +23,12 @@
namespace OCA\Deck\Activity;
use \OCP\Comments\ICommentsEventHandler;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Notification\NotificationHelper;
use OCP\Comments\CommentsEvent;
use OCP\Comments\IComment;
use \OCP\Comments\ICommentsEventHandler;
class CommentEventHandler implements ICommentsEventHandler {

View File

@@ -26,6 +26,7 @@
namespace OCA\Deck\Activity;
use OCA\Deck\Db\Acl;
use OCA\Deck\Service\CardService;
use OCP\Activity\IEvent;
use OCP\Activity\IProvider;
use OCP\Comments\IComment;
@@ -35,7 +36,6 @@ use OCP\IConfig;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\L10N\IFactory;
use OCA\Deck\Service\CardService;
class DeckProvider implements IProvider {

View File

@@ -43,11 +43,11 @@ use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\Event\SessionClosedEvent;
use OCA\Deck\Event\SessionCreatedEvent;
use OCA\Deck\Listeners\BeforeTemplateRenderedListener;
use OCA\Deck\Listeners\ParticipantCleanupListener;
use OCA\Deck\Listeners\FullTextSearchEventListener;
use OCA\Deck\Listeners\LiveUpdateListener;
use OCA\Deck\Listeners\ParticipantCleanupListener;
use OCA\Deck\Listeners\ResourceAdditionalScriptsListener;
use OCA\Deck\Listeners\ResourceListener;
use OCA\Deck\Listeners\LiveUpdateListener;
use OCA\Deck\Middleware\DefaultBoardMiddleware;
use OCA\Deck\Middleware\ExceptionMiddleware;
use OCA\Deck\Notification\Notifier;

View File

@@ -46,12 +46,12 @@ class UserExport extends Command {
private $assignedUsersMapper;
public function __construct(BoardMapper $boardMapper,
BoardService $boardService,
StackMapper $stackMapper,
CardMapper $cardMapper,
AssignmentMapper $assignedUsersMapper,
IUserManager $userManager,
IGroupManager $groupManager) {
BoardService $boardService,
StackMapper $stackMapper,
CardMapper $cardMapper,
AssignmentMapper $assignedUsersMapper,
IUserManager $userManager,
IGroupManager $groupManager) {
parent::__construct();
$this->cardMapper = $cardMapper;
@@ -79,12 +79,12 @@ class UserExport extends Command {
/**
* @param InputInterface $input
* @param OutputInterface $output
* @return void
* @return int
* @throws DoesNotExistException
* @throws MultipleObjectsReturnedException
* @throws \ReflectionException
*/
protected function execute(InputInterface $input, OutputInterface $output) {
protected function execute(InputInterface $input, OutputInterface $output): int {
$userId = $input->getArgument('user-id');
$this->boardService->setUserId($userId);
@@ -96,7 +96,7 @@ class UserExport extends Command {
$data[$board->getId()] = (array)$fullBoard->jsonSerialize();
$stacks = $this->stackMapper->findAll($board->getId());
foreach ($stacks as $stack) {
$data[$board->getId()]['stacks'][] = (array)$stack->jsonSerialize();
$data[$board->getId()]['stacks'][$stack->getId()] = (array)$stack->jsonSerialize();
$cards = $this->cardMapper->findAllByStack($stack->getId());
foreach ($cards as $card) {
$fullCard = $this->cardMapper->find($card->getId());
@@ -109,5 +109,6 @@ class UserExport extends Command {
}
}
$output->writeln(json_encode($data, JSON_PRETTY_PRINT));
return 0;
}
}

View File

@@ -22,18 +22,19 @@
*/
namespace OCA\Deck\Controller;
use OCA\Deck\Service\AttachmentService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\AttachmentService;
class AttachmentApiController extends ApiController {
private $attachmentService;
public function __construct($appName, IRequest $request, AttachmentService $attachmentService) {
public function __construct(
$appName,
IRequest $request,
private AttachmentService $attachmentService,
) {
parent::__construct($appName, $request);
$this->attachmentService = $attachmentService;
}
/**

View File

@@ -28,13 +28,12 @@ use OCP\AppFramework\Controller;
use OCP\IRequest;
class AttachmentController extends Controller {
/** @var AttachmentService */
private $attachmentService;
public function __construct($appName, IRequest $request, AttachmentService $attachmentService) {
public function __construct(
$appName,
IRequest $request,
private AttachmentService $attachmentService,
) {
parent::__construct($appName, $request);
$this->attachmentService = $attachmentService;
}
/**

View File

@@ -25,13 +25,13 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Db\Board;
use OCA\Deck\Service\BoardService;
use OCA\Deck\StatusException;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\BoardService;
use OCP\IRequest;
use Sabre\HTTP\Util;
/**
@@ -40,18 +40,16 @@ use Sabre\HTTP\Util;
* @package OCA\Deck\Controller
*/
class BoardApiController extends ApiController {
private $boardService;
/**
* @param string $appName
* @param IRequest $request
* @param BoardService $service
* @param $userId
*/
public function __construct($appName, IRequest $request, BoardService $service, $userId) {
public function __construct(
$appName,
IRequest $request,
private BoardService $boardService,
private $userId,
) {
parent::__construct($appName, $request);
$this->boardService = $service;
$this->userId = $userId;
}
/**

View File

@@ -33,15 +33,14 @@ use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
class BoardController extends ApiController {
private $userId;
private $boardService;
private $permissionService;
public function __construct($appName, IRequest $request, BoardService $boardService, PermissionService $permissionService, $userId) {
public function __construct(
$appName,
IRequest $request,
private BoardService $boardService,
private PermissionService $permissionService,
private $userId,
) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->boardService = $boardService;
$this->permissionService = $permissionService;
}
/**
@@ -144,7 +143,7 @@ class BoardController extends ApiController {
/**
* @NoAdminRequired
* @param $aclId
* @return \OCP\AppFramework\Db\Entity
* @return \OCP\AppFramework\Db\Entity|null
*/
public function deleteAcl($aclId) {
return $this->boardService->deleteAcl($aclId);

View File

@@ -30,20 +30,13 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class BoardImportApiController extends OCSController {
/** @var BoardImportService */
private $boardImportService;
/** @var string */
private $userId;
public function __construct(
string $appName,
IRequest $request,
BoardImportService $boardImportService,
string $userId
private BoardImportService $boardImportService,
private string $userId,
) {
parent::__construct($appName, $request);
$this->boardImportService = $boardImportService;
$this->userId = $userId;
}
/**

View File

@@ -23,36 +23,37 @@
*
*/
namespace OCA\Deck\Controller;
namespace OCA\Deck\Controller;
use OCA\Deck\Service\AssignmentService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\CardService;
use OCA\Deck\Service\AssignmentService;
use OCA\Deck\Service\CardService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
/**
* Class BoardApiController
*
* @package OCA\Deck\Controller
*/
/**
* Class BoardApiController
*
* @package OCA\Deck\Controller
*/
class CardApiController extends ApiController {
private $cardService;
private $userId;
private $assignmentService;
/**
* @param string $appName
* @param IRequest $request
* @param CardService $cardService
* @param AssignmentService $assignmentService
* @param $userId
*/
public function __construct($appName, IRequest $request, CardService $cardService, AssignmentService $assignmentService, $userId) {
public function __construct(
string $appName,
IRequest $request,
private CardService $cardService,
private AssignmentService $assignmentService,
private $userId,
) {
parent::__construct($appName, $request);
$this->cardService = $cardService;
$this->userId = $userId;
$this->assignmentService = $assignmentService;
}
/**

View File

@@ -25,19 +25,18 @@ namespace OCA\Deck\Controller;
use OCA\Deck\Service\AssignmentService;
use OCA\Deck\Service\CardService;
use OCP\IRequest;
use OCP\AppFramework\Controller;
use OCP\IRequest;
class CardController extends Controller {
private $userId;
private $cardService;
private $assignmentService;
public function __construct($appName, IRequest $request, CardService $cardService, AssignmentService $assignmentService, $userId) {
public function __construct(
$appName,
IRequest $request,
private CardService $cardService,
private AssignmentService $assignmentService,
private $userId,
) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->cardService = $cardService;
$this->assignmentService = $assignmentService;
}
/**

View File

@@ -31,18 +31,15 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class CommentsApiController extends OCSController {
/** @var CommentService */
private $commentService;
public function __construct(
string $appName,
IRequest $request,
CommentService $commentService,
string $corsMethods = 'PUT, POST, GET, DELETE, PATCH', string $corsAllowedHeaders = 'Authorization, Content-Type, Accept', int $corsMaxAge = 1728000
private CommentService $commentService,
string $corsMethods = 'PUT, POST, GET, DELETE, PATCH',
string $corsAllowedHeaders = 'Authorization, Content-Type, Accept',
int $corsMaxAge = 1728000,
) {
parent::__construct($appName, $request, $corsMethods, $corsAllowedHeaders, $corsMaxAge);
$this->commentService = $commentService;
}
/**

View File

@@ -30,16 +30,12 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class ConfigController extends OCSController {
private $configService;
public function __construct(
$AppName,
IRequest $request,
ConfigService $configService
) {
private ConfigService $configService,
) {
parent::__construct($AppName, $request);
$this->configService = $configService;
}
/**

View File

@@ -23,11 +23,11 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Service\LabelService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\LabelService;
/**
* Class BoardApiController
@@ -35,21 +35,18 @@ use OCA\Deck\Service\LabelService;
* @package OCA\Deck\Controller
*/
class LabelApiController extends ApiController {
private $labelService;
private $userId;
/**
* @param string $appName
* @param IRequest $request
* @param LabelService $labelService
* @param $userId
*/
public function __construct($appName, IRequest $request, LabelService $labelService, $userId) {
public function __construct(
$appName,
IRequest $request,
private LabelService $labelService,
private $userId,
) {
parent::__construct($appName, $request);
$this->labelService = $labelService;
$this->userId = $userId;
}
/**
* @NoAdminRequired
* @CORS

View File

@@ -24,15 +24,16 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Service\LabelService;
use OCP\IRequest;
use OCP\AppFramework\Controller;
use OCP\IRequest;
class LabelController extends Controller {
private $labelService;
public function __construct($appName, IRequest $request, LabelService $labelService) {
public function __construct(
$appName,
IRequest $request,
private LabelService $labelService,
) {
parent::__construct($appName, $request);
$this->labelService = $labelService;
}
/**

View File

@@ -32,17 +32,13 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class OverviewApiController extends OCSController {
/** @var OverviewService */
private $dashboardService;
/** @var string */
private $userId;
public function __construct($appName, IRequest $request, OverviewService $dashboardService, $userId) {
public function __construct(
$appName,
IRequest $request,
private OverviewService $dashboardService,
private $userId,
) {
parent::__construct($appName, $request);
$this->dashboardService = $dashboardService;
$this->userId = $userId;
}
/**

View File

@@ -23,58 +23,44 @@
namespace OCA\Deck\Controller;
use \OCP\AppFramework\Http\RedirectResponse;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Service\CardService;
use OCA\Deck\Service\ConfigService;
use OCA\Deck\Service\PermissionService;
use OCA\Files\Event\LoadSidebar;
use OCA\Text\Event\LoadEditor;
use OCA\Viewer\Event\LoadViewer;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\ContentSecurityPolicy;
use OCP\AppFramework\Http\TemplateResponse;
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;
use OCP\AppFramework\Controller;
use OCA\Deck\Db\CardMapper;
use OCP\IURLGenerator;
use \OCP\AppFramework\Http\RedirectResponse;
use OCA\Deck\Db\Acl;
use OCA\Deck\Service\CardService;
class PageController extends Controller {
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(
string $AppName,
IRequest $request,
PermissionService $permissionService,
private PermissionService $permissionService,
IInitialStateService $initialStateService,
ConfigService $configService,
IEventDispatcher $eventDispatcher,
CardMapper $cardMapper,
IURLGenerator $urlGenerator,
CardService $cardService,
IConfig $config
) {
private ConfigService $configService,
private IEventDispatcher $eventDispatcher,
private CardMapper $cardMapper,
private IURLGenerator $urlGenerator,
private CardService $cardService,
private IConfig $config,
) {
parent::__construct($AppName, $request);
$this->permissionService = $permissionService;
$this->initialState = $initialStateService;
$this->configService = $configService;
$this->eventDispatcher = $eventDispatcher;
$this->cardMapper = $cardMapper;
$this->urlGenerator = $urlGenerator;
$this->cardService = $cardService;
$this->config = $config;
}
/**

View File

@@ -34,15 +34,12 @@ use OCP\AppFramework\OCSController;
use OCP\IRequest;
class SearchController extends OCSController {
/**
* @var SearchService
*/
private $searchService;
public function __construct(string $appName, IRequest $request, SearchService $searchService) {
public function __construct(
string $appName,
IRequest $request,
private SearchService $searchService,
) {
parent::__construct($appName, $request);
$this->searchService = $searchService;
}
/**

View File

@@ -24,30 +24,23 @@ declare(strict_types=1);
namespace OCA\Deck\Controller;
use OCA\Deck\Service\SessionService;
use OCA\Deck\Service\PermissionService;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Service\PermissionService;
use OCA\Deck\Service\SessionService;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Http\DataResponse;
use OCP\AppFramework\OCSController;
use OCP\IRequest;
use OCA\Deck\Db\Acl;
class SessionController extends OCSController {
private SessionService $sessionService;
private PermissionService $permissionService;
private BoardMapper $boardMapper;
public function __construct($appName,
IRequest $request,
SessionService $sessionService,
PermissionService $permissionService,
BoardMapper $boardMapper
private SessionService $sessionService,
private PermissionService $permissionService,
private BoardMapper $boardMapper,
) {
parent::__construct($appName, $request);
$this->sessionService = $sessionService;
$this->permissionService = $permissionService;
$this->boardMapper = $boardMapper;
}
/**

View File

@@ -24,13 +24,13 @@
namespace OCA\Deck\Controller;
use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\StackService;
use OCA\Deck\StatusException;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\DataResponse;
use OCP\IRequest;
use OCA\Deck\Service\StackService;
use OCA\Deck\Service\BoardService;
use Sabre\HTTP\Util;
/**
@@ -39,18 +39,16 @@ use Sabre\HTTP\Util;
* @package OCA\Deck\Controller
*/
class StackApiController extends ApiController {
private $boardService;
private $stackService;
/**
* @param string $appName
* @param IRequest $request
* @param StackService $stackService
*/
public function __construct($appName, IRequest $request, StackService $stackService, BoardService $boardService) {
public function __construct(
$appName,
IRequest $request,
private StackService $stackService,
private BoardService $boardService,
) {
parent::__construct($appName, $request);
$this->stackService = $stackService;
$this->boardService = $boardService;
}
/**

View File

@@ -25,17 +25,18 @@ namespace OCA\Deck\Controller;
use OCA\Deck\Service\StackService;
use OCP\IRequest;
use OCP\AppFramework\Controller;
use OCP\IRequest;
class StackController extends Controller {
private $userId;
private $stackService;
public function __construct($appName, IRequest $request, StackService $stackService, $userId) {
public function __construct(
string $appName,
IRequest $request,
private StackService $stackService,
private $userId,
) {
parent::__construct($appName, $request);
$this->userId = $userId;
$this->stackService = $stackService;
}
/**

View File

@@ -24,10 +24,10 @@
namespace OCA\Deck\Cron;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\Job;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Db\CardMapper;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\Job;
class CardDescriptionActivity extends Job {

View File

@@ -24,14 +24,14 @@
namespace OCA\Deck\Cron;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\TimedJob;
use OCA\Deck\Db\AttachmentMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\InvalidAttachmentType;
use OCA\Deck\Service\AttachmentService;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJob;
use OCP\BackgroundJob\TimedJob;
class DeleteCron extends TimedJob {

View File

@@ -23,12 +23,12 @@
namespace OCA\Deck\Cron;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\Job;
use OCA\Deck\Db\Card;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Notification\NotificationHelper;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\Job;
use OCP\ILogger;
class ScheduledNotifications extends Job {

View File

@@ -39,8 +39,8 @@ class SessionsCleanup extends TimedJob {
public function __construct(ITimeFactory $time,
SessionService $sessionService,
ILogger $logger) {
SessionService $sessionService,
ILogger $logger) {
parent::__construct($time);
$this->sessionService = $sessionService;
$this->logger = $logger;

View File

@@ -29,8 +29,8 @@ use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\QBMapper;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
use OCP\IUserManager;
use OCP\IGroupManager;
use OCP\IUserManager;
use Psr\Log\LoggerInterface;
/** @template-extends QBMapper<Board> */
@@ -126,9 +126,9 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
$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)),
));
$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
@@ -147,7 +147,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
}
public function findAllForUser(string $userId, ?int $since = null, bool $includeArchived = true, ?int $before = null,
?string $term = null): array {
?string $term = null): array {
$useCache = ($since === -1 && $includeArchived === true && $before === null && $term === null);
if (!isset($this->userBoardCache[$userId]) || !$useCache) {
$groups = $this->groupManager->getUserGroupIds(
@@ -186,7 +186,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
* Find all boards for a given user
*/
public function findAllByUser(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
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();
@@ -293,7 +293,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
* Find all boards for a given user
*/
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): array {
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
if (count($groups) <= 0) {
return [];
}
@@ -347,7 +347,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
}
public function findAllByCircles(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) {
$circles = $this->circlesService->getUserCircles($userId);
if (count($circles) === 0) {
return [];

View File

@@ -23,8 +23,8 @@
namespace OCA\Deck\Db;
use OCP\ICacheFactory;
use OCP\ICache;
use OCP\ICacheFactory;
use OCP\IDBConnection;
use OCP\IRequest;

View File

@@ -28,9 +28,9 @@ use OCP\AppFramework\Db\Entity;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\Cache\CappedMemoryCache;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
use OCP\ICache;
use OCP\ICacheFactory;
use OCP\IDBConnection;
/** @template-extends DeckMapper<Stack> */
class StackMapper extends DeckMapper implements IPermissionMapper {

View File

@@ -27,13 +27,13 @@ declare(strict_types=1);
namespace OCA\Deck\Listeners;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\NotifyPushEvents;
use OCA\Deck\Event\AAclEvent;
use OCA\Deck\Event\ACardEvent;
use OCA\Deck\Event\BoardUpdatedEvent;
use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\Event\SessionClosedEvent;
use OCA\Deck\Event\SessionCreatedEvent;
use OCA\Deck\NotifyPushEvents;
use OCA\Deck\Service\SessionService;
use OCA\NotifyPush\Queue\IQueue;
use OCP\EventDispatcher\Event;

View File

@@ -24,16 +24,16 @@
namespace OCA\Deck\Middleware;
use OCA\Deck\Controller\PageController;
use OCA\Deck\StatusException;
use OCA\Deck\Exceptions\ConflictException;
use OCA\Deck\StatusException;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Middleware;
use OCP\AppFramework\Http\JSONResponse;
use OCP\AppFramework\Middleware;
use OCP\AppFramework\OCS\OCSException;
use OCP\AppFramework\OCSController;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IRequest;
use OCP\IConfig;
class ExceptionMiddleware extends Middleware {

View File

@@ -239,8 +239,8 @@ class Notifier implements INotifier {
],
'user' => [
'type' => 'user',
'id' => $params[1],
'name' => $dn,
'id' => $params[1] ?? '',
'name' => $dn ?? '',
]
]
);

View File

@@ -38,9 +38,9 @@ class BoardReferenceProvider implements IReferenceProvider {
private IL10N $l10n;
public function __construct(BoardService $boardService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
$this->urlGenerator = $urlGenerator;
$this->boardService = $boardService;
$this->userId = $userId;

View File

@@ -47,11 +47,11 @@ class CardReferenceProvider extends ADiscoverableReferenceProvider implements IS
private IL10N $l10n;
public function __construct(CardService $cardService,
BoardService $boardService,
StackService $stackService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
BoardService $boardService,
StackService $stackService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
$this->cardService = $cardService;
$this->urlGenerator = $urlGenerator;
$this->boardService = $boardService;

View File

@@ -48,12 +48,12 @@ class CommentReferenceProvider implements IReferenceProvider {
private CommentService $commentService;
public function __construct(CardService $cardService,
BoardService $boardService,
StackService $stackService,
CommentService $commentService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
BoardService $boardService,
StackService $stackService,
CommentService $commentService,
IURLGenerator $urlGenerator,
IL10N $l10n,
?string $userId) {
$this->cardService = $cardService;
$this->urlGenerator = $urlGenerator;
$this->boardService = $boardService;

View File

@@ -26,6 +26,7 @@ namespace OCA\Deck\Service;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\BadRequestException;
use OCA\Deck\Cache\AttachmentCacheHelper;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\Attachment;
use OCA\Deck\Db\AttachmentMapper;
@@ -34,7 +35,6 @@ use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\InvalidAttachmentType;
use OCA\Deck\NoPermissionException;
use OCA\Deck\NotFoundException;
use OCA\Deck\Cache\AttachmentCacheHelper;
use OCA\Deck\StatusException;
use OCA\Deck\Validators\AttachmentServiceValidator;
use OCP\AppFramework\Db\IMapperException;

View File

@@ -27,13 +27,17 @@ namespace OCA\Deck\Service;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Activity\ChangeSet;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\BadRequestException;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\AclMapper;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\Board;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Db\IPermissionMapper;
use OCA\Deck\Db\Label;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Db\Session;
use OCA\Deck\Db\SessionMapper;
use OCA\Deck\Db\Stack;
@@ -41,24 +45,20 @@ use OCA\Deck\Db\StackMapper;
use OCA\Deck\Event\AclCreatedEvent;
use OCA\Deck\Event\AclDeletedEvent;
use OCA\Deck\Event\AclUpdatedEvent;
use OCA\Deck\Event\BoardUpdatedEvent;
use OCA\Deck\NoPermissionException;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\Validators\BoardServiceValidator;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\DB\Exception as DbException;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IL10N;
use OCP\DB\Exception as DbException;
use OCA\Deck\Db\Board;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCP\IUserManager;
use OCA\Deck\BadRequestException;
use OCA\Deck\Event\BoardUpdatedEvent;
use OCA\Deck\Validators\BoardServiceValidator;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\Server;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
@@ -138,13 +138,14 @@ class BoardService {
*/
public function setUserId(string $userId): void {
$this->userId = $userId;
$this->permissionService->setUserId($userId);
}
/**
* Get all boards that are shared with a user, their groups or circles
*/
public function getUserBoards(?int $since = null, bool $includeArchived = true, ?int $before = null,
?string $term = null): array {
?string $term = null): array {
return $this->boardMapper->findAllForUser($this->userId, $since, $includeArchived, $before, $term);
}

View File

@@ -28,13 +28,16 @@ namespace OCA\Deck\Service;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Activity\ChangeSet;
use OCA\Deck\BadRequestException;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\Assignment;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\Card;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Db\Label;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\Event\CardCreatedEvent;
use OCA\Deck\Event\CardDeletedEvent;
@@ -42,16 +45,13 @@ use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\NoPermissionException;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\StatusException;
use OCA\Deck\BadRequestException;
use OCA\Deck\Validators\CardServiceValidator;
use OCP\Comments\ICommentsManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IRequest;
use OCP\IUserManager;
use OCP\IURLGenerator;
use OCP\IUserManager;
use Psr\Log\LoggerInterface;
class CardService {

View File

@@ -24,10 +24,10 @@
namespace OCA\Deck\Service;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\BadRequestException;
use OCA\Deck\Db\BoardMapper;
use OCP\IConfig;
use OCP\IL10N;
use OCA\Deck\BadRequestException;
use OCP\PreConditionNotMetException;
class DefaultBoardService {
@@ -39,13 +39,13 @@ class DefaultBoardService {
private $l10n;
public function __construct(
IL10N $l10n,
BoardMapper $boardMapper,
BoardService $boardService,
StackService $stackService,
CardService $cardService,
IConfig $config
) {
IL10N $l10n,
BoardMapper $boardMapper,
BoardService $boardService,
StackService $stackService,
CardService $cardService,
IConfig $config
) {
$this->boardService = $boardService;
$this->stackService = $stackService;
$this->cardService = $cardService;

View File

@@ -25,8 +25,8 @@ namespace OCA\Deck\Service;
use OCA\Deck\Db\Attachment;
use OCA\Deck\Db\AttachmentMapper;
use OCA\Deck\StatusException;
use OCA\Deck\Exceptions\ConflictException;
use OCA\Deck\StatusException;
use OCP\AppFramework\Http\StreamResponse;
use OCP\Files\IAppData;
use OCP\Files\IMimeTypeDetector;

View File

@@ -61,7 +61,7 @@ class BoardImportService {
private ICommentsManager $commentsManager;
private IEventDispatcher $eventDispatcher;
private string $system = '';
private ?ABoardImportService $systemInstance;
private ?ABoardImportService $systemInstance = null;
private array $allowedSystems = [];
/**
* Data object created from config JSON
@@ -143,11 +143,13 @@ class BoardImportService {
}
/**
* @param mixed $system
* @param ?string $system
* @return self
*/
public function setSystem($system): self {
$this->system = $system;
if ($system) {
$this->system = $system;
}
return $this;
}

View File

@@ -23,12 +23,12 @@
namespace OCA\Deck\Service;
use OCA\Deck\BadRequestException;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Db\Label;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\StatusException;
use OCA\Deck\BadRequestException;
use OCA\Deck\Validators\LabelServiceValidator;
class LabelService {
@@ -50,7 +50,7 @@ class LabelService {
BoardService $boardService,
ChangeHelper $changeHelper,
LabelServiceValidator $labelServiceValidator
) {
) {
$this->labelMapper = $labelMapper;
$this->permissionService = $permissionService;
$this->boardService = $boardService;

View File

@@ -29,11 +29,11 @@ namespace OCA\Deck\Service;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\Board;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Model\CardDetails;
use OCP\Comments\ICommentsManager;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCP\IUserManager;
class OverviewService {

View File

@@ -23,7 +23,6 @@
namespace OCA\Deck\Service;
use OCP\Cache\CappedMemoryCache;
use OCA\Circles\Model\Member;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\AclMapper;
@@ -34,6 +33,7 @@ use OCA\Deck\Db\User;
use OCA\Deck\NoPermissionException;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\Cache\CappedMemoryCache;
use OCP\IConfig;
use OCP\IGroupManager;
use OCP\ILogger;

View File

@@ -26,12 +26,12 @@ namespace OCA\Deck\Service;
use OCA\Deck\Db\Session;
use OCA\Deck\Db\SessionMapper;
use OCA\Deck\Event\SessionCreatedEvent;
use OCA\Deck\Event\SessionClosedEvent;
use OCA\Deck\Event\SessionCreatedEvent;
use OCA\NotifyPush\Queue\IQueue;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\EventDispatcher\IEventDispatcher;
use OCA\NotifyPush\Queue\IQueue;
use OCP\Security\ISecureRandom;
class SessionService {

View File

@@ -23,7 +23,7 @@
*
*/
declare(strict_types=1);
declare(strict_types=1);
namespace OCA\Deck\Validators;

66402
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,108 +1,108 @@
{
"name": "deck",
"description": "",
"version": "1.10.0",
"authors": [
{
"name": "Julius Härtl",
"email": "jus@bitgrid.net",
"role": "Developer"
},
{
"name": "Michael Weimann",
"email": "mail@michael-weimann.eu",
"role": "Developer"
}
],
"license": "agpl",
"private": true,
"scripts": {
"build": "NODE_ENV=production webpack --progress --config webpack.js",
"dev": "NODE_ENV=development webpack --progress --config webpack.js",
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
"serve": "webpack serve --node-env development --allowed-hosts all --config webpack.js",
"lint": "eslint --ext .js,.vue src",
"lint:fix": "eslint --ext .js,.vue src --fix",
"lint:cypress": "eslint --ext .js cypress",
"stylelint": "stylelint src",
"stylelint:fix": "stylelint src --fix",
"test": "jest",
"test:coverage": "jest --coverage"
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.21.5",
"@nextcloud/auth": "^2.0.0",
"@nextcloud/axios": "^2.3.0",
"@nextcloud/dialogs": "^4.0.1",
"@nextcloud/event-bus": "^3.0.2",
"@nextcloud/files": "^2.1.0",
"@nextcloud/initial-state": "^2.0.0",
"@nextcloud/l10n": "^2.1.0",
"@nextcloud/moment": "^1.2.1",
"@nextcloud/notify_push": "^1.1.3",
"@nextcloud/router": "^2.1.1",
"@nextcloud/vue": "^7.11.4",
"blueimp-md5": "^2.19.0",
"dompurify": "^3.0.3",
"lodash": "^4.17.21",
"markdown-it": "^13.0.1",
"markdown-it-link-attributes": "^4.0.1",
"markdown-it-task-checkbox": "^1.0.6",
"moment": "^2.29.4",
"nextcloud-vue-collections": "^0.11.1",
"p-queue": "^7.3.4",
"url-search-params-polyfill": "^8.1.1",
"vue": "^2.7.14",
"vue-at": "^2.5.1",
"vue-click-outside": "^1.1.0",
"vue-easymde": "^2.0.0",
"vue-infinite-loading": "^2.4.5",
"vue-material-design-icons": "^5.2.0",
"vue-router": "^3.6.5",
"vue-smooth-dnd": "^0.8.1",
"vuex": "^3.6.2",
"vuex-router-sync": "^5.0.0"
},
"browserslist": [
"extends @nextcloud/browserslist-config"
],
"engines": {
"node": "^16.0.0",
"npm": "^7.0.0 || ^8.0.0"
},
"devDependencies": {
"@nextcloud/babel-config": "^1.0.0",
"@nextcloud/browserslist-config": "^2.3.0",
"@nextcloud/cypress": "^1.0.0-beta.2",
"@nextcloud/eslint-config": "^8.2.1",
"@nextcloud/stylelint-config": "^2.3.0",
"@nextcloud/webpack-vue-config": "^5.5.1",
"@relative-ci/agent": "^4.1.4",
"@vue/test-utils": "^1.3.5",
"@vue/vue2-jest": "^29.2.4",
"cypress": "^12.12.0",
"eslint-plugin-cypress": "^2.13.3",
"eslint-webpack-plugin": "^4.0.1",
"jest": "^29.5.0",
"jest-serializer-vue": "^3.1.0",
"stylelint-webpack-plugin": "^4.1.1",
"vue-template-compiler": "^2.7.14"
},
"jest": {
"moduleFileExtensions": [
"js",
"vue"
],
"moduleNameMapper": {
"^@/(.*)$": "<rootDir>/src/$1"
},
"transform": {
"^.+\\.js$": "<rootDir>/node_modules/babel-jest",
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"
},
"snapshotSerializers": [
"<rootDir>/node_modules/jest-serializer-vue"
]
}
}
"name": "deck",
"description": "",
"version": "1.11.0-dev",
"authors": [
{
"name": "Julius Härtl",
"email": "jus@bitgrid.net",
"role": "Developer"
},
{
"name": "Michael Weimann",
"email": "mail@michael-weimann.eu",
"role": "Developer"
}
],
"license": "agpl",
"private": true,
"scripts": {
"build": "NODE_ENV=production webpack --progress --config webpack.js",
"dev": "NODE_ENV=development webpack --progress --config webpack.js",
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
"serve": "webpack serve --node-env development --allowed-hosts all --config webpack.js",
"lint": "eslint --ext .js,.vue src",
"lint:fix": "eslint --ext .js,.vue src --fix",
"lint:cypress": "eslint --ext .js cypress",
"stylelint": "stylelint src",
"stylelint:fix": "stylelint src --fix",
"test": "jest",
"test:coverage": "jest --coverage"
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.22.6",
"@nextcloud/auth": "^2.1.0",
"@nextcloud/axios": "^2.4.0",
"@nextcloud/dialogs": "^4.1.0",
"@nextcloud/event-bus": "^3.1.0",
"@nextcloud/files": "^2.1.0",
"@nextcloud/initial-state": "^2.1.0",
"@nextcloud/l10n": "^2.2.0",
"@nextcloud/moment": "^1.2.1",
"@nextcloud/notify_push": "^1.1.3",
"@nextcloud/router": "^2.1.2",
"@nextcloud/vue": "^7.12.1",
"blueimp-md5": "^2.19.0",
"dompurify": "^3.0.5",
"lodash": "^4.17.21",
"markdown-it": "^13.0.1",
"markdown-it-link-attributes": "^4.0.1",
"markdown-it-task-checkbox": "^1.0.6",
"moment": "^2.29.4",
"nextcloud-vue-collections": "^0.11.1",
"p-queue": "^7.3.4",
"url-search-params-polyfill": "^8.2.4",
"vue": "^2.7.14",
"vue-at": "^2.5.1",
"vue-click-outside": "^1.1.0",
"vue-easymde": "^2.0.0",
"vue-infinite-loading": "^2.4.5",
"vue-material-design-icons": "^5.2.0",
"vue-router": "^3.6.5",
"vue-smooth-dnd": "^0.8.1",
"vuex": "^3.6.2",
"vuex-router-sync": "^5.0.0"
},
"browserslist": [
"extends @nextcloud/browserslist-config"
],
"engines": {
"node": "^20.0.0",
"npm": "^9.0.0"
},
"devDependencies": {
"@nextcloud/babel-config": "^1.0.0",
"@nextcloud/browserslist-config": "^2.3.0",
"@nextcloud/cypress": "^1.0.0-beta.2",
"@nextcloud/eslint-config": "^8.2.1",
"@nextcloud/stylelint-config": "^2.3.0",
"@nextcloud/webpack-vue-config": "^5.5.1",
"@relative-ci/agent": "^4.1.5",
"@vue/test-utils": "^1.3.6",
"@vue/vue2-jest": "^29.2.4",
"cypress": "^12.17.1",
"eslint-plugin-cypress": "^2.13.3",
"eslint-webpack-plugin": "^4.0.1",
"jest": "^29.6.1",
"jest-serializer-vue": "^3.1.0",
"stylelint-webpack-plugin": "^4.1.1",
"vue-template-compiler": "^2.7.14"
},
"jest": {
"moduleFileExtensions": [
"js",
"vue"
],
"moduleNameMapper": {
"^@/(.*)$": "<rootDir>/src/$1"
},
"transform": {
"^.+\\.js$": "<rootDir>/node_modules/babel-jest",
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"
},
"snapshotSerializers": [
"<rootDir>/node_modules/jest-serializer-vue"
]
}
}

View File

@@ -21,7 +21,6 @@
<ignoreFiles>
<directory name="vendor/phpunit/php-code-coverage" />
<directory name="vendor/vimeo" />
<directory name="vendor/friendsofphp" />
</ignoreFiles>
</extraFiles>
<issueHandlers>

View File

@@ -27,17 +27,19 @@
<router-view />
</NcAppContent>
<NcModal v-if="cardDetailsInModal && $route.params.cardId"
:clear-view-delay="0"
:close-button-contained="true"
size="large"
@close="hideModal()">
<div class="modal__content modal__card">
<router-view name="sidebar" />
</div>
</NcModal>
<div v-if="$route.params.id || $route.params.cardId">
<NcModal v-if="cardDetailsInModal && $route.params.cardId"
:clear-view-delay="0"
:close-button-contained="true"
size="large"
@close="hideModal()">
<div class="modal__content modal__card">
<router-view name="sidebar" />
</div>
</NcModal>
<router-view name="sidebar" :visible="!cardDetailsInModal || !$route.params.cardId" />
<router-view name="sidebar" :visible="!cardDetailsInModal || !$route.params.cardId" />
</div>
</NcContent>
</template>

View File

@@ -2,7 +2,7 @@
"require-dev": {
"phpunit/phpunit": "~9",
"behat/behat": "~3.13.0",
"guzzlehttp/guzzle": "7.5.1",
"guzzlehttp/guzzle": "7.7.0",
"jarnaiz/behat-junit-formatter": "^1.3",
"sabre/dav": "4.4.0",
"symfony/event-dispatcher": "~5.4"

View File

@@ -26,8 +26,8 @@ namespace OCA\Deck\Db;
use OCA\Deck\NotFoundException;
use OCA\Deck\Service\AssignmentService;
use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\StackService;
use OCA\Deck\Service\CardService;
use OCA\Deck\Service\StackService;
use OCP\IGroupManager;
use OCP\IUserManager;
use OCP\IUserSession;

View File

@@ -1,11 +1,11 @@
<?php
use Behat\Behat\Context\Context;
use Behat\Behat\Hook\Scope\BeforeScenarioScope;
use Behat\Gherkin\Node\TableNode;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\ClientException;
use PHPUnit\Framework\Assert;
use Behat\Behat\Context\Context;
use Psr\Http\Message\ResponseInterface;
require_once __DIR__ . '/../../vendor/autoload.php';

View File

@@ -39,8 +39,8 @@ use OCP\Activity\IManager;
use OCP\IL10N;
use OCP\IUser;
use OCP\L10N\IFactory;
use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\TestCase;
class ActivityManagerTest extends TestCase {

View File

@@ -26,6 +26,7 @@ namespace OCA\Deck\Activity;
use OC\Activity\Event;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\Card;
use OCA\Deck\Service\CardService;
use OCP\Activity\IEvent;
use OCP\Comments\IComment;
use OCP\Comments\ICommentsManager;
@@ -38,7 +39,6 @@ use OCP\L10N\IFactory;
use OCP\RichObjectStrings\IValidator;
use PHPUnit\Framework\TestCase;
use PHPUnit_Framework_MockObject_MockObject as MockObject;
use OCA\Deck\Service\CardService;
class DeckProviderTest extends TestCase {

View File

@@ -31,8 +31,8 @@ use OCA\Deck\Service\BoardService;
use OCA\Deck\Service\PermissionService;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\JSONResponse;
use OCP\ILogger;
use OCP\IConfig;
use OCP\ILogger;
use OCP\IRequest;
class ExceptionMiddlewareTest extends \Test\TestCase {

View File

@@ -23,6 +23,7 @@
namespace OCA\Deck\Service;
use \Test\TestCase;
use OC\L10N\L10N;
use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Db\Acl;
@@ -41,16 +42,15 @@ use OCA\Deck\Event\AclCreatedEvent;
use OCA\Deck\Event\AclDeletedEvent;
use OCA\Deck\NoPermissionException;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\Validators\BoardServiceValidator;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\IUserManager;
use OCP\IGroupManager;
use PHPUnit\Framework\MockObject\MockObject;
use \Test\TestCase;
use OCP\IURLGenerator;
use OCA\Deck\Validators\BoardServiceValidator;
class BoardServiceTest extends TestCase {

View File

@@ -27,13 +27,13 @@ use OCA\Deck\Activity\ActivityManager;
use OCA\Deck\Db\Assignment;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\Board;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\Card;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\ChangeHelper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Db\Stack;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\StatusException;
@@ -42,13 +42,13 @@ use OCP\Activity\IEvent;
use OCP\Comments\ICommentsManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IRequest;
use OCP\IURLGenerator;
use OCP\IUser;
use OCP\IUserManager;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Test\TestCase;
use OCP\IURLGenerator;
class CardServiceTest extends TestCase {

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