Compare commits
159 Commits
stable1.10
...
bugfix/noi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0ae18ed0a2 | ||
|
|
3106ad7cfc | ||
|
|
84e1bd5fbe | ||
|
|
f55d851bff | ||
|
|
40c13a7fa5 | ||
|
|
573d884acf | ||
|
|
7b29f11e1d | ||
|
|
a37c1e173b | ||
|
|
80c45b4dd8 | ||
|
|
72a48d956d | ||
|
|
e272ddaf96 | ||
|
|
b80c3bf30f | ||
|
|
1b5cc98249 | ||
|
|
c4a826b073 | ||
|
|
559579fbd9 | ||
|
|
90d051f8e4 | ||
|
|
4b1e670b4e | ||
|
|
85e09acfc3 | ||
|
|
1a89685d53 | ||
|
|
698ee422ff | ||
|
|
2b19c3353a | ||
|
|
6e99ec8fc5 | ||
|
|
281eb6d2ff | ||
|
|
f4daedd84f | ||
|
|
683ae36b8b | ||
|
|
74b0d2f690 | ||
|
|
dfd8656339 | ||
|
|
7ae66082c4 | ||
|
|
f2ba642207 | ||
|
|
dd23dd6bf3 | ||
|
|
8d324c0669 | ||
|
|
e6363439b6 | ||
|
|
bf66da8313 | ||
|
|
4a4fcca61f | ||
|
|
85a99dd15b | ||
|
|
e21c3da80b | ||
|
|
7379fbad1b | ||
|
|
fc721646c1 | ||
|
|
05823b9119 | ||
|
|
ad770a370a | ||
|
|
bdb97c56df | ||
|
|
ff3592134c | ||
|
|
fdb8f710ca | ||
|
|
425f76de55 | ||
|
|
ec312abd7a | ||
|
|
580ed4c843 | ||
|
|
801076e2ae | ||
|
|
c0c8e4b5fa | ||
|
|
843c31097b | ||
|
|
d85a2e3844 | ||
|
|
bb045e0cee | ||
|
|
ab016b4561 | ||
|
|
df2ab676cd | ||
|
|
deaed6324d | ||
|
|
7e59907485 | ||
|
|
bfaa63363d | ||
|
|
a99993f54c | ||
|
|
aeb2716831 | ||
|
|
064041f4fb | ||
|
|
f9ba318f9e | ||
|
|
a3326c9e10 | ||
|
|
d0ab17ab67 | ||
|
|
dc2153d813 | ||
|
|
26fd2c5945 | ||
|
|
ce199d66a8 | ||
|
|
54258aca68 | ||
|
|
3cb4cd6f21 | ||
|
|
58cc4b5ccb | ||
|
|
e3c275a7cb | ||
|
|
36350fa292 | ||
|
|
82e356ad01 | ||
|
|
f23deebd25 | ||
|
|
6a103b5a76 | ||
|
|
110e1e42e7 | ||
|
|
fa08842aa4 | ||
|
|
66e679bd11 | ||
|
|
bc379bade8 | ||
|
|
db8d83c1c4 | ||
|
|
6a8f3b626b | ||
|
|
54f7cf78e9 | ||
|
|
2581584b6b | ||
|
|
72ac69b075 | ||
|
|
d1a3720f50 | ||
|
|
710d648af7 | ||
|
|
e2d463e7d8 | ||
|
|
91b1f6e9aa | ||
|
|
cfa9c4d1c4 | ||
|
|
4ddbf472c3 | ||
|
|
5298a8d26a | ||
|
|
53f1247939 | ||
|
|
ff16f95b57 | ||
|
|
0419ebc856 | ||
|
|
6fa8480722 | ||
|
|
1da513cecd | ||
|
|
309ec45a98 | ||
|
|
ddfd695376 | ||
|
|
260e87c983 | ||
|
|
460b0d8968 | ||
|
|
b61daa36a0 | ||
|
|
fcbb4ee45e | ||
|
|
536e9350b3 | ||
|
|
9efabe8638 | ||
|
|
4f9c8b3640 | ||
|
|
e9a03d79b6 | ||
|
|
e920676f92 | ||
|
|
63544eb8f4 | ||
|
|
6b5c2a8821 | ||
|
|
41ca96880f | ||
|
|
39bcdfe5d9 | ||
|
|
186082caf6 | ||
|
|
b53d6a3fe5 | ||
|
|
afcccabd22 | ||
|
|
1de3a25157 | ||
|
|
8038e568a3 | ||
|
|
f2e15a3dce | ||
|
|
0985f24f57 | ||
|
|
a7e7daf177 | ||
|
|
adc488b334 | ||
|
|
fead689299 | ||
|
|
1b4391cbd1 | ||
|
|
c0136ca0d0 | ||
|
|
45f9db3641 | ||
|
|
a281e92f34 | ||
|
|
c8458d10ba | ||
|
|
78d4d7ef99 | ||
|
|
1c576245ce | ||
|
|
3eede07064 | ||
|
|
0eb7ecc90e | ||
|
|
050df0577e | ||
|
|
8d395186fd | ||
|
|
2c23a8e154 | ||
|
|
c60d16ab1c | ||
|
|
6dcbf3c56d | ||
|
|
bde86ea0c0 | ||
|
|
dafcd563c2 | ||
|
|
15f303be12 | ||
|
|
2ffc9aa1bb | ||
|
|
dc8112e574 | ||
|
|
31d80cf0a5 | ||
|
|
c8290725bd | ||
|
|
8482a26c60 | ||
|
|
b5026fc4c7 | ||
|
|
acb1cd9576 | ||
|
|
42f38543fd | ||
|
|
7ecca9727e | ||
|
|
0e8416ccbd | ||
|
|
5bfa61ab70 | ||
|
|
bc8d5b2c39 | ||
|
|
bff7663b55 | ||
|
|
c34990bdae | ||
|
|
63bf418060 | ||
|
|
26c031c0ee | ||
|
|
c72d85ffd3 | ||
|
|
01ba03eb0e | ||
|
|
79fd89b3c4 | ||
|
|
0824921b2d | ||
|
|
a9a4aceaac | ||
|
|
d096208f58 | ||
|
|
9f753e4395 |
34
.github/dependabot.yml
vendored
34
.github/dependabot.yml
vendored
@@ -12,6 +12,40 @@ updates:
|
|||||||
reviewers:
|
reviewers:
|
||||||
- juliushaertl
|
- juliushaertl
|
||||||
|
|
||||||
|
- package-ecosystem: npm
|
||||||
|
target-branch: stable27
|
||||||
|
versioning-strategy: lockfile-only
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
day: saturday
|
||||||
|
time: "03:00"
|
||||||
|
timezone: Europe/Paris
|
||||||
|
ignore:
|
||||||
|
- dependency-name: "*"
|
||||||
|
update-types: ["version-update:semver-major"]
|
||||||
|
open-pull-requests-limit: 30
|
||||||
|
labels:
|
||||||
|
- 3. to review
|
||||||
|
- dependencies
|
||||||
|
|
||||||
|
- package-ecosystem: npm
|
||||||
|
target-branch: stable26
|
||||||
|
versioning-strategy: lockfile-only
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: weekly
|
||||||
|
day: saturday
|
||||||
|
time: "03:00"
|
||||||
|
timezone: Europe/Paris
|
||||||
|
ignore:
|
||||||
|
- dependency-name: "*"
|
||||||
|
update-types: ["version-update:semver-major"]
|
||||||
|
open-pull-requests-limit: 30
|
||||||
|
labels:
|
||||||
|
- 3. to review
|
||||||
|
- dependencies
|
||||||
|
|
||||||
- package-ecosystem: npm
|
- package-ecosystem: npm
|
||||||
target-branch: stable25
|
target-branch: stable25
|
||||||
versioning-strategy: lockfile-only
|
versioning-strategy: lockfile-only
|
||||||
|
|||||||
2
.github/workflows/appbuild.yml
vendored
2
.github/workflows/appbuild.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
|||||||
- name: Set up npm7
|
- name: Set up npm7
|
||||||
run: npm i -g npm@7
|
run: npm i -g npm@7
|
||||||
- name: Setup PHP
|
- name: Setup PHP
|
||||||
uses: shivammathur/setup-php@2.25.1
|
uses: shivammathur/setup-php@2.25.4
|
||||||
with:
|
with:
|
||||||
php-version: '7.4'
|
php-version: '7.4'
|
||||||
tools: composer
|
tools: composer
|
||||||
|
|||||||
13
.github/workflows/appstore-build-publish.yml
vendored
13
.github/workflows/appstore-build-publish.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
||||||
with:
|
with:
|
||||||
path: ${{ env.APP_NAME }}
|
path: ${{ env.APP_NAME }}
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ jobs:
|
|||||||
expression: "//info//dependencies//nextcloud/@min-version"
|
expression: "//info//dependencies//nextcloud/@min-version"
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
- name: Read package.json node and npm engines version
|
||||||
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
||||||
id: versions
|
id: versions
|
||||||
# Continue if no package.json
|
# Continue if no package.json
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
@@ -56,7 +56,7 @@ jobs:
|
|||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
# Skip if no package.json
|
# Skip if no package.json
|
||||||
if: ${{ steps.versions.outputs.nodeVersion }}
|
if: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
|
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
@@ -66,7 +66,7 @@ jobs:
|
|||||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
||||||
|
|
||||||
- name: Set up php ${{ env.PHP_VERSION }}
|
- name: Set up php ${{ env.PHP_VERSION }}
|
||||||
uses: shivammathur/setup-php@2.25.1 # v2
|
uses: shivammathur/setup-php@2.25.4 # v2
|
||||||
with:
|
with:
|
||||||
php-version: ${{ env.PHP_VERSION }}
|
php-version: ${{ env.PHP_VERSION }}
|
||||||
coverage: none
|
coverage: none
|
||||||
@@ -126,9 +126,10 @@ jobs:
|
|||||||
unzip latest-$NCVERSION.zip
|
unzip latest-$NCVERSION.zip
|
||||||
|
|
||||||
- name: Checkout server master fallback
|
- name: Checkout server master fallback
|
||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
||||||
if: ${{ steps.server-checkout.outcome != 'success' }}
|
if: ${{ steps.server-checkout.outcome != 'success' }}
|
||||||
with:
|
with:
|
||||||
|
submodules: true
|
||||||
repository: nextcloud/server
|
repository: nextcloud/server
|
||||||
path: nextcloud
|
path: nextcloud
|
||||||
|
|
||||||
@@ -148,7 +149,7 @@ jobs:
|
|||||||
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
|
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Attach tarball to github release
|
- name: Attach tarball to github release
|
||||||
uses: svenstaro/upload-release-action@7319e4733ec7a184d739a6f412c40ffc339b69c7 # v2
|
uses: svenstaro/upload-release-action@2b9d2847a97b04d02ad5c3df2d3a27baa97ce689 # v2
|
||||||
id: attach_to_release
|
id: attach_to_release
|
||||||
with:
|
with:
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
8
.github/workflows/command-rebase.yml
vendored
8
.github/workflows/command-rebase.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Add reaction on start
|
- name: Add reaction on start
|
||||||
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
|
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
repository: ${{ github.event.repository.full_name }}
|
repository: ${{ github.event.repository.full_name }}
|
||||||
@@ -31,18 +31,18 @@ jobs:
|
|||||||
reaction-type: "+1"
|
reaction-type: "+1"
|
||||||
|
|
||||||
- name: Checkout the latest code
|
- name: Checkout the latest code
|
||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
|
||||||
- name: Automatic Rebase
|
- name: Automatic Rebase
|
||||||
uses: cirrus-actions/rebase@6e572f08c244e2f04f9beb85a943eb618218714d # 1.7
|
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
|
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
|
||||||
- name: Add reaction on failure
|
- name: Add reaction on failure
|
||||||
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
|
uses: peter-evans/create-or-update-comment@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2
|
||||||
if: failure()
|
if: failure()
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
|||||||
4
.github/workflows/cypress.yml
vendored
4
.github/workflows/cypress.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
|||||||
# containers: [1, 2, 3]
|
# containers: [1, 2, 3]
|
||||||
php-versions: [ '8.0' ]
|
php-versions: [ '8.0' ]
|
||||||
databases: [ 'sqlite' ]
|
databases: [ 'sqlite' ]
|
||||||
server-versions: [ 'stable27' ]
|
server-versions: [ 'master' ]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
@@ -64,7 +64,7 @@ jobs:
|
|||||||
path: apps/text
|
path: apps/text
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.25.1
|
uses: shivammathur/setup-php@2.25.4
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
|
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
|
||||||
|
|||||||
34
.github/workflows/fixup.yml
vendored
34
.github/workflows/fixup.yml
vendored
@@ -3,31 +3,31 @@
|
|||||||
# https://github.com/nextcloud/.github
|
# https://github.com/nextcloud/.github
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
|
||||||
name: Pull request checks
|
name: Block fixup and squash commits
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [opened, ready_for_review, reopened, synchronize]
|
types: [opened, ready_for_review, reopened, synchronize]
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: fixup-${{ github.head_ref || github.run_id }}
|
group: fixup-${{ github.head_ref || github.run_id }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
commit-message-check:
|
commit-message-check:
|
||||||
if: github.event.pull_request.draft == false
|
if: github.event.pull_request.draft == false
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
name: Block fixup and squash commits
|
name: Block fixup and squash commits
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Run check
|
- name: Run check
|
||||||
uses: xt0rted/block-autosquash-commits-action@79880c36b4811fe549cfffe20233df88876024e7 # v2
|
uses: skjnldsv/block-fixup-merge-action@42d26e1b536ce61e5cf467d65fb76caf4aa85acf # v1
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
4
.github/workflows/integration.yml
vendored
4
.github/workflows/integration.yml
vendored
@@ -28,7 +28,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
php-versions: ['8.1']
|
php-versions: ['8.1']
|
||||||
databases: ['sqlite', 'mysql', 'pgsql']
|
databases: ['sqlite', 'mysql', 'pgsql']
|
||||||
server-versions: ['stable27']
|
server-versions: ['master']
|
||||||
|
|
||||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
||||||
|
|
||||||
@@ -71,7 +71,7 @@ jobs:
|
|||||||
path: apps/${{ env.APP_NAME }}
|
path: apps/${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.25.1
|
uses: shivammathur/setup-php@2.25.4
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
|
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
|
||||||
|
|||||||
8
.github/workflows/lint-eslint.yml
vendored
8
.github/workflows/lint-eslint.yml
vendored
@@ -6,7 +6,7 @@
|
|||||||
# Use lint-eslint together with lint-eslint-when-unrelated to make eslint a required check for GitHub actions
|
# Use lint-eslint together with lint-eslint-when-unrelated to make eslint a required check for GitHub actions
|
||||||
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
|
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
|
||||||
|
|
||||||
name: Lint
|
name: Lint eslint
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
@@ -38,17 +38,17 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
- name: Read package.json node and npm engines version
|
||||||
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
||||||
id: versions
|
id: versions
|
||||||
with:
|
with:
|
||||||
fallbackNode: '^16'
|
fallbackNode: '^16'
|
||||||
fallbackNpm: '^7'
|
fallbackNpm: '^7'
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
|
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
|
|||||||
7
.github/workflows/lint-php-cs.yml
vendored
7
.github/workflows/lint-php-cs.yml
vendored
@@ -3,7 +3,7 @@
|
|||||||
# https://github.com/nextcloud/.github
|
# https://github.com/nextcloud/.github
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
|
||||||
name: Lint
|
name: Lint php-cs
|
||||||
|
|
||||||
on: pull_request
|
on: pull_request
|
||||||
|
|
||||||
@@ -22,13 +22,14 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
||||||
|
|
||||||
- name: Set up php
|
- name: Set up php
|
||||||
uses: shivammathur/setup-php@2.25.1 # v2
|
uses: shivammathur/setup-php@2.25.4 # v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.1
|
php-version: 8.1
|
||||||
coverage: none
|
coverage: none
|
||||||
|
ini-file: development
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
|||||||
7
.github/workflows/lint-php.yml
vendored
7
.github/workflows/lint-php.yml
vendored
@@ -3,7 +3,7 @@
|
|||||||
# https://github.com/nextcloud/.github
|
# https://github.com/nextcloud/.github
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
|
||||||
name: Lint
|
name: Lint php
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
@@ -31,13 +31,14 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.25.1 # v2
|
uses: shivammathur/setup-php@2.25.4 # v2
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
coverage: none
|
coverage: none
|
||||||
|
ini-file: development
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
|||||||
8
.github/workflows/lint-stylelint.yml
vendored
8
.github/workflows/lint-stylelint.yml
vendored
@@ -3,7 +3,7 @@
|
|||||||
# https://github.com/nextcloud/.github
|
# https://github.com/nextcloud/.github
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
|
||||||
name: Lint
|
name: Lint stylelint
|
||||||
|
|
||||||
on: pull_request
|
on: pull_request
|
||||||
|
|
||||||
@@ -22,17 +22,17 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
- name: Read package.json node and npm engines version
|
||||||
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
||||||
id: versions
|
id: versions
|
||||||
with:
|
with:
|
||||||
fallbackNode: '^16'
|
fallbackNode: '^16'
|
||||||
fallbackNpm: '^7'
|
fallbackNpm: '^7'
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
|
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
|
|||||||
64
.github/workflows/nightly.yml
vendored
64
.github/workflows/nightly.yml
vendored
@@ -1,64 +0,0 @@
|
|||||||
name: Package nightly
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- nightly
|
|
||||||
schedule:
|
|
||||||
- cron: '0 1 * * *' # run at 2 AM UTC
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [14.x]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
- name: Set up npm7
|
|
||||||
run: npm i -g npm@7
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: shivammathur/setup-php@2.25.1
|
|
||||||
with:
|
|
||||||
php-version: '7.4'
|
|
||||||
tools: composer
|
|
||||||
- name: install dependencies
|
|
||||||
run: |
|
|
||||||
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.12.2/krankerl_0.12.2_amd64.deb
|
|
||||||
sudo dpkg -i krankerl_0.12.2_amd64.deb
|
|
||||||
- name: package
|
|
||||||
run: |
|
|
||||||
uname -a
|
|
||||||
RUST_BACKTRACE=1 krankerl --version
|
|
||||||
RUST_BACKTRACE=1 krankerl package
|
|
||||||
- name: Set git config
|
|
||||||
run: |
|
|
||||||
git config --local user.email "action@github.com"
|
|
||||||
git config --local user.name "GitHub Action"
|
|
||||||
git tag -f nightly
|
|
||||||
- name: Push tag
|
|
||||||
uses: juliushaertl/github-push-action@main
|
|
||||||
with:
|
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
tags: true
|
|
||||||
force: true
|
|
||||||
- name: Create Release
|
|
||||||
id: create_release
|
|
||||||
uses: juliushaertl/action-release@main
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
tag: nightly
|
|
||||||
files: ./build/artifacts/deck.tar.gz
|
|
||||||
name: Nightly build
|
|
||||||
body: |
|
|
||||||
Nightly release of deck
|
|
||||||
draft: false
|
|
||||||
prerelease: true
|
|
||||||
overwrite: true
|
|
||||||
12
.github/workflows/npm-audit-fix.yml
vendored
12
.github/workflows/npm-audit-fix.yml
vendored
@@ -3,7 +3,7 @@
|
|||||||
# https://github.com/nextcloud/.github
|
# https://github.com/nextcloud/.github
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
|
||||||
name: npm audit fix and compile
|
name: Npm audit fix and compile
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
@@ -18,25 +18,25 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
branches: ["main", "master", "stable26", "stable25", "stable24"]
|
branches: ["main", "master", "stable27", "stable26", "stable25", "stable24"]
|
||||||
|
|
||||||
name: npm-audit-fix-${{ matrix.branches }}
|
name: npm-audit-fix-${{ matrix.branches }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
||||||
with:
|
with:
|
||||||
ref: ${{ matrix.branches }}
|
ref: ${{ matrix.branches }}
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
- name: Read package.json node and npm engines version
|
||||||
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
||||||
id: versions
|
id: versions
|
||||||
with:
|
with:
|
||||||
fallbackNode: '^16'
|
fallbackNode: '^16'
|
||||||
fallbackNpm: '^7'
|
fallbackNpm: '^7'
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
|
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
if: always()
|
if: always()
|
||||||
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v3
|
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v5
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
commit-message: "chore(deps): fix npm audit"
|
commit-message: "chore(deps): fix npm audit"
|
||||||
|
|||||||
6
.github/workflows/phpunit.yml
vendored
6
.github/workflows/phpunit.yml
vendored
@@ -26,9 +26,9 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
php-versions: ['8.0', '8.1']
|
php-versions: ['8.0', '8.1', '8.2']
|
||||||
databases: ['sqlite', 'mysql', 'pgsql']
|
databases: ['sqlite', 'mysql', 'pgsql']
|
||||||
server-versions: ['stable27']
|
server-versions: ['master']
|
||||||
|
|
||||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ jobs:
|
|||||||
path: apps/${{ env.APP_NAME }}
|
path: apps/${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.25.1
|
uses: shivammathur/setup-php@2.25.4
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
tools: phpunit
|
tools: phpunit
|
||||||
|
|||||||
29
.github/workflows/pr-feedback.yml
vendored
Normal file
29
.github/workflows/pr-feedback.yml
vendored
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
name: 'Ask for feedback on PRs'
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '30 1 * * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
pr-feedback:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- name: The get-github-handles-from-website action
|
||||||
|
uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0
|
||||||
|
id: scrape
|
||||||
|
with:
|
||||||
|
website: 'https://nextcloud.com/team/'
|
||||||
|
- uses: marcelklehr/pr-feedback-action@601109aa729eb4c8d6d0ece7567b9d4901db4aef
|
||||||
|
with:
|
||||||
|
feedback-message: |
|
||||||
|
Hello there,
|
||||||
|
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.
|
||||||
|
|
||||||
|
We hope that the reviewing process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR reviewing process.
|
||||||
|
|
||||||
|
Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6
|
||||||
|
|
||||||
|
Thank you for contributing to Nextcloud and we hope to hear from you soon!
|
||||||
|
days-before-feedback: 14
|
||||||
|
start-date: "2023-07-10"
|
||||||
|
exempt-authors: "${{ steps.scrape.outputs.users }}"
|
||||||
|
exempt-bots: true
|
||||||
5
.github/workflows/psalm.yml
vendored
5
.github/workflows/psalm.yml
vendored
@@ -24,13 +24,14 @@ jobs:
|
|||||||
name: Nextcloud
|
name: Nextcloud
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
||||||
|
|
||||||
- name: Set up php
|
- name: Set up php
|
||||||
uses: shivammathur/setup-php@2.25.1 # v2
|
uses: shivammathur/setup-php@2.25.4 # v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.1
|
php-version: 8.1
|
||||||
coverage: none
|
coverage: none
|
||||||
|
ini-file: development
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
|||||||
31
.github/workflows/update-nextcloud-ocp.yml
vendored
31
.github/workflows/update-nextcloud-ocp.yml
vendored
@@ -17,21 +17,22 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
branches: ["master", "stable26", "stable25", "stable24"]
|
branches: ["main", "master", "stable27", "stable26", "stable25"]
|
||||||
|
|
||||||
name: update-nextcloud-ocp-${{ matrix.branches }}
|
name: update-nextcloud-ocp-${{ matrix.branches }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
||||||
with:
|
with:
|
||||||
ref: ${{ matrix.branches }}
|
ref: ${{ matrix.branches }}
|
||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
- name: Set up php8.1
|
- name: Set up php8.1
|
||||||
uses: shivammathur/setup-php@2.25.1 # v2
|
uses: shivammathur/setup-php@2.25.4 # v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.1
|
php-version: 8.1
|
||||||
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
|
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
||||||
|
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
|
||||||
coverage: none
|
coverage: none
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@@ -40,19 +41,33 @@ jobs:
|
|||||||
run: composer install
|
run: composer install
|
||||||
|
|
||||||
- name: Composer update nextcloud/ocp
|
- name: Composer update nextcloud/ocp
|
||||||
|
if: matrix.branches != 'main'
|
||||||
run: composer require --dev nextcloud/ocp:dev-${{ matrix.branches }}
|
run: composer require --dev nextcloud/ocp:dev-${{ matrix.branches }}
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
- name: Reset checkout dirs
|
- name: Composer update nextcloud/ocp
|
||||||
|
if: matrix.branches == 'main'
|
||||||
|
run: composer require --dev nextcloud/ocp:dev-master
|
||||||
|
|
||||||
|
- name: Reset checkout 3rdparty
|
||||||
run: |
|
run: |
|
||||||
git clean -f 3rdparty
|
git clean -f 3rdparty
|
||||||
|
git checkout 3rdparty
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Reset checkout vendor
|
||||||
|
run: |
|
||||||
git clean -f vendor
|
git clean -f vendor
|
||||||
|
git checkout vendor
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
|
- name: Reset checkout vendor-bin
|
||||||
|
run: |
|
||||||
git clean -f vendor-bin
|
git clean -f vendor-bin
|
||||||
git checkout 3rdparty vendor vendor-bin
|
git checkout vendor-bin
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v3
|
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v3
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"
|
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## 1.10.0
|
## 1.10.0-beta.1
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
@@ -9,8 +9,6 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- fix: Properly overwrite z-index of datepicker above modal @juliushaertl [#4664](https://github.com/nextcloud/deck/pull/4664)
|
|
||||||
- Use the color-primary-element* variables @szaimen [#4673](https://github.com/nextcloud/deck/pull/4673)
|
|
||||||
- fix(references): Mute NoPermissionException as it is expected to happen for references @juliushaertl [#4514](https://github.com/nextcloud/deck/pull/4514)
|
- fix(references): Mute NoPermissionException as it is expected to happen for references @juliushaertl [#4514](https://github.com/nextcloud/deck/pull/4514)
|
||||||
- fix(cards): Fix card sizing by limiting too wide style rules @juliushaertl [#4512](https://github.com/nextcloud/deck/pull/4512)
|
- fix(cards): Fix card sizing by limiting too wide style rules @juliushaertl [#4512](https://github.com/nextcloud/deck/pull/4512)
|
||||||
- fix: Adapt NcEmptyContent usages to new slots @juliushaertl [#4561](https://github.com/nextcloud/deck/pull/4561)
|
- fix: Adapt NcEmptyContent usages to new slots @juliushaertl [#4561](https://github.com/nextcloud/deck/pull/4561)
|
||||||
@@ -30,12 +28,7 @@ All notable changes to this project will be documented in this file.
|
|||||||
- Better display of card dates (creation and change dates) @Jerome-Herbinet [#4604](https://github.com/nextcloud/deck/pull/4604)
|
- Better display of card dates (creation and change dates) @Jerome-Herbinet [#4604](https://github.com/nextcloud/deck/pull/4604)
|
||||||
- Refactors lib\Activity\DeckProvider.php to improve code readability. @fsamapoor [#4648](https://github.com/nextcloud/deck/pull/4648)
|
- Refactors lib\Activity\DeckProvider.php to improve code readability. @fsamapoor [#4648](https://github.com/nextcloud/deck/pull/4648)
|
||||||
- Converts 'strpos()' calls to improve code readability. @fsamapoor [#4657](https://github.com/nextcloud/deck/pull/4657)
|
- Converts 'strpos()' calls to improve code readability. @fsamapoor [#4657](https://github.com/nextcloud/deck/pull/4657)
|
||||||
- Dependency updates
|
|
||||||
|
|
||||||
### Other
|
|
||||||
|
|
||||||
- feat: Add devcontainer and update dev docs @juliushaertl [#4683](https://github.com/nextcloud/deck/pull/4683)
|
|
||||||
- chore(CI): Adjust testing matrix for Nextcloud 27 on stable27 @nickvergessen [#4691](https://github.com/nextcloud/deck/pull/4691)
|
|
||||||
|
|
||||||
## 1.9.0-beta.1
|
## 1.9.0-beta.1
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ Deck is a kanban style organization tool aimed at personal planning and project
|
|||||||
- [trello-to-deck](https://github.com/maxammann/trello-to-deck) - Migrates cards from Trello
|
- [trello-to-deck](https://github.com/maxammann/trello-to-deck) - Migrates cards from Trello
|
||||||
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
|
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
|
||||||
- [A-deck](https://github.com/leoossa/A-deck) - Chrome Extension that allows to create new card in selected stack based on current tab
|
- [A-deck](https://github.com/leoossa/A-deck) - Chrome Extension that allows to create new card in selected stack based on current tab
|
||||||
|
- [QOwnNotes](https://github.com/pbek/QOwnNotes) - Quickly creates cards and links to them in Markdown notes
|
||||||
|
|
||||||
## Installation/Update
|
## Installation/Update
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
- 🚀 Get your project organized
|
- 🚀 Get your project organized
|
||||||
|
|
||||||
</description>
|
</description>
|
||||||
<version>1.10.0</version>
|
<version>1.11.0-dev</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author>Julius Härtl</author>
|
<author>Julius Härtl</author>
|
||||||
<documentation>
|
<documentation>
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
<database min-version="9.4">pgsql</database>
|
<database min-version="9.4">pgsql</database>
|
||||||
<database>sqlite</database>
|
<database>sqlite</database>
|
||||||
<database min-version="8.0">mysql</database>
|
<database min-version="8.0">mysql</database>
|
||||||
<nextcloud min-version="27" max-version="27"/>
|
<nextcloud min-version="28" max-version="28"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<background-jobs>
|
<background-jobs>
|
||||||
<job>OCA\Deck\Cron\DeleteCron</job>
|
<job>OCA\Deck\Cron\DeleteCron</job>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
"symfony/event-dispatcher": "^4.0",
|
"symfony/event-dispatcher": "^4.0",
|
||||||
"vimeo/psalm": "^5.4",
|
"vimeo/psalm": "^5.4",
|
||||||
"php-parallel-lint/php-parallel-lint": "^1.2",
|
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||||
"nextcloud/ocp": "dev-stable27"
|
"nextcloud/ocp": "dev-master"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"optimize-autoloader": true,
|
"optimize-autoloader": true,
|
||||||
|
|||||||
878
composer.lock
generated
878
composer.lock
generated
File diff suppressed because it is too large
Load Diff
22
l10n/ast.js
22
l10n/ast.js
@@ -1,22 +0,0 @@
|
|||||||
OC.L10N.register(
|
|
||||||
"deck",
|
|
||||||
{
|
|
||||||
"Load more" : "Cargar más",
|
|
||||||
"The file was uploaded" : "Xubióse'l ficheru",
|
|
||||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El ficheru xubíu supera la direutiva «upload_max_filesize» del ficheru php.ini",
|
|
||||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu supera la direutiva «MAX_FILE_SIZE» que s'especificó nel formulariu HTML",
|
|
||||||
"No file was uploaded" : "Nun se xubió nengún ficheru",
|
|
||||||
"Details" : "Detalles",
|
|
||||||
"Sharing" : "Comparticiñon",
|
|
||||||
"Tags" : "Etiquetes",
|
|
||||||
"Delete" : "Desaniciar",
|
|
||||||
"Members" : "Miembros",
|
|
||||||
"Download" : "Baxar",
|
|
||||||
"Today" : "Güei",
|
|
||||||
"Tomorrow" : "Mañana",
|
|
||||||
"Description" : "Descripción",
|
|
||||||
"(Saving…)" : "(Guardando…)",
|
|
||||||
"All cards" : "Toles tarxetes",
|
|
||||||
"An error occurred" : "Prodúxose un error"
|
|
||||||
},
|
|
||||||
"nplurals=2; plural=(n != 1);");
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{ "translations": {
|
|
||||||
"Load more" : "Cargar más",
|
|
||||||
"The file was uploaded" : "Xubióse'l ficheru",
|
|
||||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El ficheru xubíu supera la direutiva «upload_max_filesize» del ficheru php.ini",
|
|
||||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El ficheru xubíu supera la direutiva «MAX_FILE_SIZE» que s'especificó nel formulariu HTML",
|
|
||||||
"No file was uploaded" : "Nun se xubió nengún ficheru",
|
|
||||||
"Details" : "Detalles",
|
|
||||||
"Sharing" : "Comparticiñon",
|
|
||||||
"Tags" : "Etiquetes",
|
|
||||||
"Delete" : "Desaniciar",
|
|
||||||
"Members" : "Miembros",
|
|
||||||
"Download" : "Baxar",
|
|
||||||
"Today" : "Güei",
|
|
||||||
"Tomorrow" : "Mañana",
|
|
||||||
"Description" : "Descripción",
|
|
||||||
"(Saving…)" : "(Guardando…)",
|
|
||||||
"All cards" : "Toles tarxetes",
|
|
||||||
"An error occurred" : "Prodúxose un error"
|
|
||||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
|
||||||
}
|
|
||||||
258
l10n/es_EC.js
258
l10n/es_EC.js
@@ -1,102 +1,16 @@
|
|||||||
OC.L10N.register(
|
OC.L10N.register(
|
||||||
"deck",
|
"deck",
|
||||||
{
|
{
|
||||||
"You have created a new board {board}" : "Has creado un nuevo tablero {board}",
|
|
||||||
"{user} has created a new board {board}" : "{user} ha creado un nuevo tablero {board}",
|
|
||||||
"You have deleted the board {board}" : "Has eliminado el tablero {board}",
|
|
||||||
"{user} has deleted the board {board}" : "{user} ha eliminado el tablero {board}",
|
|
||||||
"You have restored the board {board}" : "Has restaurado el tablero {board}",
|
|
||||||
"{user} has restored the board {board}" : "{user} ha restaurado el tablero {board}",
|
|
||||||
"You have shared the board {board} with {acl}" : "Has compartido el tablero {board} con {acl}",
|
|
||||||
"{user} has shared the board {board} with {acl}" : "{user} ha compartido el tablero {board} con {acl}",
|
|
||||||
"You have removed {acl} from the board {board}" : "Has eliminado {acl} del tablero {board}",
|
|
||||||
"{user} has removed {acl} from the board {board}" : "{user} ha eliminado {acl} del tablero {board}",
|
|
||||||
"You have renamed the board {before} to {board}" : "Has cambiado el nombre del tablero {before} a {board}",
|
|
||||||
"{user} has renamed the board {before} to {board}" : "{user} ha cambiado el nombre del tablero {before} a {board}",
|
|
||||||
"You have archived the board {board}" : "Has archivado el tablero {board}",
|
|
||||||
"{user} has archived the board {before}" : "{user} ha archivado el tablero {before}",
|
|
||||||
"You have unarchived the board {board}" : "Has desarchivado el tablero {board}",
|
|
||||||
"{user} has unarchived the board {before}" : "{user} ha desarchivado el tablero {before}",
|
|
||||||
"You have created a new list {stack} on board {board}" : "Has creado una nueva lista {stack} en el tablero {board}",
|
|
||||||
"{user} has created a new list {stack} on board {board}" : "{user} ha creado una nueva lista {stack} en el tablero {board}",
|
|
||||||
"You have renamed list {before} to {stack} on board {board}" : "Has cambiado el nombre de la lista {before} a {stack} en el tablero {board}",
|
|
||||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} ha cambiado el nombre de la lista {before} a {stack} en el tablero {board}",
|
|
||||||
"You have deleted list {stack} on board {board}" : "Has eliminado la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has deleted list {stack} on board {board}" : "{user} ha eliminado la lista {stack} en el tablero {board}",
|
|
||||||
"You have created card {card} in list {stack} on board {board}" : "Has creado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} ha creado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have deleted card {card} in list {stack} on board {board}" : "Has eliminado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} ha eliminado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have renamed the card {before} to {card}" : "Has cambiado el nombre de la tarjeta {before} a {card}",
|
|
||||||
"{user} has renamed the card {before} to {card}" : "{user} ha cambiado el nombre de la tarjeta {before} a {card}",
|
|
||||||
"You have added a description to card {card} in list {stack} on board {board}" : "Has añadido una descripción a la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} ha añadido una descripción a la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Has actualizado la descripción de la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} ha actualizado la descripción de la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have archived card {card} in list {stack} on board {board}" : "Has archivado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} ha archivado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Has desarchivado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} ha desarchivado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have removed the due date of card {card}" : "Has eliminado la fecha de vencimiento de la tarjeta {card}",
|
|
||||||
"{user} has removed the due date of card {card}" : "{user} ha eliminado la fecha de vencimiento de la tarjeta {card}",
|
|
||||||
"You have set the due date of card {card} to {after}" : "Has establecido la fecha de vencimiento de la tarjeta {card} a {after}",
|
|
||||||
"{user} has set the due date of card {card} to {after}" : "{user} ha establecido la fecha de vencimiento de la tarjeta {card} a {after}",
|
|
||||||
"You have updated the due date of card {card} to {after}" : "Has actualizado la fecha de vencimiento de la tarjeta {card} a {after}",
|
|
||||||
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualizado la fecha de vencimiento de la tarjeta {card} a {after}",
|
|
||||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Has añadido la etiqueta {label} a la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} ha añadido la etiqueta {label} a la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Has eliminado la etiqueta {label} de la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} ha eliminado la etiqueta {label} de la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Has asignado a {assigneduser} la tarjeta {card} en el tablero {board}",
|
|
||||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} ha asignado a {assigneduser} la tarjeta {card} en el tablero {board}",
|
|
||||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Has quitado la asignación a {assigneduser} de la tarjeta {card} en el tablero {board}",
|
|
||||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} ha quitado la asignación a {assigneduser} de la tarjeta {card} en el tablero {board}",
|
|
||||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Has movido la tarjeta {card} de la lista {stackBefore} a {stack}",
|
|
||||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} ha movido la tarjeta {card} de la lista {stackBefore} a {stack}",
|
|
||||||
"You have added the attachment {attachment} to card {card}" : "Has añadido el archivo {attachment} a la tarjeta {card}",
|
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} ha añadido el archivo {attachment} a la tarjeta {card}",
|
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Has actualizado el archivo {attachment} en la tarjeta {card}",
|
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} ha actualizado el archivo {attachment} en la tarjeta {card}",
|
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Has eliminado el archivo {attachment} de la tarjeta {card}",
|
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} ha eliminado el archivo {attachment} de la tarjeta {card}",
|
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Has restaurado el archivo {attachment} a la tarjeta {card}",
|
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} ha restaurado el archivo {attachment} a la tarjeta {card}",
|
|
||||||
"You have commented on card {card}" : "Has comentado en la tarjeta {card}",
|
|
||||||
"{user} has commented on card {card}" : "{user} ha comentado en la tarjeta {card}",
|
|
||||||
"A <strong>card description</strong> inside the Deck app has been changed" : "Se ha cambiado una <strong>descripción de la tarjeta</strong> en la aplicación Deck",
|
|
||||||
"Deck" : "Deck",
|
"Deck" : "Deck",
|
||||||
"Changes in the <strong>Deck app</strong>" : "Cambios en la aplicación <strong>Deck</strong>",
|
|
||||||
"A <strong>comment</strong> was created on a card" : "Se ha creado un <strong>comentario</strong> en una tarjeta",
|
|
||||||
"Upcoming cards" : "Tarjetas próximas",
|
|
||||||
"Load more" : "Cargar más",
|
|
||||||
"Personal" : "Personal",
|
"Personal" : "Personal",
|
||||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "La tarjeta \"%s\" en \"%s\" te ha sido asignada por %s.",
|
|
||||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} te ha asignado la tarjeta {deck-card} en {deck-board}.",
|
|
||||||
"The card \"%s\" on \"%s\" has reached its due date." : "La tarjeta \"%s\" en \"%s\" ha alacanzado su fecha de entrega",
|
"The card \"%s\" on \"%s\" has reached its due date." : "La tarjeta \"%s\" en \"%s\" ha alacanzado su fecha de entrega",
|
||||||
"The card {deck-card} on {deck-board} has reached its due date." : "La tarjeta {deck-card} en {deck-board} ha alcanzado su fecha de vencimiento.",
|
|
||||||
"%s has mentioned you in a comment on \"%s\"." : "%s te ha mencionado en un comentario en \"%s\".",
|
|
||||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} te ha mencionado en un comentario en {deck-card}.",
|
|
||||||
"The board \"%s\" has been shared with you by %s." : "El tablero \"%s\" ha sido compartido contigo por %s.",
|
"The board \"%s\" has been shared with you by %s." : "El tablero \"%s\" ha sido compartido contigo por %s.",
|
||||||
"{user} has shared {deck-board} with you." : "{user} ha compartido contigo {deck-board}.",
|
|
||||||
"Deck board" : "Tablero de Deck",
|
|
||||||
"Owned by %1$s" : "Perteneciente a %1$s",
|
|
||||||
"Deck boards, cards and comments" : "Tableros de Deck, tarjetas y comentarios",
|
|
||||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, en %2$s/%3$s, perteneciente a %4$s",
|
|
||||||
"Card comments" : "Comentarios de tarjetas",
|
|
||||||
"%s on %s" : "%s en %s",
|
"%s on %s" : "%s en %s",
|
||||||
"Deck boards and cards" : "Tableros y tarjetas de Deck",
|
|
||||||
"No data was provided to create an attachment." : "No se proporcionaron datos para crear un archivo adjunto.",
|
|
||||||
"Finished" : "Terminado",
|
"Finished" : "Terminado",
|
||||||
"To review" : "Para revisar",
|
"To review" : "Para revisar",
|
||||||
"Action needed" : "Acción requerida",
|
"Action needed" : "Acción requerida",
|
||||||
"Later" : "Después",
|
"Later" : "Después",
|
||||||
"copy" : "copia",
|
|
||||||
"To do" : "Por hacer",
|
|
||||||
"Doing" : "Haciendo",
|
|
||||||
"Done" : "Terminado",
|
"Done" : "Terminado",
|
||||||
"Example Task 3" : "Tarea de ejemplo 3",
|
|
||||||
"Example Task 2" : "Tarea de ejemplo 2",
|
|
||||||
"Example Task 1" : "Tarea de ejemplo 1",
|
|
||||||
"The file was uploaded" : "El archivo fue cargado",
|
"The file was uploaded" : "El archivo fue cargado",
|
||||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
|
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
|
||||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
|
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
|
||||||
@@ -105,217 +19,47 @@ OC.L10N.register(
|
|||||||
"Missing a temporary folder" : "Falta una carpeta temporal",
|
"Missing a temporary folder" : "Falta una carpeta temporal",
|
||||||
"Could not write file to disk" : "No fue posible escribir a disco",
|
"Could not write file to disk" : "No fue posible escribir a disco",
|
||||||
"A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
|
"A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
|
||||||
"No file uploaded or file size exceeds maximum of %s" : "No se ha subido ningún archivo o el tamaño del archivo supera el máximo de %s",
|
|
||||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario tiene más de %s caracteres.\n Añadido como un archivo adjunto a la tarjeta con el nombre %s.\n Accesible en la URL: %s.",
|
|
||||||
"Card not found" : "No se encontró la tarjeta",
|
|
||||||
"Path is already shared with this card" : "La ruta ya está compartida con esta tarjeta",
|
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
|
||||||
"Personal planning and team project organization" : "Planificación personal y organización de proyectos en equipo",
|
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck es una herramienta de organización estilo Kanban destinada a la planificación personal y la organización de proyectos en equipo integrada con Nextcloud.\n \n \n - 📥 Añade tus tareas a tarjetas y ordénalas\n - 📄 Toma notas adicionales en Markdown\n - 🔖 Asigna etiquetas para una mejor organización\n - 👥 Comparte con tu equipo, amigos o familia\n - 📎 Adjunta archivos e incrustarlos en tu descripción en Markdown\n - 💬 Discute con tu equipo usando comentarios\n - ⚡ Sigue los cambios en el flujo de actividad\n - 🚀 Organiza tu proyecto",
|
|
||||||
"Add board" : "Agregar tablero",
|
|
||||||
"Select the board to link to a project" : "Selecciona el tablero para vincularlo a un proyecto",
|
|
||||||
"Search by board title" : "Buscar por título del tablero",
|
|
||||||
"Select board" : "Seleccionar tablero",
|
|
||||||
"Create a new card" : "Crear una nueva tarjeta",
|
|
||||||
"Select a board" : "Seleccionar un tablero",
|
|
||||||
"Select a list" : "Seleccionar una lista",
|
|
||||||
"Card title" : "Título de la tarjeta",
|
|
||||||
"Cancel" : "Cancelar",
|
"Cancel" : "Cancelar",
|
||||||
"Creating the new card …" : "Creando la nueva tarjeta …",
|
|
||||||
"Card \"{card}\" was added to \"{board}\"" : "La tarjeta \"{card}\" se ha añadido a \"{board}\"",
|
|
||||||
"Open card" : "Abrir tarjeta",
|
|
||||||
"Close" : "Cerrar",
|
"Close" : "Cerrar",
|
||||||
"Create card" : "Crear tarjeta",
|
|
||||||
"Select a card" : "Seleccionar una tarjeta",
|
|
||||||
"Select the card to link to a project" : "Selecciona la tarjeta para vincularla a un proyecto",
|
|
||||||
"Link to card" : "Vincular con tarjeta",
|
|
||||||
"File already exists" : "El archivo ya existe",
|
"File already exists" : "El archivo ya existe",
|
||||||
"A file with the name {filename} already exists." : "Ya existe un archivo con el nombre {filename}.",
|
|
||||||
"Do you want to overwrite it?" : "¿Deseas sobre escribirlo?",
|
"Do you want to overwrite it?" : "¿Deseas sobre escribirlo?",
|
||||||
"Overwrite file" : "Sobrescribir archivo",
|
|
||||||
"Keep existing file" : "Mantener el archivo existente",
|
|
||||||
"This board is read only" : "Este tablero es de solo lectura",
|
|
||||||
"Drop your files to upload" : "Suelta tus archivos para subirlos",
|
|
||||||
"Add card" : "Agregar tarjeta",
|
"Add card" : "Agregar tarjeta",
|
||||||
"Archived cards" : "Tarjetas archivadas",
|
|
||||||
"Add list" : "Agregar lista",
|
|
||||||
"List name" : "Nombre de la lista",
|
|
||||||
"Active filters" : "Filtros activos",
|
|
||||||
"Apply filter" : "Aplicar filtro",
|
|
||||||
"Filter by tag" : "Filtrar por etiqueta",
|
|
||||||
"Filter by assigned user" : "Filtrar por usuario asignado",
|
|
||||||
"Unassigned" : "No asignado",
|
|
||||||
"Filter by due date" : "Filtrar por fecha de vencimiento",
|
|
||||||
"Overdue" : "Atrasado",
|
|
||||||
"Next 24 hours" : "Próximas 24 horas",
|
|
||||||
"Next 7 days" : "Próximos 7 días",
|
|
||||||
"Next 30 days" : "Próximos 30 días",
|
|
||||||
"No due date" : "Sin fecha de vencimiento",
|
|
||||||
"Clear filter" : "Borrar filtro",
|
|
||||||
"Hide archived cards" : "Ocultar tarjetas archivadas",
|
"Hide archived cards" : "Ocultar tarjetas archivadas",
|
||||||
"Show archived cards" : "Mostrar tarjetas archivadas",
|
"Show archived cards" : "Mostrar tarjetas archivadas",
|
||||||
"Toggle compact mode" : "Activar modo compacto",
|
|
||||||
"Open details" : "Abrir detalles.",
|
|
||||||
"Details" : "Detalles",
|
"Details" : "Detalles",
|
||||||
"Currently present people" : "Personas actualmente presentes",
|
|
||||||
"Loading board" : "Cargando tablero",
|
|
||||||
"No lists available" : "No hay listas disponibles",
|
|
||||||
"Create a new list to add cards to this board" : "Crea una nueva lista para añadir tarjetas a este tablero",
|
|
||||||
"Board not found" : "No se encontró el tablero",
|
|
||||||
"Sharing" : "Compartiendo",
|
"Sharing" : "Compartiendo",
|
||||||
"Tags" : "Etiquetas",
|
"Tags" : "Etiquetas",
|
||||||
"Deleted items" : "Elementos eliminados",
|
|
||||||
"Timeline" : "Línea de tiempo",
|
|
||||||
"Deleted lists" : "Listas eliminadas",
|
|
||||||
"Undo" : "Deshacer",
|
"Undo" : "Deshacer",
|
||||||
"Deleted cards" : "Tarjetas eliminadas",
|
|
||||||
"Share board with a user, group or circle …" : "Compartir tablero con un usuario, grupo o círculo …",
|
|
||||||
"Searching for users, groups and circles …" : "Buscando usuarios, grupos y círculos …",
|
|
||||||
"No participants found" : "No se encontraron participantes",
|
|
||||||
"Board owner" : "Propietario del tablero",
|
|
||||||
"(Group)" : "(Grupo)",
|
|
||||||
"(Circle)" : "(Círculo)",
|
|
||||||
"Can edit" : "Puede editar",
|
"Can edit" : "Puede editar",
|
||||||
"Can share" : "Puede compartir",
|
"Can share" : "Puede compartir",
|
||||||
"Can manage" : "Puede gestionar",
|
|
||||||
"Owner" : "Dueño",
|
"Owner" : "Dueño",
|
||||||
"Delete" : "Borrar",
|
"Delete" : "Borrar",
|
||||||
"Failed to create share with {displayName}" : "Error al crear el uso compartido con {displayName}",
|
|
||||||
"Are you sure you want to transfer the board {title} to {user}?" : "¿Estás seguro de que quieres transferir el tablero {title} a {user}?",
|
|
||||||
"Transfer the board." : "Transferir el tablero.",
|
|
||||||
"Transfer" : "Transferencia",
|
|
||||||
"The board has been transferred to {user}" : "El tablero se ha transferido a {user}",
|
|
||||||
"Failed to transfer the board to {user}" : "Error al transferir el tablero a {user}",
|
|
||||||
"Edit list title" : "Editar título de la lista",
|
|
||||||
"Archive all cards" : "Archivar todas las tarjetas",
|
|
||||||
"Unarchive all cards" : "Desarchivar todas las tarjetas",
|
|
||||||
"Delete list" : "Eliminar lista",
|
|
||||||
"Archive all cards in this list" : "Archivar todas las tarjetas en esta lista",
|
|
||||||
"Unarchive all cards in this list" : "Desarchivar todas las tarjetas en esta lista",
|
|
||||||
"Add a new card" : "Añadir una nueva tarjeta",
|
|
||||||
"Card name" : "Nombre de la tarjeta",
|
|
||||||
"List deleted" : "Lista eliminada",
|
|
||||||
"Edit" : "Editar",
|
"Edit" : "Editar",
|
||||||
"Add a new tag" : "Añadir una nueva etiqueta",
|
|
||||||
"title and color value must be provided" : "Debe proporcionarse el título y el valor del color",
|
|
||||||
"Board name" : "Nombre del tablero",
|
|
||||||
"Members" : "Miembros",
|
"Members" : "Miembros",
|
||||||
"Upload new files" : "Subir nuevos archivos",
|
|
||||||
"Share from Files" : "Compartir desde Archivos",
|
|
||||||
"Pending share" : "Uso compartido pendiente",
|
|
||||||
"Add this attachment" : "Añadir este archivo adjunto",
|
|
||||||
"Show in Files" : "Mostrar en Archivos",
|
|
||||||
"Download" : "Descargar",
|
"Download" : "Descargar",
|
||||||
"Remove attachment" : "Eliminar archivo adjunto",
|
|
||||||
"Delete Attachment" : "Eliminar adjunto",
|
|
||||||
"Restore Attachment" : "Restaurar adjunto",
|
|
||||||
"File to share" : "Archivo para compartir",
|
|
||||||
"Invalid path selected" : "Ruta seleccionada no válida.",
|
|
||||||
"Open in sidebar view" : "Abrir en vista de barra lateral",
|
|
||||||
"Open in bigger view" : "Abrir en vista más grande",
|
|
||||||
"Attachments" : "Adjuntos",
|
|
||||||
"Comments" : "Comentarios",
|
"Comments" : "Comentarios",
|
||||||
"Modified" : "Modificado",
|
"Modified" : "Modificado",
|
||||||
"Created" : "Creado",
|
"Created" : "Creado",
|
||||||
"The title cannot be empty." : "El título no puede estar vacío.",
|
|
||||||
"No comments yet. Begin the discussion!" : "Aún no hay comentarios. ¡Inicia la discusión!",
|
|
||||||
"Failed to load comments" : "Error al cargar los comentarios",
|
|
||||||
"Assign a tag to this card…" : "Asignar una etiqueta a esta tarjeta…",
|
|
||||||
"Assign to users" : "Asignar a usuarios",
|
|
||||||
"Assign to users/groups/circles" : "Asignar a usuarios/grupos/círculos",
|
|
||||||
"Assign a user to this card…" : "Asignar un usuario a esta tarjeta…",
|
|
||||||
"Due date" : "Fecha de vencimiento",
|
"Due date" : "Fecha de vencimiento",
|
||||||
"Set a due date" : "Establecer una fecha de vencimiento",
|
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
"Select Date" : "Seleccionar fecha",
|
|
||||||
"Today" : "Hoy",
|
"Today" : "Hoy",
|
||||||
"Tomorrow" : "Mañana",
|
"Tomorrow" : "Mañana",
|
||||||
"Next week" : "Semana siguiente",
|
|
||||||
"Next month" : "Mes siguiente",
|
|
||||||
"Save" : "Guardar",
|
"Save" : "Guardar",
|
||||||
"The comment cannot be empty." : "El comentario no puede estar vacío.",
|
|
||||||
"The comment cannot be longer than 1000 characters." : "El comentario no puede tener más de 1000 caracteres.",
|
|
||||||
"In reply to" : "En respuesta a",
|
|
||||||
"Cancel reply" : "Cancelar respuesta",
|
|
||||||
"Reply" : "Responder",
|
"Reply" : "Responder",
|
||||||
"Update" : "Actualizar",
|
"Update" : "Actualizar",
|
||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"(Unsaved)" : "(No guardado)",
|
|
||||||
"(Saving…)" : "(Guardando…)",
|
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Edit description" : "Editar descripción",
|
|
||||||
"View description" : "Ver descripción",
|
|
||||||
"Add Attachment" : "Añadir adjunto",
|
|
||||||
"Write a description …" : "Escribir una descripción …",
|
|
||||||
"Choose attachment" : "Elegir adjunto",
|
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"Todo items" : "Elementos pendientes",
|
|
||||||
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
|
|
||||||
"Edit card title" : "Editar título de la tarjeta",
|
|
||||||
"Assign to me" : "Asignarme la tarjeta",
|
|
||||||
"Unassign myself" : "Desasignarme la tarjeta",
|
|
||||||
"Move card" : "Mover tarjeta",
|
|
||||||
"Card details" : "Detalles de la tarjeta",
|
|
||||||
"Unarchive card" : "Desarchivar tarjeta",
|
|
||||||
"Archive card" : "Archivar tarjeta",
|
|
||||||
"Delete card" : "Eliminar tarjeta",
|
|
||||||
"Move card to another board" : "Mover tarjeta a otro tablero",
|
|
||||||
"List is empty" : "La lista está vacía",
|
|
||||||
"Card deleted" : "Tarjeta eliminada",
|
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"All boards" : "Todos los tableros",
|
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
"Shared with you" : "Compartido con usted",
|
"Shared with you" : "Compartido con usted",
|
||||||
"Deck settings" : "Configuración de Deck",
|
|
||||||
"Use bigger card view" : "Usar vista de tarjeta más grande",
|
|
||||||
"Show card ID badge" : "Mostrar identificación de la tarjeta",
|
|
||||||
"Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
|
|
||||||
"Limit deck usage of groups" : "Limitar uso de Deck a grupos",
|
|
||||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitar Deck bloqueará a los usuarios que no formen parte de esos grupos para que no puedan crear sus propios tableros. Los usuarios aún podrán trabajar en tableros que se hayan compartido con ellos.",
|
|
||||||
"Board details" : "Detalles del tablero",
|
"Board details" : "Detalles del tablero",
|
||||||
"Edit board" : "Editar el tablero",
|
"Edit board" : "Editar el tablero",
|
||||||
"Clone board" : "Clonar tablero",
|
|
||||||
"Unarchive board" : "Desarchivar tablero",
|
"Unarchive board" : "Desarchivar tablero",
|
||||||
"Archive board" : "Archivar tablero",
|
"Archive board" : "Archivar tablero",
|
||||||
"Export board" : "Exportar tablero",
|
|
||||||
"Turn on due date reminders" : "Activar recordatorios de fecha de vencimiento",
|
|
||||||
"Turn off due date reminders" : "Desactivar recordatorios de fecha de vencimiento",
|
|
||||||
"Due date reminders" : "Recordatorios de fecha de vencimiento",
|
|
||||||
"All cards" : "Todas las tarjetas",
|
|
||||||
"Assigned cards" : "Tarjetas asignadas",
|
|
||||||
"No notifications" : "No hay notificaciones",
|
"No notifications" : "No hay notificaciones",
|
||||||
"Delete board" : "Borrar tableros",
|
"Delete board" : "Borrar tableros",
|
||||||
"Board {0} deleted" : "Tablero {0} eliminado",
|
"Share" : "Compartir"
|
||||||
"Only assigned cards" : "Sólo tarjetas asignadas",
|
|
||||||
"No reminder" : "Sin recordatorio",
|
|
||||||
"An error occurred" : "Se produjo un error",
|
|
||||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "¿Estás seguro de que quieres eliminar el tablero {title}? Esto eliminará todos los datos de este tablero, incluidas las tarjetas archivadas.",
|
|
||||||
"Delete the board?" : "¿Eliminar el tablero?",
|
|
||||||
"Loading filtered view" : "Cargando vista filtrada",
|
|
||||||
"No due" : "Sin vencimiento",
|
|
||||||
"Search for {searchQuery} in all boards" : "Buscar {searchQuery} en todos los tableros",
|
|
||||||
"No results found" : "No se encontraron resultados",
|
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "Tablero de Deck {name}\n * Última modificación el {lastMod}",
|
|
||||||
"{stack} in {board}" : "{stack} en {board}",
|
|
||||||
"Click to expand description" : "Haz clic para expandir la descripción",
|
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado el {created}\n * Última modificación el {lastMod}\n * {nbAttachments} adjuntos\n * {nbComments} comentarios",
|
|
||||||
"{nbCards} cards" : "{nbCards} tarjetas",
|
|
||||||
"Click to expand comment" : "Haz clic para expandir el comentario",
|
|
||||||
"No upcoming cards" : "No hay tarjetas próximas",
|
|
||||||
"upcoming cards" : "tarjetas próximas",
|
|
||||||
"New card" : "Nueva tarjeta",
|
|
||||||
"Due on {date}" : "Vence el {date}",
|
|
||||||
"Link to a board" : "Vincular a un tablero",
|
|
||||||
"Link to a card" : "Vincular a una tarjeta",
|
|
||||||
"Create a card" : "Crear una tarjeta",
|
|
||||||
"Message from {author} in {conversationName}" : "Mensaje de {author} en {conversationName}",
|
|
||||||
"Something went wrong" : "Algo salió mal",
|
|
||||||
"Failed to upload {name}" : "Error al subir {name}",
|
|
||||||
"Maximum file size of {size} exceeded" : "Tamaño máximo de archivo de {size} excedido",
|
|
||||||
"Error creating the share" : "Error al crear la compartición",
|
|
||||||
"Share with a Deck card" : "Compartir con una tarjeta de Deck",
|
|
||||||
"Share {file} with a Deck card" : "Compartir {file} con una tarjeta de Deck",
|
|
||||||
"Share" : "Compartir",
|
|
||||||
"Add a new list" : "Añadir una nueva lista"
|
|
||||||
},
|
},
|
||||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
||||||
|
|||||||
258
l10n/es_EC.json
258
l10n/es_EC.json
@@ -1,100 +1,14 @@
|
|||||||
{ "translations": {
|
{ "translations": {
|
||||||
"You have created a new board {board}" : "Has creado un nuevo tablero {board}",
|
|
||||||
"{user} has created a new board {board}" : "{user} ha creado un nuevo tablero {board}",
|
|
||||||
"You have deleted the board {board}" : "Has eliminado el tablero {board}",
|
|
||||||
"{user} has deleted the board {board}" : "{user} ha eliminado el tablero {board}",
|
|
||||||
"You have restored the board {board}" : "Has restaurado el tablero {board}",
|
|
||||||
"{user} has restored the board {board}" : "{user} ha restaurado el tablero {board}",
|
|
||||||
"You have shared the board {board} with {acl}" : "Has compartido el tablero {board} con {acl}",
|
|
||||||
"{user} has shared the board {board} with {acl}" : "{user} ha compartido el tablero {board} con {acl}",
|
|
||||||
"You have removed {acl} from the board {board}" : "Has eliminado {acl} del tablero {board}",
|
|
||||||
"{user} has removed {acl} from the board {board}" : "{user} ha eliminado {acl} del tablero {board}",
|
|
||||||
"You have renamed the board {before} to {board}" : "Has cambiado el nombre del tablero {before} a {board}",
|
|
||||||
"{user} has renamed the board {before} to {board}" : "{user} ha cambiado el nombre del tablero {before} a {board}",
|
|
||||||
"You have archived the board {board}" : "Has archivado el tablero {board}",
|
|
||||||
"{user} has archived the board {before}" : "{user} ha archivado el tablero {before}",
|
|
||||||
"You have unarchived the board {board}" : "Has desarchivado el tablero {board}",
|
|
||||||
"{user} has unarchived the board {before}" : "{user} ha desarchivado el tablero {before}",
|
|
||||||
"You have created a new list {stack} on board {board}" : "Has creado una nueva lista {stack} en el tablero {board}",
|
|
||||||
"{user} has created a new list {stack} on board {board}" : "{user} ha creado una nueva lista {stack} en el tablero {board}",
|
|
||||||
"You have renamed list {before} to {stack} on board {board}" : "Has cambiado el nombre de la lista {before} a {stack} en el tablero {board}",
|
|
||||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} ha cambiado el nombre de la lista {before} a {stack} en el tablero {board}",
|
|
||||||
"You have deleted list {stack} on board {board}" : "Has eliminado la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has deleted list {stack} on board {board}" : "{user} ha eliminado la lista {stack} en el tablero {board}",
|
|
||||||
"You have created card {card} in list {stack} on board {board}" : "Has creado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} ha creado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have deleted card {card} in list {stack} on board {board}" : "Has eliminado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} ha eliminado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have renamed the card {before} to {card}" : "Has cambiado el nombre de la tarjeta {before} a {card}",
|
|
||||||
"{user} has renamed the card {before} to {card}" : "{user} ha cambiado el nombre de la tarjeta {before} a {card}",
|
|
||||||
"You have added a description to card {card} in list {stack} on board {board}" : "Has añadido una descripción a la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} ha añadido una descripción a la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Has actualizado la descripción de la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} ha actualizado la descripción de la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have archived card {card} in list {stack} on board {board}" : "Has archivado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} ha archivado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Has desarchivado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} ha desarchivado la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have removed the due date of card {card}" : "Has eliminado la fecha de vencimiento de la tarjeta {card}",
|
|
||||||
"{user} has removed the due date of card {card}" : "{user} ha eliminado la fecha de vencimiento de la tarjeta {card}",
|
|
||||||
"You have set the due date of card {card} to {after}" : "Has establecido la fecha de vencimiento de la tarjeta {card} a {after}",
|
|
||||||
"{user} has set the due date of card {card} to {after}" : "{user} ha establecido la fecha de vencimiento de la tarjeta {card} a {after}",
|
|
||||||
"You have updated the due date of card {card} to {after}" : "Has actualizado la fecha de vencimiento de la tarjeta {card} a {after}",
|
|
||||||
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualizado la fecha de vencimiento de la tarjeta {card} a {after}",
|
|
||||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Has añadido la etiqueta {label} a la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} ha añadido la etiqueta {label} a la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Has eliminado la etiqueta {label} de la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} ha eliminado la etiqueta {label} de la tarjeta {card} en la lista {stack} en el tablero {board}",
|
|
||||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Has asignado a {assigneduser} la tarjeta {card} en el tablero {board}",
|
|
||||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} ha asignado a {assigneduser} la tarjeta {card} en el tablero {board}",
|
|
||||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Has quitado la asignación a {assigneduser} de la tarjeta {card} en el tablero {board}",
|
|
||||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} ha quitado la asignación a {assigneduser} de la tarjeta {card} en el tablero {board}",
|
|
||||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Has movido la tarjeta {card} de la lista {stackBefore} a {stack}",
|
|
||||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} ha movido la tarjeta {card} de la lista {stackBefore} a {stack}",
|
|
||||||
"You have added the attachment {attachment} to card {card}" : "Has añadido el archivo {attachment} a la tarjeta {card}",
|
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} ha añadido el archivo {attachment} a la tarjeta {card}",
|
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Has actualizado el archivo {attachment} en la tarjeta {card}",
|
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} ha actualizado el archivo {attachment} en la tarjeta {card}",
|
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Has eliminado el archivo {attachment} de la tarjeta {card}",
|
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} ha eliminado el archivo {attachment} de la tarjeta {card}",
|
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Has restaurado el archivo {attachment} a la tarjeta {card}",
|
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} ha restaurado el archivo {attachment} a la tarjeta {card}",
|
|
||||||
"You have commented on card {card}" : "Has comentado en la tarjeta {card}",
|
|
||||||
"{user} has commented on card {card}" : "{user} ha comentado en la tarjeta {card}",
|
|
||||||
"A <strong>card description</strong> inside the Deck app has been changed" : "Se ha cambiado una <strong>descripción de la tarjeta</strong> en la aplicación Deck",
|
|
||||||
"Deck" : "Deck",
|
"Deck" : "Deck",
|
||||||
"Changes in the <strong>Deck app</strong>" : "Cambios en la aplicación <strong>Deck</strong>",
|
|
||||||
"A <strong>comment</strong> was created on a card" : "Se ha creado un <strong>comentario</strong> en una tarjeta",
|
|
||||||
"Upcoming cards" : "Tarjetas próximas",
|
|
||||||
"Load more" : "Cargar más",
|
|
||||||
"Personal" : "Personal",
|
"Personal" : "Personal",
|
||||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "La tarjeta \"%s\" en \"%s\" te ha sido asignada por %s.",
|
|
||||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} te ha asignado la tarjeta {deck-card} en {deck-board}.",
|
|
||||||
"The card \"%s\" on \"%s\" has reached its due date." : "La tarjeta \"%s\" en \"%s\" ha alacanzado su fecha de entrega",
|
"The card \"%s\" on \"%s\" has reached its due date." : "La tarjeta \"%s\" en \"%s\" ha alacanzado su fecha de entrega",
|
||||||
"The card {deck-card} on {deck-board} has reached its due date." : "La tarjeta {deck-card} en {deck-board} ha alcanzado su fecha de vencimiento.",
|
|
||||||
"%s has mentioned you in a comment on \"%s\"." : "%s te ha mencionado en un comentario en \"%s\".",
|
|
||||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} te ha mencionado en un comentario en {deck-card}.",
|
|
||||||
"The board \"%s\" has been shared with you by %s." : "El tablero \"%s\" ha sido compartido contigo por %s.",
|
"The board \"%s\" has been shared with you by %s." : "El tablero \"%s\" ha sido compartido contigo por %s.",
|
||||||
"{user} has shared {deck-board} with you." : "{user} ha compartido contigo {deck-board}.",
|
|
||||||
"Deck board" : "Tablero de Deck",
|
|
||||||
"Owned by %1$s" : "Perteneciente a %1$s",
|
|
||||||
"Deck boards, cards and comments" : "Tableros de Deck, tarjetas y comentarios",
|
|
||||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : "De %1$s, en %2$s/%3$s, perteneciente a %4$s",
|
|
||||||
"Card comments" : "Comentarios de tarjetas",
|
|
||||||
"%s on %s" : "%s en %s",
|
"%s on %s" : "%s en %s",
|
||||||
"Deck boards and cards" : "Tableros y tarjetas de Deck",
|
|
||||||
"No data was provided to create an attachment." : "No se proporcionaron datos para crear un archivo adjunto.",
|
|
||||||
"Finished" : "Terminado",
|
"Finished" : "Terminado",
|
||||||
"To review" : "Para revisar",
|
"To review" : "Para revisar",
|
||||||
"Action needed" : "Acción requerida",
|
"Action needed" : "Acción requerida",
|
||||||
"Later" : "Después",
|
"Later" : "Después",
|
||||||
"copy" : "copia",
|
|
||||||
"To do" : "Por hacer",
|
|
||||||
"Doing" : "Haciendo",
|
|
||||||
"Done" : "Terminado",
|
"Done" : "Terminado",
|
||||||
"Example Task 3" : "Tarea de ejemplo 3",
|
|
||||||
"Example Task 2" : "Tarea de ejemplo 2",
|
|
||||||
"Example Task 1" : "Tarea de ejemplo 1",
|
|
||||||
"The file was uploaded" : "El archivo fue cargado",
|
"The file was uploaded" : "El archivo fue cargado",
|
||||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
|
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini",
|
||||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
|
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML",
|
||||||
@@ -103,217 +17,47 @@
|
|||||||
"Missing a temporary folder" : "Falta una carpeta temporal",
|
"Missing a temporary folder" : "Falta una carpeta temporal",
|
||||||
"Could not write file to disk" : "No fue posible escribir a disco",
|
"Could not write file to disk" : "No fue posible escribir a disco",
|
||||||
"A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
|
"A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo",
|
||||||
"No file uploaded or file size exceeds maximum of %s" : "No se ha subido ningún archivo o el tamaño del archivo supera el máximo de %s",
|
|
||||||
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentario tiene más de %s caracteres.\n Añadido como un archivo adjunto a la tarjeta con el nombre %s.\n Accesible en la URL: %s.",
|
|
||||||
"Card not found" : "No se encontró la tarjeta",
|
|
||||||
"Path is already shared with this card" : "La ruta ya está compartida con esta tarjeta",
|
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "La fecha es inválida, por favor sigue el formato AAAA-MM-DD",
|
||||||
"Personal planning and team project organization" : "Planificación personal y organización de proyectos en equipo",
|
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck es una herramienta de organización estilo Kanban destinada a la planificación personal y la organización de proyectos en equipo integrada con Nextcloud.\n \n \n - 📥 Añade tus tareas a tarjetas y ordénalas\n - 📄 Toma notas adicionales en Markdown\n - 🔖 Asigna etiquetas para una mejor organización\n - 👥 Comparte con tu equipo, amigos o familia\n - 📎 Adjunta archivos e incrustarlos en tu descripción en Markdown\n - 💬 Discute con tu equipo usando comentarios\n - ⚡ Sigue los cambios en el flujo de actividad\n - 🚀 Organiza tu proyecto",
|
|
||||||
"Add board" : "Agregar tablero",
|
|
||||||
"Select the board to link to a project" : "Selecciona el tablero para vincularlo a un proyecto",
|
|
||||||
"Search by board title" : "Buscar por título del tablero",
|
|
||||||
"Select board" : "Seleccionar tablero",
|
|
||||||
"Create a new card" : "Crear una nueva tarjeta",
|
|
||||||
"Select a board" : "Seleccionar un tablero",
|
|
||||||
"Select a list" : "Seleccionar una lista",
|
|
||||||
"Card title" : "Título de la tarjeta",
|
|
||||||
"Cancel" : "Cancelar",
|
"Cancel" : "Cancelar",
|
||||||
"Creating the new card …" : "Creando la nueva tarjeta …",
|
|
||||||
"Card \"{card}\" was added to \"{board}\"" : "La tarjeta \"{card}\" se ha añadido a \"{board}\"",
|
|
||||||
"Open card" : "Abrir tarjeta",
|
|
||||||
"Close" : "Cerrar",
|
"Close" : "Cerrar",
|
||||||
"Create card" : "Crear tarjeta",
|
|
||||||
"Select a card" : "Seleccionar una tarjeta",
|
|
||||||
"Select the card to link to a project" : "Selecciona la tarjeta para vincularla a un proyecto",
|
|
||||||
"Link to card" : "Vincular con tarjeta",
|
|
||||||
"File already exists" : "El archivo ya existe",
|
"File already exists" : "El archivo ya existe",
|
||||||
"A file with the name {filename} already exists." : "Ya existe un archivo con el nombre {filename}.",
|
|
||||||
"Do you want to overwrite it?" : "¿Deseas sobre escribirlo?",
|
"Do you want to overwrite it?" : "¿Deseas sobre escribirlo?",
|
||||||
"Overwrite file" : "Sobrescribir archivo",
|
|
||||||
"Keep existing file" : "Mantener el archivo existente",
|
|
||||||
"This board is read only" : "Este tablero es de solo lectura",
|
|
||||||
"Drop your files to upload" : "Suelta tus archivos para subirlos",
|
|
||||||
"Add card" : "Agregar tarjeta",
|
"Add card" : "Agregar tarjeta",
|
||||||
"Archived cards" : "Tarjetas archivadas",
|
|
||||||
"Add list" : "Agregar lista",
|
|
||||||
"List name" : "Nombre de la lista",
|
|
||||||
"Active filters" : "Filtros activos",
|
|
||||||
"Apply filter" : "Aplicar filtro",
|
|
||||||
"Filter by tag" : "Filtrar por etiqueta",
|
|
||||||
"Filter by assigned user" : "Filtrar por usuario asignado",
|
|
||||||
"Unassigned" : "No asignado",
|
|
||||||
"Filter by due date" : "Filtrar por fecha de vencimiento",
|
|
||||||
"Overdue" : "Atrasado",
|
|
||||||
"Next 24 hours" : "Próximas 24 horas",
|
|
||||||
"Next 7 days" : "Próximos 7 días",
|
|
||||||
"Next 30 days" : "Próximos 30 días",
|
|
||||||
"No due date" : "Sin fecha de vencimiento",
|
|
||||||
"Clear filter" : "Borrar filtro",
|
|
||||||
"Hide archived cards" : "Ocultar tarjetas archivadas",
|
"Hide archived cards" : "Ocultar tarjetas archivadas",
|
||||||
"Show archived cards" : "Mostrar tarjetas archivadas",
|
"Show archived cards" : "Mostrar tarjetas archivadas",
|
||||||
"Toggle compact mode" : "Activar modo compacto",
|
|
||||||
"Open details" : "Abrir detalles.",
|
|
||||||
"Details" : "Detalles",
|
"Details" : "Detalles",
|
||||||
"Currently present people" : "Personas actualmente presentes",
|
|
||||||
"Loading board" : "Cargando tablero",
|
|
||||||
"No lists available" : "No hay listas disponibles",
|
|
||||||
"Create a new list to add cards to this board" : "Crea una nueva lista para añadir tarjetas a este tablero",
|
|
||||||
"Board not found" : "No se encontró el tablero",
|
|
||||||
"Sharing" : "Compartiendo",
|
"Sharing" : "Compartiendo",
|
||||||
"Tags" : "Etiquetas",
|
"Tags" : "Etiquetas",
|
||||||
"Deleted items" : "Elementos eliminados",
|
|
||||||
"Timeline" : "Línea de tiempo",
|
|
||||||
"Deleted lists" : "Listas eliminadas",
|
|
||||||
"Undo" : "Deshacer",
|
"Undo" : "Deshacer",
|
||||||
"Deleted cards" : "Tarjetas eliminadas",
|
|
||||||
"Share board with a user, group or circle …" : "Compartir tablero con un usuario, grupo o círculo …",
|
|
||||||
"Searching for users, groups and circles …" : "Buscando usuarios, grupos y círculos …",
|
|
||||||
"No participants found" : "No se encontraron participantes",
|
|
||||||
"Board owner" : "Propietario del tablero",
|
|
||||||
"(Group)" : "(Grupo)",
|
|
||||||
"(Circle)" : "(Círculo)",
|
|
||||||
"Can edit" : "Puede editar",
|
"Can edit" : "Puede editar",
|
||||||
"Can share" : "Puede compartir",
|
"Can share" : "Puede compartir",
|
||||||
"Can manage" : "Puede gestionar",
|
|
||||||
"Owner" : "Dueño",
|
"Owner" : "Dueño",
|
||||||
"Delete" : "Borrar",
|
"Delete" : "Borrar",
|
||||||
"Failed to create share with {displayName}" : "Error al crear el uso compartido con {displayName}",
|
|
||||||
"Are you sure you want to transfer the board {title} to {user}?" : "¿Estás seguro de que quieres transferir el tablero {title} a {user}?",
|
|
||||||
"Transfer the board." : "Transferir el tablero.",
|
|
||||||
"Transfer" : "Transferencia",
|
|
||||||
"The board has been transferred to {user}" : "El tablero se ha transferido a {user}",
|
|
||||||
"Failed to transfer the board to {user}" : "Error al transferir el tablero a {user}",
|
|
||||||
"Edit list title" : "Editar título de la lista",
|
|
||||||
"Archive all cards" : "Archivar todas las tarjetas",
|
|
||||||
"Unarchive all cards" : "Desarchivar todas las tarjetas",
|
|
||||||
"Delete list" : "Eliminar lista",
|
|
||||||
"Archive all cards in this list" : "Archivar todas las tarjetas en esta lista",
|
|
||||||
"Unarchive all cards in this list" : "Desarchivar todas las tarjetas en esta lista",
|
|
||||||
"Add a new card" : "Añadir una nueva tarjeta",
|
|
||||||
"Card name" : "Nombre de la tarjeta",
|
|
||||||
"List deleted" : "Lista eliminada",
|
|
||||||
"Edit" : "Editar",
|
"Edit" : "Editar",
|
||||||
"Add a new tag" : "Añadir una nueva etiqueta",
|
|
||||||
"title and color value must be provided" : "Debe proporcionarse el título y el valor del color",
|
|
||||||
"Board name" : "Nombre del tablero",
|
|
||||||
"Members" : "Miembros",
|
"Members" : "Miembros",
|
||||||
"Upload new files" : "Subir nuevos archivos",
|
|
||||||
"Share from Files" : "Compartir desde Archivos",
|
|
||||||
"Pending share" : "Uso compartido pendiente",
|
|
||||||
"Add this attachment" : "Añadir este archivo adjunto",
|
|
||||||
"Show in Files" : "Mostrar en Archivos",
|
|
||||||
"Download" : "Descargar",
|
"Download" : "Descargar",
|
||||||
"Remove attachment" : "Eliminar archivo adjunto",
|
|
||||||
"Delete Attachment" : "Eliminar adjunto",
|
|
||||||
"Restore Attachment" : "Restaurar adjunto",
|
|
||||||
"File to share" : "Archivo para compartir",
|
|
||||||
"Invalid path selected" : "Ruta seleccionada no válida.",
|
|
||||||
"Open in sidebar view" : "Abrir en vista de barra lateral",
|
|
||||||
"Open in bigger view" : "Abrir en vista más grande",
|
|
||||||
"Attachments" : "Adjuntos",
|
|
||||||
"Comments" : "Comentarios",
|
"Comments" : "Comentarios",
|
||||||
"Modified" : "Modificado",
|
"Modified" : "Modificado",
|
||||||
"Created" : "Creado",
|
"Created" : "Creado",
|
||||||
"The title cannot be empty." : "El título no puede estar vacío.",
|
|
||||||
"No comments yet. Begin the discussion!" : "Aún no hay comentarios. ¡Inicia la discusión!",
|
|
||||||
"Failed to load comments" : "Error al cargar los comentarios",
|
|
||||||
"Assign a tag to this card…" : "Asignar una etiqueta a esta tarjeta…",
|
|
||||||
"Assign to users" : "Asignar a usuarios",
|
|
||||||
"Assign to users/groups/circles" : "Asignar a usuarios/grupos/círculos",
|
|
||||||
"Assign a user to this card…" : "Asignar un usuario a esta tarjeta…",
|
|
||||||
"Due date" : "Fecha de vencimiento",
|
"Due date" : "Fecha de vencimiento",
|
||||||
"Set a due date" : "Establecer una fecha de vencimiento",
|
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
"Select Date" : "Seleccionar fecha",
|
|
||||||
"Today" : "Hoy",
|
"Today" : "Hoy",
|
||||||
"Tomorrow" : "Mañana",
|
"Tomorrow" : "Mañana",
|
||||||
"Next week" : "Semana siguiente",
|
|
||||||
"Next month" : "Mes siguiente",
|
|
||||||
"Save" : "Guardar",
|
"Save" : "Guardar",
|
||||||
"The comment cannot be empty." : "El comentario no puede estar vacío.",
|
|
||||||
"The comment cannot be longer than 1000 characters." : "El comentario no puede tener más de 1000 caracteres.",
|
|
||||||
"In reply to" : "En respuesta a",
|
|
||||||
"Cancel reply" : "Cancelar respuesta",
|
|
||||||
"Reply" : "Responder",
|
"Reply" : "Responder",
|
||||||
"Update" : "Actualizar",
|
"Update" : "Actualizar",
|
||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"(Unsaved)" : "(No guardado)",
|
|
||||||
"(Saving…)" : "(Guardando…)",
|
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Edit description" : "Editar descripción",
|
|
||||||
"View description" : "Ver descripción",
|
|
||||||
"Add Attachment" : "Añadir adjunto",
|
|
||||||
"Write a description …" : "Escribir una descripción …",
|
|
||||||
"Choose attachment" : "Elegir adjunto",
|
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"Todo items" : "Elementos pendientes",
|
|
||||||
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
|
|
||||||
"Edit card title" : "Editar título de la tarjeta",
|
|
||||||
"Assign to me" : "Asignarme la tarjeta",
|
|
||||||
"Unassign myself" : "Desasignarme la tarjeta",
|
|
||||||
"Move card" : "Mover tarjeta",
|
|
||||||
"Card details" : "Detalles de la tarjeta",
|
|
||||||
"Unarchive card" : "Desarchivar tarjeta",
|
|
||||||
"Archive card" : "Archivar tarjeta",
|
|
||||||
"Delete card" : "Eliminar tarjeta",
|
|
||||||
"Move card to another board" : "Mover tarjeta a otro tablero",
|
|
||||||
"List is empty" : "La lista está vacía",
|
|
||||||
"Card deleted" : "Tarjeta eliminada",
|
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"All boards" : "Todos los tableros",
|
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
"Shared with you" : "Compartido con usted",
|
"Shared with you" : "Compartido con usted",
|
||||||
"Deck settings" : "Configuración de Deck",
|
|
||||||
"Use bigger card view" : "Usar vista de tarjeta más grande",
|
|
||||||
"Show card ID badge" : "Mostrar identificación de la tarjeta",
|
|
||||||
"Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
|
|
||||||
"Limit deck usage of groups" : "Limitar uso de Deck a grupos",
|
|
||||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitar Deck bloqueará a los usuarios que no formen parte de esos grupos para que no puedan crear sus propios tableros. Los usuarios aún podrán trabajar en tableros que se hayan compartido con ellos.",
|
|
||||||
"Board details" : "Detalles del tablero",
|
"Board details" : "Detalles del tablero",
|
||||||
"Edit board" : "Editar el tablero",
|
"Edit board" : "Editar el tablero",
|
||||||
"Clone board" : "Clonar tablero",
|
|
||||||
"Unarchive board" : "Desarchivar tablero",
|
"Unarchive board" : "Desarchivar tablero",
|
||||||
"Archive board" : "Archivar tablero",
|
"Archive board" : "Archivar tablero",
|
||||||
"Export board" : "Exportar tablero",
|
|
||||||
"Turn on due date reminders" : "Activar recordatorios de fecha de vencimiento",
|
|
||||||
"Turn off due date reminders" : "Desactivar recordatorios de fecha de vencimiento",
|
|
||||||
"Due date reminders" : "Recordatorios de fecha de vencimiento",
|
|
||||||
"All cards" : "Todas las tarjetas",
|
|
||||||
"Assigned cards" : "Tarjetas asignadas",
|
|
||||||
"No notifications" : "No hay notificaciones",
|
"No notifications" : "No hay notificaciones",
|
||||||
"Delete board" : "Borrar tableros",
|
"Delete board" : "Borrar tableros",
|
||||||
"Board {0} deleted" : "Tablero {0} eliminado",
|
"Share" : "Compartir"
|
||||||
"Only assigned cards" : "Sólo tarjetas asignadas",
|
|
||||||
"No reminder" : "Sin recordatorio",
|
|
||||||
"An error occurred" : "Se produjo un error",
|
|
||||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "¿Estás seguro de que quieres eliminar el tablero {title}? Esto eliminará todos los datos de este tablero, incluidas las tarjetas archivadas.",
|
|
||||||
"Delete the board?" : "¿Eliminar el tablero?",
|
|
||||||
"Loading filtered view" : "Cargando vista filtrada",
|
|
||||||
"No due" : "Sin vencimiento",
|
|
||||||
"Search for {searchQuery} in all boards" : "Buscar {searchQuery} en todos los tableros",
|
|
||||||
"No results found" : "No se encontraron resultados",
|
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "Tablero de Deck {name}\n * Última modificación el {lastMod}",
|
|
||||||
"{stack} in {board}" : "{stack} en {board}",
|
|
||||||
"Click to expand description" : "Haz clic para expandir la descripción",
|
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado el {created}\n * Última modificación el {lastMod}\n * {nbAttachments} adjuntos\n * {nbComments} comentarios",
|
|
||||||
"{nbCards} cards" : "{nbCards} tarjetas",
|
|
||||||
"Click to expand comment" : "Haz clic para expandir el comentario",
|
|
||||||
"No upcoming cards" : "No hay tarjetas próximas",
|
|
||||||
"upcoming cards" : "tarjetas próximas",
|
|
||||||
"New card" : "Nueva tarjeta",
|
|
||||||
"Due on {date}" : "Vence el {date}",
|
|
||||||
"Link to a board" : "Vincular a un tablero",
|
|
||||||
"Link to a card" : "Vincular a una tarjeta",
|
|
||||||
"Create a card" : "Crear una tarjeta",
|
|
||||||
"Message from {author} in {conversationName}" : "Mensaje de {author} en {conversationName}",
|
|
||||||
"Something went wrong" : "Algo salió mal",
|
|
||||||
"Failed to upload {name}" : "Error al subir {name}",
|
|
||||||
"Maximum file size of {size} exceeded" : "Tamaño máximo de archivo de {size} excedido",
|
|
||||||
"Error creating the share" : "Error al crear la compartición",
|
|
||||||
"Share with a Deck card" : "Compartir con una tarjeta de Deck",
|
|
||||||
"Share {file} with a Deck card" : "Compartir {file} con una tarjeta de Deck",
|
|
||||||
"Share" : "Compartir",
|
|
||||||
"Add a new list" : "Añadir una nueva lista"
|
|
||||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||||
}
|
}
|
||||||
@@ -204,7 +204,7 @@ OC.L10N.register(
|
|||||||
"Share from Files" : "Partekatu Fitxategiak-etik",
|
"Share from Files" : "Partekatu Fitxategiak-etik",
|
||||||
"Pending share" : "Partekatzeko zain",
|
"Pending share" : "Partekatzeko zain",
|
||||||
"Add this attachment" : "Gehitu eranskin hau",
|
"Add this attachment" : "Gehitu eranskin hau",
|
||||||
"Show in Files" : "Erakutsi Fitxategiak aplikazioan",
|
"Show in Files" : "Erakutsi fitxategietan",
|
||||||
"Download" : "Deskargatu",
|
"Download" : "Deskargatu",
|
||||||
"Remove attachment" : "Kendu eranskina",
|
"Remove attachment" : "Kendu eranskina",
|
||||||
"Delete Attachment" : "Ezabatu eranskina",
|
"Delete Attachment" : "Ezabatu eranskina",
|
||||||
|
|||||||
@@ -202,7 +202,7 @@
|
|||||||
"Share from Files" : "Partekatu Fitxategiak-etik",
|
"Share from Files" : "Partekatu Fitxategiak-etik",
|
||||||
"Pending share" : "Partekatzeko zain",
|
"Pending share" : "Partekatzeko zain",
|
||||||
"Add this attachment" : "Gehitu eranskin hau",
|
"Add this attachment" : "Gehitu eranskin hau",
|
||||||
"Show in Files" : "Erakutsi Fitxategiak aplikazioan",
|
"Show in Files" : "Erakutsi fitxategietan",
|
||||||
"Download" : "Deskargatu",
|
"Download" : "Deskargatu",
|
||||||
"Remove attachment" : "Kendu eranskina",
|
"Remove attachment" : "Kendu eranskina",
|
||||||
"Delete Attachment" : "Ezabatu eranskina",
|
"Delete Attachment" : "Ezabatu eranskina",
|
||||||
|
|||||||
@@ -254,7 +254,6 @@ OC.L10N.register(
|
|||||||
"Delete board" : "حذف تهته",
|
"Delete board" : "حذف تهته",
|
||||||
"An error occurred" : "خطایی روی داد",
|
"An error occurred" : "خطایی روی داد",
|
||||||
"No results found" : "هیچ نتیجه ای یافت نشد",
|
"No results found" : "هیچ نتیجه ای یافت نشد",
|
||||||
"Message from {author} in {conversationName}" : "پیام از {author} در {conversationName}",
|
|
||||||
"Error creating the share" : "خطایی در ایجاد اشتراک",
|
"Error creating the share" : "خطایی در ایجاد اشتراک",
|
||||||
"Share" : "همرسانی",
|
"Share" : "همرسانی",
|
||||||
"Add a new list" : "فهرست جدید بیفزایید!"
|
"Add a new list" : "فهرست جدید بیفزایید!"
|
||||||
|
|||||||
@@ -252,7 +252,6 @@
|
|||||||
"Delete board" : "حذف تهته",
|
"Delete board" : "حذف تهته",
|
||||||
"An error occurred" : "خطایی روی داد",
|
"An error occurred" : "خطایی روی داد",
|
||||||
"No results found" : "هیچ نتیجه ای یافت نشد",
|
"No results found" : "هیچ نتیجه ای یافت نشد",
|
||||||
"Message from {author} in {conversationName}" : "پیام از {author} در {conversationName}",
|
|
||||||
"Error creating the share" : "خطایی در ایجاد اشتراک",
|
"Error creating the share" : "خطایی در ایجاد اشتراک",
|
||||||
"Share" : "همرسانی",
|
"Share" : "همرسانی",
|
||||||
"Add a new list" : "فهرست جدید بیفزایید!"
|
"Add a new list" : "فهرست جدید بیفزایید!"
|
||||||
|
|||||||
@@ -266,7 +266,7 @@ OC.L10N.register(
|
|||||||
"All boards" : "Todos os taboleiros",
|
"All boards" : "Todos os taboleiros",
|
||||||
"Archived boards" : "Taboleiros arquivados",
|
"Archived boards" : "Taboleiros arquivados",
|
||||||
"Shared with you" : "Compartido con Vde.",
|
"Shared with you" : "Compartido con Vde.",
|
||||||
"Deck settings" : "Axustes de Tarxeteiro",
|
"Deck settings" : "Axustes do Tarxeteiro",
|
||||||
"Use bigger card view" : "Usa a vista de tarxeta máis grande",
|
"Use bigger card view" : "Usa a vista de tarxeta máis grande",
|
||||||
"Show card ID badge" : "Amosar o distintivo de identificación da tarxeta",
|
"Show card ID badge" : "Amosar o distintivo de identificación da tarxeta",
|
||||||
"Show boards in calendar/tasks" : "Amosar taboleiros no calendario/tarefas",
|
"Show boards in calendar/tasks" : "Amosar taboleiros no calendario/tarefas",
|
||||||
@@ -310,7 +310,7 @@ OC.L10N.register(
|
|||||||
"Create a card" : "Crear unha tarxeta",
|
"Create a card" : "Crear unha tarxeta",
|
||||||
"Message from {author} in {conversationName}" : "Mensaxe de {author} en {conversationName}",
|
"Message from {author} in {conversationName}" : "Mensaxe de {author} en {conversationName}",
|
||||||
"Something went wrong" : "Algo foi mal",
|
"Something went wrong" : "Algo foi mal",
|
||||||
"Failed to upload {name}" : "Produciuse un fallo ao enviar {name}",
|
"Failed to upload {name}" : "Produciuse un fallo ao actualizar {name}",
|
||||||
"Maximum file size of {size} exceeded" : "Excedeuse o tamaño máximo de ficheiro de {size}",
|
"Maximum file size of {size} exceeded" : "Excedeuse o tamaño máximo de ficheiro de {size}",
|
||||||
"Error creating the share" : "Produciuse un erro ao crear a compartición",
|
"Error creating the share" : "Produciuse un erro ao crear a compartición",
|
||||||
"Share with a Deck card" : "Compartir cunha tarxeta de Tarxeteiro",
|
"Share with a Deck card" : "Compartir cunha tarxeta de Tarxeteiro",
|
||||||
|
|||||||
@@ -264,7 +264,7 @@
|
|||||||
"All boards" : "Todos os taboleiros",
|
"All boards" : "Todos os taboleiros",
|
||||||
"Archived boards" : "Taboleiros arquivados",
|
"Archived boards" : "Taboleiros arquivados",
|
||||||
"Shared with you" : "Compartido con Vde.",
|
"Shared with you" : "Compartido con Vde.",
|
||||||
"Deck settings" : "Axustes de Tarxeteiro",
|
"Deck settings" : "Axustes do Tarxeteiro",
|
||||||
"Use bigger card view" : "Usa a vista de tarxeta máis grande",
|
"Use bigger card view" : "Usa a vista de tarxeta máis grande",
|
||||||
"Show card ID badge" : "Amosar o distintivo de identificación da tarxeta",
|
"Show card ID badge" : "Amosar o distintivo de identificación da tarxeta",
|
||||||
"Show boards in calendar/tasks" : "Amosar taboleiros no calendario/tarefas",
|
"Show boards in calendar/tasks" : "Amosar taboleiros no calendario/tarefas",
|
||||||
@@ -308,7 +308,7 @@
|
|||||||
"Create a card" : "Crear unha tarxeta",
|
"Create a card" : "Crear unha tarxeta",
|
||||||
"Message from {author} in {conversationName}" : "Mensaxe de {author} en {conversationName}",
|
"Message from {author} in {conversationName}" : "Mensaxe de {author} en {conversationName}",
|
||||||
"Something went wrong" : "Algo foi mal",
|
"Something went wrong" : "Algo foi mal",
|
||||||
"Failed to upload {name}" : "Produciuse un fallo ao enviar {name}",
|
"Failed to upload {name}" : "Produciuse un fallo ao actualizar {name}",
|
||||||
"Maximum file size of {size} exceeded" : "Excedeuse o tamaño máximo de ficheiro de {size}",
|
"Maximum file size of {size} exceeded" : "Excedeuse o tamaño máximo de ficheiro de {size}",
|
||||||
"Error creating the share" : "Produciuse un erro ao crear a compartición",
|
"Error creating the share" : "Produciuse un erro ao crear a compartición",
|
||||||
"Share with a Deck card" : "Compartir cunha tarxeta de Tarxeteiro",
|
"Share with a Deck card" : "Compartir cunha tarxeta de Tarxeteiro",
|
||||||
|
|||||||
@@ -303,7 +303,6 @@ OC.L10N.register(
|
|||||||
"Click to expand comment" : "Klikk for å utvide kommentaren",
|
"Click to expand comment" : "Klikk for å utvide kommentaren",
|
||||||
"No upcoming cards" : "Ingen kommende kort",
|
"No upcoming cards" : "Ingen kommende kort",
|
||||||
"upcoming cards" : "kommende kort",
|
"upcoming cards" : "kommende kort",
|
||||||
"New card" : "Nytt kort",
|
|
||||||
"Due on {date}" : "Utløper {date}",
|
"Due on {date}" : "Utløper {date}",
|
||||||
"Link to a board" : "Lenke til tavle",
|
"Link to a board" : "Lenke til tavle",
|
||||||
"Link to a card" : "Lenke til et kort",
|
"Link to a card" : "Lenke til et kort",
|
||||||
|
|||||||
@@ -301,7 +301,6 @@
|
|||||||
"Click to expand comment" : "Klikk for å utvide kommentaren",
|
"Click to expand comment" : "Klikk for å utvide kommentaren",
|
||||||
"No upcoming cards" : "Ingen kommende kort",
|
"No upcoming cards" : "Ingen kommende kort",
|
||||||
"upcoming cards" : "kommende kort",
|
"upcoming cards" : "kommende kort",
|
||||||
"New card" : "Nytt kort",
|
|
||||||
"Due on {date}" : "Utløper {date}",
|
"Due on {date}" : "Utløper {date}",
|
||||||
"Link to a board" : "Lenke til tavle",
|
"Link to a board" : "Lenke til tavle",
|
||||||
"Link to a card" : "Lenke til et kort",
|
"Link to a card" : "Lenke til et kort",
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ use OCP\AppFramework\Db\DoesNotExistException;
|
|||||||
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
||||||
use OCP\Comments\IComment;
|
use OCP\Comments\IComment;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
use OCP\Server;
|
|
||||||
use OCP\L10N\IFactory;
|
use OCP\L10N\IFactory;
|
||||||
|
use OCP\Server;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
||||||
class ActivityManager {
|
class ActivityManager {
|
||||||
@@ -332,8 +332,8 @@ class ActivityManager {
|
|||||||
case self::SUBJECT_BOARD_UPDATE_ARCHIVED:
|
case self::SUBJECT_BOARD_UPDATE_ARCHIVED:
|
||||||
case self::SUBJECT_BOARD_DELETE:
|
case self::SUBJECT_BOARD_DELETE:
|
||||||
case self::SUBJECT_BOARD_RESTORE:
|
case self::SUBJECT_BOARD_RESTORE:
|
||||||
// Not defined as there is no activity for
|
// Not defined as there is no activity for
|
||||||
// case self::SUBJECT_BOARD_UPDATE_COLOR
|
// case self::SUBJECT_BOARD_UPDATE_COLOR
|
||||||
break;
|
break;
|
||||||
case self::SUBJECT_CARD_COMMENT_CREATE:
|
case self::SUBJECT_CARD_COMMENT_CREATE:
|
||||||
$eventType = 'deck_comment';
|
$eventType = 'deck_comment';
|
||||||
@@ -374,7 +374,7 @@ class ActivityManager {
|
|||||||
$additionalParams['before'] = $additionalParams['before']->format('c');
|
$additionalParams['before'] = $additionalParams['before']->format('c');
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case self::SUBJECT_ATTACHMENT_CREATE:
|
case self::SUBJECT_ATTACHMENT_CREATE:
|
||||||
case self::SUBJECT_ATTACHMENT_UPDATE:
|
case self::SUBJECT_ATTACHMENT_UPDATE:
|
||||||
case self::SUBJECT_ATTACHMENT_DELETE:
|
case self::SUBJECT_ATTACHMENT_DELETE:
|
||||||
|
|||||||
@@ -23,12 +23,12 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Activity;
|
namespace OCA\Deck\Activity;
|
||||||
|
|
||||||
|
use \OCP\Comments\ICommentsEventHandler;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Db\ChangeHelper;
|
use OCA\Deck\Db\ChangeHelper;
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCP\Comments\CommentsEvent;
|
use OCP\Comments\CommentsEvent;
|
||||||
use OCP\Comments\IComment;
|
use OCP\Comments\IComment;
|
||||||
use \OCP\Comments\ICommentsEventHandler;
|
|
||||||
|
|
||||||
class CommentEventHandler implements ICommentsEventHandler {
|
class CommentEventHandler implements ICommentsEventHandler {
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
namespace OCA\Deck\Activity;
|
namespace OCA\Deck\Activity;
|
||||||
|
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
|
use OCA\Deck\Service\CardService;
|
||||||
use OCP\Activity\IEvent;
|
use OCP\Activity\IEvent;
|
||||||
use OCP\Activity\IProvider;
|
use OCP\Activity\IProvider;
|
||||||
use OCP\Comments\IComment;
|
use OCP\Comments\IComment;
|
||||||
@@ -35,7 +36,6 @@ use OCP\IConfig;
|
|||||||
use OCP\IURLGenerator;
|
use OCP\IURLGenerator;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OCP\L10N\IFactory;
|
use OCP\L10N\IFactory;
|
||||||
use OCA\Deck\Service\CardService;
|
|
||||||
|
|
||||||
class DeckProvider implements IProvider {
|
class DeckProvider implements IProvider {
|
||||||
|
|
||||||
|
|||||||
@@ -43,11 +43,11 @@ use OCA\Deck\Event\CardUpdatedEvent;
|
|||||||
use OCA\Deck\Event\SessionClosedEvent;
|
use OCA\Deck\Event\SessionClosedEvent;
|
||||||
use OCA\Deck\Event\SessionCreatedEvent;
|
use OCA\Deck\Event\SessionCreatedEvent;
|
||||||
use OCA\Deck\Listeners\BeforeTemplateRenderedListener;
|
use OCA\Deck\Listeners\BeforeTemplateRenderedListener;
|
||||||
use OCA\Deck\Listeners\ParticipantCleanupListener;
|
|
||||||
use OCA\Deck\Listeners\FullTextSearchEventListener;
|
use OCA\Deck\Listeners\FullTextSearchEventListener;
|
||||||
|
use OCA\Deck\Listeners\LiveUpdateListener;
|
||||||
|
use OCA\Deck\Listeners\ParticipantCleanupListener;
|
||||||
use OCA\Deck\Listeners\ResourceAdditionalScriptsListener;
|
use OCA\Deck\Listeners\ResourceAdditionalScriptsListener;
|
||||||
use OCA\Deck\Listeners\ResourceListener;
|
use OCA\Deck\Listeners\ResourceListener;
|
||||||
use OCA\Deck\Listeners\LiveUpdateListener;
|
|
||||||
use OCA\Deck\Middleware\DefaultBoardMiddleware;
|
use OCA\Deck\Middleware\DefaultBoardMiddleware;
|
||||||
use OCA\Deck\Middleware\ExceptionMiddleware;
|
use OCA\Deck\Middleware\ExceptionMiddleware;
|
||||||
use OCA\Deck\Notification\Notifier;
|
use OCA\Deck\Notification\Notifier;
|
||||||
|
|||||||
@@ -46,12 +46,12 @@ class UserExport extends Command {
|
|||||||
private $assignedUsersMapper;
|
private $assignedUsersMapper;
|
||||||
|
|
||||||
public function __construct(BoardMapper $boardMapper,
|
public function __construct(BoardMapper $boardMapper,
|
||||||
BoardService $boardService,
|
BoardService $boardService,
|
||||||
StackMapper $stackMapper,
|
StackMapper $stackMapper,
|
||||||
CardMapper $cardMapper,
|
CardMapper $cardMapper,
|
||||||
AssignmentMapper $assignedUsersMapper,
|
AssignmentMapper $assignedUsersMapper,
|
||||||
IUserManager $userManager,
|
IUserManager $userManager,
|
||||||
IGroupManager $groupManager) {
|
IGroupManager $groupManager) {
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
|
||||||
$this->cardMapper = $cardMapper;
|
$this->cardMapper = $cardMapper;
|
||||||
@@ -96,7 +96,7 @@ class UserExport extends Command {
|
|||||||
$data[$board->getId()] = (array)$fullBoard->jsonSerialize();
|
$data[$board->getId()] = (array)$fullBoard->jsonSerialize();
|
||||||
$stacks = $this->stackMapper->findAll($board->getId());
|
$stacks = $this->stackMapper->findAll($board->getId());
|
||||||
foreach ($stacks as $stack) {
|
foreach ($stacks as $stack) {
|
||||||
$data[$board->getId()]['stacks'][] = (array)$stack->jsonSerialize();
|
$data[$board->getId()]['stacks'][$stack->getId()] = (array)$stack->jsonSerialize();
|
||||||
$cards = $this->cardMapper->findAllByStack($stack->getId());
|
$cards = $this->cardMapper->findAllByStack($stack->getId());
|
||||||
foreach ($cards as $card) {
|
foreach ($cards as $card) {
|
||||||
$fullCard = $this->cardMapper->find($card->getId());
|
$fullCard = $this->cardMapper->find($card->getId());
|
||||||
|
|||||||
@@ -22,18 +22,19 @@
|
|||||||
*/
|
*/
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
use OCA\Deck\Service\AttachmentService;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCA\Deck\Service\AttachmentService;
|
|
||||||
|
|
||||||
class AttachmentApiController extends ApiController {
|
class AttachmentApiController extends ApiController {
|
||||||
private $attachmentService;
|
public function __construct(
|
||||||
|
$appName,
|
||||||
public function __construct($appName, IRequest $request, AttachmentService $attachmentService) {
|
IRequest $request,
|
||||||
|
private AttachmentService $attachmentService,
|
||||||
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->attachmentService = $attachmentService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -28,13 +28,12 @@ use OCP\AppFramework\Controller;
|
|||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
class AttachmentController extends Controller {
|
class AttachmentController extends Controller {
|
||||||
|
public function __construct(
|
||||||
/** @var AttachmentService */
|
$appName,
|
||||||
private $attachmentService;
|
IRequest $request,
|
||||||
|
private AttachmentService $attachmentService,
|
||||||
public function __construct($appName, IRequest $request, AttachmentService $attachmentService) {
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->attachmentService = $attachmentService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -25,13 +25,13 @@
|
|||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Db\Board;
|
use OCA\Deck\Db\Board;
|
||||||
|
use OCA\Deck\Service\BoardService;
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
|
||||||
|
|
||||||
use OCA\Deck\Service\BoardService;
|
use OCP\IRequest;
|
||||||
use Sabre\HTTP\Util;
|
use Sabre\HTTP\Util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -40,18 +40,16 @@ use Sabre\HTTP\Util;
|
|||||||
* @package OCA\Deck\Controller
|
* @package OCA\Deck\Controller
|
||||||
*/
|
*/
|
||||||
class BoardApiController extends ApiController {
|
class BoardApiController extends ApiController {
|
||||||
private $boardService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $appName
|
* @param string $appName
|
||||||
* @param IRequest $request
|
|
||||||
* @param BoardService $service
|
|
||||||
* @param $userId
|
|
||||||
*/
|
*/
|
||||||
public function __construct($appName, IRequest $request, BoardService $service, $userId) {
|
public function __construct(
|
||||||
|
$appName,
|
||||||
|
IRequest $request,
|
||||||
|
private BoardService $boardService,
|
||||||
|
private $userId,
|
||||||
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->boardService = $service;
|
|
||||||
$this->userId = $userId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -33,15 +33,14 @@ use OCP\AppFramework\Http\DataResponse;
|
|||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
class BoardController extends ApiController {
|
class BoardController extends ApiController {
|
||||||
private $userId;
|
public function __construct(
|
||||||
private $boardService;
|
$appName,
|
||||||
private $permissionService;
|
IRequest $request,
|
||||||
|
private BoardService $boardService,
|
||||||
public function __construct($appName, IRequest $request, BoardService $boardService, PermissionService $permissionService, $userId) {
|
private PermissionService $permissionService,
|
||||||
|
private $userId,
|
||||||
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->userId = $userId;
|
|
||||||
$this->boardService = $boardService;
|
|
||||||
$this->permissionService = $permissionService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -144,7 +143,7 @@ class BoardController extends ApiController {
|
|||||||
/**
|
/**
|
||||||
* @NoAdminRequired
|
* @NoAdminRequired
|
||||||
* @param $aclId
|
* @param $aclId
|
||||||
* @return \OCP\AppFramework\Db\Entity
|
* @return \OCP\AppFramework\Db\Entity|null
|
||||||
*/
|
*/
|
||||||
public function deleteAcl($aclId) {
|
public function deleteAcl($aclId) {
|
||||||
return $this->boardService->deleteAcl($aclId);
|
return $this->boardService->deleteAcl($aclId);
|
||||||
|
|||||||
@@ -30,20 +30,13 @@ use OCP\AppFramework\OCSController;
|
|||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
class BoardImportApiController extends OCSController {
|
class BoardImportApiController extends OCSController {
|
||||||
/** @var BoardImportService */
|
|
||||||
private $boardImportService;
|
|
||||||
/** @var string */
|
|
||||||
private $userId;
|
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
string $appName,
|
string $appName,
|
||||||
IRequest $request,
|
IRequest $request,
|
||||||
BoardImportService $boardImportService,
|
private BoardImportService $boardImportService,
|
||||||
string $userId
|
private string $userId,
|
||||||
) {
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->boardImportService = $boardImportService;
|
|
||||||
$this->userId = $userId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -23,36 +23,37 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Service\AssignmentService;
|
use OCA\Deck\Service\AssignmentService;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCA\Deck\Service\CardService;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\IRequest;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCA\Deck\Service\CardService;
|
use OCP\IRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BoardApiController
|
* Class BoardApiController
|
||||||
*
|
*
|
||||||
* @package OCA\Deck\Controller
|
* @package OCA\Deck\Controller
|
||||||
*/
|
*/
|
||||||
class CardApiController extends ApiController {
|
class CardApiController extends ApiController {
|
||||||
private $cardService;
|
|
||||||
private $userId;
|
|
||||||
private $assignmentService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $appName
|
* @param string $appName
|
||||||
* @param IRequest $request
|
* @param IRequest $request
|
||||||
* @param CardService $cardService
|
* @param CardService $cardService
|
||||||
|
* @param AssignmentService $assignmentService
|
||||||
* @param $userId
|
* @param $userId
|
||||||
*/
|
*/
|
||||||
public function __construct($appName, IRequest $request, CardService $cardService, AssignmentService $assignmentService, $userId) {
|
public function __construct(
|
||||||
|
string $appName,
|
||||||
|
IRequest $request,
|
||||||
|
private CardService $cardService,
|
||||||
|
private AssignmentService $assignmentService,
|
||||||
|
private $userId,
|
||||||
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->cardService = $cardService;
|
|
||||||
$this->userId = $userId;
|
|
||||||
$this->assignmentService = $assignmentService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -25,19 +25,18 @@ namespace OCA\Deck\Controller;
|
|||||||
|
|
||||||
use OCA\Deck\Service\AssignmentService;
|
use OCA\Deck\Service\AssignmentService;
|
||||||
use OCA\Deck\Service\CardService;
|
use OCA\Deck\Service\CardService;
|
||||||
use OCP\IRequest;
|
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
|
use OCP\IRequest;
|
||||||
|
|
||||||
class CardController extends Controller {
|
class CardController extends Controller {
|
||||||
private $userId;
|
public function __construct(
|
||||||
private $cardService;
|
$appName,
|
||||||
private $assignmentService;
|
IRequest $request,
|
||||||
|
private CardService $cardService,
|
||||||
public function __construct($appName, IRequest $request, CardService $cardService, AssignmentService $assignmentService, $userId) {
|
private AssignmentService $assignmentService,
|
||||||
|
private $userId,
|
||||||
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->userId = $userId;
|
|
||||||
$this->cardService = $cardService;
|
|
||||||
$this->assignmentService = $assignmentService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -31,18 +31,15 @@ use OCP\AppFramework\OCSController;
|
|||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
class CommentsApiController extends OCSController {
|
class CommentsApiController extends OCSController {
|
||||||
|
|
||||||
/** @var CommentService */
|
|
||||||
private $commentService;
|
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
string $appName,
|
string $appName,
|
||||||
IRequest $request,
|
IRequest $request,
|
||||||
CommentService $commentService,
|
private CommentService $commentService,
|
||||||
string $corsMethods = 'PUT, POST, GET, DELETE, PATCH', string $corsAllowedHeaders = 'Authorization, Content-Type, Accept', int $corsMaxAge = 1728000
|
string $corsMethods = 'PUT, POST, GET, DELETE, PATCH',
|
||||||
|
string $corsAllowedHeaders = 'Authorization, Content-Type, Accept',
|
||||||
|
int $corsMaxAge = 1728000,
|
||||||
) {
|
) {
|
||||||
parent::__construct($appName, $request, $corsMethods, $corsAllowedHeaders, $corsMaxAge);
|
parent::__construct($appName, $request, $corsMethods, $corsAllowedHeaders, $corsMaxAge);
|
||||||
$this->commentService = $commentService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -30,16 +30,12 @@ use OCP\AppFramework\OCSController;
|
|||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
class ConfigController extends OCSController {
|
class ConfigController extends OCSController {
|
||||||
private $configService;
|
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
$AppName,
|
$AppName,
|
||||||
IRequest $request,
|
IRequest $request,
|
||||||
ConfigService $configService
|
private ConfigService $configService,
|
||||||
) {
|
) {
|
||||||
parent::__construct($AppName, $request);
|
parent::__construct($AppName, $request);
|
||||||
|
|
||||||
$this->configService = $configService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -23,11 +23,11 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
use OCA\Deck\Service\LabelService;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCA\Deck\Service\LabelService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BoardApiController
|
* Class BoardApiController
|
||||||
@@ -35,19 +35,16 @@ use OCA\Deck\Service\LabelService;
|
|||||||
* @package OCA\Deck\Controller
|
* @package OCA\Deck\Controller
|
||||||
*/
|
*/
|
||||||
class LabelApiController extends ApiController {
|
class LabelApiController extends ApiController {
|
||||||
private $labelService;
|
|
||||||
private $userId;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $appName
|
* @param string $appName
|
||||||
* @param IRequest $request
|
|
||||||
* @param LabelService $labelService
|
|
||||||
* @param $userId
|
|
||||||
*/
|
*/
|
||||||
public function __construct($appName, IRequest $request, LabelService $labelService, $userId) {
|
public function __construct(
|
||||||
|
$appName,
|
||||||
|
IRequest $request,
|
||||||
|
private LabelService $labelService,
|
||||||
|
private $userId,
|
||||||
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->labelService = $labelService;
|
|
||||||
$this->userId = $userId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -24,15 +24,16 @@
|
|||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Service\LabelService;
|
use OCA\Deck\Service\LabelService;
|
||||||
use OCP\IRequest;
|
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
|
use OCP\IRequest;
|
||||||
|
|
||||||
class LabelController extends Controller {
|
class LabelController extends Controller {
|
||||||
private $labelService;
|
public function __construct(
|
||||||
|
$appName,
|
||||||
public function __construct($appName, IRequest $request, LabelService $labelService) {
|
IRequest $request,
|
||||||
|
private LabelService $labelService,
|
||||||
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->labelService = $labelService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -32,17 +32,13 @@ use OCP\AppFramework\OCSController;
|
|||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
class OverviewApiController extends OCSController {
|
class OverviewApiController extends OCSController {
|
||||||
|
public function __construct(
|
||||||
/** @var OverviewService */
|
$appName,
|
||||||
private $dashboardService;
|
IRequest $request,
|
||||||
|
private OverviewService $dashboardService,
|
||||||
/** @var string */
|
private $userId,
|
||||||
private $userId;
|
) {
|
||||||
|
|
||||||
public function __construct($appName, IRequest $request, OverviewService $dashboardService, $userId) {
|
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->dashboardService = $dashboardService;
|
|
||||||
$this->userId = $userId;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -23,58 +23,44 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
use \OCP\AppFramework\Http\RedirectResponse;
|
||||||
use OCA\Deck\AppInfo\Application;
|
use OCA\Deck\AppInfo\Application;
|
||||||
|
use OCA\Deck\Db\Acl;
|
||||||
|
use OCA\Deck\Db\CardMapper;
|
||||||
|
use OCA\Deck\Service\CardService;
|
||||||
use OCA\Deck\Service\ConfigService;
|
use OCA\Deck\Service\ConfigService;
|
||||||
use OCA\Deck\Service\PermissionService;
|
use OCA\Deck\Service\PermissionService;
|
||||||
use OCA\Files\Event\LoadSidebar;
|
use OCA\Files\Event\LoadSidebar;
|
||||||
use OCA\Text\Event\LoadEditor;
|
use OCA\Text\Event\LoadEditor;
|
||||||
use OCA\Viewer\Event\LoadViewer;
|
use OCA\Viewer\Event\LoadViewer;
|
||||||
|
use OCP\AppFramework\Controller;
|
||||||
use OCP\AppFramework\Http\ContentSecurityPolicy;
|
use OCP\AppFramework\Http\ContentSecurityPolicy;
|
||||||
|
use OCP\AppFramework\Http\TemplateResponse;
|
||||||
use OCP\Collaboration\Resources\LoadAdditionalScriptsEvent as CollaborationResourcesEvent;
|
use OCP\Collaboration\Resources\LoadAdditionalScriptsEvent as CollaborationResourcesEvent;
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IInitialStateService;
|
use OCP\IInitialStateService;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\AppFramework\Http\TemplateResponse;
|
|
||||||
use OCP\AppFramework\Controller;
|
|
||||||
use OCA\Deck\Db\CardMapper;
|
|
||||||
use OCP\IURLGenerator;
|
use OCP\IURLGenerator;
|
||||||
use \OCP\AppFramework\Http\RedirectResponse;
|
|
||||||
use OCA\Deck\Db\Acl;
|
|
||||||
use OCA\Deck\Service\CardService;
|
|
||||||
|
|
||||||
class PageController extends Controller {
|
class PageController extends Controller {
|
||||||
private PermissionService $permissionService;
|
|
||||||
private IInitialStateService $initialState;
|
private IInitialStateService $initialState;
|
||||||
private ConfigService $configService;
|
|
||||||
private IEventDispatcher $eventDispatcher;
|
|
||||||
private CardMapper $cardMapper;
|
|
||||||
private IURLGenerator $urlGenerator;
|
|
||||||
private CardService $cardService;
|
|
||||||
private IConfig $config;
|
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
string $AppName,
|
string $AppName,
|
||||||
IRequest $request,
|
IRequest $request,
|
||||||
PermissionService $permissionService,
|
private PermissionService $permissionService,
|
||||||
IInitialStateService $initialStateService,
|
IInitialStateService $initialStateService,
|
||||||
ConfigService $configService,
|
private ConfigService $configService,
|
||||||
IEventDispatcher $eventDispatcher,
|
private IEventDispatcher $eventDispatcher,
|
||||||
CardMapper $cardMapper,
|
private CardMapper $cardMapper,
|
||||||
IURLGenerator $urlGenerator,
|
private IURLGenerator $urlGenerator,
|
||||||
CardService $cardService,
|
private CardService $cardService,
|
||||||
IConfig $config
|
private IConfig $config,
|
||||||
) {
|
) {
|
||||||
parent::__construct($AppName, $request);
|
parent::__construct($AppName, $request);
|
||||||
|
|
||||||
$this->permissionService = $permissionService;
|
|
||||||
$this->initialState = $initialStateService;
|
$this->initialState = $initialStateService;
|
||||||
$this->configService = $configService;
|
|
||||||
$this->eventDispatcher = $eventDispatcher;
|
|
||||||
$this->cardMapper = $cardMapper;
|
|
||||||
$this->urlGenerator = $urlGenerator;
|
|
||||||
$this->cardService = $cardService;
|
|
||||||
$this->config = $config;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -34,15 +34,12 @@ use OCP\AppFramework\OCSController;
|
|||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
class SearchController extends OCSController {
|
class SearchController extends OCSController {
|
||||||
|
public function __construct(
|
||||||
/**
|
string $appName,
|
||||||
* @var SearchService
|
IRequest $request,
|
||||||
*/
|
private SearchService $searchService,
|
||||||
private $searchService;
|
) {
|
||||||
|
|
||||||
public function __construct(string $appName, IRequest $request, SearchService $searchService) {
|
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->searchService = $searchService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -24,30 +24,23 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Service\SessionService;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Service\PermissionService;
|
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
|
use OCA\Deck\Service\PermissionService;
|
||||||
|
use OCA\Deck\Service\SessionService;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\AppFramework\OCSController;
|
use OCP\AppFramework\OCSController;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCA\Deck\Db\Acl;
|
|
||||||
|
|
||||||
class SessionController extends OCSController {
|
class SessionController extends OCSController {
|
||||||
private SessionService $sessionService;
|
|
||||||
private PermissionService $permissionService;
|
|
||||||
private BoardMapper $boardMapper;
|
|
||||||
|
|
||||||
public function __construct($appName,
|
public function __construct($appName,
|
||||||
IRequest $request,
|
IRequest $request,
|
||||||
SessionService $sessionService,
|
private SessionService $sessionService,
|
||||||
PermissionService $permissionService,
|
private PermissionService $permissionService,
|
||||||
BoardMapper $boardMapper
|
private BoardMapper $boardMapper,
|
||||||
) {
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->sessionService = $sessionService;
|
|
||||||
$this->permissionService = $permissionService;
|
|
||||||
$this->boardMapper = $boardMapper;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -24,13 +24,13 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
use OCA\Deck\Service\BoardService;
|
||||||
|
use OCA\Deck\Service\StackService;
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCP\AppFramework\ApiController;
|
use OCP\AppFramework\ApiController;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCA\Deck\Service\StackService;
|
|
||||||
use OCA\Deck\Service\BoardService;
|
|
||||||
use Sabre\HTTP\Util;
|
use Sabre\HTTP\Util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -39,18 +39,16 @@ use Sabre\HTTP\Util;
|
|||||||
* @package OCA\Deck\Controller
|
* @package OCA\Deck\Controller
|
||||||
*/
|
*/
|
||||||
class StackApiController extends ApiController {
|
class StackApiController extends ApiController {
|
||||||
private $boardService;
|
|
||||||
private $stackService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $appName
|
* @param string $appName
|
||||||
* @param IRequest $request
|
|
||||||
* @param StackService $stackService
|
|
||||||
*/
|
*/
|
||||||
public function __construct($appName, IRequest $request, StackService $stackService, BoardService $boardService) {
|
public function __construct(
|
||||||
|
$appName,
|
||||||
|
IRequest $request,
|
||||||
|
private StackService $stackService,
|
||||||
|
private BoardService $boardService,
|
||||||
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->stackService = $stackService;
|
|
||||||
$this->boardService = $boardService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -25,17 +25,18 @@ namespace OCA\Deck\Controller;
|
|||||||
|
|
||||||
use OCA\Deck\Service\StackService;
|
use OCA\Deck\Service\StackService;
|
||||||
|
|
||||||
use OCP\IRequest;
|
|
||||||
|
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
|
|
||||||
|
use OCP\IRequest;
|
||||||
|
|
||||||
class StackController extends Controller {
|
class StackController extends Controller {
|
||||||
private $userId;
|
public function __construct(
|
||||||
private $stackService;
|
string $appName,
|
||||||
public function __construct($appName, IRequest $request, StackService $stackService, $userId) {
|
IRequest $request,
|
||||||
|
private StackService $stackService,
|
||||||
|
private $userId,
|
||||||
|
) {
|
||||||
parent::__construct($appName, $request);
|
parent::__construct($appName, $request);
|
||||||
$this->userId = $userId;
|
|
||||||
$this->stackService = $stackService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -24,10 +24,10 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Cron;
|
namespace OCA\Deck\Cron;
|
||||||
|
|
||||||
use OCP\AppFramework\Utility\ITimeFactory;
|
|
||||||
use OCP\BackgroundJob\Job;
|
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
|
use OCP\BackgroundJob\Job;
|
||||||
|
|
||||||
class CardDescriptionActivity extends Job {
|
class CardDescriptionActivity extends Job {
|
||||||
|
|
||||||
|
|||||||
@@ -24,14 +24,14 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Cron;
|
namespace OCA\Deck\Cron;
|
||||||
|
|
||||||
use OCP\AppFramework\Utility\ITimeFactory;
|
|
||||||
use OCP\BackgroundJob\TimedJob;
|
|
||||||
use OCA\Deck\Db\AttachmentMapper;
|
use OCA\Deck\Db\AttachmentMapper;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\InvalidAttachmentType;
|
use OCA\Deck\InvalidAttachmentType;
|
||||||
use OCA\Deck\Service\AttachmentService;
|
use OCA\Deck\Service\AttachmentService;
|
||||||
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
use OCP\BackgroundJob\IJob;
|
use OCP\BackgroundJob\IJob;
|
||||||
|
use OCP\BackgroundJob\TimedJob;
|
||||||
|
|
||||||
class DeleteCron extends TimedJob {
|
class DeleteCron extends TimedJob {
|
||||||
|
|
||||||
|
|||||||
@@ -23,12 +23,12 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Cron;
|
namespace OCA\Deck\Cron;
|
||||||
|
|
||||||
use OCP\AppFramework\Utility\ITimeFactory;
|
|
||||||
use OCP\BackgroundJob\Job;
|
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
|
use OCP\BackgroundJob\Job;
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
|
|
||||||
class ScheduledNotifications extends Job {
|
class ScheduledNotifications extends Job {
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ class SessionsCleanup extends TimedJob {
|
|||||||
|
|
||||||
|
|
||||||
public function __construct(ITimeFactory $time,
|
public function __construct(ITimeFactory $time,
|
||||||
SessionService $sessionService,
|
SessionService $sessionService,
|
||||||
ILogger $logger) {
|
ILogger $logger) {
|
||||||
parent::__construct($time);
|
parent::__construct($time);
|
||||||
$this->sessionService = $sessionService;
|
$this->sessionService = $sessionService;
|
||||||
$this->logger = $logger;
|
$this->logger = $logger;
|
||||||
|
|||||||
@@ -29,8 +29,8 @@ use OCP\AppFramework\Db\DoesNotExistException;
|
|||||||
use OCP\AppFramework\Db\QBMapper;
|
use OCP\AppFramework\Db\QBMapper;
|
||||||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
use OCP\IUserManager;
|
|
||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
|
use OCP\IUserManager;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
||||||
/** @template-extends QBMapper<Board> */
|
/** @template-extends QBMapper<Board> */
|
||||||
@@ -106,36 +106,28 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function findBoardIds(string $userId): array {
|
public function findBoardIds(string $userId): array {
|
||||||
// Owned by the user
|
|
||||||
$qb = $this->db->getQueryBuilder();
|
$qb = $this->db->getQueryBuilder();
|
||||||
$qb->selectDistinct('b.id')
|
$qb->selectDistinct('b.id')
|
||||||
->from($this->getTableName(), 'b')
|
->from($this->getTableName(), 'b')
|
||||||
->where($qb->expr()->andX(
|
->leftJoin('b', 'deck_board_acl', 'acl', $qb->expr()->eq('b.id', 'acl.board_id'));
|
||||||
$qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)),
|
|
||||||
));
|
|
||||||
$result = $qb->executeQuery();
|
|
||||||
$ownerBoards = array_map(function (string $id) {
|
|
||||||
return (int)$id;
|
|
||||||
}, $result->fetchAll(\PDO::FETCH_COLUMN));
|
|
||||||
$result->closeCursor();
|
|
||||||
|
|
||||||
$qb = $this->db->getQueryBuilder();
|
// Owned by the user
|
||||||
$qb->selectDistinct('b.id')
|
$qb->where($qb->expr()->andX(
|
||||||
->from($this->getTableName(), 'b')
|
$qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)),
|
||||||
->innerJoin('b', 'deck_board_acl', 'acl', $qb->expr()->eq('b.id', 'acl.board_id'));
|
));
|
||||||
|
|
||||||
// Shared to the user
|
// Shared to the user
|
||||||
$qb->where($qb->expr()->andX(
|
$qb->orWhere($qb->expr()->andX(
|
||||||
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_USER, IQueryBuilder::PARAM_INT)),
|
|
||||||
$qb->expr()->eq('acl.participant', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)),
|
$qb->expr()->eq('acl.participant', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)),
|
||||||
|
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_USER, IQueryBuilder::PARAM_INT)),
|
||||||
));
|
));
|
||||||
|
|
||||||
// Shared to user groups of the user
|
// Shared to user groups of the user
|
||||||
$groupIds = $this->groupManager->getUserGroupIds($this->userManager->get($userId));
|
$groupIds = $this->groupManager->getUserGroupIds($this->userManager->get($userId));
|
||||||
if (count($groupIds) !== 0) {
|
if (count($groupIds) !== 0) {
|
||||||
$qb->orWhere($qb->expr()->andX(
|
$qb->orWhere($qb->expr()->andX(
|
||||||
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_GROUP, IQueryBuilder::PARAM_INT)),
|
|
||||||
$qb->expr()->in('acl.participant', $qb->createNamedParameter($groupIds, IQueryBuilder::PARAM_STR_ARRAY)),
|
$qb->expr()->in('acl.participant', $qb->createNamedParameter($groupIds, IQueryBuilder::PARAM_STR_ARRAY)),
|
||||||
|
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_GROUP, IQueryBuilder::PARAM_INT)),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,21 +135,19 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
|
|||||||
$circles = $this->circlesService->getUserCircles($userId);
|
$circles = $this->circlesService->getUserCircles($userId);
|
||||||
if (count($circles) !== 0) {
|
if (count($circles) !== 0) {
|
||||||
$qb->orWhere($qb->expr()->andX(
|
$qb->orWhere($qb->expr()->andX(
|
||||||
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_CIRCLE, IQueryBuilder::PARAM_INT)),
|
|
||||||
$qb->expr()->in('acl.participant', $qb->createNamedParameter($circles, IQueryBuilder::PARAM_STR_ARRAY)),
|
$qb->expr()->in('acl.participant', $qb->createNamedParameter($circles, IQueryBuilder::PARAM_STR_ARRAY)),
|
||||||
|
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_CIRCLE, IQueryBuilder::PARAM_INT)),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = $qb->executeQuery();
|
$result = $qb->executeQuery();
|
||||||
$sharedBoards = array_map(function (string $id) {
|
return array_map(function (string $id) {
|
||||||
return (int)$id;
|
return (int)$id;
|
||||||
}, $result->fetchAll(\PDO::FETCH_COLUMN));
|
}, $result->fetchAll(\PDO::FETCH_COLUMN));
|
||||||
$result->closeCursor();
|
|
||||||
return array_unique(array_merge($ownerBoards, $sharedBoards));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function findAllForUser(string $userId, ?int $since = null, bool $includeArchived = true, ?int $before = null,
|
public function findAllForUser(string $userId, ?int $since = null, bool $includeArchived = true, ?int $before = null,
|
||||||
?string $term = null): array {
|
?string $term = null): array {
|
||||||
$useCache = ($since === -1 && $includeArchived === true && $before === null && $term === null);
|
$useCache = ($since === -1 && $includeArchived === true && $before === null && $term === null);
|
||||||
if (!isset($this->userBoardCache[$userId]) || !$useCache) {
|
if (!isset($this->userBoardCache[$userId]) || !$useCache) {
|
||||||
$groups = $this->groupManager->getUserGroupIds(
|
$groups = $this->groupManager->getUserGroupIds(
|
||||||
@@ -196,7 +186,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
|
|||||||
* Find all boards for a given user
|
* Find all boards for a given user
|
||||||
*/
|
*/
|
||||||
public function findAllByUser(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
public function findAllByUser(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
||||||
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
|
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
|
||||||
// FIXME this used to be a UNION to get boards owned by $userId and the user shares in one single query
|
// FIXME this used to be a UNION to get boards owned by $userId and the user shares in one single query
|
||||||
// Is it possible with the query builder?
|
// Is it possible with the query builder?
|
||||||
$qb = $this->db->getQueryBuilder();
|
$qb = $this->db->getQueryBuilder();
|
||||||
@@ -303,7 +293,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
|
|||||||
* Find all boards for a given user
|
* Find all boards for a given user
|
||||||
*/
|
*/
|
||||||
public function findAllByGroups(string $userId, array $groups, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
public function findAllByGroups(string $userId, array $groups, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
||||||
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
|
bool $includeArchived = true, ?int $before = null, ?string $term = null): array {
|
||||||
if (count($groups) <= 0) {
|
if (count($groups) <= 0) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
@@ -357,7 +347,7 @@ class BoardMapper extends QBMapper implements IPermissionMapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function findAllByCircles(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
public function findAllByCircles(string $userId, ?int $limit = null, ?int $offset = null, ?int $since = null,
|
||||||
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
|
bool $includeArchived = true, ?int $before = null, ?string $term = null) {
|
||||||
$circles = $this->circlesService->getUserCircles($userId);
|
$circles = $this->circlesService->getUserCircles($userId);
|
||||||
if (count($circles) === 0) {
|
if (count($circles) === 0) {
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
@@ -23,8 +23,8 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Db;
|
namespace OCA\Deck\Db;
|
||||||
|
|
||||||
use OCP\ICacheFactory;
|
|
||||||
use OCP\ICache;
|
use OCP\ICache;
|
||||||
|
use OCP\ICacheFactory;
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ use OCP\AppFramework\Db\Entity;
|
|||||||
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
||||||
use OCP\Cache\CappedMemoryCache;
|
use OCP\Cache\CappedMemoryCache;
|
||||||
use OCP\DB\QueryBuilder\IQueryBuilder;
|
use OCP\DB\QueryBuilder\IQueryBuilder;
|
||||||
use OCP\IDBConnection;
|
|
||||||
use OCP\ICache;
|
use OCP\ICache;
|
||||||
use OCP\ICacheFactory;
|
use OCP\ICacheFactory;
|
||||||
|
use OCP\IDBConnection;
|
||||||
|
|
||||||
/** @template-extends DeckMapper<Stack> */
|
/** @template-extends DeckMapper<Stack> */
|
||||||
class StackMapper extends DeckMapper implements IPermissionMapper {
|
class StackMapper extends DeckMapper implements IPermissionMapper {
|
||||||
|
|||||||
@@ -27,13 +27,13 @@ declare(strict_types=1);
|
|||||||
namespace OCA\Deck\Listeners;
|
namespace OCA\Deck\Listeners;
|
||||||
|
|
||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
use OCA\Deck\NotifyPushEvents;
|
|
||||||
use OCA\Deck\Event\AAclEvent;
|
use OCA\Deck\Event\AAclEvent;
|
||||||
use OCA\Deck\Event\ACardEvent;
|
use OCA\Deck\Event\ACardEvent;
|
||||||
use OCA\Deck\Event\BoardUpdatedEvent;
|
use OCA\Deck\Event\BoardUpdatedEvent;
|
||||||
use OCA\Deck\Event\CardUpdatedEvent;
|
use OCA\Deck\Event\CardUpdatedEvent;
|
||||||
use OCA\Deck\Event\SessionClosedEvent;
|
use OCA\Deck\Event\SessionClosedEvent;
|
||||||
use OCA\Deck\Event\SessionCreatedEvent;
|
use OCA\Deck\Event\SessionCreatedEvent;
|
||||||
|
use OCA\Deck\NotifyPushEvents;
|
||||||
use OCA\Deck\Service\SessionService;
|
use OCA\Deck\Service\SessionService;
|
||||||
use OCA\NotifyPush\Queue\IQueue;
|
use OCA\NotifyPush\Queue\IQueue;
|
||||||
use OCP\EventDispatcher\Event;
|
use OCP\EventDispatcher\Event;
|
||||||
|
|||||||
@@ -24,16 +24,16 @@
|
|||||||
namespace OCA\Deck\Middleware;
|
namespace OCA\Deck\Middleware;
|
||||||
|
|
||||||
use OCA\Deck\Controller\PageController;
|
use OCA\Deck\Controller\PageController;
|
||||||
use OCA\Deck\StatusException;
|
|
||||||
use OCA\Deck\Exceptions\ConflictException;
|
use OCA\Deck\Exceptions\ConflictException;
|
||||||
|
use OCA\Deck\StatusException;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
use OCP\AppFramework\Middleware;
|
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
|
use OCP\AppFramework\Middleware;
|
||||||
use OCP\AppFramework\OCS\OCSException;
|
use OCP\AppFramework\OCS\OCSException;
|
||||||
use OCP\AppFramework\OCSController;
|
use OCP\AppFramework\OCSController;
|
||||||
|
use OCP\IConfig;
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\IConfig;
|
|
||||||
|
|
||||||
class ExceptionMiddleware extends Middleware {
|
class ExceptionMiddleware extends Middleware {
|
||||||
|
|
||||||
|
|||||||
@@ -38,9 +38,9 @@ class BoardReferenceProvider implements IReferenceProvider {
|
|||||||
private IL10N $l10n;
|
private IL10N $l10n;
|
||||||
|
|
||||||
public function __construct(BoardService $boardService,
|
public function __construct(BoardService $boardService,
|
||||||
IURLGenerator $urlGenerator,
|
IURLGenerator $urlGenerator,
|
||||||
IL10N $l10n,
|
IL10N $l10n,
|
||||||
?string $userId) {
|
?string $userId) {
|
||||||
$this->urlGenerator = $urlGenerator;
|
$this->urlGenerator = $urlGenerator;
|
||||||
$this->boardService = $boardService;
|
$this->boardService = $boardService;
|
||||||
$this->userId = $userId;
|
$this->userId = $userId;
|
||||||
|
|||||||
@@ -47,11 +47,11 @@ class CardReferenceProvider extends ADiscoverableReferenceProvider implements IS
|
|||||||
private IL10N $l10n;
|
private IL10N $l10n;
|
||||||
|
|
||||||
public function __construct(CardService $cardService,
|
public function __construct(CardService $cardService,
|
||||||
BoardService $boardService,
|
BoardService $boardService,
|
||||||
StackService $stackService,
|
StackService $stackService,
|
||||||
IURLGenerator $urlGenerator,
|
IURLGenerator $urlGenerator,
|
||||||
IL10N $l10n,
|
IL10N $l10n,
|
||||||
?string $userId) {
|
?string $userId) {
|
||||||
$this->cardService = $cardService;
|
$this->cardService = $cardService;
|
||||||
$this->urlGenerator = $urlGenerator;
|
$this->urlGenerator = $urlGenerator;
|
||||||
$this->boardService = $boardService;
|
$this->boardService = $boardService;
|
||||||
|
|||||||
@@ -48,12 +48,12 @@ class CommentReferenceProvider implements IReferenceProvider {
|
|||||||
private CommentService $commentService;
|
private CommentService $commentService;
|
||||||
|
|
||||||
public function __construct(CardService $cardService,
|
public function __construct(CardService $cardService,
|
||||||
BoardService $boardService,
|
BoardService $boardService,
|
||||||
StackService $stackService,
|
StackService $stackService,
|
||||||
CommentService $commentService,
|
CommentService $commentService,
|
||||||
IURLGenerator $urlGenerator,
|
IURLGenerator $urlGenerator,
|
||||||
IL10N $l10n,
|
IL10N $l10n,
|
||||||
?string $userId) {
|
?string $userId) {
|
||||||
$this->cardService = $cardService;
|
$this->cardService = $cardService;
|
||||||
$this->urlGenerator = $urlGenerator;
|
$this->urlGenerator = $urlGenerator;
|
||||||
$this->boardService = $boardService;
|
$this->boardService = $boardService;
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ namespace OCA\Deck\Service;
|
|||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\AppInfo\Application;
|
use OCA\Deck\AppInfo\Application;
|
||||||
use OCA\Deck\BadRequestException;
|
use OCA\Deck\BadRequestException;
|
||||||
|
use OCA\Deck\Cache\AttachmentCacheHelper;
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\Attachment;
|
use OCA\Deck\Db\Attachment;
|
||||||
use OCA\Deck\Db\AttachmentMapper;
|
use OCA\Deck\Db\AttachmentMapper;
|
||||||
@@ -34,7 +35,6 @@ use OCA\Deck\Db\ChangeHelper;
|
|||||||
use OCA\Deck\InvalidAttachmentType;
|
use OCA\Deck\InvalidAttachmentType;
|
||||||
use OCA\Deck\NoPermissionException;
|
use OCA\Deck\NoPermissionException;
|
||||||
use OCA\Deck\NotFoundException;
|
use OCA\Deck\NotFoundException;
|
||||||
use OCA\Deck\Cache\AttachmentCacheHelper;
|
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCA\Deck\Validators\AttachmentServiceValidator;
|
use OCA\Deck\Validators\AttachmentServiceValidator;
|
||||||
use OCP\AppFramework\Db\IMapperException;
|
use OCP\AppFramework\Db\IMapperException;
|
||||||
|
|||||||
@@ -27,13 +27,17 @@ namespace OCA\Deck\Service;
|
|||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\Activity\ChangeSet;
|
use OCA\Deck\Activity\ChangeSet;
|
||||||
use OCA\Deck\AppInfo\Application;
|
use OCA\Deck\AppInfo\Application;
|
||||||
|
use OCA\Deck\BadRequestException;
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\AclMapper;
|
use OCA\Deck\Db\AclMapper;
|
||||||
use OCA\Deck\Db\AssignmentMapper;
|
use OCA\Deck\Db\AssignmentMapper;
|
||||||
|
use OCA\Deck\Db\Board;
|
||||||
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Db\ChangeHelper;
|
use OCA\Deck\Db\ChangeHelper;
|
||||||
use OCA\Deck\Db\IPermissionMapper;
|
use OCA\Deck\Db\IPermissionMapper;
|
||||||
use OCA\Deck\Db\Label;
|
use OCA\Deck\Db\Label;
|
||||||
|
use OCA\Deck\Db\LabelMapper;
|
||||||
use OCA\Deck\Db\Session;
|
use OCA\Deck\Db\Session;
|
||||||
use OCA\Deck\Db\SessionMapper;
|
use OCA\Deck\Db\SessionMapper;
|
||||||
use OCA\Deck\Db\Stack;
|
use OCA\Deck\Db\Stack;
|
||||||
@@ -41,24 +45,20 @@ use OCA\Deck\Db\StackMapper;
|
|||||||
use OCA\Deck\Event\AclCreatedEvent;
|
use OCA\Deck\Event\AclCreatedEvent;
|
||||||
use OCA\Deck\Event\AclDeletedEvent;
|
use OCA\Deck\Event\AclDeletedEvent;
|
||||||
use OCA\Deck\Event\AclUpdatedEvent;
|
use OCA\Deck\Event\AclUpdatedEvent;
|
||||||
|
use OCA\Deck\Event\BoardUpdatedEvent;
|
||||||
use OCA\Deck\NoPermissionException;
|
use OCA\Deck\NoPermissionException;
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
|
use OCA\Deck\Validators\BoardServiceValidator;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
||||||
|
use OCP\DB\Exception as DbException;
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
use OCP\DB\Exception as DbException;
|
|
||||||
use OCA\Deck\Db\Board;
|
|
||||||
use OCA\Deck\Db\BoardMapper;
|
|
||||||
use OCA\Deck\Db\LabelMapper;
|
|
||||||
use OCP\IUserManager;
|
|
||||||
use OCA\Deck\BadRequestException;
|
|
||||||
use OCA\Deck\Event\BoardUpdatedEvent;
|
|
||||||
use OCA\Deck\Validators\BoardServiceValidator;
|
|
||||||
use OCP\IURLGenerator;
|
use OCP\IURLGenerator;
|
||||||
|
use OCP\IUserManager;
|
||||||
use OCP\Server;
|
use OCP\Server;
|
||||||
use Psr\Container\ContainerExceptionInterface;
|
use Psr\Container\ContainerExceptionInterface;
|
||||||
use Psr\Container\NotFoundExceptionInterface;
|
use Psr\Container\NotFoundExceptionInterface;
|
||||||
@@ -145,7 +145,7 @@ class BoardService {
|
|||||||
* Get all boards that are shared with a user, their groups or circles
|
* Get all boards that are shared with a user, their groups or circles
|
||||||
*/
|
*/
|
||||||
public function getUserBoards(?int $since = null, bool $includeArchived = true, ?int $before = null,
|
public function getUserBoards(?int $since = null, bool $includeArchived = true, ?int $before = null,
|
||||||
?string $term = null): array {
|
?string $term = null): array {
|
||||||
return $this->boardMapper->findAllForUser($this->userId, $since, $includeArchived, $before, $term);
|
return $this->boardMapper->findAllForUser($this->userId, $since, $includeArchived, $before, $term);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,13 +28,16 @@ namespace OCA\Deck\Service;
|
|||||||
|
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\Activity\ChangeSet;
|
use OCA\Deck\Activity\ChangeSet;
|
||||||
|
use OCA\Deck\BadRequestException;
|
||||||
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\Assignment;
|
use OCA\Deck\Db\Assignment;
|
||||||
use OCA\Deck\Db\AssignmentMapper;
|
use OCA\Deck\Db\AssignmentMapper;
|
||||||
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Db\Acl;
|
|
||||||
use OCA\Deck\Db\ChangeHelper;
|
use OCA\Deck\Db\ChangeHelper;
|
||||||
use OCA\Deck\Db\Label;
|
use OCA\Deck\Db\Label;
|
||||||
|
use OCA\Deck\Db\LabelMapper;
|
||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
use OCA\Deck\Event\CardCreatedEvent;
|
use OCA\Deck\Event\CardCreatedEvent;
|
||||||
use OCA\Deck\Event\CardDeletedEvent;
|
use OCA\Deck\Event\CardDeletedEvent;
|
||||||
@@ -42,16 +45,13 @@ use OCA\Deck\Event\CardUpdatedEvent;
|
|||||||
use OCA\Deck\Model\CardDetails;
|
use OCA\Deck\Model\CardDetails;
|
||||||
use OCA\Deck\NoPermissionException;
|
use OCA\Deck\NoPermissionException;
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
|
||||||
use OCA\Deck\Db\LabelMapper;
|
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCA\Deck\BadRequestException;
|
|
||||||
use OCA\Deck\Validators\CardServiceValidator;
|
use OCA\Deck\Validators\CardServiceValidator;
|
||||||
use OCP\Comments\ICommentsManager;
|
use OCP\Comments\ICommentsManager;
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\IUserManager;
|
|
||||||
use OCP\IURLGenerator;
|
use OCP\IURLGenerator;
|
||||||
|
use OCP\IUserManager;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
||||||
class CardService {
|
class CardService {
|
||||||
|
|||||||
@@ -24,10 +24,10 @@
|
|||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
use OCA\Deck\AppInfo\Application;
|
use OCA\Deck\AppInfo\Application;
|
||||||
|
use OCA\Deck\BadRequestException;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
use OCA\Deck\BadRequestException;
|
|
||||||
use OCP\PreConditionNotMetException;
|
use OCP\PreConditionNotMetException;
|
||||||
|
|
||||||
class DefaultBoardService {
|
class DefaultBoardService {
|
||||||
@@ -39,13 +39,13 @@ class DefaultBoardService {
|
|||||||
private $l10n;
|
private $l10n;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
IL10N $l10n,
|
IL10N $l10n,
|
||||||
BoardMapper $boardMapper,
|
BoardMapper $boardMapper,
|
||||||
BoardService $boardService,
|
BoardService $boardService,
|
||||||
StackService $stackService,
|
StackService $stackService,
|
||||||
CardService $cardService,
|
CardService $cardService,
|
||||||
IConfig $config
|
IConfig $config
|
||||||
) {
|
) {
|
||||||
$this->boardService = $boardService;
|
$this->boardService = $boardService;
|
||||||
$this->stackService = $stackService;
|
$this->stackService = $stackService;
|
||||||
$this->cardService = $cardService;
|
$this->cardService = $cardService;
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ namespace OCA\Deck\Service;
|
|||||||
|
|
||||||
use OCA\Deck\Db\Attachment;
|
use OCA\Deck\Db\Attachment;
|
||||||
use OCA\Deck\Db\AttachmentMapper;
|
use OCA\Deck\Db\AttachmentMapper;
|
||||||
use OCA\Deck\StatusException;
|
|
||||||
use OCA\Deck\Exceptions\ConflictException;
|
use OCA\Deck\Exceptions\ConflictException;
|
||||||
|
use OCA\Deck\StatusException;
|
||||||
use OCP\AppFramework\Http\StreamResponse;
|
use OCP\AppFramework\Http\StreamResponse;
|
||||||
use OCP\Files\IAppData;
|
use OCP\Files\IAppData;
|
||||||
use OCP\Files\IMimeTypeDetector;
|
use OCP\Files\IMimeTypeDetector;
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ class BoardImportService {
|
|||||||
private ICommentsManager $commentsManager;
|
private ICommentsManager $commentsManager;
|
||||||
private IEventDispatcher $eventDispatcher;
|
private IEventDispatcher $eventDispatcher;
|
||||||
private string $system = '';
|
private string $system = '';
|
||||||
private ?ABoardImportService $systemInstance;
|
private ?ABoardImportService $systemInstance = null;
|
||||||
private array $allowedSystems = [];
|
private array $allowedSystems = [];
|
||||||
/**
|
/**
|
||||||
* Data object created from config JSON
|
* Data object created from config JSON
|
||||||
|
|||||||
@@ -23,12 +23,12 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
|
use OCA\Deck\BadRequestException;
|
||||||
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\ChangeHelper;
|
use OCA\Deck\Db\ChangeHelper;
|
||||||
use OCA\Deck\Db\Label;
|
use OCA\Deck\Db\Label;
|
||||||
use OCA\Deck\Db\Acl;
|
|
||||||
use OCA\Deck\Db\LabelMapper;
|
use OCA\Deck\Db\LabelMapper;
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
use OCA\Deck\BadRequestException;
|
|
||||||
use OCA\Deck\Validators\LabelServiceValidator;
|
use OCA\Deck\Validators\LabelServiceValidator;
|
||||||
|
|
||||||
class LabelService {
|
class LabelService {
|
||||||
@@ -50,7 +50,7 @@ class LabelService {
|
|||||||
BoardService $boardService,
|
BoardService $boardService,
|
||||||
ChangeHelper $changeHelper,
|
ChangeHelper $changeHelper,
|
||||||
LabelServiceValidator $labelServiceValidator
|
LabelServiceValidator $labelServiceValidator
|
||||||
) {
|
) {
|
||||||
$this->labelMapper = $labelMapper;
|
$this->labelMapper = $labelMapper;
|
||||||
$this->permissionService = $permissionService;
|
$this->permissionService = $permissionService;
|
||||||
$this->boardService = $boardService;
|
$this->boardService = $boardService;
|
||||||
|
|||||||
@@ -29,11 +29,11 @@ namespace OCA\Deck\Service;
|
|||||||
|
|
||||||
use OCA\Deck\Db\AssignmentMapper;
|
use OCA\Deck\Db\AssignmentMapper;
|
||||||
use OCA\Deck\Db\Board;
|
use OCA\Deck\Db\Board;
|
||||||
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
|
use OCA\Deck\Db\LabelMapper;
|
||||||
use OCA\Deck\Model\CardDetails;
|
use OCA\Deck\Model\CardDetails;
|
||||||
use OCP\Comments\ICommentsManager;
|
use OCP\Comments\ICommentsManager;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
|
||||||
use OCA\Deck\Db\LabelMapper;
|
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
|
|
||||||
class OverviewService {
|
class OverviewService {
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
use OCP\Cache\CappedMemoryCache;
|
|
||||||
use OCA\Circles\Model\Member;
|
use OCA\Circles\Model\Member;
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\AclMapper;
|
use OCA\Deck\Db\AclMapper;
|
||||||
@@ -34,6 +33,7 @@ use OCA\Deck\Db\User;
|
|||||||
use OCA\Deck\NoPermissionException;
|
use OCA\Deck\NoPermissionException;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
||||||
|
use OCP\Cache\CappedMemoryCache;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
|
|||||||
@@ -26,12 +26,12 @@ namespace OCA\Deck\Service;
|
|||||||
|
|
||||||
use OCA\Deck\Db\Session;
|
use OCA\Deck\Db\Session;
|
||||||
use OCA\Deck\Db\SessionMapper;
|
use OCA\Deck\Db\SessionMapper;
|
||||||
use OCA\Deck\Event\SessionCreatedEvent;
|
|
||||||
use OCA\Deck\Event\SessionClosedEvent;
|
use OCA\Deck\Event\SessionClosedEvent;
|
||||||
|
use OCA\Deck\Event\SessionCreatedEvent;
|
||||||
|
use OCA\NotifyPush\Queue\IQueue;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
use OCP\AppFramework\Utility\ITimeFactory;
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use OCA\NotifyPush\Queue\IQueue;
|
|
||||||
use OCP\Security\ISecureRandom;
|
use OCP\Security\ISecureRandom;
|
||||||
|
|
||||||
class SessionService {
|
class SessionService {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace OCA\Deck\Validators;
|
namespace OCA\Deck\Validators;
|
||||||
|
|
||||||
|
|||||||
67142
package-lock.json
generated
67142
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
212
package.json
212
package.json
@@ -1,108 +1,108 @@
|
|||||||
{
|
{
|
||||||
"name": "deck",
|
"name": "deck",
|
||||||
"description": "",
|
"description": "",
|
||||||
"version": "1.10.0",
|
"version": "1.11.0-dev",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "Julius Härtl",
|
"name": "Julius Härtl",
|
||||||
"email": "jus@bitgrid.net",
|
"email": "jus@bitgrid.net",
|
||||||
"role": "Developer"
|
"role": "Developer"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Michael Weimann",
|
"name": "Michael Weimann",
|
||||||
"email": "mail@michael-weimann.eu",
|
"email": "mail@michael-weimann.eu",
|
||||||
"role": "Developer"
|
"role": "Developer"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"license": "agpl",
|
"license": "agpl",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "NODE_ENV=production webpack --progress --config webpack.js",
|
"build": "NODE_ENV=production webpack --progress --config webpack.js",
|
||||||
"dev": "NODE_ENV=development webpack --progress --config webpack.js",
|
"dev": "NODE_ENV=development webpack --progress --config webpack.js",
|
||||||
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
|
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
|
||||||
"serve": "webpack serve --node-env development --allowed-hosts all --config webpack.js",
|
"serve": "webpack serve --node-env development --allowed-hosts all --config webpack.js",
|
||||||
"lint": "eslint --ext .js,.vue src",
|
"lint": "eslint --ext .js,.vue src",
|
||||||
"lint:fix": "eslint --ext .js,.vue src --fix",
|
"lint:fix": "eslint --ext .js,.vue src --fix",
|
||||||
"lint:cypress": "eslint --ext .js cypress",
|
"lint:cypress": "eslint --ext .js cypress",
|
||||||
"stylelint": "stylelint src",
|
"stylelint": "stylelint src",
|
||||||
"stylelint:fix": "stylelint src --fix",
|
"stylelint:fix": "stylelint src --fix",
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
"test:coverage": "jest --coverage"
|
"test:coverage": "jest --coverage"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/polyfill": "^7.12.1",
|
"@babel/polyfill": "^7.12.1",
|
||||||
"@babel/runtime": "^7.21.5",
|
"@babel/runtime": "^7.22.6",
|
||||||
"@nextcloud/auth": "^2.0.0",
|
"@nextcloud/auth": "^2.1.0",
|
||||||
"@nextcloud/axios": "^2.3.0",
|
"@nextcloud/axios": "^2.4.0",
|
||||||
"@nextcloud/dialogs": "^4.0.1",
|
"@nextcloud/dialogs": "^4.1.0",
|
||||||
"@nextcloud/event-bus": "^3.0.2",
|
"@nextcloud/event-bus": "^3.1.0",
|
||||||
"@nextcloud/files": "^2.1.0",
|
"@nextcloud/files": "^2.1.0",
|
||||||
"@nextcloud/initial-state": "^2.0.0",
|
"@nextcloud/initial-state": "^2.1.0",
|
||||||
"@nextcloud/l10n": "^2.1.0",
|
"@nextcloud/l10n": "^2.2.0",
|
||||||
"@nextcloud/moment": "^1.2.1",
|
"@nextcloud/moment": "^1.2.1",
|
||||||
"@nextcloud/notify_push": "^1.1.3",
|
"@nextcloud/notify_push": "^1.1.3",
|
||||||
"@nextcloud/router": "^2.1.1",
|
"@nextcloud/router": "^2.1.2",
|
||||||
"@nextcloud/vue": "^7.11.4",
|
"@nextcloud/vue": "^7.12.1",
|
||||||
"blueimp-md5": "^2.19.0",
|
"blueimp-md5": "^2.19.0",
|
||||||
"dompurify": "^3.0.3",
|
"dompurify": "^3.0.5",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"markdown-it": "^13.0.1",
|
"markdown-it": "^13.0.1",
|
||||||
"markdown-it-link-attributes": "^4.0.1",
|
"markdown-it-link-attributes": "^4.0.1",
|
||||||
"markdown-it-task-checkbox": "^1.0.6",
|
"markdown-it-task-checkbox": "^1.0.6",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"nextcloud-vue-collections": "^0.11.1",
|
"nextcloud-vue-collections": "^0.11.1",
|
||||||
"p-queue": "^7.3.4",
|
"p-queue": "^7.3.4",
|
||||||
"url-search-params-polyfill": "^8.1.1",
|
"url-search-params-polyfill": "^8.2.4",
|
||||||
"vue": "^2.7.14",
|
"vue": "^2.7.14",
|
||||||
"vue-at": "^2.5.1",
|
"vue-at": "^2.5.1",
|
||||||
"vue-click-outside": "^1.1.0",
|
"vue-click-outside": "^1.1.0",
|
||||||
"vue-easymde": "^2.0.0",
|
"vue-easymde": "^2.0.0",
|
||||||
"vue-infinite-loading": "^2.4.5",
|
"vue-infinite-loading": "^2.4.5",
|
||||||
"vue-material-design-icons": "^5.2.0",
|
"vue-material-design-icons": "^5.2.0",
|
||||||
"vue-router": "^3.6.5",
|
"vue-router": "^3.6.5",
|
||||||
"vue-smooth-dnd": "^0.8.1",
|
"vue-smooth-dnd": "^0.8.1",
|
||||||
"vuex": "^3.6.2",
|
"vuex": "^3.6.2",
|
||||||
"vuex-router-sync": "^5.0.0"
|
"vuex-router-sync": "^5.0.0"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"extends @nextcloud/browserslist-config"
|
"extends @nextcloud/browserslist-config"
|
||||||
],
|
],
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^16.0.0",
|
"node": "^20.0.0",
|
||||||
"npm": "^7.0.0 || ^8.0.0"
|
"npm": "^9.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@nextcloud/babel-config": "^1.0.0",
|
"@nextcloud/babel-config": "^1.0.0",
|
||||||
"@nextcloud/browserslist-config": "^2.3.0",
|
"@nextcloud/browserslist-config": "^2.3.0",
|
||||||
"@nextcloud/cypress": "^1.0.0-beta.2",
|
"@nextcloud/cypress": "^1.0.0-beta.2",
|
||||||
"@nextcloud/eslint-config": "^8.2.1",
|
"@nextcloud/eslint-config": "^8.2.1",
|
||||||
"@nextcloud/stylelint-config": "^2.3.0",
|
"@nextcloud/stylelint-config": "^2.3.0",
|
||||||
"@nextcloud/webpack-vue-config": "^5.5.1",
|
"@nextcloud/webpack-vue-config": "^5.5.1",
|
||||||
"@relative-ci/agent": "^4.1.4",
|
"@relative-ci/agent": "^4.1.5",
|
||||||
"@vue/test-utils": "^1.3.5",
|
"@vue/test-utils": "^1.3.6",
|
||||||
"@vue/vue2-jest": "^29.2.4",
|
"@vue/vue2-jest": "^29.2.4",
|
||||||
"cypress": "^12.12.0",
|
"cypress": "^12.17.1",
|
||||||
"eslint-plugin-cypress": "^2.13.3",
|
"eslint-plugin-cypress": "^2.13.3",
|
||||||
"eslint-webpack-plugin": "^4.0.1",
|
"eslint-webpack-plugin": "^4.0.1",
|
||||||
"jest": "^29.5.0",
|
"jest": "^29.6.1",
|
||||||
"jest-serializer-vue": "^3.1.0",
|
"jest-serializer-vue": "^3.1.0",
|
||||||
"stylelint-webpack-plugin": "^4.1.1",
|
"stylelint-webpack-plugin": "^4.1.1",
|
||||||
"vue-template-compiler": "^2.7.14"
|
"vue-template-compiler": "^2.7.14"
|
||||||
},
|
},
|
||||||
"jest": {
|
"jest": {
|
||||||
"moduleFileExtensions": [
|
"moduleFileExtensions": [
|
||||||
"js",
|
"js",
|
||||||
"vue"
|
"vue"
|
||||||
],
|
],
|
||||||
"moduleNameMapper": {
|
"moduleNameMapper": {
|
||||||
"^@/(.*)$": "<rootDir>/src/$1"
|
"^@/(.*)$": "<rootDir>/src/$1"
|
||||||
},
|
},
|
||||||
"transform": {
|
"transform": {
|
||||||
"^.+\\.js$": "<rootDir>/node_modules/babel-jest",
|
"^.+\\.js$": "<rootDir>/node_modules/babel-jest",
|
||||||
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"
|
".*\\.(vue)$": "<rootDir>/node_modules/vue-jest"
|
||||||
},
|
},
|
||||||
"snapshotSerializers": [
|
"snapshotSerializers": [
|
||||||
"<rootDir>/node_modules/jest-serializer-vue"
|
"<rootDir>/node_modules/jest-serializer-vue"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -21,7 +21,6 @@
|
|||||||
<ignoreFiles>
|
<ignoreFiles>
|
||||||
<directory name="vendor/phpunit/php-code-coverage" />
|
<directory name="vendor/phpunit/php-code-coverage" />
|
||||||
<directory name="vendor/vimeo" />
|
<directory name="vendor/vimeo" />
|
||||||
<directory name="vendor/friendsofphp" />
|
|
||||||
</ignoreFiles>
|
</ignoreFiles>
|
||||||
</extraFiles>
|
</extraFiles>
|
||||||
<issueHandlers>
|
<issueHandlers>
|
||||||
|
|||||||
22
src/App.vue
22
src/App.vue
@@ -27,17 +27,19 @@
|
|||||||
<router-view />
|
<router-view />
|
||||||
</NcAppContent>
|
</NcAppContent>
|
||||||
|
|
||||||
<NcModal v-if="cardDetailsInModal && $route.params.cardId"
|
<div v-if="$route.params.id || $route.params.cardId">
|
||||||
:clear-view-delay="0"
|
<NcModal v-if="cardDetailsInModal && $route.params.cardId"
|
||||||
:close-button-contained="true"
|
:clear-view-delay="0"
|
||||||
size="large"
|
:close-button-contained="true"
|
||||||
@close="hideModal()">
|
size="large"
|
||||||
<div class="modal__content modal__card">
|
@close="hideModal()">
|
||||||
<router-view name="sidebar" />
|
<div class="modal__content modal__card">
|
||||||
</div>
|
<router-view name="sidebar" />
|
||||||
</NcModal>
|
</div>
|
||||||
|
</NcModal>
|
||||||
|
|
||||||
<router-view name="sidebar" :visible="!cardDetailsInModal || !$route.params.cardId" />
|
<router-view name="sidebar" :visible="!cardDetailsInModal || !$route.params.cardId" />
|
||||||
|
</div>
|
||||||
</NcContent>
|
</NcContent>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "~9",
|
"phpunit/phpunit": "~9",
|
||||||
"behat/behat": "~3.13.0",
|
"behat/behat": "~3.13.0",
|
||||||
"guzzlehttp/guzzle": "7.5.1",
|
"guzzlehttp/guzzle": "7.7.0",
|
||||||
"jarnaiz/behat-junit-formatter": "^1.3",
|
"jarnaiz/behat-junit-formatter": "^1.3",
|
||||||
"sabre/dav": "4.4.0",
|
"sabre/dav": "4.4.0",
|
||||||
"symfony/event-dispatcher": "~5.4"
|
"symfony/event-dispatcher": "~5.4"
|
||||||
|
|||||||
@@ -26,8 +26,8 @@ namespace OCA\Deck\Db;
|
|||||||
use OCA\Deck\NotFoundException;
|
use OCA\Deck\NotFoundException;
|
||||||
use OCA\Deck\Service\AssignmentService;
|
use OCA\Deck\Service\AssignmentService;
|
||||||
use OCA\Deck\Service\BoardService;
|
use OCA\Deck\Service\BoardService;
|
||||||
use OCA\Deck\Service\StackService;
|
|
||||||
use OCA\Deck\Service\CardService;
|
use OCA\Deck\Service\CardService;
|
||||||
|
use OCA\Deck\Service\StackService;
|
||||||
use OCP\IGroupManager;
|
use OCP\IGroupManager;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OCP\IUserSession;
|
use OCP\IUserSession;
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Behat\Behat\Context\Context;
|
||||||
use Behat\Behat\Hook\Scope\BeforeScenarioScope;
|
use Behat\Behat\Hook\Scope\BeforeScenarioScope;
|
||||||
use Behat\Gherkin\Node\TableNode;
|
use Behat\Gherkin\Node\TableNode;
|
||||||
use GuzzleHttp\Client;
|
use GuzzleHttp\Client;
|
||||||
use GuzzleHttp\Exception\ClientException;
|
use GuzzleHttp\Exception\ClientException;
|
||||||
use PHPUnit\Framework\Assert;
|
use PHPUnit\Framework\Assert;
|
||||||
use Behat\Behat\Context\Context;
|
|
||||||
use Psr\Http\Message\ResponseInterface;
|
use Psr\Http\Message\ResponseInterface;
|
||||||
|
|
||||||
require_once __DIR__ . '/../../vendor/autoload.php';
|
require_once __DIR__ . '/../../vendor/autoload.php';
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ use OCP\Activity\IManager;
|
|||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
use OCP\L10N\IFactory;
|
use OCP\L10N\IFactory;
|
||||||
use PHPUnit\Framework\TestCase;
|
|
||||||
use PHPUnit\Framework\MockObject\MockObject;
|
use PHPUnit\Framework\MockObject\MockObject;
|
||||||
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
class ActivityManagerTest extends TestCase {
|
class ActivityManagerTest extends TestCase {
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ namespace OCA\Deck\Activity;
|
|||||||
use OC\Activity\Event;
|
use OC\Activity\Event;
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
|
use OCA\Deck\Service\CardService;
|
||||||
use OCP\Activity\IEvent;
|
use OCP\Activity\IEvent;
|
||||||
use OCP\Comments\IComment;
|
use OCP\Comments\IComment;
|
||||||
use OCP\Comments\ICommentsManager;
|
use OCP\Comments\ICommentsManager;
|
||||||
@@ -38,7 +39,6 @@ use OCP\L10N\IFactory;
|
|||||||
use OCP\RichObjectStrings\IValidator;
|
use OCP\RichObjectStrings\IValidator;
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use PHPUnit_Framework_MockObject_MockObject as MockObject;
|
use PHPUnit_Framework_MockObject_MockObject as MockObject;
|
||||||
use OCA\Deck\Service\CardService;
|
|
||||||
|
|
||||||
class DeckProviderTest extends TestCase {
|
class DeckProviderTest extends TestCase {
|
||||||
|
|
||||||
|
|||||||
@@ -31,8 +31,8 @@ use OCA\Deck\Service\BoardService;
|
|||||||
use OCA\Deck\Service\PermissionService;
|
use OCA\Deck\Service\PermissionService;
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
use OCP\ILogger;
|
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
|
use OCP\ILogger;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
class ExceptionMiddlewareTest extends \Test\TestCase {
|
class ExceptionMiddlewareTest extends \Test\TestCase {
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
|
use \Test\TestCase;
|
||||||
use OC\L10N\L10N;
|
use OC\L10N\L10N;
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\Db\Acl;
|
use OCA\Deck\Db\Acl;
|
||||||
@@ -41,16 +42,15 @@ use OCA\Deck\Event\AclCreatedEvent;
|
|||||||
use OCA\Deck\Event\AclDeletedEvent;
|
use OCA\Deck\Event\AclDeletedEvent;
|
||||||
use OCA\Deck\NoPermissionException;
|
use OCA\Deck\NoPermissionException;
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
|
use OCA\Deck\Validators\BoardServiceValidator;
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IDBConnection;
|
use OCP\IDBConnection;
|
||||||
|
use OCP\IGroupManager;
|
||||||
|
use OCP\IURLGenerator;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use OCP\IGroupManager;
|
|
||||||
use PHPUnit\Framework\MockObject\MockObject;
|
use PHPUnit\Framework\MockObject\MockObject;
|
||||||
use \Test\TestCase;
|
|
||||||
use OCP\IURLGenerator;
|
|
||||||
use OCA\Deck\Validators\BoardServiceValidator;
|
|
||||||
|
|
||||||
class BoardServiceTest extends TestCase {
|
class BoardServiceTest extends TestCase {
|
||||||
|
|
||||||
|
|||||||
@@ -27,13 +27,13 @@ use OCA\Deck\Activity\ActivityManager;
|
|||||||
use OCA\Deck\Db\Assignment;
|
use OCA\Deck\Db\Assignment;
|
||||||
use OCA\Deck\Db\AssignmentMapper;
|
use OCA\Deck\Db\AssignmentMapper;
|
||||||
use OCA\Deck\Db\Board;
|
use OCA\Deck\Db\Board;
|
||||||
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Db\ChangeHelper;
|
use OCA\Deck\Db\ChangeHelper;
|
||||||
|
use OCA\Deck\Db\LabelMapper;
|
||||||
use OCA\Deck\Db\Stack;
|
use OCA\Deck\Db\Stack;
|
||||||
use OCA\Deck\Db\StackMapper;
|
use OCA\Deck\Db\StackMapper;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
|
||||||
use OCA\Deck\Db\LabelMapper;
|
|
||||||
use OCA\Deck\Model\CardDetails;
|
use OCA\Deck\Model\CardDetails;
|
||||||
use OCA\Deck\Notification\NotificationHelper;
|
use OCA\Deck\Notification\NotificationHelper;
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
@@ -42,13 +42,13 @@ use OCP\Activity\IEvent;
|
|||||||
use OCP\Comments\ICommentsManager;
|
use OCP\Comments\ICommentsManager;
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
use OCP\IURLGenerator;
|
||||||
use OCP\IUser;
|
use OCP\IUser;
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
use PHPUnit\Framework\MockObject\MockObject;
|
use PHPUnit\Framework\MockObject\MockObject;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||||
use Test\TestCase;
|
use Test\TestCase;
|
||||||
use OCP\IURLGenerator;
|
|
||||||
|
|
||||||
class CardServiceTest extends TestCase {
|
class CardServiceTest extends TestCase {
|
||||||
|
|
||||||
|
|||||||
@@ -23,13 +23,13 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
use OCA\Deck\Db\Card;
|
use \Test\TestCase;
|
||||||
use OCA\Deck\Db\Board;
|
use OCA\Deck\Db\Board;
|
||||||
use OCA\Deck\Db\Stack;
|
|
||||||
use OCA\Deck\Db\BoardMapper;
|
use OCA\Deck\Db\BoardMapper;
|
||||||
|
use OCA\Deck\Db\Card;
|
||||||
|
use OCA\Deck\Db\Stack;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
use \Test\TestCase;
|
|
||||||
|
|
||||||
class DefaultBoardServiceTest extends TestCase {
|
class DefaultBoardServiceTest extends TestCase {
|
||||||
|
|
||||||
|
|||||||
@@ -23,11 +23,12 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Service;
|
namespace OCA\Deck\Service;
|
||||||
|
|
||||||
|
use \Test\TestCase;
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
use OCA\Deck\Db\AssignmentMapper;
|
use OCA\Deck\Db\AssignmentMapper;
|
||||||
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
use OCA\Deck\Db\CardMapper;
|
use OCA\Deck\Db\CardMapper;
|
||||||
use OCA\Deck\Db\BoardMapper;
|
|
||||||
use OCA\Deck\Db\ChangeHelper;
|
use OCA\Deck\Db\ChangeHelper;
|
||||||
use OCA\Deck\Db\Label;
|
use OCA\Deck\Db\Label;
|
||||||
use OCA\Deck\Db\LabelMapper;
|
use OCA\Deck\Db\LabelMapper;
|
||||||
@@ -37,7 +38,6 @@ use OCA\Deck\Model\CardDetails;
|
|||||||
use OCA\Deck\Validators\StackServiceValidator;
|
use OCA\Deck\Validators\StackServiceValidator;
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
use \Test\TestCase;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class StackServiceTest
|
* Class StackServiceTest
|
||||||
@@ -117,17 +117,17 @@ class StackServiceTest extends TestCase {
|
|||||||
$this->permissionService->expects($this->once())->method('checkPermission');
|
$this->permissionService->expects($this->once())->method('checkPermission');
|
||||||
$this->stackMapper->expects($this->once())->method('findAll')->willReturn($this->getStacks());
|
$this->stackMapper->expects($this->once())->method('findAll')->willReturn($this->getStacks());
|
||||||
$this->cardService->expects($this->atLeastOnce())->method('enrichCards')->will(
|
$this->cardService->expects($this->atLeastOnce())->method('enrichCards')->will(
|
||||||
$this->returnCallback(
|
$this->returnCallback(
|
||||||
function ($cards) {
|
function ($cards) {
|
||||||
foreach ($cards as $card) {
|
foreach ($cards as $card) {
|
||||||
$card->setLabels($this->getLabels()[$card->getId()]);
|
$card->setLabels($this->getLabels()[$card->getId()]);
|
||||||
}
|
}
|
||||||
return array_map(function ($card) {
|
return array_map(function ($card) {
|
||||||
return new CardDetails($card);
|
return new CardDetails($card);
|
||||||
}, $cards);
|
}, $cards);
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
$this->cardMapper->expects($this->any())->method('findAll')->willReturn($this->getCards(222));
|
$this->cardMapper->expects($this->any())->method('findAll')->willReturn($this->getCards(222));
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,13 +22,13 @@
|
|||||||
*/
|
*/
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
use OCA\Deck\Db\Board;
|
||||||
|
use OCA\Deck\Service\BoardService;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
|
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
use OCA\Deck\Service\BoardService;
|
|
||||||
use OCA\Deck\Db\Board;
|
|
||||||
|
|
||||||
class BoardApiControllerTest extends \Test\TestCase {
|
class BoardApiControllerTest extends \Test\TestCase {
|
||||||
private $appName = 'deck';
|
private $appName = 'deck';
|
||||||
private $userId = 'admin';
|
private $userId = 'admin';
|
||||||
|
|||||||
@@ -23,10 +23,10 @@
|
|||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Db\Board;
|
use OCA\Deck\Db\Board;
|
||||||
|
use OCA\Deck\Service\Importer\BoardImportService;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCA\Deck\Service\Importer\BoardImportService;
|
|
||||||
|
|
||||||
class BoardImportApiControllerTest extends \Test\TestCase {
|
class BoardImportApiControllerTest extends \Test\TestCase {
|
||||||
private $appName = 'deck';
|
private $appName = 'deck';
|
||||||
|
|||||||
@@ -22,14 +22,14 @@
|
|||||||
*/
|
*/
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
use OCA\Deck\Db\Card;
|
||||||
use OCA\Deck\Service\AssignmentService;
|
use OCA\Deck\Service\AssignmentService;
|
||||||
|
use OCA\Deck\Service\CardService;
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
|
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
use OCA\Deck\Db\Card;
|
|
||||||
use OCA\Deck\Service\CardService;
|
|
||||||
|
|
||||||
class CardApiControllerTest extends \Test\TestCase {
|
class CardApiControllerTest extends \Test\TestCase {
|
||||||
private $controller;
|
private $controller;
|
||||||
private $request;
|
private $request;
|
||||||
|
|||||||
@@ -22,12 +22,12 @@
|
|||||||
*/
|
*/
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCP\AppFramework\Http;
|
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
|
||||||
use OCP\IRequest;
|
|
||||||
|
|
||||||
use OCA\Deck\Db\Label;
|
use OCA\Deck\Db\Label;
|
||||||
use OCA\Deck\Service\LabelService;
|
use OCA\Deck\Service\LabelService;
|
||||||
|
use OCP\AppFramework\Http;
|
||||||
|
|
||||||
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
|
use OCP\IRequest;
|
||||||
|
|
||||||
class LabelApiControllerTest extends \Test\TestCase {
|
class LabelApiControllerTest extends \Test\TestCase {
|
||||||
private $controller;
|
private $controller;
|
||||||
|
|||||||
@@ -29,9 +29,9 @@ use OCA\Deck\Service\CardService;
|
|||||||
use OCA\Deck\Service\ConfigService;
|
use OCA\Deck\Service\ConfigService;
|
||||||
use OCA\Deck\Service\PermissionService;
|
use OCA\Deck\Service\PermissionService;
|
||||||
use OCP\EventDispatcher\IEventDispatcher;
|
use OCP\EventDispatcher\IEventDispatcher;
|
||||||
|
use OCP\IConfig;
|
||||||
use OCP\IInitialStateService;
|
use OCP\IInitialStateService;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
use OCP\IConfig;
|
|
||||||
use OCP\IURLGenerator;
|
use OCP\IURLGenerator;
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
|||||||
@@ -22,14 +22,14 @@
|
|||||||
*/
|
*/
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
|
use OCA\Deck\Db\Stack;
|
||||||
|
use OCA\Deck\Service\BoardService;
|
||||||
|
use OCA\Deck\Service\StackService;
|
||||||
|
|
||||||
use OCP\AppFramework\Http;
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
use OCA\Deck\Service\BoardService;
|
|
||||||
use OCA\Deck\Service\StackService;
|
|
||||||
use OCA\Deck\Db\Stack;
|
|
||||||
|
|
||||||
class StackApiControllerTest extends \Test\TestCase {
|
class StackApiControllerTest extends \Test\TestCase {
|
||||||
private $appName = 'deck';
|
private $appName = 'deck';
|
||||||
private $userId = 'admin';
|
private $userId = 'admin';
|
||||||
|
|||||||
Reference in New Issue
Block a user