Compare commits

..

101 Commits

Author SHA1 Message Date
Elizabeth Danzberger
7cb41cd61b fix: auto-focus board name input field
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-03-28 01:54:26 +01:00
Nextcloud bot
3d78802446 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-27 00:44:45 +00:00
Julius Knorr
8a99e6d539 Merge pull request #6853 from nextcloud/ci/update-workflows
chore: update workflows from templates
2025-03-25 15:17:08 +01:00
grnd-alt
0e08ad16e1 chore: set minimum phpVersion for psalm
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-03-25 14:05:17 +01:00
Nextcloud bot
d04ab25315 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-25 00:43:41 +00:00
grnd-alt
19d35c65a0 chore: update workflows from templates
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-03-24 15:41:10 +01:00
Nextcloud bot
1783914d3a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-24 00:43:02 +00:00
Nextcloud bot
c837dd4db6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-23 00:43:32 +00:00
dependabot[bot]
db22052729 Merge pull request #6850 from nextcloud/dependabot/github_actions/actions/setup-node-4.3.0 2025-03-22 02:22:09 +00:00
dependabot[bot]
116babcaaf Chore(deps): Bump actions/setup-node from 4.2.0 to 4.3.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.2.0...v4.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-22 02:16:47 +00:00
Nextcloud bot
86d42b7060 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-20 00:45:34 +00:00
Nextcloud bot
122387a195 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-18 00:45:10 +00:00
Nextcloud bot
028f26a969 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-16 00:43:43 +00:00
dependabot[bot]
13c13b8dde Merge pull request #6831 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.26.10 2025-03-15 02:14:25 +00:00
dependabot[bot]
5df4a49ff5 Chore(deps): Bump @babel/runtime from 7.26.7 to 7.26.10
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.26.7 to 7.26.10.
- [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.26.10/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>
2025-03-15 02:05:59 +00:00
Nextcloud bot
97902d2f6a Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-15 00:45:23 +00:00
Nextcloud bot
db6221d1c9 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-12 00:44:24 +00:00
github-actions[bot]
0223dd9a3a Merge pull request #6825 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2025-03-09 03:34:50 +00:00
nextcloud-command
974a4c979a chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-03-09 02:36:44 +00:00
dependabot[bot]
51ba51fe33 Merge pull request #6822 from nextcloud/dependabot/npm_and_yarn/axios-1.8.2 2025-03-08 04:06:48 +00:00
dependabot[bot]
4d5c69f250 Chore(deps): Bump axios from 1.7.7 to 1.8.2
Bumps [axios](https://github.com/axios/axios) from 1.7.7 to 1.8.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.7.7...v1.8.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-08 04:01:11 +00:00
dependabot[bot]
9bddab4928 Merge pull request #6821 from nextcloud/dependabot/github_actions/peter-evans/create-pull-request-7.0.8 2025-03-08 03:59:58 +00:00
dependabot[bot]
6dcb1d4b8b bump peter-evans/create-pull-request from 7.0.7 to 7.0.8
---
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>
2025-03-08 03:54:25 +00:00
Nextcloud bot
9ed384fa20 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-03 00:42:20 +00:00
github-actions[bot]
7cdc79a9ef Merge pull request #6812 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2025-03-02 03:46:38 +00:00
nextcloud-command
852770c574 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-03-02 03:01:01 +00:00
dependabot[bot]
74afeb85d0 Merge pull request #6811 from nextcloud/dependabot/github_actions/peter-evans/create-pull-request-7.0.7 2025-03-01 03:44:08 +00:00
dependabot[bot]
12a494720b chore(deps): bump peter-evans/create-pull-request from 7.0.6 to 7.0.7
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.6 to 7.0.7.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](67ccf781d6...dd2324fc52)

---
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>
2025-03-01 03:02:53 +00:00
dependabot[bot]
b3261e0b56 Merge pull request #6805 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/event-bus-3.3.2 2025-03-01 02:22:07 +00:00
dependabot[bot]
88dbb010d0 chore(deps): bump @nextcloud/event-bus from 3.3.1 to 3.3.2
Bumps [@nextcloud/event-bus](https://github.com/nextcloud/nextcloud-event-bus) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/nextcloud/nextcloud-event-bus/releases)
- [Changelog](https://github.com/nextcloud-libraries/nextcloud-event-bus/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-event-bus/compare/v3.3.1...v3.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-01 02:05:52 +00:00
Nextcloud bot
d8adaf5fe6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-03-01 01:05:09 +00:00
Nextcloud bot
2a36b45072 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-27 00:44:24 +00:00
Nextcloud bot
4e6474fa99 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-25 00:45:11 +00:00
github-actions[bot]
dbe7536339 Merge pull request #6770 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2025-02-24 14:51:38 +00:00
nextcloud-command
b5e08110ab chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-02-24 15:46:05 +01:00
dependabot[bot]
a7f2558aab Merge pull request #6787 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/eslint-config-8.4.2 2025-02-24 14:37:30 +00:00
dependabot[bot]
3c3e6fa7d2 chore(deps-dev): bump @nextcloud/eslint-config from 8.4.1 to 8.4.2
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud-libraries/eslint-config) from 8.4.1 to 8.4.2.
- [Release notes](https://github.com/nextcloud-libraries/eslint-config/releases)
- [Changelog](https://github.com/nextcloud-libraries/eslint-config/blob/v8.4.2/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-libraries/eslint-config/compare/v8.4.1...v8.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 15:26:51 +01:00
Nextcloud bot
6a2b092ad6 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-24 00:41:53 +00:00
Nextcloud bot
5f2c300b21 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-22 00:41:52 +00:00
Luka Trovic
439e44128a Merge pull request #6778 from nextcloud/fix-cypress-main
fix: cypress issue
2025-02-21 10:58:05 +01:00
Nextcloud bot
55056e27f1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-21 00:41:20 +00:00
Luka Trovic
22c36a0d77 fix: cypress issue
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-02-20 16:24:45 +01:00
Nextcloud bot
1ebaa0c41f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-20 00:43:26 +00:00
Luka Trovic
a2dbb94179 Merge pull request #6724 from nextcloud/feat/workflow-auto-update-pr-feedback.yml
chore(CI): Updating pr-feedback.yml workflow from template
2025-02-19 13:43:07 +01:00
Nextcloud bot
6f6f54965c Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-19 00:42:11 +00:00
Nextcloud bot
5a833ec367 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-18 00:42:04 +00:00
Nextcloud bot
f1161be49f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-17 00:41:29 +00:00
Nextcloud bot
c0731ce142 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-16 01:06:39 +00:00
Nextcloud bot
4534ad5a92 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-15 00:41:52 +00:00
Luka Trovic
6788210c27 Merge pull request #6740 from nextcloud/update-default-content
feat: update default content
2025-02-14 13:32:26 +01:00
Luka Trovic
1051dea281 Merge pull request #6745 from nextcloud/dependabot/npm_and_yarn/elliptic-6.6.1
chore(deps-dev): bump elliptic from 6.6.0 to 6.6.1
2025-02-14 08:42:28 +01:00
Nextcloud bot
eb9fce2e5f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-14 00:42:23 +00:00
dependabot[bot]
955a16f1c5 chore(deps-dev): bump elliptic from 6.6.0 to 6.6.1
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.6.0 to 6.6.1.
- [Commits](https://github.com/indutny/elliptic/compare/v6.6.0...v6.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-13 17:43:42 +00:00
Luka Trovic
f38773473b Merge pull request #6736 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2025-02-13 18:41:01 +01:00
Luka Trovic
b15254f1ed feat: update default content
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-02-13 14:18:47 +01:00
Nextcloud bot
6dd623f796 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-13 00:42:08 +00:00
Julius Knorr
41e97d7281 Merge pull request #6649 from nextcloud/fix/redirect-no-rewrite
fix: Adapt URLs generated in the backend to new routes
2025-02-12 22:32:04 +01:00
Julius Knorr
1b2a352df1 ci: Update query count
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-02-12 21:56:34 +01:00
Julius Knorr
7fcad2425d fix: Use dynamic base URL for vue router to make routing work in all cases
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-02-12 21:56:06 +01:00
Julius Knorr
5fb43086b6 tests: Fix url generation mocks and cleanup some phpunit code
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-02-12 21:56:06 +01:00
Julius Knorr
7b4586a43a fix: Adapt URLs generated in the backend to new routes
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-02-12 21:56:06 +01:00
Nextcloud bot
aaa76f7bd0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-12 00:43:09 +00:00
Nextcloud bot
8260296d64 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-11 00:41:47 +00:00
nextcloud-command
b02bc530f1 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-02-09 02:54:36 +00:00
Nextcloud bot
1b4e859431 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-09 00:41:43 +00:00
dependabot[bot]
acc61ad584 Merge pull request #6729 from nextcloud/dependabot/npm_and_yarn/main/nextcloud/cypress-1.0.0-beta.13 2025-02-08 02:26:34 +00:00
dependabot[bot]
cb1d5c49e0 chore(deps-dev): bump @nextcloud/cypress
Bumps [@nextcloud/cypress](https://github.com/nextcloud/nextcloud-cypress) from 1.0.0-beta.12 to 1.0.0-beta.13.
- [Release notes](https://github.com/nextcloud/nextcloud-cypress/releases)
- [Commits](https://github.com/nextcloud/nextcloud-cypress/compare/v1.0.0-beta.12...v1.0.0-beta.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-08 02:10:29 +00:00
Luka Trovic
0c7b1c4731 Merge pull request #6707 from nextcloud/feat/workflow-auto-update-npm-audit-fix.yml
chore(CI): Updating npm-audit-fix.yml workflow from template
2025-02-07 16:36:10 +01:00
Nextcloud bot
629ef85d64 chore(CI): Updating npm-audit-fix.yml workflow from template
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-07 16:22:02 +01:00
Luka Trovic
914f1d76ac Merge pull request #6720 from nextcloud/automated/noid/main-fix-npm-audit
[main] Fix npm audit
2025-02-07 10:18:15 +01:00
Nextcloud bot
0923070c45 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-07 00:41:26 +00:00
Nextcloud bot
bbf51952e0 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-05 00:43:20 +00:00
Nextcloud bot
1d1c2df8f3 chore(CI): Updating pr-feedback.yml workflow from template
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-04 18:42:46 +00:00
Elizabeth Danzberger
0780b10170 Merge pull request #6692 from nextcloud/fix/6446
fix: skip exporting a deleted card
2025-02-04 13:27:54 -05:00
Luka Trovic
fd6ef9b6eb Merge pull request #6712 from nextcloud/dependabot/npm_and_yarn/main/dompurify-3.2.4
chore(deps): bump dompurify from 3.2.3 to 3.2.4
2025-02-04 13:09:57 +01:00
Luka Trovic
da4a54900c Merge pull request #6711 from nextcloud/dependabot/github_actions/actions/setup-node-4.2.0
chore(deps): bump actions/setup-node from 4.1.0 to 4.2.0
2025-02-04 13:09:35 +01:00
Luka Trovic
53bd32d6b6 Merge pull request #6695 from nextcloud/dependabot/npm_and_yarn/main/babel/runtime-7.26.7
chore(deps): bump @babel/runtime from 7.26.0 to 7.26.7
2025-02-04 13:05:56 +01:00
Elizabeth Danzberger
f7fa419105 fix: skip exporting a deleted card
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-02-04 09:49:39 +01:00
dependabot[bot]
023ab01e93 Merge pull request #6668 from nextcloud/dependabot/composer/tests/integration/behat/behat-approx-3.18.1 2025-02-04 07:24:15 +00:00
dependabot[bot]
615d5ef871 chore(deps-dev): update behat/behat requirement in /tests/integration
Updates the requirements on [behat/behat](https://github.com/Behat/Behat) to permit the latest version.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.15.0...v3.18.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-04 08:18:49 +01:00
Luka Trovic
a52b7b9742 Merge pull request #6665 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.32.0
chore(deps): bump shivammathur/setup-php from 2.31.1 to 2.32.0
2025-02-04 08:18:00 +01:00
Luka Trovic
dcbc6bc604 Merge pull request #6666 from nextcloud/dependabot/github_actions/peter-evans/create-pull-request-7.0.6
chore(deps): bump peter-evans/create-pull-request from 7.0.5 to 7.0.6
2025-02-04 08:12:07 +01:00
Nextcloud bot
ce13d89e07 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-03 01:02:33 +00:00
nextcloud-command
7114b10871 fix(deps): Fix npm audit
Signed-off-by: GitHub <noreply@github.com>
2025-02-02 03:25:51 +00:00
Nextcloud bot
100404d25f Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-02-02 00:42:30 +00:00
dependabot[bot]
60bfc192d3 chore(deps): bump actions/setup-node from 4.1.0 to 4.2.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.1.0...v4.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-01 19:38:35 +01:00
dependabot[bot]
fd090c7749 chore(deps): bump peter-evans/create-pull-request from 7.0.5 to 7.0.6
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.5 to 7.0.6.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](5e914681df...67ccf781d6)

---
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>
2025-02-01 19:14:56 +01:00
dependabot[bot]
d735308bd3 chore(deps): bump shivammathur/setup-php from 2.31.1 to 2.32.0
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.31.1 to 2.32.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.31.1...2.32.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-01 19:13:02 +01:00
github-actions[bot]
4ec068ca62 Merge pull request #6670 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2025-02-01 16:53:40 +00:00
nextcloud-command
f5e3e5e0f8 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-02-01 17:48:09 +01:00
dependabot[bot]
94aee3e07a chore(deps): bump dompurify from 3.2.3 to 3.2.4
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.3...3.2.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-01 02:33:07 +00:00
Nextcloud bot
b1f7c623a1 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-28 00:41:14 +00:00
Julius Knorr
afa95d3c50 Merge pull request #6671 from nextcloud/fix/attachment-extension
fix: Properly show attachment extension
2025-01-27 08:43:31 +01:00
Nextcloud bot
ba8e77abfe Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-27 00:40:20 +00:00
dependabot[bot]
8c09047203 chore(deps): bump @babel/runtime from 7.26.0 to 7.26.7
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.26.0 to 7.26.7.
- [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.26.7/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>
2025-01-25 02:29:31 +00:00
Nextcloud bot
baa85e8947 Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-25 01:01:22 +00:00
Nextcloud bot
f1e5acc52e Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-01-24 00:41:33 +00:00
Elizabeth Danzberger
d76b7a4667 Merge pull request #6682 from nextcloud/update-main-version
feat(deps): Add Nextcloud 32 support on main
2025-01-23 14:08:15 -05:00
Joas Schilling
df32a3ee34 feat(deps): Add Nextcloud 32 support on main
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-01-23 10:57:25 +01:00
Julius Knorr
2fa74662db ci: Test for separate extension
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-01-23 09:28:09 +01:00
Julius Härtl
d5fd80d116 fix: Properly show attachment extension
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2025-01-23 09:28:09 +01:00
62 changed files with 982 additions and 569 deletions

View File

@@ -13,6 +13,23 @@ updates:
- juliushaertl
- luka-nextcloud
- package-ecosystem: npm
target-branch: stable31
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: stable30
versioning-strategy: lockfile-only

View File

@@ -18,13 +18,13 @@ jobs:
steps:
- uses: actions/checkout@v4.2.2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.1.0
uses: actions/setup-node@v4.3.0
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.31.1
uses: shivammathur/setup-php@2.32.0
with:
php-version: '7.4'
tools: composer

View File

@@ -87,7 +87,7 @@ jobs:
filename: ${{ env.APP_NAME }}/appinfo/info.xml
- name: Set up php ${{ steps.php-versions.outputs.php-min }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0
with:
php-version: ${{ steps.php-versions.outputs.php-min }}
coverage: none

View File

@@ -22,7 +22,7 @@ jobs:
node-version: [20.x]
# containers: [1, 2, 3]
php-versions: [ '8.2' ]
server-versions: [ 'stable31' ]
server-versions: [ 'master' ]
env:
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
@@ -41,7 +41,7 @@ jobs:
steps:
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.1.0
uses: actions/setup-node@v4.3.0
with:
node-version: ${{ matrix.node-version }}
@@ -91,7 +91,7 @@ jobs:
restore-keys: ${{ steps.extcache.outputs.key }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.31.1
uses: shivammathur/setup-php@2.32.0
with:
php-version: ${{ matrix.php-versions }}
extensions: ${{ env.extensions }}

View File

@@ -78,7 +78,7 @@ jobs:
path: apps/activity
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.31.1
uses: shivammathur/setup-php@2.32.0
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu, gd

View File

@@ -33,8 +33,8 @@ jobs:
id: versions
uses: icewind1991/nextcloud-version-matrix@58becf3b4bb6dc6cef677b15e2fd8e7d48c0908f # v1.3.1
- name: Set up php${{ steps.versions.outputs.php-available }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
- name: Set up php${{ steps.versions.outputs.php-min }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0
with:
php-version: ${{ steps.versions.outputs.php-min }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite

View File

@@ -48,7 +48,7 @@ jobs:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite

View File

@@ -14,7 +14,7 @@ jobs:
steps:
- uses: actions/checkout@v4.2.2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4.1.0
uses: actions/setup-node@v4.3.0
with:
node-version: ${{ matrix.node-version }}
- name: Set up npm7

View File

@@ -14,6 +14,9 @@ on:
# At 2:30 on Sundays
- cron: '30 2 * * 0'
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
@@ -21,15 +24,18 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable30', 'stable29', 'stable28']
branches: ['main', 'master', 'stable31', 'stable30', 'stable29']
name: npm-audit-fix-${{ matrix.branches }}
steps:
- name: Checkout
id: checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
ref: ${{ matrix.branches }}
continue-on-error: true
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@06d6baf7d8f41934ab630e97d9e6c0bc9c9ac5e4 # v3
@@ -51,7 +57,7 @@ jobs:
uses: nextcloud-libraries/npm-audit-action@2a60bd2e79cc77f2cc4d9a3fe40f1a69896f3a87 # v0.1.0
- name: Run npm ci and npm run build
if: always()
if: steps.checkout.outcome == 'success'
env:
CYPRESS_INSTALL_BINARY: 0
run: |
@@ -59,8 +65,8 @@ jobs:
npm run build --if-present
- name: Create Pull Request
if: always()
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'fix(deps): Fix npm audit'

View File

@@ -103,7 +103,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

View File

@@ -106,7 +106,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

View File

@@ -95,7 +95,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation

View File

@@ -15,8 +15,13 @@ on:
schedule:
- cron: '30 1 * * *'
permissions:
contents: read
pull-requests: write
jobs:
pr-feedback:
if: ${{ github.repository_owner == 'nextcloud' }}
runs-on: ubuntu-latest
steps:
- name: The get-github-handles-from-website action

View File

@@ -35,8 +35,8 @@ jobs:
- name: Check enforcement of minimum PHP version ${{ steps.versions.outputs.php-min }} in psalm.xml
run: grep 'phpVersion="${{ steps.versions.outputs.php-min }}' psalm.xml
- name: Set up php${{ steps.versions.outputs.php-available }}
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
- name: Set up php${{ steps.versions.outputs.php-min }}
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0
with:
php-version: ${{ steps.versions.outputs.php-min }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite

View File

@@ -23,7 +23,7 @@ jobs:
strategy:
fail-fast: false
matrix:
branches: ['main', 'master', 'stable30', 'stable29', 'stable28']
branches: ['main', 'master', 'stable31', 'stable30', 'stable29']
name: update-nextcloud-ocp-${{ matrix.branches }}
@@ -38,7 +38,7 @@ jobs:
- name: Set up php8.2
if: steps.checkout.outcome == 'success'
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 # v2.31.1
uses: shivammathur/setup-php@9e72090525849c5e82e596468b86eb55e9cc5401 # v2.32.0
with:
php-version: 8.2
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -107,7 +107,7 @@ jobs:
- name: Create Pull Request
if: steps.checkout.outcome == 'success'
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: 'chore(dev-deps): Bump nextcloud/ocp package'

View File

@@ -5,36 +5,6 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.15.1
### Fixed
* [stable31] fix: Properly show attachment extension by @backportbot in https://github.com/nextcloud/deck/pull/6701
* [stable31] Clear selected stack when selected board changed by @backportbot in https://github.com/nextcloud/deck/pull/6915
* [stable31] fix: Use strings as rich object ids by @backportbot in https://github.com/nextcloud/deck/pull/6951
* [stable31] fix: Limit label actions to labels of the cards board by @backportbot in https://github.com/nextcloud/deck/pull/6954
* [stable31] fix: only delete assignments on unshared board by @grnd-alt in https://github.com/nextcloud/deck/pull/6934
### Improvements
* [stable31] perf: Skip doing a query just to check if a board is deleted by @backportbot in https://github.com/nextcloud/deck/pull/6894
## 1.15.0
### Fixed
- Fix: Adapt URLs generated in the backend to new routes #6743
- Fix npm audit #6719
- Fix: skip exporting a deleted card #6723
## 1.15.0-beta.2
### Added
- feat: Implement reference resolving for cards that have a link in the title @juliusknorr [#6286](https://github.com/nextcloud/deck/pull/6286)
### Other
- Remove old project from README @edent [#6658](https://github.com/nextcloud/deck/pull/6658)
- devcontainer(image): Fix package path @niclasheinz [#6653](https://github.com/nextcloud/deck/pull/6653)
- remove deprecated nextcloud-vue-collections @grnd-alt [#6664](https://github.com/nextcloud/deck/pull/6664)
- fix: set cypress ci server version to stable31 @grnd-alt [#6705](https://github.com/nextcloud/deck/pull/6705)
## 1.15.0-beta.1
### Fixed
- fix: Catch not found card @juliusknorr [#6646](https://github.com/nextcloud/deck/pull/6646)

View File

@@ -12,7 +12,7 @@ SPDX-FileCopyrightText = "none"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = ["l10n/**.js", "l10n/**.json", "js/**.js.map", "js/**.js", "js/**.mjs", "js/**.mjs.map", "js/templates/**.handlebars", "lib/Service/Importer/fixtures/config-deckJson-schema.json", "lib/Service/Importer/fixtures/config-trelloApi-schema.json", "lib/Service/Importer/fixtures/config-trelloJson-schema.json", "screenshots/screenshot1.png", "src/assets/file-placeholder.svg", "img/favicon.ico", "img/favicon.png", "img/favicon.svg", "img/activity.svg", "img/activity-dark.svg", "img/deck.svg", "img/deck-current.svg", "img/deck-dark.svg", "img/details-white.svg", "img/card.svg"]
path = ["l10n/**.js", "l10n/**.json", "js/**.js.map", "js/**.js", "js/**.mjs", "js/**.mjs.map", "js/templates/**.handlebars", "lib/Service/Importer/fixtures/config-deckJson-schema.json", "lib/Service/Importer/fixtures/config-trelloApi-schema.json", "lib/Service/Importer/fixtures/config-trelloJson-schema.json", "lib/Service/fixtures/default-board.json", "screenshots/screenshot1.png", "src/assets/file-placeholder.svg", "img/favicon.ico", "img/favicon.png", "img/favicon.svg", "img/activity.svg", "img/activity-dark.svg", "img/deck.svg", "img/deck-current.svg", "img/deck-dark.svg", "img/details-white.svg", "img/card.svg", "img/sample-image.jpg"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2019 Nextcloud GmbH and Nextcloud contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"

View File

@@ -20,7 +20,7 @@
- 🚀 Get your project organized
</description>
<version>1.15.1</version>
<version>2.0.0-dev.0</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>
@@ -42,7 +42,7 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>
<nextcloud min-version="31" max-version="31"/>
<nextcloud min-version="32" max-version="32"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>

12
composer.lock generated
View File

@@ -492,16 +492,16 @@
"source": {
"type": "git",
"url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "ed23f703c172ba167a62a76f7b2d8a6b4e37f44f"
"reference": "1abf593d27ecd373a9fcbbe87cfdd899ad3fee8b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/ed23f703c172ba167a62a76f7b2d8a6b4e37f44f",
"reference": "ed23f703c172ba167a62a76f7b2d8a6b4e37f44f",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/1abf593d27ecd373a9fcbbe87cfdd899ad3fee8b",
"reference": "1abf593d27ecd373a9fcbbe87cfdd899ad3fee8b",
"shasum": ""
},
"require": {
"php": "~8.1 || ~8.2 || ~8.3",
"php": "~8.1 || ~8.2 || ~8.3 || ~8.4",
"psr/clock": "^1.0",
"psr/container": "^2.0.2",
"psr/event-dispatcher": "^1.0",
@@ -511,7 +511,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "31.0.0-dev"
"dev-master": "32.0.0-dev"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -533,7 +533,7 @@
"issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/master"
},
"time": "2025-01-10T00:44:36+00:00"
"time": "2025-03-08T00:36:29+00:00"
},
{
"name": "nikic/php-parser",

View File

@@ -87,8 +87,8 @@ describe('Card', function () {
cy.get('.modal-mask.card-selector button.button-vue--vue-primary').should('be.visible').click()
cy.wait('@save', { timeout: 7000 })
cy.visit(`/apps/deck/#/board/${boardId}`)
cy.reload()
cy.visit(`/apps/deck/#/board/${boardId}`)
cy.get('.board .stack').eq(0).within(() => {
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
})
@@ -374,9 +374,6 @@ describe('Card', function () {
cy.get('.app-sidebar-header .action-item__menutoggle').click()
cy.get('.v-popper__popper button:contains("Move/copy card")').click()
cy.get('.vs__dropdown-menu span[title="MyTestBoard"]').should('be.visible').click()
cy.get('[data-cy="select-stack"] .vs__dropdown-toggle').should('be.visible').click()
cy.get('.vs__dropdown-menu span[title="TestList"]').should('be.visible').click()
cy.get('.modal-container button:contains("Copy card")').click()
cy.wait('@clone', { timeout: 7000 })
cy.get('.card:contains("Hello world")').should('have.length', 2)

View File

@@ -22,10 +22,10 @@ describe('Deck dashboard', function() {
.should($el => expect($el.text().trim()).to.equal('Upcoming cards'))
})
it('Can see the default "Personal Board" created for user by default', function() {
it('Can see the default "Welcome Board" created for user by default', function() {
cy.visit('/apps/deck')
const defaultBoard = 'Personal'
const defaultBoard = 'Welcome to Nextcloud Deck!'
cy.get('.app-navigation-entry-wrapper[icon=icon-deck]')
.find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + defaultBoard + ')')

BIN
img/sample-image.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

View File

@@ -8,7 +8,7 @@ OC.L10N.register(
"The file was uploaded" : "Kaset eo bet ar restr",
"No file was uploaded" : "N'eus restr ebet a zo bet kaset",
"Invalid date, date format must be YYYY-MM-DD" : "Deizat fall, stumm an deizat a zo ret bezhañ BBBB-MM-DD",
"Cancel" : "Nullañ",
"Cancel" : "Arrest",
"Drop your files to upload" : "Laoskit ho restroù evit pellkas",
"Open" : "Digeriñ",
"Completed" : "Achuet",

View File

@@ -6,7 +6,7 @@
"The file was uploaded" : "Kaset eo bet ar restr",
"No file was uploaded" : "N'eus restr ebet a zo bet kaset",
"Invalid date, date format must be YYYY-MM-DD" : "Deizat fall, stumm an deizat a zo ret bezhañ BBBB-MM-DD",
"Cancel" : "Nullañ",
"Cancel" : "Arrest",
"Drop your files to upload" : "Laoskit ho restroù evit pellkas",
"Open" : "Digeriñ",
"Completed" : "Achuet",

View File

@@ -201,7 +201,6 @@ OC.L10N.register(
"Shift" : "Shift",
"Ctrl" : "Ctrl",
"Search" : "Søg",
"Enter" : "Indtast",
"All boards" : "Alle tavler",
"Archived boards" : "Arkiverede lister",
"Shared with you" : "Delt med dig",

View File

@@ -199,7 +199,6 @@
"Shift" : "Shift",
"Ctrl" : "Ctrl",
"Search" : "Søg",
"Enter" : "Indtast",
"All boards" : "Alle tavler",
"Archived boards" : "Arkiverede lister",
"Shared with you" : "Delt med dig",

View File

@@ -123,7 +123,7 @@ OC.L10N.register(
"Path is already shared with this card" : "Pfad wurde bereits mit dieser Karte geteilt",
"Invalid date, date format must be YYYY-MM-DD" : "Ungültiges Datum, zulässiges Datumsformat: JJJJ-MM-TT",
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert ist.\n\n\n- 📥 Füge deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit deinem Team mit Kommentaren\n- ⚡ Behalte den Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere dein Projekt",
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit deinem Team mit Kommentaren\n- ⚡ Behalte den Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere dein Projekt",
"Add board" : "Board hinzufügen",
"Card details" : "Kartendetails",
"Select the board to link to a project" : "Wähle ein Board aus, um dieses mit einem Projekt zu verknüpfen",
@@ -186,7 +186,7 @@ OC.L10N.register(
"Deleted lists" : "Gelöschte Listen",
"Undo" : "Rückgängig",
"Deleted cards" : "Gelöschte Karten",
"Failed to create share with {displayName}" : "Freigabe mit dem Namen {displayName} konnte nicht erstellt werden",
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Möchtest du wirklich das Board {title} an {user} übertragen?",
"Transfer the board." : "Board übertragen",
"Transfer" : "Übertragen",
@@ -238,7 +238,7 @@ OC.L10N.register(
"Open in bigger view" : "In größerer Ansicht öffnen",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"Failed to load comments" : "Laden der Kommentare ist fehlgeschlagen",
"Failed to load comments" : "Das Laden der Kommentare ist fehlgeschlagen",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginne die Diskussion!",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
"The comment cannot be longer than 1000 characters." : "Der Kommentar darf nicht länger als 1000 Zeichen sein.",
@@ -258,8 +258,8 @@ OC.L10N.register(
"Add Attachment" : "Anhang anhängen",
"Choose attachment" : "Anhang auswählen",
"Select Date" : "Datum auswählen",
"Later today {timeLocale}" : "Später heute {timeLocale}",
"Set due date for later today" : "Fälligkeitsdatum auf später heute setzen",
"Later today {timeLocale}" : "Heute noch {timeLocale}",
"Set due date for later today" : "Fälligkeitsdatum auf heute noch setzen",
"Tomorrow {timeLocale}" : "Morgen {timeLocale}",
"Set due date for tomorrow" : "Fälligkeitsdatum auf morgen setzen",
"This weekend {timeLocale}" : "Dieses Wochenende {timeLocale}",
@@ -270,9 +270,9 @@ OC.L10N.register(
"Set a due date" : "Ein Ablaufdatum setzen",
"Add due date" : "Fälligkeitsdatum hinzufügen",
"Choose a date" : "Datum auswählen",
"Remove due date" : "Fälligkeitsdatum entfernen",
"Remove due date" : "Fälligkeitsdatum löschen",
"Mark as done" : "Als erledigt markieren",
"Due at:" : "Fällig am:",
"Due at:" : "Fallig am:",
"Not done" : "Nicht erledigt",
"Unarchive card" : "Karte dearchivieren",
"Archive card" : "Karte archivieren",
@@ -292,7 +292,7 @@ OC.L10N.register(
"Delete card" : "Karte löschen",
"seconds ago" : "Gerade eben",
"Keyboard shortcuts" : "Tastaturkürzel",
"Boost your productivity using Deck with keyboard shortcuts." : "Mit Tastaturkürzeln die Produktivität in Deck erhöhen.",
"Boost your productivity using Deck with keyboard shortcuts." : "Erhöhe mit Tastaturkürzeln deine Produktivität in Deck.",
"Board actions" : "Boardaktionen",
"Keyboard shortcut" : "Tastaturkürzel",
"Action" : "Aktion",
@@ -386,7 +386,7 @@ OC.L10N.register(
"Create a card" : "Eine Karte erstellen",
"Message from {author} in {conversationName}" : "Nachricht von {author} in {conversationName}",
"Something went wrong" : "Etwas ist schiefgelaufen",
"Failed to upload {name}" : "{name} konnte nicht hochgeladen werden",
"Failed to upload {name}" : "Fehler beim Hochladen von {name}",
"Maximum file size of {size} exceeded" : "Maximale Dateigröße von {size} überschritten",
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Share with a Deck card" : "Mit einer Deck-Karte teilen",

View File

@@ -121,7 +121,7 @@
"Path is already shared with this card" : "Pfad wurde bereits mit dieser Karte geteilt",
"Invalid date, date format must be YYYY-MM-DD" : "Ungültiges Datum, zulässiges Datumsformat: JJJJ-MM-TT",
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert ist.\n\n\n- 📥 Füge deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit deinem Team mit Kommentaren\n- ⚡ Behalte den Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere dein Projekt",
"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 ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit deinem Team mit Kommentaren\n- ⚡ Behalte den Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere dein Projekt",
"Add board" : "Board hinzufügen",
"Card details" : "Kartendetails",
"Select the board to link to a project" : "Wähle ein Board aus, um dieses mit einem Projekt zu verknüpfen",
@@ -184,7 +184,7 @@
"Deleted lists" : "Gelöschte Listen",
"Undo" : "Rückgängig",
"Deleted cards" : "Gelöschte Karten",
"Failed to create share with {displayName}" : "Freigabe mit dem Namen {displayName} konnte nicht erstellt werden",
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Möchtest du wirklich das Board {title} an {user} übertragen?",
"Transfer the board." : "Board übertragen",
"Transfer" : "Übertragen",
@@ -236,7 +236,7 @@
"Open in bigger view" : "In größerer Ansicht öffnen",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"Failed to load comments" : "Laden der Kommentare ist fehlgeschlagen",
"Failed to load comments" : "Das Laden der Kommentare ist fehlgeschlagen",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginne die Diskussion!",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
"The comment cannot be longer than 1000 characters." : "Der Kommentar darf nicht länger als 1000 Zeichen sein.",
@@ -256,8 +256,8 @@
"Add Attachment" : "Anhang anhängen",
"Choose attachment" : "Anhang auswählen",
"Select Date" : "Datum auswählen",
"Later today {timeLocale}" : "Später heute {timeLocale}",
"Set due date for later today" : "Fälligkeitsdatum auf später heute setzen",
"Later today {timeLocale}" : "Heute noch {timeLocale}",
"Set due date for later today" : "Fälligkeitsdatum auf heute noch setzen",
"Tomorrow {timeLocale}" : "Morgen {timeLocale}",
"Set due date for tomorrow" : "Fälligkeitsdatum auf morgen setzen",
"This weekend {timeLocale}" : "Dieses Wochenende {timeLocale}",
@@ -268,9 +268,9 @@
"Set a due date" : "Ein Ablaufdatum setzen",
"Add due date" : "Fälligkeitsdatum hinzufügen",
"Choose a date" : "Datum auswählen",
"Remove due date" : "Fälligkeitsdatum entfernen",
"Remove due date" : "Fälligkeitsdatum löschen",
"Mark as done" : "Als erledigt markieren",
"Due at:" : "Fällig am:",
"Due at:" : "Fallig am:",
"Not done" : "Nicht erledigt",
"Unarchive card" : "Karte dearchivieren",
"Archive card" : "Karte archivieren",
@@ -290,7 +290,7 @@
"Delete card" : "Karte löschen",
"seconds ago" : "Gerade eben",
"Keyboard shortcuts" : "Tastaturkürzel",
"Boost your productivity using Deck with keyboard shortcuts." : "Mit Tastaturkürzeln die Produktivität in Deck erhöhen.",
"Boost your productivity using Deck with keyboard shortcuts." : "Erhöhe mit Tastaturkürzeln deine Produktivität in Deck.",
"Board actions" : "Boardaktionen",
"Keyboard shortcut" : "Tastaturkürzel",
"Action" : "Aktion",
@@ -384,7 +384,7 @@
"Create a card" : "Eine Karte erstellen",
"Message from {author} in {conversationName}" : "Nachricht von {author} in {conversationName}",
"Something went wrong" : "Etwas ist schiefgelaufen",
"Failed to upload {name}" : "{name} konnte nicht hochgeladen werden",
"Failed to upload {name}" : "Fehler beim Hochladen von {name}",
"Maximum file size of {size} exceeded" : "Maximale Dateigröße von {size} überschritten",
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Share with a Deck card" : "Mit einer Deck-Karte teilen",

View File

@@ -22,7 +22,7 @@ OC.L10N.register(
"You have renamed list {before} to {stack} on board {board}" : "Sie haben die Liste {before} auf dem Board {board} in {stack} umbenannt",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} hat die Liste {before} in {stack} auf dem Board {board} umbenannt",
"You have deleted list {stack} on board {board}" : "Sie haben die Liste {stack} auf dem Board {board} gelöscht",
"{user} has deleted list {stack} on board {board}" : "{user} hat die Liste {stack} aus dem Board {board} gelöscht",
"{user} has deleted list {stack} on board {board}" : "{user} hat die Liste {stack} aus dem Board {board} entfernt",
"You have created card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
"{user} has created card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
"You have deleted card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} gelöscht",
@@ -61,8 +61,8 @@ OC.L10N.register(
"{user} has added the attachment {attachment} to card {card}" : "{user} hat den Anhang {attachment} zur Karte {card} hinzugefügt",
"You have updated the attachment {attachment} on card {card}" : "Sie haben den Anhang {attachment} der Karte {card} aktualisiert",
"{user} has updated the attachment {attachment} on card {card}" : "{user} hat den Anhang {attachment} der Karte {card} aktualisiert",
"You have deleted the attachment {attachment} from card {card}" : "Sie haben den Anhang {attachment} von der Karte {card} gelöscht",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} hat den Anhang {attachment} von Karte {card} gelöscht",
"You have deleted the attachment {attachment} from card {card}" : "Sie haben den Anhang {attachment} von der Karte {card} entfernt",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} hat den Anhang {attachment} von Karte {card} entfernt",
"You have restored the attachment {attachment} to card {card}" : "Sie haben den Anhang {attachment} der Karte {card} wiederhergestellt",
"{user} has restored the attachment {attachment} to card {card}" : "{user} hat den Anhang {attachment} der Karte {card} wiederhergestellt",
"You have commented on card {card}" : "Sie haben die Karte {card} kommentiert",
@@ -186,7 +186,7 @@ OC.L10N.register(
"Deleted lists" : "Gelöschte Listen",
"Undo" : "Rückgängig",
"Deleted cards" : "Gelöschte Karten",
"Failed to create share with {displayName}" : "Freigabe mit dem Namen {displayName} konnte nicht erstellt werden",
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Möchten Sie wirklich das Board {title} auf {user} übertragen?",
"Transfer the board." : "Board übertragen.",
"Transfer" : "Übertragen",
@@ -238,7 +238,7 @@ OC.L10N.register(
"Open in bigger view" : "In größerer Ansicht öffnen",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"Failed to load comments" : "Kommentare konnten nicht geladen werden",
"Failed to load comments" : "Das Laden der Kommentare ist fehlgeschlagen",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginnen Sie die Diskussion!",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
"The comment cannot be longer than 1000 characters." : "Der Kommentar darf nicht länger als 1000 Zeichen sein.",
@@ -270,7 +270,7 @@ OC.L10N.register(
"Set a due date" : "Ein Ablaufdatum setzen",
"Add due date" : "Fälligkeitsdatum hinzufügen",
"Choose a date" : "Datum auswählen",
"Remove due date" : "Fälligkeitsdatum entfernen",
"Remove due date" : "Fälligkeitsdatum löschen",
"Mark as done" : "Als erledigt markieren",
"Due at:" : "Fallig am:",
"Not done" : "Nicht erledigt",
@@ -386,7 +386,7 @@ OC.L10N.register(
"Create a card" : "Eine Karte erstellen",
"Message from {author} in {conversationName}" : "Nachricht von {author} in {conversationName}",
"Something went wrong" : "Etwas ist schiefgelaufen",
"Failed to upload {name}" : "{name} konnte nicht hochgeladen werden",
"Failed to upload {name}" : "Fehler beim Hochladen von {name}",
"Maximum file size of {size} exceeded" : "Maximale Dateigröße von {size} überschritten",
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Share with a Deck card" : "Mit einer Deck-Karte teilen",

View File

@@ -20,7 +20,7 @@
"You have renamed list {before} to {stack} on board {board}" : "Sie haben die Liste {before} auf dem Board {board} in {stack} umbenannt",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} hat die Liste {before} in {stack} auf dem Board {board} umbenannt",
"You have deleted list {stack} on board {board}" : "Sie haben die Liste {stack} auf dem Board {board} gelöscht",
"{user} has deleted list {stack} on board {board}" : "{user} hat die Liste {stack} aus dem Board {board} gelöscht",
"{user} has deleted list {stack} on board {board}" : "{user} hat die Liste {stack} aus dem Board {board} entfernt",
"You have created card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
"{user} has created card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
"You have deleted card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} gelöscht",
@@ -59,8 +59,8 @@
"{user} has added the attachment {attachment} to card {card}" : "{user} hat den Anhang {attachment} zur Karte {card} hinzugefügt",
"You have updated the attachment {attachment} on card {card}" : "Sie haben den Anhang {attachment} der Karte {card} aktualisiert",
"{user} has updated the attachment {attachment} on card {card}" : "{user} hat den Anhang {attachment} der Karte {card} aktualisiert",
"You have deleted the attachment {attachment} from card {card}" : "Sie haben den Anhang {attachment} von der Karte {card} gelöscht",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} hat den Anhang {attachment} von Karte {card} gelöscht",
"You have deleted the attachment {attachment} from card {card}" : "Sie haben den Anhang {attachment} von der Karte {card} entfernt",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} hat den Anhang {attachment} von Karte {card} entfernt",
"You have restored the attachment {attachment} to card {card}" : "Sie haben den Anhang {attachment} der Karte {card} wiederhergestellt",
"{user} has restored the attachment {attachment} to card {card}" : "{user} hat den Anhang {attachment} der Karte {card} wiederhergestellt",
"You have commented on card {card}" : "Sie haben die Karte {card} kommentiert",
@@ -184,7 +184,7 @@
"Deleted lists" : "Gelöschte Listen",
"Undo" : "Rückgängig",
"Deleted cards" : "Gelöschte Karten",
"Failed to create share with {displayName}" : "Freigabe mit dem Namen {displayName} konnte nicht erstellt werden",
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Möchten Sie wirklich das Board {title} auf {user} übertragen?",
"Transfer the board." : "Board übertragen.",
"Transfer" : "Übertragen",
@@ -236,7 +236,7 @@
"Open in bigger view" : "In größerer Ansicht öffnen",
"Attachments" : "Anhänge",
"Comments" : "Kommentare",
"Failed to load comments" : "Kommentare konnten nicht geladen werden",
"Failed to load comments" : "Das Laden der Kommentare ist fehlgeschlagen",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginnen Sie die Diskussion!",
"The comment cannot be empty." : "Der Kommentar darf nicht leer sein.",
"The comment cannot be longer than 1000 characters." : "Der Kommentar darf nicht länger als 1000 Zeichen sein.",
@@ -268,7 +268,7 @@
"Set a due date" : "Ein Ablaufdatum setzen",
"Add due date" : "Fälligkeitsdatum hinzufügen",
"Choose a date" : "Datum auswählen",
"Remove due date" : "Fälligkeitsdatum entfernen",
"Remove due date" : "Fälligkeitsdatum löschen",
"Mark as done" : "Als erledigt markieren",
"Due at:" : "Fallig am:",
"Not done" : "Nicht erledigt",
@@ -384,7 +384,7 @@
"Create a card" : "Eine Karte erstellen",
"Message from {author} in {conversationName}" : "Nachricht von {author} in {conversationName}",
"Something went wrong" : "Etwas ist schiefgelaufen",
"Failed to upload {name}" : "{name} konnte nicht hochgeladen werden",
"Failed to upload {name}" : "Fehler beim Hochladen von {name}",
"Maximum file size of {size} exceeded" : "Maximale Dateigröße von {size} überschritten",
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Share with a Deck card" : "Mit einer Deck-Karte teilen",

View File

@@ -6,7 +6,6 @@ OC.L10N.register(
"Finished" : "Lõpetatud",
"Later" : "Hiljem",
"copy" : "koopia",
"To Do" : "Tegemiseks",
"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",
@@ -20,8 +19,6 @@ OC.L10N.register(
"Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
"Cancel" : "Loobu",
"File already exists" : "Fail on juba olemas",
"Add list" : "Lisa loend",
"List name" : "Nimekirja nimi",
"Active filters" : "Aktiivsed filtrid",
"Open" : "Ava",
"Completed" : "Lõpetatud",
@@ -37,9 +34,7 @@ OC.L10N.register(
"Can share" : "Can share",
"Owner" : "Omanik",
"Delete" : "Kustuta",
"Delete list" : "Kustuta loend",
"Edit" : "Redigeeri",
"Members" : "Liikmed",
"Invalid path selected" : "Vigane asukoht on valitud",
"Upload new files" : "Laadi uued failid üles",
"Share from Files" : "Jaga failirakendusest",
@@ -59,33 +54,23 @@ OC.L10N.register(
"Comments" : "Kommentaarid",
"Save" : "Salvesta",
"Created:" : "Loodud:",
"Cancel reply" : "Katkesta vastamine",
"Reply" : "Vasta",
"Update" : "Uuenda",
"Description" : "Kirjeldus",
"Mark as done" : "Märgi tehtuks",
"(group)" : "(grupp)",
"Edit title" : "Muuda pealkirja",
"Delete card" : "Kustuta kaart",
"seconds ago" : "sekundit tagasi",
"Keyboard shortcuts" : "Klaviatuuri otseteed",
"Keyboard shortcut" : "Klaviatuuri otsetee",
"Action" : "Tegevus",
"Shift" : "Nihuta",
"Ctrl" : "Ctrl",
"Search" : "Otsi",
"Shared with you" : "Sinuga jagatud",
"Cancel edit" : "Loobu muutmisest",
"No reminder" : "Meeldetuletust pole",
"An error occurred" : "Tekkis tõrge",
"No notifications" : "Märguandeid pole",
"Advanced options" : "Täpsemad valikud",
"Today" : "Täna",
"Tomorrow" : "Homme",
"No results found" : "Otsingutulemusi ei leidu",
"Due on {date}" : "Tähtaeg: {date}",
"Close" : "Sulge",
"Error creating the share" : "Viga jaosmeedia loomisel",
"Share" : "Jaga",
"Personal" : "Isiklik"
},

View File

@@ -4,7 +4,6 @@
"Finished" : "Lõpetatud",
"Later" : "Hiljem",
"copy" : "koopia",
"To Do" : "Tegemiseks",
"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",
@@ -18,8 +17,6 @@
"Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
"Cancel" : "Loobu",
"File already exists" : "Fail on juba olemas",
"Add list" : "Lisa loend",
"List name" : "Nimekirja nimi",
"Active filters" : "Aktiivsed filtrid",
"Open" : "Ava",
"Completed" : "Lõpetatud",
@@ -35,9 +32,7 @@
"Can share" : "Can share",
"Owner" : "Omanik",
"Delete" : "Kustuta",
"Delete list" : "Kustuta loend",
"Edit" : "Redigeeri",
"Members" : "Liikmed",
"Invalid path selected" : "Vigane asukoht on valitud",
"Upload new files" : "Laadi uued failid üles",
"Share from Files" : "Jaga failirakendusest",
@@ -57,33 +52,23 @@
"Comments" : "Kommentaarid",
"Save" : "Salvesta",
"Created:" : "Loodud:",
"Cancel reply" : "Katkesta vastamine",
"Reply" : "Vasta",
"Update" : "Uuenda",
"Description" : "Kirjeldus",
"Mark as done" : "Märgi tehtuks",
"(group)" : "(grupp)",
"Edit title" : "Muuda pealkirja",
"Delete card" : "Kustuta kaart",
"seconds ago" : "sekundit tagasi",
"Keyboard shortcuts" : "Klaviatuuri otseteed",
"Keyboard shortcut" : "Klaviatuuri otsetee",
"Action" : "Tegevus",
"Shift" : "Nihuta",
"Ctrl" : "Ctrl",
"Search" : "Otsi",
"Shared with you" : "Sinuga jagatud",
"Cancel edit" : "Loobu muutmisest",
"No reminder" : "Meeldetuletust pole",
"An error occurred" : "Tekkis tõrge",
"No notifications" : "Märguandeid pole",
"Advanced options" : "Täpsemad valikud",
"Today" : "Täna",
"Tomorrow" : "Homme",
"No results found" : "Otsingutulemusi ei leidu",
"Due on {date}" : "Tähtaeg: {date}",
"Close" : "Sulge",
"Error creating the share" : "Viga jaosmeedia loomisel",
"Share" : "Jaga",
"Personal" : "Isiklik"
},"pluralForm" :"nplurals=2; plural=(n != 1);"

View File

@@ -90,7 +90,7 @@ OC.L10N.register(
"Deck boards, cards and comments" : "Tableaux, cartes et commentaires de Deck",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, dans %2$s / %3$s, appartenant à %4$s",
"Create a new deck card" : "Créer une nouvelle carte Deck",
"Card comments" : "Commentaires des cartes",
"Card comments" : "Commentaires de la carte",
"%s on %s" : "%s sur %s",
"Deck boards and cards" : "Tableaux et cartes de Deck",
"No data was provided to create an attachment." : "Aucune donnée n'a été fournie pour créer une pièce jointe.",
@@ -347,7 +347,7 @@ OC.L10N.register(
"No notifications" : "Aucune notification",
"Delete board" : "Supprimer le tableau",
"Clone {boardTitle}" : "Cloner {boardTitle}",
"Clone cards" : "Dupliquer les cartes",
"Clone cards" : "Dupliquer des cartes",
"Clone assignments" : "Cloner les affectations",
"Clone labels" : "Cloner les étiquettes",
"Clone due dates" : "Cloner les dates d'échéance",

View File

@@ -88,7 +88,7 @@
"Deck boards, cards and comments" : "Tableaux, cartes et commentaires de Deck",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, dans %2$s / %3$s, appartenant à %4$s",
"Create a new deck card" : "Créer une nouvelle carte Deck",
"Card comments" : "Commentaires des cartes",
"Card comments" : "Commentaires de la carte",
"%s on %s" : "%s sur %s",
"Deck boards and cards" : "Tableaux et cartes de Deck",
"No data was provided to create an attachment." : "Aucune donnée n'a été fournie pour créer une pièce jointe.",
@@ -345,7 +345,7 @@
"No notifications" : "Aucune notification",
"Delete board" : "Supprimer le tableau",
"Clone {boardTitle}" : "Cloner {boardTitle}",
"Clone cards" : "Dupliquer les cartes",
"Clone cards" : "Dupliquer des cartes",
"Clone assignments" : "Cloner les affectations",
"Clone labels" : "Cloner les étiquettes",
"Clone due dates" : "Cloner les dates d'échéance",

View File

@@ -43,10 +43,10 @@ OC.L10N.register(
"{user} has set the due date of card {card} to {after}" : "{user} nustatė galutinį kortelės {card} terminą į {after}",
"You have updated the due date of card {card} to {after}" : "Jūs atnaujinote galutinį kortelės {card} terminą į {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} atnaujino galutinį kortelės {card} terminą į {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} į kortelę {card} pridėjote žymą {label}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} į kortelę {card} pridėjo žymą {label}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} iš kortelės {card} pašalinote žymą {label}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} iš kortelės {card} pašalino žymą {label}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} į kortelę {card} pridėjote žymę {label}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} į kortelę {card} pridėjo žymę {label}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} iš kortelės {card} pašalinote žymę {label}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} iš kortelės {card} pašalino žymę {label}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Jūs lentoje {board} prie kortelės {card} priskyrėte {assigneduser}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} lentoje {board} prie kortelės {card} priskyrė {assigneduser}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Jūs perkėlėte kortelę {card} iš sąrašo {stackBefore} į sąrašą {stack}",
@@ -120,9 +120,8 @@ OC.L10N.register(
"List name" : "Sąrašo pavadinimas",
"Active filters" : "Aktyvūs filtrai",
"Apply filter" : "Taikyti filtrą",
"Filter by tag" : "Filtruoti pagal žymą",
"Filter by tag" : "Filtruoti pagal žymę",
"Filter by assigned user" : "Filtruoti pagal priskirtą naudotoją",
"Open and completed" : "Atidaryta ir atlikta",
"Open" : "Atverti",
"Completed" : "Užbaigta",
"Filter by due date" : "Filtruoti pagal galutinio termino datą",
@@ -141,7 +140,7 @@ OC.L10N.register(
"Board not found" : "Lenta nerasta",
"Create a new list to add cards to this board" : "Norėdami pridėti korteles į šią lentą, sukurkite naują sąrašą",
"Sharing" : "Bendrinimas",
"Tags" : "Žymos",
"Tags" : "Žymės",
"Deleted items" : "Ištrinti elementai",
"Activity" : "Veikla",
"Deleted lists" : "Ištrinti sąrašai",
@@ -166,7 +165,7 @@ OC.L10N.register(
"Card name" : "Kortelės pavadinimas",
"title and color value must be provided" : "privalo būti pateiktos pavadinimo ir spalvos reikšmės",
"Edit" : "Taisyti",
"Add a new tag" : "Pridėti naują žymą",
"Add a new tag" : "Pridėti naują žymę",
"Board name" : "Lentos pavadinimas",
"Members" : "Nariai",
"Assign a user to this card…" : "Priskirti šiai kortelei naudotoją…",
@@ -214,7 +213,7 @@ OC.L10N.register(
"Mark as done" : "Žymėti kaip atliktą",
"Unarchive card" : "Išarchyvuoti kortelę",
"Archive card" : "Archyvuoti kortelę",
"Assign a tag to this card…" : "Priskirti šiai kortelei žymą…",
"Assign a tag to this card…" : "Priskirti šiai kortelei žymę…",
"(group)" : "(grupė)",
"{count} comments, {unread} unread" : "Komentarų: {count}, neskaityta: {unread}",
"Open link" : "Atverti nuorodą",

View File

@@ -41,10 +41,10 @@
"{user} has set the due date of card {card} to {after}" : "{user} nustatė galutinį kortelės {card} terminą į {after}",
"You have updated the due date of card {card} to {after}" : "Jūs atnaujinote galutinį kortelės {card} terminą į {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} atnaujino galutinį kortelės {card} terminą į {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} į kortelę {card} pridėjote žymą {label}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} į kortelę {card} pridėjo žymą {label}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} iš kortelės {card} pašalinote žymą {label}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} iš kortelės {card} pašalino žymą {label}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} į kortelę {card} pridėjote žymę {label}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} į kortelę {card} pridėjo žymę {label}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} iš kortelės {card} pašalinote žymę {label}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} iš kortelės {card} pašalino žymę {label}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Jūs lentoje {board} prie kortelės {card} priskyrėte {assigneduser}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} lentoje {board} prie kortelės {card} priskyrė {assigneduser}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Jūs perkėlėte kortelę {card} iš sąrašo {stackBefore} į sąrašą {stack}",
@@ -118,9 +118,8 @@
"List name" : "Sąrašo pavadinimas",
"Active filters" : "Aktyvūs filtrai",
"Apply filter" : "Taikyti filtrą",
"Filter by tag" : "Filtruoti pagal žymą",
"Filter by tag" : "Filtruoti pagal žymę",
"Filter by assigned user" : "Filtruoti pagal priskirtą naudotoją",
"Open and completed" : "Atidaryta ir atlikta",
"Open" : "Atverti",
"Completed" : "Užbaigta",
"Filter by due date" : "Filtruoti pagal galutinio termino datą",
@@ -139,7 +138,7 @@
"Board not found" : "Lenta nerasta",
"Create a new list to add cards to this board" : "Norėdami pridėti korteles į šią lentą, sukurkite naują sąrašą",
"Sharing" : "Bendrinimas",
"Tags" : "Žymos",
"Tags" : "Žymės",
"Deleted items" : "Ištrinti elementai",
"Activity" : "Veikla",
"Deleted lists" : "Ištrinti sąrašai",
@@ -164,7 +163,7 @@
"Card name" : "Kortelės pavadinimas",
"title and color value must be provided" : "privalo būti pateiktos pavadinimo ir spalvos reikšmės",
"Edit" : "Taisyti",
"Add a new tag" : "Pridėti naują žymą",
"Add a new tag" : "Pridėti naują žymę",
"Board name" : "Lentos pavadinimas",
"Members" : "Nariai",
"Assign a user to this card…" : "Priskirti šiai kortelei naudotoją…",
@@ -212,7 +211,7 @@
"Mark as done" : "Žymėti kaip atliktą",
"Unarchive card" : "Išarchyvuoti kortelę",
"Archive card" : "Archyvuoti kortelę",
"Assign a tag to this card…" : "Priskirti šiai kortelei žymą…",
"Assign a tag to this card…" : "Priskirti šiai kortelei žymę…",
"(group)" : "(grupė)",
"{count} comments, {unread} unread" : "Komentarų: {count}, neskaityta: {unread}",
"Open link" : "Atverti nuorodą",

View File

@@ -18,7 +18,6 @@ OC.L10N.register(
"Could not write file to disk" : "Nevarēja ierakstīt datni diskā",
"A PHP extension stopped the file upload" : "PHP paplašinājums apturēja datnes augšupielādi",
"Invalid date, date format must be YYYY-MM-DD" : "Nederīgs datums, datuma formātam jābūt YYYY-MM-DD",
"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 ir kanban veida organizēšanas rīks, kas paredzēts personīgai plānošanai un projektu orgenizēšanai komandām, kas ir iekļauts Nextcloud.\n\n\n- 📥 Uzdevumu pievienošana kartītēm un to sakārtošana\n- 📄 Papildu piezīmes var pierakstīt ar Markdown\n- 🔖 Vēl labākai pārraudzībai var piešķirt iezīmes\n- 👥 Koplietošana ar savu komandu, draugiem vai ģimeni\n- 📎 Datņu pievienošana un iekļaušana Markdown aprakstā\n- 💬 Apspriešana ar savu komandu ar piebildēm\n- ⚡ Izmaiņu izsekošana darbību plūsmā\n- 🚀 Sava projekta sakārtošana",
"Cancel" : "Atcelt",
"File already exists" : "Datne jau pastāv",
"Do you want to overwrite it?" : "Vai tu gribi pārrakstīt to?",
@@ -38,14 +37,13 @@ OC.L10N.register(
"Can edit" : "Var labot",
"Can share" : "Var koplietot",
"Owner" : "Īpašnieks",
"Delete" : "Izdzēst",
"Delete" : "Dzēst",
"Edit" : "Labot",
"Members" : "Biedri",
"File to share" : "Kopīgojamā datne",
"Download" : "Lejupielādēt",
"Modified" : "Mainīts",
"Created" : "Izveidots",
"Open in sidebar view" : "Atvērt sānjoslas skatā",
"Attachments" : "Pielikumi",
"Comments" : "Piebildes",
"Save" : "Saglabāt",
@@ -55,7 +53,6 @@ OC.L10N.register(
"Description" : "Apraksts",
"Select Date" : "Izvēlieties datumu",
"(group)" : "(grupa)",
"Open link" : "Atvērt saiti",
"seconds ago" : "sekundēm",
"Keyboard shortcuts" : "Tastatūras saīsnes",
"Keyboard shortcut" : "Tastatūras saīsne",

View File

@@ -16,7 +16,6 @@
"Could not write file to disk" : "Nevarēja ierakstīt datni diskā",
"A PHP extension stopped the file upload" : "PHP paplašinājums apturēja datnes augšupielādi",
"Invalid date, date format must be YYYY-MM-DD" : "Nederīgs datums, datuma formātam jābūt YYYY-MM-DD",
"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 ir kanban veida organizēšanas rīks, kas paredzēts personīgai plānošanai un projektu orgenizēšanai komandām, kas ir iekļauts Nextcloud.\n\n\n- 📥 Uzdevumu pievienošana kartītēm un to sakārtošana\n- 📄 Papildu piezīmes var pierakstīt ar Markdown\n- 🔖 Vēl labākai pārraudzībai var piešķirt iezīmes\n- 👥 Koplietošana ar savu komandu, draugiem vai ģimeni\n- 📎 Datņu pievienošana un iekļaušana Markdown aprakstā\n- 💬 Apspriešana ar savu komandu ar piebildēm\n- ⚡ Izmaiņu izsekošana darbību plūsmā\n- 🚀 Sava projekta sakārtošana",
"Cancel" : "Atcelt",
"File already exists" : "Datne jau pastāv",
"Do you want to overwrite it?" : "Vai tu gribi pārrakstīt to?",
@@ -36,14 +35,13 @@
"Can edit" : "Var labot",
"Can share" : "Var koplietot",
"Owner" : "Īpašnieks",
"Delete" : "Izdzēst",
"Delete" : "Dzēst",
"Edit" : "Labot",
"Members" : "Biedri",
"File to share" : "Kopīgojamā datne",
"Download" : "Lejupielādēt",
"Modified" : "Mainīts",
"Created" : "Izveidots",
"Open in sidebar view" : "Atvērt sānjoslas skatā",
"Attachments" : "Pielikumi",
"Comments" : "Piebildes",
"Save" : "Saglabāt",
@@ -53,7 +51,6 @@
"Description" : "Apraksts",
"Select Date" : "Izvēlieties datumu",
"(group)" : "(grupa)",
"Open link" : "Atvērt saiti",
"seconds ago" : "sekundēm",
"Keyboard shortcuts" : "Tastatūras saīsnes",
"Keyboard shortcut" : "Tastatūras saīsne",

View File

@@ -85,14 +85,14 @@ OC.L10N.register(
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionou você em um comentário em {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "O painel \"%s\" foi compartilhado com você por %s.",
"{user} has shared {deck-board} with you." : "{user} compartilhou o {deck-board} com você.",
"Deck board" : "Painel de Deck",
"Deck board" : "Painel de deck",
"Owned by %1$s" : "Propriedade de %1$s",
"Deck boards, cards and comments" : "Paineis, cartões e comentários de Deck",
"Deck boards, cards and comments" : "Quadros de aviso Deck, quadros de aviso e comentários",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, em %2$s/%3$s, propriedade de %4$s",
"Create a new deck card" : "Crie um novo cartão de Deck",
"Create a new deck card" : "Crie uma nova carta de deck",
"Card comments" : "Comentários do cartão",
"%s on %s" : "%s em %s",
"Deck boards and cards" : "Paineis e cartões de Deck",
"Deck boards and cards" : "Quadros de aviso e cartas Deck",
"No data was provided to create an attachment." : "Nenhum dado foi fornecido para criar um anexo.",
"Finished" : "Terminado",
"To review" : "Para revisão",
@@ -116,7 +116,7 @@ OC.L10N.register(
"No file was uploaded" : "Nenhum arquivo foi enviado",
"Missing a temporary folder" : "Falta uma pasta temporária",
"Could not write file to disk" : "Não foi possível escrever no disco",
"A PHP extension stopped the file upload" : "Uma extensão PHP parou o upload do arquivo",
"A PHP extension stopped the file upload" : "Uma extensão PHP parou o envio do arquivo",
"No file uploaded or file size exceeds maximum of %s" : "Nenhum arquivo enviado ou o tamanho excede 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 comentário tem mais de %s caracteres.\nEle foi adicionado como um anexo ao cartão de nome %s.\nAcessível na URL: %s.",
"Card not found" : "Cartão não encontrado",
@@ -273,7 +273,7 @@ OC.L10N.register(
"Remove due date" : "Remover data de vencimento",
"Mark as done" : "Marcar como concluído",
"Due at:" : "Vencimento em:",
"Not done" : "Não concluído",
"Not done" : "Não realizado",
"Unarchive card" : "Desarquivar cartão",
"Archive card" : "Arquivar cartão",
"Assign a tag to this card…" : "Atribuir uma etiqueta a este cartão...",
@@ -362,7 +362,7 @@ OC.L10N.register(
"No due" : "Sem vencimento",
"Search for {searchQuery} in all boards" : "Pesquisar por {searchQuery} em todos os painéis",
"No results found" : "Nenhum resultado encontrado",
"Deck board {name}\n* Last modified on {lastMod}" : "Painel de Deck {name}\n* Última modificação em {lastMod}",
"Deck board {name}\n* Last modified on {lastMod}" : "Quadros de aviso Deck {name}\n* Última modificação em {lastMod}",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Criado em {created}\n* Última modificação em {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentários",
"{nbCards} cards" : "{nbCards} cartões",
"Due on {date}" : "Vencimento em {date}",
@@ -380,7 +380,7 @@ OC.L10N.register(
"upcoming cards today" : "próximos cartões hoje",
"upcoming cards tomorrow" : "próximos cartões amanhã",
"upcoming cards" : "próximos cartões",
"New card" : "Novo cartão",
"New card" : "New card",
"Link to a board" : "Vincular a um painel",
"Link to a card" : "Vincular a um cartão",
"Create a card" : "Criar um cartão",

View File

@@ -83,14 +83,14 @@
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionou você em um comentário em {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "O painel \"%s\" foi compartilhado com você por %s.",
"{user} has shared {deck-board} with you." : "{user} compartilhou o {deck-board} com você.",
"Deck board" : "Painel de Deck",
"Deck board" : "Painel de deck",
"Owned by %1$s" : "Propriedade de %1$s",
"Deck boards, cards and comments" : "Paineis, cartões e comentários de Deck",
"Deck boards, cards and comments" : "Quadros de aviso Deck, quadros de aviso e comentários",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, em %2$s/%3$s, propriedade de %4$s",
"Create a new deck card" : "Crie um novo cartão de Deck",
"Create a new deck card" : "Crie uma nova carta de deck",
"Card comments" : "Comentários do cartão",
"%s on %s" : "%s em %s",
"Deck boards and cards" : "Paineis e cartões de Deck",
"Deck boards and cards" : "Quadros de aviso e cartas Deck",
"No data was provided to create an attachment." : "Nenhum dado foi fornecido para criar um anexo.",
"Finished" : "Terminado",
"To review" : "Para revisão",
@@ -114,7 +114,7 @@
"No file was uploaded" : "Nenhum arquivo foi enviado",
"Missing a temporary folder" : "Falta uma pasta temporária",
"Could not write file to disk" : "Não foi possível escrever no disco",
"A PHP extension stopped the file upload" : "Uma extensão PHP parou o upload do arquivo",
"A PHP extension stopped the file upload" : "Uma extensão PHP parou o envio do arquivo",
"No file uploaded or file size exceeds maximum of %s" : "Nenhum arquivo enviado ou o tamanho excede 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 comentário tem mais de %s caracteres.\nEle foi adicionado como um anexo ao cartão de nome %s.\nAcessível na URL: %s.",
"Card not found" : "Cartão não encontrado",
@@ -271,7 +271,7 @@
"Remove due date" : "Remover data de vencimento",
"Mark as done" : "Marcar como concluído",
"Due at:" : "Vencimento em:",
"Not done" : "Não concluído",
"Not done" : "Não realizado",
"Unarchive card" : "Desarquivar cartão",
"Archive card" : "Arquivar cartão",
"Assign a tag to this card…" : "Atribuir uma etiqueta a este cartão...",
@@ -360,7 +360,7 @@
"No due" : "Sem vencimento",
"Search for {searchQuery} in all boards" : "Pesquisar por {searchQuery} em todos os painéis",
"No results found" : "Nenhum resultado encontrado",
"Deck board {name}\n* Last modified on {lastMod}" : "Painel de Deck {name}\n* Última modificação em {lastMod}",
"Deck board {name}\n* Last modified on {lastMod}" : "Quadros de aviso Deck {name}\n* Última modificação em {lastMod}",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Criado em {created}\n* Última modificação em {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentários",
"{nbCards} cards" : "{nbCards} cartões",
"Due on {date}" : "Vencimento em {date}",
@@ -378,7 +378,7 @@
"upcoming cards today" : "próximos cartões hoje",
"upcoming cards tomorrow" : "próximos cartões amanhã",
"upcoming cards" : "próximos cartões",
"New card" : "Novo cartão",
"New card" : "New card",
"Link to a board" : "Vincular a um painel",
"Link to a card" : "Vincular a um cartão",
"Create a card" : "Criar um cartão",

View File

@@ -86,7 +86,7 @@ OC.L10N.register(
"Select a card" : "Вибрати картку",
"Cancel" : "Скасувати",
"This board is read only" : "Дошка тільки для читання",
"Drop your files to upload" : "Перетягнути файли для завантаження",
"Drop your files to upload" : "Пересуньте файли сюди для завантаження",
"File already exists" : "Файл вже існує",
"A file with the name {filename} already exists." : "Файл {filename} вже існує.",
"Do you want to overwrite it?" : "Дійсно перезаписати файл?",
@@ -97,7 +97,7 @@ OC.L10N.register(
"Add list" : "Додати список",
"List name" : "Назва списку",
"Active filters" : "Активні фільтри",
"Apply filter" : "Фільтрувати",
"Apply filter" : "Відфільтрувати",
"Filter by tag" : "Відібрати за мітками",
"Filter by assigned user" : "Відібрати за призначеним користувачем",
"Unassigned" : "Скасовано призначення",
@@ -127,7 +127,7 @@ OC.L10N.register(
"Transfer" : "Передати",
"Board owner" : "Власник дошки",
"(Group)" : "(група)",
"Can edit" : "Може редагувати",
"Can edit" : "Можна редагувати",
"Can share" : "Can share",
"Can manage" : "Може керувати",
"Owner" : "Власник",

View File

@@ -84,7 +84,7 @@
"Select a card" : "Вибрати картку",
"Cancel" : "Скасувати",
"This board is read only" : "Дошка тільки для читання",
"Drop your files to upload" : "Перетягнути файли для завантаження",
"Drop your files to upload" : "Пересуньте файли сюди для завантаження",
"File already exists" : "Файл вже існує",
"A file with the name {filename} already exists." : "Файл {filename} вже існує.",
"Do you want to overwrite it?" : "Дійсно перезаписати файл?",
@@ -95,7 +95,7 @@
"Add list" : "Додати список",
"List name" : "Назва списку",
"Active filters" : "Активні фільтри",
"Apply filter" : "Фільтрувати",
"Apply filter" : "Відфільтрувати",
"Filter by tag" : "Відібрати за мітками",
"Filter by assigned user" : "Відібрати за призначеним користувачем",
"Unassigned" : "Скасовано призначення",
@@ -125,7 +125,7 @@
"Transfer" : "Передати",
"Board owner" : "Власник дошки",
"(Group)" : "(група)",
"Can edit" : "Може редагувати",
"Can edit" : "Можна редагувати",
"Can share" : "Can share",
"Can manage" : "Може керувати",
"Owner" : "Власник",

View File

@@ -2,9 +2,6 @@ OC.L10N.register(
"deck",
{
"Deck" : "Pastki qavat",
"Upcoming cards" : "Kelgusi kartalar",
"Deck board" : "Pastki taxta",
"Later" : "Keyinchalik",
"copy" : "copy",
"Done" : "Done",
"The file was uploaded" : "Fayl yuklangan edi",
@@ -15,58 +12,30 @@ OC.L10N.register(
"Missing a temporary folder" : "Vaqtinchalik papka etishmayapti",
"Could not write file to disk" : "Faylni diskka yozib bo'lmadi",
"A PHP extension stopped the file upload" : "PHP kengaytmasi faylni yuklashni to'xtatdi",
"Card not found" : "Karta topilmadi",
"Add board" : "Doska qo'shing",
"Move card" : "Kartani ko'chirish",
"Cancel" : "Cancel",
"Add card" : "Karta qo'shing",
"Archived cards" : "Arxivlangan kartalar",
"Add list" : "Roʻyxat qoʻshish",
"Unassigned" : "Tayinlanmagan",
"Open" : "Open",
"Overdue" : "Muddati o'tgan",
"Next 7 days" : "Keyingi 7 kun",
"Next 30 days" : "Keyingi 30 kun",
"No due date" : "Muddati yo'q",
"Details" : "Details",
"Sharing" : "Ulashish",
"Tags" : "Tags",
"Activity" : "Faollik",
"Undo" : "Bekor qilish",
"Can edit" : "Can edit",
"Owner" : "Owner",
"Delete" : "Delete",
"Delete list" : "Roʻyxatni oʻchirish",
"Edit" : "Tahrirlash",
"Download" : "Download",
"Modified" : "Modified",
"Attachments" : "Qo'shimchalar",
"Comments" : "Comments",
"Save" : "Save",
"In reply to" : "ga javoban",
"Reply" : "Javob bering",
"Update" : "Update",
"Description" : "Tavsif",
"Edit description" : "Tavsifni tahrirlash",
"Mark as done" : "Bajarildi deb belgilang",
"Not done" : "Bajarilmadi",
"Archive card" : "Arxiv kartasi",
"Edit title" : "Sarlavhani tahrirlash",
"Delete card" : "Kartani o'chirish",
"seconds ago" : "seconds ago",
"Search" : "Search",
"Archived boards" : "Arxivlangan taxtalar",
"Shared with you" : "Shared with you",
"No reminder" : "Eslatma yo'q",
"Edit board" : "Tahrirlash paneli",
"Clone board" : "Klon taxtasi",
"Archive board" : "Arxiv paneli",
"No notifications" : "Hech qanday bildirishnoma yo'q",
"Delete board" : "Panelni o'chirish",
"Clone cards" : "Klon kartalari",
"Clone" : "Klonlash",
"Today" : "Today",
"Tomorrow" : "Ertaga",
"No results found" : "Hech qanday natija topilmadi",
"Close" : "Close",
"Share" : "Ulashish",

View File

@@ -1,8 +1,5 @@
{ "translations": {
"Deck" : "Pastki qavat",
"Upcoming cards" : "Kelgusi kartalar",
"Deck board" : "Pastki taxta",
"Later" : "Keyinchalik",
"copy" : "copy",
"Done" : "Done",
"The file was uploaded" : "Fayl yuklangan edi",
@@ -13,58 +10,30 @@
"Missing a temporary folder" : "Vaqtinchalik papka etishmayapti",
"Could not write file to disk" : "Faylni diskka yozib bo'lmadi",
"A PHP extension stopped the file upload" : "PHP kengaytmasi faylni yuklashni to'xtatdi",
"Card not found" : "Karta topilmadi",
"Add board" : "Doska qo'shing",
"Move card" : "Kartani ko'chirish",
"Cancel" : "Cancel",
"Add card" : "Karta qo'shing",
"Archived cards" : "Arxivlangan kartalar",
"Add list" : "Roʻyxat qoʻshish",
"Unassigned" : "Tayinlanmagan",
"Open" : "Open",
"Overdue" : "Muddati o'tgan",
"Next 7 days" : "Keyingi 7 kun",
"Next 30 days" : "Keyingi 30 kun",
"No due date" : "Muddati yo'q",
"Details" : "Details",
"Sharing" : "Ulashish",
"Tags" : "Tags",
"Activity" : "Faollik",
"Undo" : "Bekor qilish",
"Can edit" : "Can edit",
"Owner" : "Owner",
"Delete" : "Delete",
"Delete list" : "Roʻyxatni oʻchirish",
"Edit" : "Tahrirlash",
"Download" : "Download",
"Modified" : "Modified",
"Attachments" : "Qo'shimchalar",
"Comments" : "Comments",
"Save" : "Save",
"In reply to" : "ga javoban",
"Reply" : "Javob bering",
"Update" : "Update",
"Description" : "Tavsif",
"Edit description" : "Tavsifni tahrirlash",
"Mark as done" : "Bajarildi deb belgilang",
"Not done" : "Bajarilmadi",
"Archive card" : "Arxiv kartasi",
"Edit title" : "Sarlavhani tahrirlash",
"Delete card" : "Kartani o'chirish",
"seconds ago" : "seconds ago",
"Search" : "Search",
"Archived boards" : "Arxivlangan taxtalar",
"Shared with you" : "Shared with you",
"No reminder" : "Eslatma yo'q",
"Edit board" : "Tahrirlash paneli",
"Clone board" : "Klon taxtasi",
"Archive board" : "Arxiv paneli",
"No notifications" : "Hech qanday bildirishnoma yo'q",
"Delete board" : "Panelni o'chirish",
"Clone cards" : "Klon kartalari",
"Clone" : "Klonlash",
"Today" : "Today",
"Tomorrow" : "Ertaga",
"No results found" : "Hech qanday natija topilmadi",
"Close" : "Close",
"Share" : "Ulashish",

View File

@@ -76,21 +76,6 @@ class AssignmentMapper extends DeckMapper implements IPermissionMapper {
return $this->findEntities($qb);
}
public function deleteByParticipantOnBoard(string $participant, int $boardId, $type = Assignment::TYPE_USER) {
$qb = $this->db->getQueryBuilder();
$cardIdQuery = $this->db->getQueryBuilder();
$cardIdQuery->select('a.card_id')
->from('deck_assigned_users', 'a')
->innerJoin('a', 'deck_cards', 'c', 'c.id = a.card_id')
->innerJoin('c', 'deck_stacks', 's', 's.id = c.stack_id')
->where($cardIdQuery->expr()->eq('a.participant', $qb->createNamedParameter($participant, IQueryBuilder::PARAM_STR)))
->andWhere($cardIdQuery->expr()->eq('s.board_id', $qb->createNamedParameter($boardId, IQueryBuilder::PARAM_INT)))
->andWhere($cardIdQuery->expr()->eq('a.type', $qb->createNamedParameter($type, IQueryBuilder::PARAM_INT)));
$qb->delete('deck_assigned_users')
->where($qb->expr()->in('card_id', $qb->createFunction($cardIdQuery->getSQL()), IQueryBuilder::PARAM_INT_ARRAY));
$qb->executeStatement();
}
public function isOwner($userId, $id): bool {
return $this->cardMapper->isOwner($userId, $id);

View File

@@ -27,7 +27,7 @@ class DefaultBoardMiddleware extends Middleware {
public function beforeController($controller, $methodName) {
try {
if ($this->userId !== null && $this->defaultBoardService->checkFirstRun($this->userId) && $this->permissionService->canCreate()) {
$this->defaultBoardService->createDefaultBoard($this->l10n->t('Personal'), $this->userId, '0087C5');
$this->defaultBoardService->createDefaultBoard($this->l10n->t('Welcome to Nextcloud Deck!'), $this->userId, 'bf678b');
}
} catch (\Throwable $e) {
$this->logger->error('Could not create default board', ['exception' => $e]);

View File

@@ -106,21 +106,21 @@ class Notifier implements INotifier {
[
'deck-card' => [
'type' => 'deck-card',
'id' => (string)$cardId,
'id' => $cardId,
'name' => $params[0],
'boardname' => (string)$params[1],
'boardname' => $params[1],
'stackname' => $stack->getTitle(),
'link' => $this->getCardUrl($boardId, $cardId),
],
'deck-board' => [
'type' => 'deck-board',
'id' => (string)$boardId,
'name' => (string)$params[1],
'id' => $boardId,
'name' => $params[1],
'link' => $this->getBoardUrl($boardId),
],
'user' => [
'type' => 'user',
'id' => (string)$params[2],
'id' => $params[2],
'name' => $dn,
]
]
@@ -143,16 +143,16 @@ class Notifier implements INotifier {
[
'deck-card' => [
'type' => 'deck-card',
'id' => (string)$cardId,
'name' => (string)$params[0],
'boardname' => (string)$params[1],
'id' => $cardId,
'name' => $params[0],
'boardname' => $params[1],
'stackname' => $stack->getTitle(),
'link' => $this->getCardUrl($boardId, $cardId),
],
'deck-board' => [
'type' => 'deck-board',
'id' => (string)$boardId,
'name' => (string)$params[1],
'id' => $boardId,
'name' => $params[1],
'link' => $this->getBoardUrl($boardId),
],
]
@@ -181,15 +181,15 @@ class Notifier implements INotifier {
[
'deck-card' => [
'type' => 'deck-card',
'id' => (string)$cardId,
'name' => (string)$params[0],
'boardname' => (string)$params[1],
'id' => $cardId,
'name' => $params[0],
'boardname' => $params[1],
'stackname' => $stack->getTitle(),
'link' => $this->getCardUrl($boardId, $cardId),
],
'user' => [
'type' => 'user',
'id' => (string)$params[2],
'id' => $params[2],
'name' => $dn,
]
]
@@ -218,8 +218,8 @@ class Notifier implements INotifier {
[
'deck-board' => [
'type' => 'deck-board',
'id' => (string)$boardId,
'name' => (string)$params[0],
'id' => $boardId,
'name' => $params[0],
'link' => $this->getBoardUrl($boardId),
],
'user' => [

View File

@@ -444,7 +444,10 @@ class BoardService {
$acl = $this->aclMapper->find($id);
$this->boardMapper->mapAcl($acl);
if ($acl->getType() === Acl::PERMISSION_TYPE_USER) {
$this->assignedUsersMapper->deleteByParticipantOnBoard($acl->getParticipant(), $acl->getBoardId());
$assignements = $this->assignedUsersMapper->findByParticipant($acl->getParticipant());
foreach ($assignements as $assignement) {
$this->assignedUsersMapper->delete($assignement);
}
}
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_BOARD, $acl, ActivityManager::SUBJECT_BOARD_UNSHARE);

View File

@@ -609,9 +609,8 @@ class CardService {
public function assignLabel($cardId, $labelId) {
$this->cardServiceValidator->check(compact('cardId', 'labelId'));
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_EDIT);
$this->permissionService->checkPermission($this->labelMapper, $labelId, Acl::PERMISSION_READ);
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_EDIT);
if ($this->boardService->isArchived($this->cardMapper, $cardId)) {
throw new StatusException('Operation not allowed. This board is archived.');
}
@@ -620,9 +619,6 @@ class CardService {
throw new StatusException('Operation not allowed. This card is archived.');
}
$label = $this->labelMapper->find($labelId);
if ($label->getBoardId() !== $this->cardMapper->findBoardId($card->getId())) {
throw new StatusException('Operation not allowed. Label does not exist.');
}
$this->cardMapper->assignLabel($cardId, $labelId);
$this->changeHelper->cardChanged($cardId);
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $card, ActivityManager::SUBJECT_LABEL_ASSIGN, ['label' => $label]);
@@ -644,8 +640,6 @@ class CardService {
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_EDIT);
$this->permissionService->checkPermission($this->labelMapper, $labelId, Acl::PERMISSION_READ);
if ($this->boardService->isArchived($this->cardMapper, $cardId)) {
throw new StatusException('Operation not allowed. This board is archived.');
}
@@ -654,9 +648,6 @@ class CardService {
throw new StatusException('Operation not allowed. This card is archived.');
}
$label = $this->labelMapper->find($labelId);
if ($label->getBoardId() !== $this->cardMapper->findBoardId($card->getId())) {
throw new StatusException('Operation not allowed. Label does not exist.');
}
$this->cardMapper->removeLabel($cardId, $labelId);
$this->changeHelper->cardChanged($cardId);
$this->activityManager->triggerEvent(ActivityManager::DECK_OBJECT_CARD, $card, ActivityManager::SUBJECT_LABEL_UNASSING, ['label' => $label]);

View File

@@ -9,6 +9,7 @@ namespace OCA\Deck\Service;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\BadRequestException;
use OCA\Deck\Db\Board;
use OCA\Deck\Db\BoardMapper;
use OCP\IConfig;
use OCP\IL10N;
@@ -21,6 +22,8 @@ class DefaultBoardService {
private $cardService;
private $config;
private $l10n;
private LabelService $labelService;
private AttachmentService $attachmentService;
public function __construct(
IL10N $l10n,
@@ -29,6 +32,8 @@ class DefaultBoardService {
StackService $stackService,
CardService $cardService,
IConfig $config,
LabelService $labelService,
AttachmentService $attachmentService,
) {
$this->boardService = $boardService;
$this->stackService = $stackService;
@@ -36,6 +41,8 @@ class DefaultBoardService {
$this->config = $config;
$this->boardMapper = $boardMapper;
$this->l10n = $l10n;
$this->labelService = $labelService;
$this->attachmentService = $attachmentService;
}
/**
@@ -59,10 +66,13 @@ class DefaultBoardService {
return false;
}
private function getDefaultBoardData(): array {
$defaultBoardDataJson = file_get_contents(__DIR__ . '/fixtures/default-board.json');
return json_decode($defaultBoardDataJson, true);
}
/**
* @param $title
* @param $userId
* @param $color
* @return \OCP\AppFramework\Db\Entity
* @throws \OCA\Deck\NoPermissionException
* @throws \OCA\Deck\StatusException
@@ -71,19 +81,71 @@ class DefaultBoardService {
* @throws BadRequestException
*/
public function createDefaultBoard(string $title, string $userId, string $color) {
$defaultBoard = $this->boardService->create($title, $userId, $color);
$defaultStacks = [];
$defaultCards = [];
$boardData = $this->getDefaultBoardData();
/** @var Board $defaultBoard */
$defaultBoard = $this->boardService->create(
$boardData['title'] ?? $title,
$userId,
$boardData['color'] ?? $color,
);
$boardId = $defaultBoard->getId();
$additionLabels = [];
$translatedLabelTitles = [
'Read more inside' => $this->l10n->t('Read more inside'),
];
$translatedStackTitles = [
'Custom lists - click to rename!' => $this->l10n->t('Custom lists - click to rename!'),
'To Do' => $this->l10n->t('To Do'),
'In Progress' => $this->l10n->t('In Progress'),
'Done' => $this->l10n->t('Done'),
];
$translatedCardTitles = [
'1. Open to learn more about boards and cards' => $this->l10n->t('1. Open to learn more about boards and cards'),
'2. Drag cards left and right, up and down' => $this->l10n->t('2. Drag cards left and right, up and down'),
'3. Apply rich formatting and link content' => $this->l10n->t('3. Apply rich formatting and link content'),
'4. Share, comment and collaborate!' => $this->l10n->t('4. Share, comment and collaborate!'),
'Create your first card!' => $this->l10n->t('Create your first card!'),
];
$defaultStacks[] = $this->stackService->create($this->l10n->t('To do'), $boardId, 1);
$defaultStacks[] = $this->stackService->create($this->l10n->t('Doing'), $boardId, 1);
$defaultStacks[] = $this->stackService->create($this->l10n->t('Done'), $boardId, 1);
foreach ($boardData['addition_labels'] as $labelData) {
$additionLabels[] = $this->labelService->create(
$translatedLabelTitles[$labelData['title']] ?? $labelData['title'],
$labelData['color'],
$boardId
);
}
$defaultCards[] = $this->cardService->create($this->l10n->t('Example Task 3'), $defaultStacks[0]->getId(), 'text', 0, $userId);
$defaultCards[] = $this->cardService->create($this->l10n->t('Example Task 2'), $defaultStacks[1]->getId(), 'text', 0, $userId);
$defaultCards[] = $this->cardService->create($this->l10n->t('Example Task 1'), $defaultStacks[2]->getId(), 'text', 0, $userId);
$defaultLabels = array_merge($defaultBoard->getLabels() ?? [], $additionLabels);
foreach ($boardData['stacks'] as $stackData) {
$stack = $this->stackService->create(
$translatedStackTitles[$stackData['title']] ?? $stackData['title'],
$boardId,
$stackData['order']
);
foreach ($stackData['cards'] as $cardData) {
$card = $this->cardService->create(
$translatedCardTitles[$cardData['title']] ?? $cardData['title'],
$stack->getId(),
$cardData['type'],
$cardData['order'],
$userId,
$cardData['description'],
);
foreach ($defaultLabels as $defaultLabel) {
if ($defaultLabel && in_array($defaultLabel->getTitle(), $cardData['labels'])) {
$this->cardService->assignLabel($card->getId(), $defaultLabel->getId());
}
}
if (!empty($cardData['has_example_attachment'])) {
$this->attachmentService->create($card->getId(), 'file', 'DEFAULT_SAMPLE_FILE');
}
}
}
return $defaultBoard;
}

View File

@@ -162,7 +162,15 @@ class FilesAppService implements IAttachmentService, ICustomAttachmentService {
}
public function create(Attachment $attachment) {
$file = $this->getUploadedFile();
if ($attachment->getData() === 'DEFAULT_SAMPLE_FILE' && !$this->request->getUploadedFile('file')) {
$file = [
'name' => 'Nextcloud sample image - add your image here!.jpg',
'tmp_name' => __DIR__ . '/../../img/sample-image.jpg',
];
} else {
$file = $this->getUploadedFile();
}
$fileName = $file['name'];
// get shares for current card

View File

@@ -0,0 +1,81 @@
{
"color": "bf678b",
"addition_labels": [
{
"title": "Read more inside",
"color": "CC317C"
}
],
"stacks": [
{
"title": "Custom lists - click to rename!",
"order": 0,
"cards": [
{
"title": "1. Open to learn more about boards and cards",
"description": "## Welcome to Nextcloud Deck!\n\nNextcloud Deck is a kanban style project management app that integrates seamlessly with the Nextcloud ecosystem. Here, you can create and manage boards to streamline your projects and organize project tasks visually using cards. A versatile tool, Nextcloud Deck will help you stay efficient in both personal and collaborative settings!\n\n### \ud83d\udccc How to set up a new board?\n\nAdd a new board via the \u201c+\u201d button or \u201cAdd board\u201d. Name your board and add a description to clarify its purpose if you wish.\n\nAdd task lists to your board via \u201cAdd List\u201d (e.g., \"To Do\"). Add cards to these lists to represent individual tasks or items. Organize your cards visually by assigning labels or colors.\n\nManage your board list: In the board menu next to the board name, you can edit, clone, archive and export your boards.\n\n### \ud83d\uddc2\ufe0f How to create and edit task cards?\n\nAdd cards via the \u201c+\u201d button on top of the list of your choice. Name your card and add a description using the available rich text formatting instruments.\n\nSet a due date to track deadlines and add responsible team members. Label your cards with tags for better navigation. You can create and manage tags in the sidebar, which is accessible via the toolbar button.\n\n### \ud83d\udca1Useful tips for Nextcloud Deck\n\n- Integrate Nextcloud Deck with Nextcloud Calendar and track the upcoming card deadlines.\n- Use comments to keep discussions around a task within its dedicated card.\n- Enable Nextcloud Deck notifications to always stay updated on changes to your boards.",
"labels": [
"Read more inside"
],
"type": "text",
"order": 0
}
]
},
{
"title": "To Do",
"order": 1,
"cards": [
{
"title": "2. Drag cards left and right, up and down",
"description": "## \ud83d\udea6 Manage your boards and cards\n\nDrag your cards around the board to change position in the list or move them to other lists.\n\nArchive cards to remove them from the board without losing your content. You can always access archived cards and put them back by going to \"Show archived cards\" in the board menu.\n\nUse tags to assign types, statuses and other special attributes to your cards to aid visual navigation. Open the \"Tags\" tab in the sidebar of Nextcloud Deck to manage tags you can add to your cards.\n\n## \ud83d\udc53 Change how you view your boards\n\nTo navigate large boards easily, you can filter your cards by tags, team members, statuses and due dates. Open filter menu via Nextcloud Deck toolbar.\n\nEnable compact display mode in the Deck Board menu via the three dots menu in the toolbar. In the same menu, you can disable and enable cover images.",
"labels": [
"Read more inside"
],
"type": "text",
"order": 0
},
{
"title": "Create your first card!",
"description": "",
"labels": [
"Action needed"
],
"type": "text",
"order": 1
}
]
},
{
"title": "In Progress",
"order": 2,
"cards": [
{
"title": "3. Apply rich formatting and link content",
"description": "## \ud83c\udfa8 Make use of rich formatting in card descriptions\n\nYou can use various instruments to make your content more structured and informative. Try all the instruments yourself - use this checklist!\n\n- [ ] Apply headings of different hierarchy (H1-H6).\n- [ ] Use **bold** *italic* __underline__ and ~~strikethrough~~ text formatting.\n- [ ] Create unordered, ordered and to-do lists.\n- [ ] Highlight code and blockquotes, add various illustrated callouts.\n- [ ] Create and format tables\n- [ ] Add details\n- [ ] Add links, for example to [the Nextcloud website](https:\/\/nextcloud.com\/)\n- [ ] Insert attachments\n- [ ] Add emojis \ud83d\udd76\ufe0f \n\n## \ud83d\udd17 Attach files to cards\n\nYou can upload any files from your machine or pick from your Nextcloud Files, such as documents, presentations, images, video clips and anything else. Add files via \"Attachments\" tab.\n\n## \ud83c\udf04 Illustrate cards with images\n\nAttach images to your cards - they will automatically work as card covers.",
"labels": [
"Read more inside"
],
"type": "text",
"order": 0,
"has_example_attachment": true
}
]
},
{
"title": "Done",
"order": 3,
"cards": [
{
"title": "4. Share, comment and collaborate!",
"description": "## \ud83e\udd1d How to collaborate in your board?\n\nShare your cards and boards with others. In many Nextcloud apps, linked Nextcloud Deck items will appear as rich, interactive widgets. Once you assign someone to a card, they will receive a notification.\n\nEdit cards together, leave notes for your teammates, share task-related files by adding attachments and discuss your tasks using card comments.\n\n### ",
"labels": [
"Read more inside"
],
"type": "text",
"order": 0
}
]
}
]
}

View File

@@ -270,7 +270,7 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
private function applyBoardPermission($share, $permissions, $userId) {
try {
$this->permissionService->checkPermission($this->cardMapper, $share->getSharedWith(), Acl::PERMISSION_EDIT, $userId, true);
$this->permissionService->checkPermission($this->cardMapper, $share->getSharedWith(), Acl::PERMISSION_EDIT, $userId);
} catch (NoPermissionException $e) {
$permissions &= Constants::PERMISSION_ALL - Constants::PERMISSION_UPDATE;
$permissions &= Constants::PERMISSION_ALL - Constants::PERMISSION_CREATE;
@@ -278,7 +278,7 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
}
try {
$this->permissionService->checkPermission($this->cardMapper, $share->getSharedWith(), Acl::PERMISSION_SHARE, $userId, true);
$this->permissionService->checkPermission($this->cardMapper, $share->getSharedWith(), Acl::PERMISSION_SHARE, $userId);
} catch (NoPermissionException $e) {
$permissions &= Constants::PERMISSION_ALL - Constants::PERMISSION_SHARE;
}
@@ -747,8 +747,6 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
$qb->expr()->eq('s.item_type', $qb->createNamedParameter('folder'))
));
$qb->andWhere($qb->expr()->eq('dc.deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
$cursor = $qb->execute();
while ($data = $cursor->fetch()) {
if (!$this->isAccessibleResult($data)) {

763
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"name": "deck",
"description": "",
"version": "1.15.1",
"version": "2.0.0-dev.0",
"authors": [
{
"name": "Julius Härtl",
@@ -31,12 +31,12 @@
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.26.0",
"@babel/runtime": "^7.26.10",
"@nextcloud/auth": "^2.4.0",
"@nextcloud/axios": "^2.5.1",
"@nextcloud/capabilities": "^1.2.0",
"@nextcloud/dialogs": "^6.0.1",
"@nextcloud/event-bus": "^3.3.1",
"@nextcloud/event-bus": "^3.3.2",
"@nextcloud/files": "^3.10.1",
"@nextcloud/initial-state": "^2.2.0",
"@nextcloud/l10n": "^3.1.0",
@@ -46,7 +46,7 @@
"@nextcloud/vue": "^8.22.0",
"blueimp-md5": "^2.19.0",
"chroma-js": "^3.1.2",
"dompurify": "^3.2.3",
"dompurify": "^3.2.4",
"lodash": "^4.17.21",
"markdown-it": "^14.1.0",
"markdown-it-link-attributes": "^4.0.1",
@@ -75,8 +75,8 @@
"devDependencies": {
"@nextcloud/babel-config": "^1.2.0",
"@nextcloud/browserslist-config": "^3.0.1",
"@nextcloud/cypress": "^1.0.0-beta.12",
"@nextcloud/eslint-config": "^8.4.1",
"@nextcloud/cypress": "^1.0.0-beta.13",
"@nextcloud/eslint-config": "^8.4.2",
"@nextcloud/stylelint-config": "^3.0.1",
"@nextcloud/webpack-vue-config": "^6.2.0",
"@relative-ci/agent": "^4.2.14",
@@ -106,4 +106,4 @@
"<rootDir>/node_modules/jest-serializer-vue"
]
}
}
}

View File

@@ -18,7 +18,6 @@
:input-label="t('deck', 'Select a list')"
:options="stacksFromBoard"
:max-height="100"
data-cy="select-stack"
label="title" />
</div>
<template #actions>
@@ -60,15 +59,6 @@ export default {
return !(this.selectedBoard === '' || this.selectedStack === '')
},
},
watch: {
selectedBoard: {
immediate: true,
handler() {
this.selectedStack = ''
this.stacksFromBoard = []
},
},
},
mounted() {
subscribe('deck:card:show-move-dialog', this.openModal)
},

View File

@@ -269,6 +269,8 @@ export default {
this.editTitle = this.board.title
this.editColor = '#' + this.board.color
this.editing = true
this.$nextTick(() => this.$refs.inputField?.focus())
},
async actionClone() {
this.loading = true

View File

@@ -1 +1 @@
71780
80536

View File

@@ -1,7 +1,7 @@
{
"require-dev": {
"phpunit/phpunit": "~9",
"behat/behat": "~3.15.0",
"behat/behat": "~3.18.1",
"guzzlehttp/guzzle": "7.9.2",
"jarnaiz/behat-junit-formatter": "^1.3",
"sabre/dav": "4.7.0",

View File

@@ -437,10 +437,10 @@ class BoardServiceTest extends TestCase {
$assignment = new Assignment();
$assignment->setParticipant('admin');
$this->assignedUsersMapper->expects($this->once())
->method('deleteByParticipantOnBoard')
->with('admin', 123)
->method('findByParticipant')
->with('admin')
->willReturn([$assignment]);
$this->assignedUsersMapper->expects($this->never())
$this->assignedUsersMapper->expects($this->once())
->method('delete')
->with($assignment);
$this->aclMapper->expects($this->once())

View File

@@ -258,17 +258,6 @@ class CardServiceTest extends TestCase {
->method('find')
->willReturn($card, $clonedCard);
$this->cardMapper->expects($this->any())
->method('findBoardId')
->willReturn(1234);
$this->labelMapper->expects($this->any())
->method('find')
->willReturn(Label::fromRow([
'id' => 1,
'boardId' => 1234,
]));
// check if users are assigned
$this->assignmentService->expects($this->once())
->method('assignUser')
@@ -444,17 +433,8 @@ class CardServiceTest extends TestCase {
public function testAssignLabel() {
$card = new Card();
$card->setArchived(false);
$card->setId(123);
$label = new Label();
$label->setBoardId(1);
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
$this->cardMapper->expects($this->once())->method('assignLabel');
$this->cardMapper->expects($this->once())
->method('findBoardId')
->willReturn(1);
$this->labelMapper->expects($this->once())
->method('find')
->willReturn($label);
$this->cardService->assignLabel(123, 999);
}
@@ -470,17 +450,8 @@ class CardServiceTest extends TestCase {
public function testRemoveLabel() {
$card = new Card();
$card->setArchived(false);
$card->setId(123);
$label = new Label();
$label->setBoardId(1);
$this->cardMapper->expects($this->once())->method('find')->willReturn($card);
$this->cardMapper->expects($this->once())->method('removeLabel');
$this->cardMapper->expects($this->once())
->method('findBoardId')
->willReturn(1);
$this->labelMapper->expects($this->once())
->method('find')
->willReturn($label);
$this->cardService->removeLabel(123, 999);
}

View File

@@ -46,6 +46,12 @@ class DefaultBoardServiceTest extends TestCase {
/** @var CardService */
private $cardService;
/** @var LabelService */
private $labelService;
/** @var AttachmentService */
private $attachmentService;
/** @var BoardMapper */
private $boardMapper;
@@ -62,6 +68,8 @@ class DefaultBoardServiceTest extends TestCase {
$this->boardService = $this->createMock(BoardService::class);
$this->stackService = $this->createMock(StackService::class);
$this->cardService = $this->createMock(CardService::class);
$this->labelService = $this->createMock(LabelService::class);
$this->attachmentService = $this->createMock(AttachmentService::class);
$this->config = $this->createMock(IConfig::class);
$this->l10n = $this->createMock(IL10N::class);
$this->userId = 'admin';
@@ -72,7 +80,9 @@ class DefaultBoardServiceTest extends TestCase {
$this->boardService,
$this->stackService,
$this->cardService,
$this->config
$this->config,
$this->labelService,
$this->attachmentService,
);
}
@@ -109,8 +119,8 @@ class DefaultBoardServiceTest extends TestCase {
}
public function testCreateDefaultBoard() {
$title = 'Personal';
$color = '317CCC';
$title = 'Welcome to Nextcloud Deck!';
$color = 'bf678b';
$boardId = 5;
$board = new Board();
@@ -128,34 +138,70 @@ class DefaultBoardServiceTest extends TestCase {
return $text;
});
$stackCustomId = '122';
$stackCustom = $this->assembleTestStack('Custom lists - click to rename!', $stackCustomId, $boardId);
$stackToDoId = '123';
$stackToDo = $this->assembleTestStack('To do', $stackToDoId, $boardId);
$stackToDo = $this->assembleTestStack('To Do', $stackToDoId, $boardId);
$stackDoingId = '124';
$stackDoing = $this->assembleTestStack('Doing', $stackDoingId, $boardId);
$stackDoing = $this->assembleTestStack('In Progress', $stackDoingId, $boardId);
$stackDoneId = '125';
$stackDone = $this->assembleTestStack('Done', $stackDoneId, $boardId);
$this->stackService->expects($this->exactly(3))
->method('create')
->withConsecutive(
[$this->l10n->t('To do'), $boardId, 1],
[$this->l10n->t('Doing'), $boardId, 1],
[$this->l10n->t('Done'), $boardId, 1]
)
->willReturnOnConsecutiveCalls($stackToDo, $stackDoing, $stackDone);
$cardExampleTask3 = $this->assembleTestCard('Example Task 3', $stackToDoId, $this->userId);
$cardExampleTask2 = $this->assembleTestCard('Example Task 2', $stackDoingId, $this->userId);
$cardExampleTask1 = $this->assembleTestCard('Example Task 1', $stackDoneId, $this->userId);
$this->cardService->expects($this->exactly(3))
$this->stackService->expects($this->exactly(4))
->method('create')
->withConsecutive(
['Example Task 3', $stackToDoId, 'text', 0, $this->userId],
['Example Task 2', $stackDoingId, 'text', 0, $this->userId],
['Example Task 1', $stackDoneId, 'text', 0, $this->userId]
[$this->l10n->t('Custom lists - click to rename!'), $boardId, 0],
[$this->l10n->t('To Do'), $boardId, 1],
[$this->l10n->t('In Progress'), $boardId, 2],
[$this->l10n->t('Done'), $boardId, 3]
)
->willReturnonConsecutiveCalls($cardExampleTask3, $cardExampleTask2, $cardExampleTask1);
->willReturnOnConsecutiveCalls($stackCustom, $stackToDo, $stackDoing, $stackDone);
$cardExampleTask1 = $this->assembleTestCard(
'1. Open to learn more about boards and cards',
$stackCustomId,
$this->userId
);
$cardExampleTask2 = $this->assembleTestCard(
'2. Drag cards left and right, up and down',
$stackToDoId,
$this->userId
);
$cardExampleTask3 = $this->assembleTestCard(
'Create your first card!',
$stackToDoId,
$this->userId
);
$cardExampleTask4 = $this->assembleTestCard(
'3. Apply rich formatting and link content',
$stackDoingId,
$this->userId
);
$cardExampleTask5 = $this->assembleTestCard(
'4. Share, comment and collaborate!',
$stackDoneId,
$this->userId
);
$this->cardService->expects($this->exactly(5))
->method('create')
->withConsecutive(
['1. Open to learn more about boards and cards', $stackCustomId, 'text', 0, $this->userId],
['2. Drag cards left and right, up and down', $stackToDoId, 'text', 0, $this->userId],
['Create your first card!', $stackToDoId, 'text', 1, $this->userId],
['3. Apply rich formatting and link content', $stackDoingId, 'text', 0, $this->userId],
['4. Share, comment and collaborate!', $stackDoneId, 'text', 0, $this->userId]
)
->willReturnonConsecutiveCalls(
$cardExampleTask1,
$cardExampleTask2,
$cardExampleTask3,
$cardExampleTask4,
$cardExampleTask5
);
$result = $this->service->createDefaultBoard($title, $this->userId, $color);