Compare commits
128 Commits
feat/workf
...
stable1.10
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4d10663406 | ||
|
|
ff75b39aca | ||
|
|
62e06a0d24 | ||
|
|
54be05e448 | ||
|
|
ab6ae1df0d | ||
|
|
d3d1e0af36 | ||
|
|
59e0ffaf05 | ||
|
|
4287bde8ce | ||
|
|
70917f3f65 | ||
|
|
ade0554c70 | ||
|
|
32d4179bdc | ||
|
|
81e567b680 | ||
|
|
5819a19a88 | ||
|
|
188d722bf2 | ||
|
|
a6e09adf77 | ||
|
|
4fe38c62dd | ||
|
|
eec4e614bd | ||
|
|
6714e18889 | ||
|
|
275e8eedaf | ||
|
|
f921f5d5a6 | ||
|
|
856aeb146d | ||
|
|
0c1ef382aa | ||
|
|
36fac54f0f | ||
|
|
498ab8bd0d | ||
|
|
9947aa4288 | ||
|
|
754903ccca | ||
|
|
13d5289e73 | ||
|
|
06ccb7b7b9 | ||
|
|
91c0704186 | ||
|
|
228a2bdca9 | ||
|
|
9e23a89659 | ||
|
|
5619c683c2 | ||
|
|
ca347cbc80 | ||
|
|
19a4832caf | ||
|
|
9f0783c4c6 | ||
|
|
6e5111b266 | ||
|
|
bed3096f11 | ||
|
|
9538cccf50 | ||
|
|
6a3c242176 | ||
|
|
93959b0efc | ||
|
|
99a42e7639 | ||
|
|
ed02d93a92 | ||
|
|
1dce8b797d | ||
|
|
5d17c3167b | ||
|
|
e0d59c0653 | ||
|
|
0308599096 | ||
|
|
00e1a1da74 | ||
|
|
5783d9ec15 | ||
|
|
01b4a4d264 | ||
|
|
fbc703b033 | ||
|
|
ee7313beac | ||
|
|
3dc99f129c | ||
|
|
11a5362108 | ||
|
|
18343eea89 | ||
|
|
6ceb1b3e09 | ||
|
|
e5873c566b | ||
|
|
93f9db2549 | ||
|
|
de78de243f | ||
|
|
e82ba2aebc | ||
|
|
50298b14ff | ||
|
|
697d2ce8d5 | ||
|
|
90e986dfc1 | ||
|
|
6e844b22fd | ||
|
|
9ecafadc43 | ||
|
|
08a9714842 | ||
|
|
ed50c9413c | ||
|
|
b0c026bc83 | ||
|
|
2adec18b1d | ||
|
|
30371b0e06 | ||
|
|
afc0c662d2 | ||
|
|
146a5eb602 | ||
|
|
317ee4901b | ||
|
|
3d254f7d62 | ||
|
|
948b8f5f84 | ||
|
|
d555bf1cab | ||
|
|
0456e43378 | ||
|
|
5cf3f48de9 | ||
|
|
32b4b18868 | ||
|
|
ec937a8edf | ||
|
|
33dae40326 | ||
|
|
d032f8a820 | ||
|
|
4b20bfca74 | ||
|
|
e29eb22a49 | ||
|
|
b125e18c52 | ||
|
|
736222f975 | ||
|
|
2b33583bd7 | ||
|
|
b77cb9b270 | ||
|
|
1c116012ce | ||
|
|
d7fa2ae265 | ||
|
|
3c407c06ff | ||
|
|
3fdb70e547 | ||
|
|
febd4b1a0b | ||
|
|
12c3e476f9 | ||
|
|
ec8c782b5a | ||
|
|
0575926692 | ||
|
|
617671c004 | ||
|
|
2f9cf4df37 | ||
|
|
7e5e0e2814 | ||
|
|
dd09c2ad69 | ||
|
|
87dfdd62d4 | ||
|
|
bd77b12f9b | ||
|
|
b861f2b1cd | ||
|
|
8cf3853387 | ||
|
|
313b5b0e15 | ||
|
|
7c81c7237b | ||
|
|
82eb262433 | ||
|
|
5ba5eb89b2 | ||
|
|
b714be7829 | ||
|
|
36e66e4345 | ||
|
|
542c70eac1 | ||
|
|
f54722cd5a | ||
|
|
5c29392428 | ||
|
|
b8071def95 | ||
|
|
fba6dc0a45 | ||
|
|
536029e6c6 | ||
|
|
77b81f4686 | ||
|
|
7ba4b2617a | ||
|
|
56e9d5ceb4 | ||
|
|
bb569f7df7 | ||
|
|
4060c7a14a | ||
|
|
4cebac2306 | ||
|
|
2fd8cab627 | ||
|
|
4921f3dd62 | ||
|
|
a268d428bf | ||
|
|
ab11f47afa | ||
|
|
0751f604ec | ||
|
|
c2aec9f312 | ||
|
|
04e9373c58 |
34
.github/dependabot.yml
vendored
34
.github/dependabot.yml
vendored
@@ -12,40 +12,6 @@ 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.4
|
uses: shivammathur/setup-php@2.25.1
|
||||||
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@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
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@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
||||||
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@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
|
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # 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.4 # v2
|
uses: shivammathur/setup-php@2.25.1 # v2
|
||||||
with:
|
with:
|
||||||
php-version: ${{ env.PHP_VERSION }}
|
php-version: ${{ env.PHP_VERSION }}
|
||||||
coverage: none
|
coverage: none
|
||||||
@@ -126,10 +126,9 @@ jobs:
|
|||||||
unzip latest-$NCVERSION.zip
|
unzip latest-$NCVERSION.zip
|
||||||
|
|
||||||
- name: Checkout server master fallback
|
- name: Checkout server master fallback
|
||||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
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
|
||||||
|
|
||||||
@@ -149,7 +148,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@2b9d2847a97b04d02ad5c3df2d3a27baa97ce689 # v2
|
uses: svenstaro/upload-release-action@7319e4733ec7a184d739a6f412c40ffc339b69c7 # 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@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2
|
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
|
||||||
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@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
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@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
|
uses: cirrus-actions/rebase@6e572f08c244e2f04f9beb85a943eb618218714d # 1.7
|
||||||
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@c6c9a1a66007646a28c153e2a8580a5bad27bcfa # v3.0.2
|
uses: peter-evans/create-or-update-comment@ca08ebd5dc95aa0cd97021e9708fcd6b87138c9b # v3.0.1
|
||||||
if: failure()
|
if: failure()
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
|||||||
204
.github/workflows/cypress.yml
vendored
204
.github/workflows/cypress.yml
vendored
@@ -5,142 +5,120 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- master
|
|
||||||
- stable*
|
- stable*
|
||||||
|
|
||||||
env:
|
env:
|
||||||
# Adjust APP_NAME if your repository name is different
|
APP_NAME: deck
|
||||||
APP_NAME: ${{ github.event.repository.name }}
|
CYPRESS_baseUrl: http://localhost:8081/index.php
|
||||||
|
|
||||||
# This represents the server branch to checkout.
|
|
||||||
# Usually it's the base branch of the PR, but for pushes it's the branch itself.
|
|
||||||
# e.g. 'main', 'stable27' or 'feature/my-feature
|
|
||||||
# n.b. server will use head_ref, as we want to test the PR branch.
|
|
||||||
BRANCH: ${{ github.base_ref || github.ref_name }}
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
init:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
|
||||||
nodeVersion: ${{ steps.versions.outputs.nodeVersion }}
|
|
||||||
npmVersion: ${{ steps.versions.outputs.npmVersion }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout app
|
|
||||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
|
||||||
|
|
||||||
- name: Check composer.json
|
|
||||||
id: check_composer
|
|
||||||
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
|
|
||||||
with:
|
|
||||||
files: "composer.json"
|
|
||||||
|
|
||||||
- name: Install composer dependencies
|
|
||||||
if: steps.check_composer.outputs.files_exists == 'true'
|
|
||||||
run: composer install --no-dev
|
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
|
||||||
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
|
||||||
id: versions
|
|
||||||
with:
|
|
||||||
fallbackNode: "^20"
|
|
||||||
fallbackNpm: "^9"
|
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
|
||||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
|
|
||||||
with:
|
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
|
||||||
|
|
||||||
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
|
||||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
|
||||||
|
|
||||||
- name: Install node dependencies & build app
|
|
||||||
run: |
|
|
||||||
npm ci
|
|
||||||
TESTING=true npm run build --if-present
|
|
||||||
|
|
||||||
- name: Save context
|
|
||||||
uses: buildjet/cache/save@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
|
|
||||||
with:
|
|
||||||
key: cypress-context-${{ github.run_id }}
|
|
||||||
path: ./
|
|
||||||
|
|
||||||
cypress:
|
cypress:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: init
|
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
# Run multiple copies of the current job in parallel
|
node-version: [14.x]
|
||||||
# Please increase the number or runners as your tests suite grows
|
# containers: [1, 2, 3]
|
||||||
containers: ["component", 1, 2, 3]
|
php-versions: [ '8.0' ]
|
||||||
|
databases: [ 'sqlite' ]
|
||||||
name: runner ${{ matrix.containers }}
|
server-versions: [ 'stable27' ]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Restore context
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: buildjet/cache/restore@e376f15c6ec6dc595375c78633174c7e5f92dc0e # v3
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
fail-on-cache-miss: true
|
node-version: ${{ matrix.node-version }}
|
||||||
key: cypress-context-${{ github.run_id }}
|
- name: Set up npm7
|
||||||
path: ./
|
run: npm i -g npm@7
|
||||||
|
|
||||||
- name: Set up node ${{ needs.init.outputs.nodeVersion }}
|
- name: Register text Git reference
|
||||||
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
|
run: |
|
||||||
|
text_app_ref="$(if [ "${{ matrix.server-versions }}" = "master" ]; then echo -n "main"; else echo -n "${{ matrix.server-versions }}"; fi)"
|
||||||
|
echo "text_app_ref=$text_app_ref" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Checkout server
|
||||||
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ needs.init.outputs.nodeVersion }}
|
repository: nextcloud/server
|
||||||
|
ref: ${{ matrix.server-versions }}
|
||||||
|
|
||||||
- name: Set up npm ${{ needs.init.outputs.npmVersion }}
|
- name: Checkout submodules
|
||||||
run: npm i -g npm@"${{ needs.init.outputs.npmVersion }}"
|
shell: bash
|
||||||
|
run: |
|
||||||
|
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
|
||||||
|
git submodule sync --recursive
|
||||||
|
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
||||||
|
|
||||||
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
|
- name: Checkout ${{ env.APP_NAME }}
|
||||||
uses: cypress-io/github-action@db1693016f23ccf9043f4b2428f9b04e5d502a73 # v5.8.1
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
path: apps/${{ env.APP_NAME }}
|
||||||
|
|
||||||
|
- name: Checkout text
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
repository: nextcloud/text
|
||||||
|
ref: ${{ env.text_app_ref }}
|
||||||
|
path: apps/text
|
||||||
|
|
||||||
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
|
uses: shivammathur/setup-php@2.25.1
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
|
||||||
|
ini-values:
|
||||||
|
apc.enable_cli=on
|
||||||
|
coverage: none
|
||||||
|
|
||||||
|
- name: Set up Nextcloud
|
||||||
|
env:
|
||||||
|
DB_PORT: 4444
|
||||||
|
PHP_CLI_SERVER_WORKERS: 10
|
||||||
|
run: |
|
||||||
|
mkdir data
|
||||||
|
php occ maintenance:install --verbose --database=${{ matrix.databases }} --database-name=nextcloud --database-host=127.0.0.1 --database-port=$DB_PORT --database-user=root --database-pass=rootpassword --admin-user admin --admin-pass admin
|
||||||
|
php occ config:system:set memcache.local --value="\\OC\\Memcache\\APCu"
|
||||||
|
php occ config:system:set debug --value=true --type=boolean
|
||||||
|
php -f index.php
|
||||||
|
php -S 0.0.0.0:8081 &
|
||||||
|
export OC_PASS=1234561
|
||||||
|
php occ user:add --password-from-env user1
|
||||||
|
php occ user:add --password-from-env user2
|
||||||
|
php occ app:enable deck
|
||||||
|
php occ app:list
|
||||||
|
cd apps/deck
|
||||||
|
composer install --no-dev
|
||||||
|
npm ci
|
||||||
|
npm run build
|
||||||
|
cd ../../
|
||||||
|
curl -v http://localhost:8081/index.php/login
|
||||||
|
|
||||||
|
- name: Cypress run
|
||||||
|
uses: cypress-io/github-action@v5
|
||||||
with:
|
with:
|
||||||
record: true
|
record: true
|
||||||
parallel: true
|
parallel: false
|
||||||
# cypress run type
|
wait-on: '${{ env.CYPRESS_baseUrl }}'
|
||||||
component: ${{ matrix.containers == 'component' }}
|
working-directory: 'apps/${{ env.APP_NAME }}'
|
||||||
group: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }}
|
config: defaultCommandTimeout=10000,video=false
|
||||||
# cypress env
|
|
||||||
ci-build-id: ${{ github.sha }}-${{ github.run_number }}
|
|
||||||
tag: ${{ github.event_name }}
|
|
||||||
env:
|
env:
|
||||||
# Needs to be prefixed with CYPRESS_
|
|
||||||
CYPRESS_BRANCH: ${{ env.BRANCH }}
|
|
||||||
# https://github.com/cypress-io/github-action/issues/124
|
|
||||||
COMMIT_INFO_MESSAGE: ${{ github.event.pull_request.title }}
|
|
||||||
# Needed for some specific code workarounds
|
|
||||||
TESTING: true
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
||||||
|
npm_package_name: ${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Upload snapshots
|
- name: Upload test failure screenshots
|
||||||
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
|
uses: actions/upload-artifact@v3
|
||||||
if: always()
|
if: failure()
|
||||||
with:
|
with:
|
||||||
name: snapshots_${{ matrix.containers }}
|
name: Upload screenshots
|
||||||
path: cypress/snapshots
|
path: apps/${{ env.APP_NAME }}/cypress/screenshots/
|
||||||
|
retention-days: 5
|
||||||
|
|
||||||
- name: Extract NC logs
|
- name: Upload nextcloud logs
|
||||||
if: failure() && matrix.containers != 'component'
|
uses: actions/upload-artifact@v3
|
||||||
run: docker logs nextcloud-cypress-tests-${{ env.APP_NAME }} > nextcloud.log
|
if: failure()
|
||||||
|
|
||||||
- name: Upload NC logs
|
|
||||||
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
|
|
||||||
if: failure() && matrix.containers != 'component'
|
|
||||||
with:
|
with:
|
||||||
name: nc_logs_${{ matrix.containers }}
|
name: Upload nextcloud log
|
||||||
path: nextcloud.log
|
path: data/nextcloud.log
|
||||||
|
retention-days: 5
|
||||||
summary:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [init, cypress]
|
|
||||||
|
|
||||||
if: always()
|
|
||||||
|
|
||||||
name: cypress-summary
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Summary status
|
|
||||||
run: if ${{ needs.init.result != 'success' || ( needs.cypress.result != 'success' && needs.cypress.result != 'skipped' ) }}; then exit 1; fi
|
|
||||||
|
|||||||
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: Block fixup and squash commits
|
name: Pull request checks
|
||||||
|
|
||||||
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: skjnldsv/block-fixup-merge-action@42d26e1b536ce61e5cf467d65fb76caf4aa85acf # v1
|
uses: xt0rted/block-autosquash-commits-action@79880c36b4811fe549cfffe20233df88876024e7 # v2
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
12
.github/workflows/integration.yml
vendored
12
.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: ['master']
|
server-versions: ['stable27']
|
||||||
|
|
||||||
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.4
|
uses: shivammathur/setup-php@2.25.1
|
||||||
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
|
||||||
@@ -98,7 +98,7 @@ jobs:
|
|||||||
cat config/config.php
|
cat config/config.php
|
||||||
./occ user:list
|
./occ user:list
|
||||||
./occ app:enable --force ${{ env.APP_NAME }}
|
./occ app:enable --force ${{ env.APP_NAME }}
|
||||||
./occ config:system:set query_log_file --value '/home/runner/work/${{ env.APP_NAME }}/${{ env.APP_NAME }}/query.log'
|
./occ config:system:set query_log_file --value "$PWD/query.log"
|
||||||
php -S localhost:8080 &
|
php -S localhost:8080 &
|
||||||
|
|
||||||
- name: Run behat
|
- name: Run behat
|
||||||
@@ -123,12 +123,12 @@ jobs:
|
|||||||
myError += data.toString()
|
myError += data.toString()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await exec.exec(`/bin/bash -c "cat /home/runner/work/${{ env.APP_NAME }}/${{ env.APP_NAME }}/query.log | wc -l"`, [], options)
|
await exec.exec(`/bin/bash -c "cat query.log | wc -l"`, [], options)
|
||||||
msg = myOutput
|
msg = myOutput
|
||||||
const queryCount = parseInt(myOutput, 10)
|
const queryCount = parseInt(myOutput, 10)
|
||||||
|
|
||||||
myOutput = ''
|
myOutput = ''
|
||||||
await exec.exec('cat', ['/home/runner/work/${{ env.APP_NAME }}/${{ env.APP_NAME }}/apps/${{ env.APP_NAME }}/tests/integration/base-query-count.txt'], options)
|
await exec.exec('cat', ['apps/${{ env.APP_NAME }}/tests/integration/base-query-count.txt'], options)
|
||||||
const baseCount = parseInt(myOutput, 10)
|
const baseCount = parseInt(myOutput, 10)
|
||||||
|
|
||||||
const absoluteIncrease = queryCount - baseCount
|
const absoluteIncrease = queryCount - baseCount
|
||||||
@@ -151,4 +151,4 @@ jobs:
|
|||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
body: comment
|
body: comment
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
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 eslint
|
name: Lint
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
@@ -38,17 +38,17 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
|
|
||||||
- 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@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
||||||
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@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
|
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # 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 php-cs
|
name: Lint
|
||||||
|
|
||||||
on: pull_request
|
on: pull_request
|
||||||
|
|
||||||
@@ -22,14 +22,13 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
|
|
||||||
- name: Set up php
|
- name: Set up php
|
||||||
uses: shivammathur/setup-php@2.25.4 # v2
|
uses: shivammathur/setup-php@2.25.1 # 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 php
|
name: Lint
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
@@ -31,14 +31,13 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.25.4 # v2
|
uses: shivammathur/setup-php@2.25.1 # 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 stylelint
|
name: Lint
|
||||||
|
|
||||||
on: pull_request
|
on: pull_request
|
||||||
|
|
||||||
@@ -22,17 +22,17 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
|
|
||||||
- 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@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
||||||
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@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
|
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/nightly.yml
vendored
2
.github/workflows/nightly.yml
vendored
@@ -25,7 +25,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.4
|
uses: shivammathur/setup-php@2.25.1
|
||||||
with:
|
with:
|
||||||
php-version: '7.4'
|
php-version: '7.4'
|
||||||
tools: composer
|
tools: composer
|
||||||
|
|||||||
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", "stable27", "stable26", "stable25", "stable24"]
|
branches: ["main", "master", "stable26", "stable25", "stable24"]
|
||||||
|
|
||||||
name: npm-audit-fix-${{ matrix.branches }}
|
name: npm-audit-fix-${{ matrix.branches }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
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@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
uses: skjnldsv/read-package-engines-version-actions@0ce2ed60f6df073a62a77c0a4958dd0fc68e32e7 # v2.1
|
||||||
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@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3
|
uses: actions/setup-node@8c91899e586c5b171469028077307d293428b516 # 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@153407881ec5c347639a548ade7d8ad1d6740e38 # v5
|
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # v3
|
||||||
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', '8.2']
|
php-versions: ['8.0', '8.1']
|
||||||
databases: ['sqlite', 'mysql', 'pgsql']
|
databases: ['sqlite', 'mysql', 'pgsql']
|
||||||
server-versions: ['master']
|
server-versions: ['stable27']
|
||||||
|
|
||||||
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.4
|
uses: shivammathur/setup-php@2.25.1
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
tools: phpunit
|
tools: phpunit
|
||||||
|
|||||||
5
.github/workflows/psalm.yml
vendored
5
.github/workflows/psalm.yml
vendored
@@ -24,14 +24,13 @@ jobs:
|
|||||||
name: Nextcloud
|
name: Nextcloud
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
|
|
||||||
- name: Set up php
|
- name: Set up php
|
||||||
uses: shivammathur/setup-php@2.25.4 # v2
|
uses: shivammathur/setup-php@2.25.1 # 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,22 +17,21 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
branches: ["main", "master", "stable27", "stable26", "stable25"]
|
branches: ["master", "stable26", "stable25", "stable24"]
|
||||||
|
|
||||||
name: update-nextcloud-ocp-${{ matrix.branches }}
|
name: update-nextcloud-ocp-${{ matrix.branches }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2
|
- uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3
|
||||||
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.4 # v2
|
uses: shivammathur/setup-php@2.25.1 # v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.1
|
php-version: 8.1
|
||||||
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
|
||||||
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 }}
|
||||||
@@ -41,33 +40,19 @@ 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: Composer update nextcloud/ocp
|
- name: Reset checkout dirs
|
||||||
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 vendor-bin
|
git checkout 3rdparty vendor vendor-bin
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v3
|
uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 # 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-beta.1
|
## 1.10.0
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
@@ -9,6 +9,8 @@ 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)
|
||||||
@@ -28,7 +30,12 @@ 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,7 +27,6 @@ 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.11.0-dev</version>
|
<version>1.10.0</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="28" max-version="28"/>
|
<nextcloud min-version="27" max-version="27"/>
|
||||||
</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-master"
|
"nextcloud/ocp": "dev-stable27"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"optimize-autoloader": true,
|
"optimize-autoloader": true,
|
||||||
|
|||||||
847
composer.lock
generated
847
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,7 @@ OC.L10N.register(
|
|||||||
"deck",
|
"deck",
|
||||||
{
|
{
|
||||||
"Personal" : "Persoonlik",
|
"Personal" : "Persoonlik",
|
||||||
|
"Later" : "Later",
|
||||||
"copy" : "kopie",
|
"copy" : "kopie",
|
||||||
"Done" : "Gereed",
|
"Done" : "Gereed",
|
||||||
"The file was uploaded" : "Die lêer is opgelaai",
|
"The file was uploaded" : "Die lêer is opgelaai",
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{ "translations": {
|
{ "translations": {
|
||||||
"Personal" : "Persoonlik",
|
"Personal" : "Persoonlik",
|
||||||
|
"Later" : "Later",
|
||||||
"copy" : "kopie",
|
"copy" : "kopie",
|
||||||
"Done" : "Gereed",
|
"Done" : "Gereed",
|
||||||
"The file was uploaded" : "Die lêer is opgelaai",
|
"The file was uploaded" : "Die lêer is opgelaai",
|
||||||
|
|||||||
22
l10n/ast.js
Normal file
22
l10n/ast.js
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
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);");
|
||||||
20
l10n/ast.json
Normal file
20
l10n/ast.json
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{ "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,16 +1,102 @@
|
|||||||
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",
|
||||||
@@ -19,47 +105,217 @@ 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",
|
||||||
"Share" : "Compartir"
|
"Board {0} deleted" : "Tablero {0} eliminado",
|
||||||
|
"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,14 +1,100 @@
|
|||||||
{ "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",
|
||||||
@@ -17,47 +103,217 @@
|
|||||||
"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",
|
||||||
"Share" : "Compartir"
|
"Board {0} deleted" : "Tablero {0} eliminado",
|
||||||
|
"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;"
|
||||||
}
|
}
|
||||||
@@ -14,6 +14,7 @@ OC.L10N.register(
|
|||||||
"Missing a temporary folder" : "Ajutine kausta on puudu",
|
"Missing a temporary folder" : "Ajutine kausta on puudu",
|
||||||
"Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus",
|
"Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus",
|
||||||
"A PHP extension stopped the file upload" : "PHP laiendus peatas faili üleslaadimise",
|
"A PHP extension stopped the file upload" : "PHP laiendus peatas faili üleslaadimise",
|
||||||
|
"No file uploaded or file size exceeds maximum of %s" : "Faili ei laaditud üles või selle suurus ületab maksimaalse %s",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
|
||||||
"Cancel" : "Loobu",
|
"Cancel" : "Loobu",
|
||||||
"Close" : "Sulge",
|
"Close" : "Sulge",
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
"Missing a temporary folder" : "Ajutine kausta on puudu",
|
"Missing a temporary folder" : "Ajutine kausta on puudu",
|
||||||
"Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus",
|
"Could not write file to disk" : "Faili kirjutamine kettale ebaõnnestus",
|
||||||
"A PHP extension stopped the file upload" : "PHP laiendus peatas faili üleslaadimise",
|
"A PHP extension stopped the file upload" : "PHP laiendus peatas faili üleslaadimise",
|
||||||
|
"No file uploaded or file size exceeds maximum of %s" : "Faili ei laaditud üles või selle suurus ületab maksimaalse %s",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "Vigane kuupäev, formaat peab olema YYYY-MM-DD",
|
||||||
"Cancel" : "Loobu",
|
"Cancel" : "Loobu",
|
||||||
"Close" : "Sulge",
|
"Close" : "Sulge",
|
||||||
|
|||||||
@@ -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 fitxategietan",
|
"Show in Files" : "Erakutsi Fitxategiak aplikazioan",
|
||||||
"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 fitxategietan",
|
"Show in Files" : "Erakutsi Fitxategiak aplikazioan",
|
||||||
"Download" : "Deskargatu",
|
"Download" : "Deskargatu",
|
||||||
"Remove attachment" : "Kendu eranskina",
|
"Remove attachment" : "Kendu eranskina",
|
||||||
"Delete Attachment" : "Ezabatu eranskina",
|
"Delete Attachment" : "Ezabatu eranskina",
|
||||||
|
|||||||
@@ -254,6 +254,7 @@ 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,6 +252,7 @@
|
|||||||
"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" : "فهرست جدید بیفزایید!"
|
||||||
|
|||||||
92
l10n/gl.js
92
l10n/gl.js
@@ -1,67 +1,67 @@
|
|||||||
OC.L10N.register(
|
OC.L10N.register(
|
||||||
"deck",
|
"deck",
|
||||||
{
|
{
|
||||||
"You have created a new board {board}" : "Vostede creou o novo taboleiro {board}",
|
"You have created a new board {board}" : "Vde. creou o novo taboleiro {board}",
|
||||||
"{user} has created a new board {board}" : "{user} creou o novo taboleiro {board}",
|
"{user} has created a new board {board}" : "{user} creou o novo taboleiro {board}",
|
||||||
"You have deleted the board {board}" : "Vostede eliminou o taboleiro {board}",
|
"You have deleted the board {board}" : "Vde. eliminou o taboleiro {board}",
|
||||||
"{user} has deleted the board {board}" : "{user} eliminou o taboleiro {board}",
|
"{user} has deleted the board {board}" : "{user} eliminou o taboleiro {board}",
|
||||||
"You have restored the board {board}" : "Vostede restaurou o taboleiro {board}",
|
"You have restored the board {board}" : "Vde. restaurou o taboleiro {board}",
|
||||||
"{user} has restored the board {board}" : "{user} restaurou o taboleiro {board}",
|
"{user} has restored the board {board}" : "{user} restaurou o taboleiro {board}",
|
||||||
"You have shared the board {board} with {acl}" : "Vostede compartiu o taboleiro {board} con {acl}",
|
"You have shared the board {board} with {acl}" : "Vde. compartiu o taboleiro {board} con {acl}",
|
||||||
"{user} has shared the board {board} with {acl}" : "{user} compartiu o taboleiro {board} con {acl}",
|
"{user} has shared the board {board} with {acl}" : "{user} compartiu o taboleiro {board} con {acl}",
|
||||||
"You have removed {acl} from the board {board}" : "Vostede retirou a {acl} do taboleiro {board}",
|
"You have removed {acl} from the board {board}" : "Vde. retirou a {acl} do taboleiro {board}",
|
||||||
"{user} has removed {acl} from the board {board}" : "{user} retirou a {acl} do taboleiro {board}",
|
"{user} has removed {acl} from the board {board}" : "{user} retirou a {acl} do taboleiro {board}",
|
||||||
"You have renamed the board {before} to {board}" : "Vostede renomeou o taboleiro {before} como {board}",
|
"You have renamed the board {before} to {board}" : "Vde. renomeou o taboleiro {before} como {board}",
|
||||||
"{user} has renamed the board {before} to {board}" : "{user} renomeou o taboleiro {before} como {board}",
|
"{user} has renamed the board {before} to {board}" : "{user} renomeou o taboleiro {before} como {board}",
|
||||||
"You have archived the board {board}" : "Vostede arquivou o taboleiro {board}",
|
"You have archived the board {board}" : "Vde. arquivou o taboleiro {board}",
|
||||||
"{user} has archived the board {before}" : "{user} arquivou o taboleiro {before}",
|
"{user} has archived the board {before}" : "{user} arquivou o taboleiro {before}",
|
||||||
"You have unarchived the board {board}" : "Vostede desarquivou o taboleiro {board}",
|
"You have unarchived the board {board}" : "Vde. desarquivou o taboleiro {board}",
|
||||||
"{user} has unarchived the board {before}" : "{user} desarquivou o taboleiro {before}",
|
"{user} has unarchived the board {before}" : "{user} desarquivou o taboleiro {before}",
|
||||||
"You have created a new list {stack} on board {board}" : "Vostede creou unha nova lista {stack} no taboleiro {board}",
|
"You have created a new list {stack} on board {board}" : "Vde. creou unha nova lista {stack} no taboleiro {board}",
|
||||||
"{user} has created a new list {stack} on board {board}" : "{user} creou unha nova lista {stack} no taboleiro {board}",
|
"{user} has created a new list {stack} on board {board}" : "{user} creou unha nova lista {stack} no taboleiro {board}",
|
||||||
"You have renamed list {before} to {stack} on board {board}" : "Vostede renomeou a lista {before} no taboleiro {board}",
|
"You have renamed list {before} to {stack} on board {board}" : "Vde. renomeou a lista {before} no taboleiro {board}",
|
||||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} renomeou a lista {before} como {stack} no taboleiro {board}",
|
"{user} has renamed list {before} to {stack} on board {board}" : "{user} renomeou a lista {before} como {stack} no taboleiro {board}",
|
||||||
"You have deleted list {stack} on board {board}" : "Vostede eliminou a lista {stack} do taboleiro {board}",
|
"You have deleted list {stack} on board {board}" : "Vde. eliminou a lista {stack} do taboleiro {board}",
|
||||||
"{user} has deleted list {stack} on board {board}" : "{user} eliminou a lista {stack} do taboleiro {board}",
|
"{user} has deleted list {stack} on board {board}" : "{user} eliminou a lista {stack} do taboleiro {board}",
|
||||||
"You have created card {card} in list {stack} on board {board}" : "Vostede creou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have created card {card} in list {stack} on board {board}" : "Vde. creou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} creou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has created card {card} in list {stack} on board {board}" : "{user} creou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have deleted card {card} in list {stack} on board {board}" : "Vostede eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have deleted card {card} in list {stack} on board {board}" : "Vde. eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have renamed the card {before} to {card}" : "Renomeou a tarxeta {before} a {card}",
|
"You have renamed the card {before} to {card}" : "Renomeou a tarxeta {before} a {card}",
|
||||||
"{user} has renamed the card {before} to {card}" : "{user} renomeou a tarxeta {before} a {card}",
|
"{user} has renamed the card {before} to {card}" : "{user} renomeou a tarxeta {before} a {card}",
|
||||||
"You have added a description to card {card} in list {stack} on board {board}" : "Vostede engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have added a description to card {card} in list {stack} on board {board}" : "Vde. engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Vostede actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have updated the description of card {card} in list {stack} on board {board}" : "Vde. actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have archived card {card} in list {stack} on board {board}" : "Vostede arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have archived card {card} in list {stack} on board {board}" : "Vde. arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Vostede desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Vde. desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have removed the due date of card {card}" : "Vostede retirou a caducidade da tarxeta {card}",
|
"You have removed the due date of card {card}" : "Vde. retirou a caducidade da tarxeta {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
|
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Vostede estabeleceu a caducidade da tarxeta {card} a {after}",
|
"You have set the due date of card {card} to {after}" : "Vde. estabeleceu a caducidade da tarxeta {card} a {after}",
|
||||||
"{user} has set the due date of card {card} to {after}" : "{user} estabeleceu a caducidade da tarxeta {card} a {after}",
|
"{user} has set the due date of card {card} to {after}" : "{user} estabeleceu a caducidade da tarxeta {card} a {after}",
|
||||||
"You have updated the due date of card {card} to {after}" : "Vostede actualizou a caducidade da tarxeta {card} a {after}",
|
"You have updated the due date of card {card} to {after}" : "Vde. actualizou a caducidade da tarxeta {card} a {after}",
|
||||||
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
|
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
|
||||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vostede engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vostede retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vde. retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Vostede asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
|
"You have assigned {assigneduser} to card {card} on board {board}" : "Vde. asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
|
||||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
|
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
|
||||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vostede desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
|
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vde. desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
|
||||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
|
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
|
||||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vostede moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
|
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vde. moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
|
||||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
|
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
|
||||||
"You have added the attachment {attachment} to card {card}" : "Vostede engadiu o anexo {attachment} na tarxeta {card}",
|
"You have added the attachment {attachment} to card {card}" : "Vde. engadiu o anexo {attachment} na tarxeta {card}",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} engadiu o anexo {attachment} na tarxeta {card}",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} engadiu o anexo {attachment} na tarxeta {card}",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Vostede actualizou o anexo {attachment} na tarxeta {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Vde. actualizou o anexo {attachment} na tarxeta {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} actualizou o anexo {attachment} na tarxeta {card}",
|
"{user} has updated the attachment {attachment} on card {card}" : "{user} actualizou o anexo {attachment} na tarxeta {card}",
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Vostede eliminou o anexo {attachment} da tarxeta {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Vde. eliminou o anexo {attachment} da tarxeta {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} eliminou o anexo {attachment} da tarxeta {card}",
|
"{user} has deleted the attachment {attachment} from card {card}" : "{user} eliminou o anexo {attachment} da tarxeta {card}",
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Vostede restaurou o anexo {attachment} na tarxeta {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Vde. restaurou o anexo {attachment} na tarxeta {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} restaurou o anexo {attachment} da tarxeta {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} restaurou o anexo {attachment} da tarxeta {card}",
|
||||||
"You have commented on card {card}" : "Vostede comentou na tarxeta {card}",
|
"You have commented on card {card}" : "Vde. comentou na tarxeta {card}",
|
||||||
"{user} has commented on card {card}" : "{user} comentou na tarxeta {card}",
|
"{user} has commented on card {card}" : "{user} comentou na tarxeta {card}",
|
||||||
"A <strong>card description</strong> inside the Deck app has been changed" : "Cambiouse a <strong>descripción da tarxeta</strong> dentro da aplicación Tarxeteiro",
|
"A <strong>card description</strong> inside the Deck app has been changed" : "Cambiouse a <strong>descripción da tarxeta</strong> dentro da aplicación Tarxeteiro",
|
||||||
"Deck" : "Tarxeteiro",
|
"Deck" : "Tarxeteiro",
|
||||||
@@ -70,13 +70,13 @@ OC.L10N.register(
|
|||||||
"Upcoming cards" : "Tarxetas próximas",
|
"Upcoming cards" : "Tarxetas próximas",
|
||||||
"Load more" : "Cargar máis",
|
"Load more" : "Cargar máis",
|
||||||
"Personal" : "Persoal",
|
"Personal" : "Persoal",
|
||||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a vostede por %s.",
|
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a Vde. por %s.",
|
||||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} asignoulle a tarxeta {deck-card} en {deck-board} a vostede.",
|
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} asignoulle a tarxeta {deck-card} en {deck-board} a Vde.",
|
||||||
"The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» acadou a súa data de caducidade.",
|
"The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» acadou a súa data de caducidade.",
|
||||||
"The card {deck-card} on {deck-board} has reached its due date." : "A tarxeta {deck-card} en {deck-board} chegou á súa data de caducidade.",
|
"The card {deck-card} on {deck-board} has reached its due date." : "A tarxeta {deck-card} en {deck-board} chegou á súa data de caducidade.",
|
||||||
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a vostede nun comentario en «%s».",
|
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a Vde. nun comentario en «%s».",
|
||||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionouno a vostede nun comentario en {deck-card}.",
|
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionouno a Vde. nun comentario en {deck-card}.",
|
||||||
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con vostede por %s.",
|
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con Vde. por %s.",
|
||||||
"{user} has shared {deck-board} with you." : "{user} compartiu {deck-board} con vostede.",
|
"{user} has shared {deck-board} with you." : "{user} compartiu {deck-board} con vostede.",
|
||||||
"Deck board" : "Taboleiro do Tarxeteiro",
|
"Deck board" : "Taboleiro do Tarxeteiro",
|
||||||
"Owned by %1$s" : "Propiedade de %1$s",
|
"Owned by %1$s" : "Propiedade de %1$s",
|
||||||
@@ -111,7 +111,7 @@ OC.L10N.register(
|
|||||||
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
|
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD",
|
||||||
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
|
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tarxeteiro é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en Markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e insíraos na súa descrición de Markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tarxeteiro é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en Markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e integreos na súa descrición de Markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado",
|
||||||
"Add board" : "Engadir taboleiro",
|
"Add board" : "Engadir taboleiro",
|
||||||
"Select the board to link to a project" : "Seleccione o taboleiro para ligar a un proxecto",
|
"Select the board to link to a project" : "Seleccione o taboleiro para ligar a un proxecto",
|
||||||
"Search by board title" : "Buscar polo título do taboleiro",
|
"Search by board title" : "Buscar polo título do taboleiro",
|
||||||
@@ -128,7 +128,7 @@ OC.L10N.register(
|
|||||||
"Create card" : "Crear tarxeta",
|
"Create card" : "Crear tarxeta",
|
||||||
"Select a card" : "Seleccione unha tarxeta",
|
"Select a card" : "Seleccione unha tarxeta",
|
||||||
"Select the card to link to a project" : "Seleccione a tarxeta para ligar a un proxecto",
|
"Select the card to link to a project" : "Seleccione a tarxeta para ligar a un proxecto",
|
||||||
"Link to card" : "Ligar á tarxeta",
|
"Link to card" : "Ligazón á tarxeta",
|
||||||
"File already exists" : "O ficheiro xa existe",
|
"File already exists" : "O ficheiro xa existe",
|
||||||
"A file with the name {filename} already exists." : "Xa existe un ficheiro co nome {filename}.",
|
"A file with the name {filename} already exists." : "Xa existe un ficheiro co nome {filename}.",
|
||||||
"Do you want to overwrite it?" : "Quere sobrescribilo?",
|
"Do you want to overwrite it?" : "Quere sobrescribilo?",
|
||||||
@@ -202,7 +202,7 @@ OC.L10N.register(
|
|||||||
"Members" : "Membros",
|
"Members" : "Membros",
|
||||||
"Upload new files" : "Enviar novos ficheiros",
|
"Upload new files" : "Enviar novos ficheiros",
|
||||||
"Share from Files" : "Compartir dende «Ficheiros»",
|
"Share from Files" : "Compartir dende «Ficheiros»",
|
||||||
"Pending share" : "Recurso compartido pendente",
|
"Pending share" : "Compartición pendente",
|
||||||
"Add this attachment" : "Engadir este anexo",
|
"Add this attachment" : "Engadir este anexo",
|
||||||
"Show in Files" : "Amosar en Ficheiros",
|
"Show in Files" : "Amosar en Ficheiros",
|
||||||
"Download" : "Descargar",
|
"Download" : "Descargar",
|
||||||
@@ -265,8 +265,8 @@ OC.L10N.register(
|
|||||||
"seconds ago" : "segundos atrás",
|
"seconds ago" : "segundos atrás",
|
||||||
"All boards" : "Todos os taboleiros",
|
"All boards" : "Todos os taboleiros",
|
||||||
"Archived boards" : "Taboleiros arquivados",
|
"Archived boards" : "Taboleiros arquivados",
|
||||||
"Shared with you" : "Compartido con vostede",
|
"Shared with you" : "Compartido con Vde.",
|
||||||
"Deck settings" : "Axustes do Tarxeteiro",
|
"Deck settings" : "Axustes de 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",
|
||||||
@@ -295,22 +295,22 @@ OC.L10N.register(
|
|||||||
"No due" : "Sen caducidade",
|
"No due" : "Sen caducidade",
|
||||||
"Search for {searchQuery} in all boards" : "Resultados de busca para {searchQuery} en todos os taboleiros",
|
"Search for {searchQuery} in all boards" : "Resultados de busca para {searchQuery} en todos os taboleiros",
|
||||||
"No results found" : "Non se atoparon resultados",
|
"No results found" : "Non se atoparon resultados",
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "Taboleiro do Tarxeteiro {nome}\n* Última modificación en {lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "Taboleiro do Tarxeteiro {name}\n* Última modificación en {lastMod}",
|
||||||
"{stack} in {board}" : "{stack} en {board}",
|
"{stack} in {board}" : "{stack} en {board}",
|
||||||
"Click to expand description" : "Prema para ampliar a descrición",
|
"Click to expand description" : "Prema para despregar a descrición",
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado o {created}\n* Última modificación o {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentarios",
|
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado o {created}\n* Última modificación o {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentarios",
|
||||||
"{nbCards} cards" : "{nbCards} tarxetas",
|
"{nbCards} cards" : "{nbCards} tarxetas",
|
||||||
"Click to expand comment" : "Prema para ampliar o comentario",
|
"Click to expand comment" : "Prema para despregar o comentario",
|
||||||
"No upcoming cards" : "Non hai tarxetas próximas",
|
"No upcoming cards" : "Non hai tarxetas próximas",
|
||||||
"upcoming cards" : "tarxetas próximas",
|
"upcoming cards" : "tarxetas próximas",
|
||||||
"New card" : "Nova tarxeta",
|
"New card" : "Nova tarxeta",
|
||||||
"Due on {date}" : "Caduca o {date}",
|
"Due on {date}" : "Caduca o {date}",
|
||||||
"Link to a board" : "Ligar a un taboleiro",
|
"Link to a board" : "Ligazón a un taboleiro",
|
||||||
"Link to a card" : "Ligar a unha tarxeta",
|
"Link to a card" : "Ligazón a unha tarxeta",
|
||||||
"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 actualizar {name}",
|
"Failed to upload {name}" : "Produciuse un fallo ao enviar {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",
|
||||||
|
|||||||
92
l10n/gl.json
92
l10n/gl.json
@@ -1,65 +1,65 @@
|
|||||||
{ "translations": {
|
{ "translations": {
|
||||||
"You have created a new board {board}" : "Vostede creou o novo taboleiro {board}",
|
"You have created a new board {board}" : "Vde. creou o novo taboleiro {board}",
|
||||||
"{user} has created a new board {board}" : "{user} creou o novo taboleiro {board}",
|
"{user} has created a new board {board}" : "{user} creou o novo taboleiro {board}",
|
||||||
"You have deleted the board {board}" : "Vostede eliminou o taboleiro {board}",
|
"You have deleted the board {board}" : "Vde. eliminou o taboleiro {board}",
|
||||||
"{user} has deleted the board {board}" : "{user} eliminou o taboleiro {board}",
|
"{user} has deleted the board {board}" : "{user} eliminou o taboleiro {board}",
|
||||||
"You have restored the board {board}" : "Vostede restaurou o taboleiro {board}",
|
"You have restored the board {board}" : "Vde. restaurou o taboleiro {board}",
|
||||||
"{user} has restored the board {board}" : "{user} restaurou o taboleiro {board}",
|
"{user} has restored the board {board}" : "{user} restaurou o taboleiro {board}",
|
||||||
"You have shared the board {board} with {acl}" : "Vostede compartiu o taboleiro {board} con {acl}",
|
"You have shared the board {board} with {acl}" : "Vde. compartiu o taboleiro {board} con {acl}",
|
||||||
"{user} has shared the board {board} with {acl}" : "{user} compartiu o taboleiro {board} con {acl}",
|
"{user} has shared the board {board} with {acl}" : "{user} compartiu o taboleiro {board} con {acl}",
|
||||||
"You have removed {acl} from the board {board}" : "Vostede retirou a {acl} do taboleiro {board}",
|
"You have removed {acl} from the board {board}" : "Vde. retirou a {acl} do taboleiro {board}",
|
||||||
"{user} has removed {acl} from the board {board}" : "{user} retirou a {acl} do taboleiro {board}",
|
"{user} has removed {acl} from the board {board}" : "{user} retirou a {acl} do taboleiro {board}",
|
||||||
"You have renamed the board {before} to {board}" : "Vostede renomeou o taboleiro {before} como {board}",
|
"You have renamed the board {before} to {board}" : "Vde. renomeou o taboleiro {before} como {board}",
|
||||||
"{user} has renamed the board {before} to {board}" : "{user} renomeou o taboleiro {before} como {board}",
|
"{user} has renamed the board {before} to {board}" : "{user} renomeou o taboleiro {before} como {board}",
|
||||||
"You have archived the board {board}" : "Vostede arquivou o taboleiro {board}",
|
"You have archived the board {board}" : "Vde. arquivou o taboleiro {board}",
|
||||||
"{user} has archived the board {before}" : "{user} arquivou o taboleiro {before}",
|
"{user} has archived the board {before}" : "{user} arquivou o taboleiro {before}",
|
||||||
"You have unarchived the board {board}" : "Vostede desarquivou o taboleiro {board}",
|
"You have unarchived the board {board}" : "Vde. desarquivou o taboleiro {board}",
|
||||||
"{user} has unarchived the board {before}" : "{user} desarquivou o taboleiro {before}",
|
"{user} has unarchived the board {before}" : "{user} desarquivou o taboleiro {before}",
|
||||||
"You have created a new list {stack} on board {board}" : "Vostede creou unha nova lista {stack} no taboleiro {board}",
|
"You have created a new list {stack} on board {board}" : "Vde. creou unha nova lista {stack} no taboleiro {board}",
|
||||||
"{user} has created a new list {stack} on board {board}" : "{user} creou unha nova lista {stack} no taboleiro {board}",
|
"{user} has created a new list {stack} on board {board}" : "{user} creou unha nova lista {stack} no taboleiro {board}",
|
||||||
"You have renamed list {before} to {stack} on board {board}" : "Vostede renomeou a lista {before} no taboleiro {board}",
|
"You have renamed list {before} to {stack} on board {board}" : "Vde. renomeou a lista {before} no taboleiro {board}",
|
||||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} renomeou a lista {before} como {stack} no taboleiro {board}",
|
"{user} has renamed list {before} to {stack} on board {board}" : "{user} renomeou a lista {before} como {stack} no taboleiro {board}",
|
||||||
"You have deleted list {stack} on board {board}" : "Vostede eliminou a lista {stack} do taboleiro {board}",
|
"You have deleted list {stack} on board {board}" : "Vde. eliminou a lista {stack} do taboleiro {board}",
|
||||||
"{user} has deleted list {stack} on board {board}" : "{user} eliminou a lista {stack} do taboleiro {board}",
|
"{user} has deleted list {stack} on board {board}" : "{user} eliminou a lista {stack} do taboleiro {board}",
|
||||||
"You have created card {card} in list {stack} on board {board}" : "Vostede creou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have created card {card} in list {stack} on board {board}" : "Vde. creou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} creou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has created card {card} in list {stack} on board {board}" : "{user} creou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have deleted card {card} in list {stack} on board {board}" : "Vostede eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have deleted card {card} in list {stack} on board {board}" : "Vde. eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} eliminou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have renamed the card {before} to {card}" : "Renomeou a tarxeta {before} a {card}",
|
"You have renamed the card {before} to {card}" : "Renomeou a tarxeta {before} a {card}",
|
||||||
"{user} has renamed the card {before} to {card}" : "{user} renomeou a tarxeta {before} a {card}",
|
"{user} has renamed the card {before} to {card}" : "{user} renomeou a tarxeta {before} a {card}",
|
||||||
"You have added a description to card {card} in list {stack} on board {board}" : "Vostede engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have added a description to card {card} in list {stack} on board {board}" : "Vde. engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} engadiu a descrición á tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Vostede actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have updated the description of card {card} in list {stack} on board {board}" : "Vde. actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} actualizou a descrición da tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have archived card {card} in list {stack} on board {board}" : "Vostede arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have archived card {card} in list {stack} on board {board}" : "Vde. arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Vostede desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Vde. desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} desarquivou a tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have removed the due date of card {card}" : "Vostede retirou a caducidade da tarxeta {card}",
|
"You have removed the due date of card {card}" : "Vde. retirou a caducidade da tarxeta {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
|
"{user} has removed the due date of card {card}" : "{user} retirou a caducidade da tarxeta {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Vostede estabeleceu a caducidade da tarxeta {card} a {after}",
|
"You have set the due date of card {card} to {after}" : "Vde. estabeleceu a caducidade da tarxeta {card} a {after}",
|
||||||
"{user} has set the due date of card {card} to {after}" : "{user} estabeleceu a caducidade da tarxeta {card} a {after}",
|
"{user} has set the due date of card {card} to {after}" : "{user} estabeleceu a caducidade da tarxeta {card} a {after}",
|
||||||
"You have updated the due date of card {card} to {after}" : "Vostede actualizou a caducidade da tarxeta {card} a {after}",
|
"You have updated the due date of card {card} to {after}" : "Vde. actualizou a caducidade da tarxeta {card} a {after}",
|
||||||
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
|
"{user} has updated the due date of card {card} to {after}" : "{user} actualizou a caducidade da tarxeta {card} a {after}",
|
||||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vostede engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Vde. engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} engadiu a etiqueta {label} á tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vostede retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
|
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Vde. retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
|
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} retirou a etiqueta {label} da tarxeta {card} na lista {stack} no taboleiro {board}",
|
||||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Vostede asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
|
"You have assigned {assigneduser} to card {card} on board {board}" : "Vde. asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
|
||||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
|
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} asignou a {assigneduser} á tarxeta {card} no taboleiro {board}",
|
||||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vostede desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
|
"You have unassigned {assigneduser} from card {card} on board {board}" : "Vde. desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
|
||||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
|
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} desasignou a {assigneduser} da tarxeta {card} no taboleiro {board}",
|
||||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vostede moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
|
"You have moved the card {card} from list {stackBefore} to {stack}" : "Vde. moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
|
||||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
|
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} moveu a tarxeta {card} dende a lista {stackBefore} cara a lista {stack}",
|
||||||
"You have added the attachment {attachment} to card {card}" : "Vostede engadiu o anexo {attachment} na tarxeta {card}",
|
"You have added the attachment {attachment} to card {card}" : "Vde. engadiu o anexo {attachment} na tarxeta {card}",
|
||||||
"{user} has added the attachment {attachment} to card {card}" : "{user} engadiu o anexo {attachment} na tarxeta {card}",
|
"{user} has added the attachment {attachment} to card {card}" : "{user} engadiu o anexo {attachment} na tarxeta {card}",
|
||||||
"You have updated the attachment {attachment} on card {card}" : "Vostede actualizou o anexo {attachment} na tarxeta {card}",
|
"You have updated the attachment {attachment} on card {card}" : "Vde. actualizou o anexo {attachment} na tarxeta {card}",
|
||||||
"{user} has updated the attachment {attachment} on card {card}" : "{user} actualizou o anexo {attachment} na tarxeta {card}",
|
"{user} has updated the attachment {attachment} on card {card}" : "{user} actualizou o anexo {attachment} na tarxeta {card}",
|
||||||
"You have deleted the attachment {attachment} from card {card}" : "Vostede eliminou o anexo {attachment} da tarxeta {card}",
|
"You have deleted the attachment {attachment} from card {card}" : "Vde. eliminou o anexo {attachment} da tarxeta {card}",
|
||||||
"{user} has deleted the attachment {attachment} from card {card}" : "{user} eliminou o anexo {attachment} da tarxeta {card}",
|
"{user} has deleted the attachment {attachment} from card {card}" : "{user} eliminou o anexo {attachment} da tarxeta {card}",
|
||||||
"You have restored the attachment {attachment} to card {card}" : "Vostede restaurou o anexo {attachment} na tarxeta {card}",
|
"You have restored the attachment {attachment} to card {card}" : "Vde. restaurou o anexo {attachment} na tarxeta {card}",
|
||||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} restaurou o anexo {attachment} da tarxeta {card}",
|
"{user} has restored the attachment {attachment} to card {card}" : "{user} restaurou o anexo {attachment} da tarxeta {card}",
|
||||||
"You have commented on card {card}" : "Vostede comentou na tarxeta {card}",
|
"You have commented on card {card}" : "Vde. comentou na tarxeta {card}",
|
||||||
"{user} has commented on card {card}" : "{user} comentou na tarxeta {card}",
|
"{user} has commented on card {card}" : "{user} comentou na tarxeta {card}",
|
||||||
"A <strong>card description</strong> inside the Deck app has been changed" : "Cambiouse a <strong>descripción da tarxeta</strong> dentro da aplicación Tarxeteiro",
|
"A <strong>card description</strong> inside the Deck app has been changed" : "Cambiouse a <strong>descripción da tarxeta</strong> dentro da aplicación Tarxeteiro",
|
||||||
"Deck" : "Tarxeteiro",
|
"Deck" : "Tarxeteiro",
|
||||||
@@ -68,13 +68,13 @@
|
|||||||
"Upcoming cards" : "Tarxetas próximas",
|
"Upcoming cards" : "Tarxetas próximas",
|
||||||
"Load more" : "Cargar máis",
|
"Load more" : "Cargar máis",
|
||||||
"Personal" : "Persoal",
|
"Personal" : "Persoal",
|
||||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a vostede por %s.",
|
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "A tarxeta «%s» en «%s» foi asignada a Vde. por %s.",
|
||||||
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} asignoulle a tarxeta {deck-card} en {deck-board} a vostede.",
|
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} asignoulle a tarxeta {deck-card} en {deck-board} a Vde.",
|
||||||
"The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» acadou a súa data de caducidade.",
|
"The card \"%s\" on \"%s\" has reached its due date." : "A tarxeta «%s» en «%s» acadou a súa data de caducidade.",
|
||||||
"The card {deck-card} on {deck-board} has reached its due date." : "A tarxeta {deck-card} en {deck-board} chegou á súa data de caducidade.",
|
"The card {deck-card} on {deck-board} has reached its due date." : "A tarxeta {deck-card} en {deck-board} chegou á súa data de caducidade.",
|
||||||
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a vostede nun comentario en «%s».",
|
"%s has mentioned you in a comment on \"%s\"." : "%s mencionouno a Vde. nun comentario en «%s».",
|
||||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionouno a vostede nun comentario en {deck-card}.",
|
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionouno a Vde. nun comentario en {deck-card}.",
|
||||||
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con vostede por %s.",
|
"The board \"%s\" has been shared with you by %s." : "O taboleiro «%s» foi compartido con Vde. por %s.",
|
||||||
"{user} has shared {deck-board} with you." : "{user} compartiu {deck-board} con vostede.",
|
"{user} has shared {deck-board} with you." : "{user} compartiu {deck-board} con vostede.",
|
||||||
"Deck board" : "Taboleiro do Tarxeteiro",
|
"Deck board" : "Taboleiro do Tarxeteiro",
|
||||||
"Owned by %1$s" : "Propiedade de %1$s",
|
"Owned by %1$s" : "Propiedade de %1$s",
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
|
"Path is already shared with this card" : "A ruta xa está compartida con esta tarxeta",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "Data incorrecta, o formato da date debe ser AAAA-MM-DD",
|
||||||
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
|
"Personal planning and team project organization" : "Planificación persoal e organización de proxectos de equipo",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tarxeteiro é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en Markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e insíraos na súa descrición de Markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tarxeteiro é unha ferramenta de organización de estilo kanban dirixida a planificación persoal e organización de proxectos para equipos integrados con Nextcloud. \n\n\n- 📥 Engada as súas tarefas ás tarxetas e fagas ordenadas\n- 📄 Escriba notas adicionais en Markdown\n- 🔖 Asigne etiquetas para unha mellor organización\n- 👥 Comparta co seu equipo, amigos ou a súa familia\n- 📎 Anexe ficheiros e integreos na súa descrición de Markdown\n- 💬 Debata co seu equipo usando os comentarios\n- ⚡ Faga un seguimento dos cambios no fluxo de actividade\n- 🚀 Teña o seu proxecto organizado",
|
||||||
"Add board" : "Engadir taboleiro",
|
"Add board" : "Engadir taboleiro",
|
||||||
"Select the board to link to a project" : "Seleccione o taboleiro para ligar a un proxecto",
|
"Select the board to link to a project" : "Seleccione o taboleiro para ligar a un proxecto",
|
||||||
"Search by board title" : "Buscar polo título do taboleiro",
|
"Search by board title" : "Buscar polo título do taboleiro",
|
||||||
@@ -126,7 +126,7 @@
|
|||||||
"Create card" : "Crear tarxeta",
|
"Create card" : "Crear tarxeta",
|
||||||
"Select a card" : "Seleccione unha tarxeta",
|
"Select a card" : "Seleccione unha tarxeta",
|
||||||
"Select the card to link to a project" : "Seleccione a tarxeta para ligar a un proxecto",
|
"Select the card to link to a project" : "Seleccione a tarxeta para ligar a un proxecto",
|
||||||
"Link to card" : "Ligar á tarxeta",
|
"Link to card" : "Ligazón á tarxeta",
|
||||||
"File already exists" : "O ficheiro xa existe",
|
"File already exists" : "O ficheiro xa existe",
|
||||||
"A file with the name {filename} already exists." : "Xa existe un ficheiro co nome {filename}.",
|
"A file with the name {filename} already exists." : "Xa existe un ficheiro co nome {filename}.",
|
||||||
"Do you want to overwrite it?" : "Quere sobrescribilo?",
|
"Do you want to overwrite it?" : "Quere sobrescribilo?",
|
||||||
@@ -200,7 +200,7 @@
|
|||||||
"Members" : "Membros",
|
"Members" : "Membros",
|
||||||
"Upload new files" : "Enviar novos ficheiros",
|
"Upload new files" : "Enviar novos ficheiros",
|
||||||
"Share from Files" : "Compartir dende «Ficheiros»",
|
"Share from Files" : "Compartir dende «Ficheiros»",
|
||||||
"Pending share" : "Recurso compartido pendente",
|
"Pending share" : "Compartición pendente",
|
||||||
"Add this attachment" : "Engadir este anexo",
|
"Add this attachment" : "Engadir este anexo",
|
||||||
"Show in Files" : "Amosar en Ficheiros",
|
"Show in Files" : "Amosar en Ficheiros",
|
||||||
"Download" : "Descargar",
|
"Download" : "Descargar",
|
||||||
@@ -263,8 +263,8 @@
|
|||||||
"seconds ago" : "segundos atrás",
|
"seconds ago" : "segundos atrás",
|
||||||
"All boards" : "Todos os taboleiros",
|
"All boards" : "Todos os taboleiros",
|
||||||
"Archived boards" : "Taboleiros arquivados",
|
"Archived boards" : "Taboleiros arquivados",
|
||||||
"Shared with you" : "Compartido con vostede",
|
"Shared with you" : "Compartido con Vde.",
|
||||||
"Deck settings" : "Axustes do Tarxeteiro",
|
"Deck settings" : "Axustes de 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",
|
||||||
@@ -293,22 +293,22 @@
|
|||||||
"No due" : "Sen caducidade",
|
"No due" : "Sen caducidade",
|
||||||
"Search for {searchQuery} in all boards" : "Resultados de busca para {searchQuery} en todos os taboleiros",
|
"Search for {searchQuery} in all boards" : "Resultados de busca para {searchQuery} en todos os taboleiros",
|
||||||
"No results found" : "Non se atoparon resultados",
|
"No results found" : "Non se atoparon resultados",
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "Taboleiro do Tarxeteiro {nome}\n* Última modificación en {lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "Taboleiro do Tarxeteiro {name}\n* Última modificación en {lastMod}",
|
||||||
"{stack} in {board}" : "{stack} en {board}",
|
"{stack} in {board}" : "{stack} en {board}",
|
||||||
"Click to expand description" : "Prema para ampliar a descrición",
|
"Click to expand description" : "Prema para despregar a descrición",
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado o {created}\n* Última modificación o {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentarios",
|
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creado o {created}\n* Última modificación o {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentarios",
|
||||||
"{nbCards} cards" : "{nbCards} tarxetas",
|
"{nbCards} cards" : "{nbCards} tarxetas",
|
||||||
"Click to expand comment" : "Prema para ampliar o comentario",
|
"Click to expand comment" : "Prema para despregar o comentario",
|
||||||
"No upcoming cards" : "Non hai tarxetas próximas",
|
"No upcoming cards" : "Non hai tarxetas próximas",
|
||||||
"upcoming cards" : "tarxetas próximas",
|
"upcoming cards" : "tarxetas próximas",
|
||||||
"New card" : "Nova tarxeta",
|
"New card" : "Nova tarxeta",
|
||||||
"Due on {date}" : "Caduca o {date}",
|
"Due on {date}" : "Caduca o {date}",
|
||||||
"Link to a board" : "Ligar a un taboleiro",
|
"Link to a board" : "Ligazón a un taboleiro",
|
||||||
"Link to a card" : "Ligar a unha tarxeta",
|
"Link to a card" : "Ligazón a unha tarxeta",
|
||||||
"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 actualizar {name}",
|
"Failed to upload {name}" : "Produciuse un fallo ao enviar {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,6 +303,7 @@ 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,6 +301,7 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ OC.L10N.register(
|
|||||||
"seconds ago" : "วินาทีที่ผ่านมา",
|
"seconds ago" : "วินาทีที่ผ่านมา",
|
||||||
"Shared with you" : "แชร์กับคุณ",
|
"Shared with you" : "แชร์กับคุณ",
|
||||||
"Edit board" : "แก้ไขกระดาน",
|
"Edit board" : "แก้ไขกระดาน",
|
||||||
|
"No notifications" : "ไม่มีการแจ้งเตือน",
|
||||||
"Delete board" : "ลบกระดาน",
|
"Delete board" : "ลบกระดาน",
|
||||||
"An error occurred" : "เกิดข้อผิดพลาด",
|
"An error occurred" : "เกิดข้อผิดพลาด",
|
||||||
"Share" : "แชร์"
|
"Share" : "แชร์"
|
||||||
|
|||||||
@@ -45,6 +45,7 @@
|
|||||||
"seconds ago" : "วินาทีที่ผ่านมา",
|
"seconds ago" : "วินาทีที่ผ่านมา",
|
||||||
"Shared with you" : "แชร์กับคุณ",
|
"Shared with you" : "แชร์กับคุณ",
|
||||||
"Edit board" : "แก้ไขกระดาน",
|
"Edit board" : "แก้ไขกระดาน",
|
||||||
|
"No notifications" : "ไม่มีการแจ้งเตือน",
|
||||||
"Delete board" : "ลบกระดาน",
|
"Delete board" : "ลบกระดาน",
|
||||||
"An error occurred" : "เกิดข้อผิดพลาด",
|
"An error occurred" : "เกิดข้อผิดพลาด",
|
||||||
"Share" : "แชร์"
|
"Share" : "แชร์"
|
||||||
|
|||||||
21
l10n/uk.js
21
l10n/uk.js
@@ -2,7 +2,7 @@ OC.L10N.register(
|
|||||||
"deck",
|
"deck",
|
||||||
{
|
{
|
||||||
"You have created a new board {board}" : "Ви створили нову дошку {board}",
|
"You have created a new board {board}" : "Ви створили нову дошку {board}",
|
||||||
"{user} has created a new board {board}" : "{user} створив нову дошку {board}",
|
"{user} has created a new board {board}" : "{user} створив(-ла) нову дошку {board}",
|
||||||
"You have deleted the board {board}" : "Ви вилучили дошку {board}",
|
"You have deleted the board {board}" : "Ви вилучили дошку {board}",
|
||||||
"{user} has deleted the board {board}" : "{user} вилучив дошку {board}",
|
"{user} has deleted the board {board}" : "{user} вилучив дошку {board}",
|
||||||
"You have restored the board {board}" : "Ви відновили дошку {board}",
|
"You have restored the board {board}" : "Ви відновили дошку {board}",
|
||||||
@@ -18,19 +18,19 @@ OC.L10N.register(
|
|||||||
"You have unarchived the board {board}" : "Ви розархівували дошку {board}",
|
"You have unarchived the board {board}" : "Ви розархівували дошку {board}",
|
||||||
"{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}",
|
"{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}",
|
||||||
"You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}",
|
"You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}",
|
||||||
"{user} has created a new list {stack} on board {board}" : "{user} створив новий список {stack} на дошці {board}",
|
"{user} has created a new list {stack} on board {board}" : "{user} створив(-ла) новий список {stack} на дошці {board}",
|
||||||
"You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}",
|
"You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}",
|
||||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив(-ла) назву списку {before} на {stack} на дошці {board}",
|
"{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив(-ла) назву списку {before} на {stack} на дошці {board}",
|
||||||
"You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}",
|
"You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}",
|
||||||
"{user} has deleted list {stack} on board {board}" : "{user} видалив список {stack} на дошці {board}",
|
"{user} has deleted list {stack} on board {board}" : "{user} вилучив(-ла) список {stack} на дошці {board}",
|
||||||
"You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}",
|
"You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}",
|
||||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив картку {card} у списку {stack} на дошці {board}",
|
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив(-ла) картку {card} у списку {stack} на дошці {board}",
|
||||||
"You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}",
|
"You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}",
|
||||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} видалив картку {card} у списку {stack} на дошці {board}",
|
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} вилучив(-ла) картку {card} у списку {stack} на дошці {board}",
|
||||||
"You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}",
|
"You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}",
|
||||||
"{user} has renamed the card {before} to {card}" : "{user} змінив(-ла) назву картки {before} на {card}",
|
"{user} has renamed the card {before} to {card}" : "{user} змінив(-ла) назву картки {before} на {card}",
|
||||||
"You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}",
|
"You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}",
|
||||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав опис до картки {card} у списку {stack} на дошці {board}",
|
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав(-ла) опис до картки {card} у списку {stack} на дошці {board}",
|
||||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
|
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
|
||||||
"Deck" : "Колода",
|
"Deck" : "Колода",
|
||||||
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
|
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
|
||||||
@@ -86,7 +86,7 @@ OC.L10N.register(
|
|||||||
"Add list" : "Додати список",
|
"Add list" : "Додати список",
|
||||||
"List name" : "Назва списку",
|
"List name" : "Назва списку",
|
||||||
"Apply filter" : "Відфільтрувати",
|
"Apply filter" : "Відфільтрувати",
|
||||||
"Filter by tag" : "Відібрати за позначками",
|
"Filter by tag" : "Відібрати за мітками",
|
||||||
"Filter by assigned user" : "Відібрати за призначеним користувачем",
|
"Filter by assigned user" : "Відібрати за призначеним користувачем",
|
||||||
"Unassigned" : "Скасовано призначення",
|
"Unassigned" : "Скасовано призначення",
|
||||||
"Filter by due date" : "Відібрати за датою завершення",
|
"Filter by due date" : "Відібрати за датою завершення",
|
||||||
@@ -98,12 +98,13 @@ OC.L10N.register(
|
|||||||
"Hide archived cards" : "Приховати архівні картки",
|
"Hide archived cards" : "Приховати архівні картки",
|
||||||
"Show archived cards" : "Показати архівні картки",
|
"Show archived cards" : "Показати архівні картки",
|
||||||
"Toggle compact mode" : "Перемкнути компактний вигляд",
|
"Toggle compact mode" : "Перемкнути компактний вигляд",
|
||||||
|
"Open details" : "Показати деталі",
|
||||||
"Details" : "Деталі",
|
"Details" : "Деталі",
|
||||||
"Loading board" : "Завантаження дошки",
|
"Loading board" : "Завантаження дошки",
|
||||||
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
|
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
|
||||||
"Board not found" : "Дошку не знайдено",
|
"Board not found" : "Дошку не знайдено",
|
||||||
"Sharing" : "Поділитися",
|
"Sharing" : "Поділитися",
|
||||||
"Tags" : "Теги",
|
"Tags" : "Мітки",
|
||||||
"Deleted items" : "Вилучені елементи",
|
"Deleted items" : "Вилучені елементи",
|
||||||
"Timeline" : "Дії",
|
"Timeline" : "Дії",
|
||||||
"Deleted lists" : "Вилучені списки",
|
"Deleted lists" : "Вилучені списки",
|
||||||
@@ -122,7 +123,7 @@ OC.L10N.register(
|
|||||||
"Delete list" : "Вилучити список",
|
"Delete list" : "Вилучити список",
|
||||||
"Add a new card" : "Додати нову картку",
|
"Add a new card" : "Додати нову картку",
|
||||||
"Edit" : "Редагувати",
|
"Edit" : "Редагувати",
|
||||||
"Add a new tag" : "Додати нову позначку",
|
"Add a new tag" : "Додати нову мітку",
|
||||||
"title and color value must be provided" : "потрібно зазначити назву та колір",
|
"title and color value must be provided" : "потрібно зазначити назву та колір",
|
||||||
"Board name" : "Назва дошки",
|
"Board name" : "Назва дошки",
|
||||||
"Members" : "Учасники",
|
"Members" : "Учасники",
|
||||||
@@ -140,7 +141,7 @@ OC.L10N.register(
|
|||||||
"Modified" : "Змінено",
|
"Modified" : "Змінено",
|
||||||
"Created" : "Створено",
|
"Created" : "Створено",
|
||||||
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
|
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
|
||||||
"Assign a tag to this card…" : "Додати позначку до цієї картки",
|
"Assign a tag to this card…" : "Додати мітку до цієї картки",
|
||||||
"Assign to users" : "Призначити користувачам",
|
"Assign to users" : "Призначити користувачам",
|
||||||
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
|
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
|
||||||
"Assign a user to this card…" : "Призначити користувачеві цю картку",
|
"Assign a user to this card…" : "Призначити користувачеві цю картку",
|
||||||
|
|||||||
21
l10n/uk.json
21
l10n/uk.json
@@ -1,6 +1,6 @@
|
|||||||
{ "translations": {
|
{ "translations": {
|
||||||
"You have created a new board {board}" : "Ви створили нову дошку {board}",
|
"You have created a new board {board}" : "Ви створили нову дошку {board}",
|
||||||
"{user} has created a new board {board}" : "{user} створив нову дошку {board}",
|
"{user} has created a new board {board}" : "{user} створив(-ла) нову дошку {board}",
|
||||||
"You have deleted the board {board}" : "Ви вилучили дошку {board}",
|
"You have deleted the board {board}" : "Ви вилучили дошку {board}",
|
||||||
"{user} has deleted the board {board}" : "{user} вилучив дошку {board}",
|
"{user} has deleted the board {board}" : "{user} вилучив дошку {board}",
|
||||||
"You have restored the board {board}" : "Ви відновили дошку {board}",
|
"You have restored the board {board}" : "Ви відновили дошку {board}",
|
||||||
@@ -16,19 +16,19 @@
|
|||||||
"You have unarchived the board {board}" : "Ви розархівували дошку {board}",
|
"You have unarchived the board {board}" : "Ви розархівували дошку {board}",
|
||||||
"{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}",
|
"{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}",
|
||||||
"You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}",
|
"You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}",
|
||||||
"{user} has created a new list {stack} on board {board}" : "{user} створив новий список {stack} на дошці {board}",
|
"{user} has created a new list {stack} on board {board}" : "{user} створив(-ла) новий список {stack} на дошці {board}",
|
||||||
"You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}",
|
"You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}",
|
||||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив(-ла) назву списку {before} на {stack} на дошці {board}",
|
"{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив(-ла) назву списку {before} на {stack} на дошці {board}",
|
||||||
"You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}",
|
"You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}",
|
||||||
"{user} has deleted list {stack} on board {board}" : "{user} видалив список {stack} на дошці {board}",
|
"{user} has deleted list {stack} on board {board}" : "{user} вилучив(-ла) список {stack} на дошці {board}",
|
||||||
"You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}",
|
"You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}",
|
||||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив картку {card} у списку {stack} на дошці {board}",
|
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив(-ла) картку {card} у списку {stack} на дошці {board}",
|
||||||
"You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}",
|
"You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}",
|
||||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} видалив картку {card} у списку {stack} на дошці {board}",
|
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} вилучив(-ла) картку {card} у списку {stack} на дошці {board}",
|
||||||
"You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}",
|
"You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}",
|
||||||
"{user} has renamed the card {before} to {card}" : "{user} змінив(-ла) назву картки {before} на {card}",
|
"{user} has renamed the card {before} to {card}" : "{user} змінив(-ла) назву картки {before} на {card}",
|
||||||
"You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}",
|
"You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}",
|
||||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав опис до картки {card} у списку {stack} на дошці {board}",
|
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав(-ла) опис до картки {card} у списку {stack} на дошці {board}",
|
||||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
|
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
|
||||||
"Deck" : "Колода",
|
"Deck" : "Колода",
|
||||||
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
|
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
"Add list" : "Додати список",
|
"Add list" : "Додати список",
|
||||||
"List name" : "Назва списку",
|
"List name" : "Назва списку",
|
||||||
"Apply filter" : "Відфільтрувати",
|
"Apply filter" : "Відфільтрувати",
|
||||||
"Filter by tag" : "Відібрати за позначками",
|
"Filter by tag" : "Відібрати за мітками",
|
||||||
"Filter by assigned user" : "Відібрати за призначеним користувачем",
|
"Filter by assigned user" : "Відібрати за призначеним користувачем",
|
||||||
"Unassigned" : "Скасовано призначення",
|
"Unassigned" : "Скасовано призначення",
|
||||||
"Filter by due date" : "Відібрати за датою завершення",
|
"Filter by due date" : "Відібрати за датою завершення",
|
||||||
@@ -96,12 +96,13 @@
|
|||||||
"Hide archived cards" : "Приховати архівні картки",
|
"Hide archived cards" : "Приховати архівні картки",
|
||||||
"Show archived cards" : "Показати архівні картки",
|
"Show archived cards" : "Показати архівні картки",
|
||||||
"Toggle compact mode" : "Перемкнути компактний вигляд",
|
"Toggle compact mode" : "Перемкнути компактний вигляд",
|
||||||
|
"Open details" : "Показати деталі",
|
||||||
"Details" : "Деталі",
|
"Details" : "Деталі",
|
||||||
"Loading board" : "Завантаження дошки",
|
"Loading board" : "Завантаження дошки",
|
||||||
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
|
"Create a new list to add cards to this board" : "Створіть список щоб додати картки на цю дошку",
|
||||||
"Board not found" : "Дошку не знайдено",
|
"Board not found" : "Дошку не знайдено",
|
||||||
"Sharing" : "Поділитися",
|
"Sharing" : "Поділитися",
|
||||||
"Tags" : "Теги",
|
"Tags" : "Мітки",
|
||||||
"Deleted items" : "Вилучені елементи",
|
"Deleted items" : "Вилучені елементи",
|
||||||
"Timeline" : "Дії",
|
"Timeline" : "Дії",
|
||||||
"Deleted lists" : "Вилучені списки",
|
"Deleted lists" : "Вилучені списки",
|
||||||
@@ -120,7 +121,7 @@
|
|||||||
"Delete list" : "Вилучити список",
|
"Delete list" : "Вилучити список",
|
||||||
"Add a new card" : "Додати нову картку",
|
"Add a new card" : "Додати нову картку",
|
||||||
"Edit" : "Редагувати",
|
"Edit" : "Редагувати",
|
||||||
"Add a new tag" : "Додати нову позначку",
|
"Add a new tag" : "Додати нову мітку",
|
||||||
"title and color value must be provided" : "потрібно зазначити назву та колір",
|
"title and color value must be provided" : "потрібно зазначити назву та колір",
|
||||||
"Board name" : "Назва дошки",
|
"Board name" : "Назва дошки",
|
||||||
"Members" : "Учасники",
|
"Members" : "Учасники",
|
||||||
@@ -138,7 +139,7 @@
|
|||||||
"Modified" : "Змінено",
|
"Modified" : "Змінено",
|
||||||
"Created" : "Створено",
|
"Created" : "Створено",
|
||||||
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
|
"No comments yet. Begin the discussion!" : "Коментарів немає, почніть обговорення!",
|
||||||
"Assign a tag to this card…" : "Додати позначку до цієї картки",
|
"Assign a tag to this card…" : "Додати мітку до цієї картки",
|
||||||
"Assign to users" : "Призначити користувачам",
|
"Assign to users" : "Призначити користувачам",
|
||||||
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
|
"Assign to users/groups/circles" : "Призначити користувачам/групам/колам",
|
||||||
"Assign a user to this card…" : "Призначити користувачеві цю картку",
|
"Assign a user to this card…" : "Призначити користувачеві цю картку",
|
||||||
|
|||||||
@@ -1,31 +1,31 @@
|
|||||||
OC.L10N.register(
|
OC.L10N.register(
|
||||||
"deck",
|
"deck",
|
||||||
{
|
{
|
||||||
"You have created a new board {board}" : "您创建了一个新面板 {board}",
|
"You have created a new board {board}" : "您创建了一个新面板{board}",
|
||||||
"{user} has created a new board {board}" : "{user} 创建了一个新面板 {board}",
|
"{user} has created a new board {board}" : "{user} 创建了一个新面板{board}",
|
||||||
"You have deleted the board {board}" : "您删除了面板 {board}",
|
"You have deleted the board {board}" : "您删除了面板{board}",
|
||||||
"{user} has deleted the board {board}" : "{user} 删除了面板 {board}",
|
"{user} has deleted the board {board}" : "{user}删除了面板{board}",
|
||||||
"You have restored the board {board}" : "您恢复了面板 {board}",
|
"You have restored the board {board}" : "您还原了面板{board}",
|
||||||
"{user} has restored the board {board}" : "{user} 恢复了 {board}",
|
"{user} has restored the board {board}" : "{user}还原了{board}",
|
||||||
"You have shared the board {board} with {acl}" : "您已共享 {board} 给 {acl}",
|
"You have shared the board {board} with {acl}" : "您已分享{board}给{acl}",
|
||||||
"{user} has shared the board {board} with {acl}" : "{user} 已使用 {acl} 共享面板 {board}",
|
"{user} has shared the board {board} with {acl}" : "{user}已使用{acl}分享面板{board}",
|
||||||
"You have removed {acl} from the board {board}" : "您从面板 {board} 中移除了 {acl}",
|
"You have removed {acl} from the board {board}" : "您从面板{board}中移除了{acl}",
|
||||||
"{user} has removed {acl} from the board {board}" : "{user} 从面板 {board} 中移除了 {acl} ",
|
"{user} has removed {acl} from the board {board}" : "{user}从面板{board}中移除了{acl} ",
|
||||||
"You have renamed the board {before} to {board}" : "您将面板 {before} 重命名为 {board}",
|
"You have renamed the board {before} to {board}" : "您将面板{before}重命名为{board}",
|
||||||
"{user} has renamed the board {before} to {board}" : "{user} 将面板 {before} 重命名为 {board}",
|
"{user} has renamed the board {before} to {board}" : "{user}将面板{before}重命名为{board}",
|
||||||
"You have archived the board {board}" : "您已将面板 {board} 归档",
|
"You have archived the board {board}" : "您已将面板{board}归档",
|
||||||
"{user} has archived the board {before}" : "{user} 已将面板 {before} 归档",
|
"{user} has archived the board {before}" : "{user}已将面板{before}归档",
|
||||||
"You have unarchived the board {board}" : "您已将面板 {board} 撤销归档",
|
"You have unarchived the board {board}" : "您已将面板{board}取消归档",
|
||||||
"{user} has unarchived the board {before}" : "{user} 已将面板 {before} 撤销归档",
|
"{user} has unarchived the board {before}" : "{user}已将面板{before}取消归档",
|
||||||
"You have created a new list {stack} on board {board}" : "您在 {board} 上创建了一个新列表 {stack}面板",
|
"You have created a new list {stack} on board {board}" : "您在{board}上创建了一个新列表{stack}面板",
|
||||||
"{user} has created a new list {stack} on board {board}" : "{user} 在 {board} 上创建了一个新列表 {stack}",
|
"{user} has created a new list {stack} on board {board}" : "{user}在{board}上创建了一个新列表{stack}",
|
||||||
"You have renamed list {before} to {stack} on board {board}" : "您将面板 {board} 上的列表 {before} 重命名为 {stack}",
|
"You have renamed list {before} to {stack} on board {board}" : "您将面板{board}上的列表{before}重命名为{stack}",
|
||||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} 将面板 {board} 上的列表 {before} 重命名为 {stack}",
|
"{user} has renamed list {before} to {stack} on board {board}" : "{user}将面板{board}上的列表{before}重命名为{stack}",
|
||||||
"You have deleted list {stack} on board {board}" : "您删除了面板 {board} 上的列表 {stack}",
|
"You have deleted list {stack} on board {board}" : "您删除了面板{board}上的列表{stack}",
|
||||||
"{user} has deleted list {stack} on board {board}" : "{user} 删除了面板 {board} 上的列表 {stack}",
|
"{user} has deleted list {stack} on board {board}" : "{user}删除了面板{board}上的列表{stack}",
|
||||||
"You have created card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
|
"You have created card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中创建了卡片{card}",
|
||||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
|
"{user} has created card {card} in list {stack} on board {board}" : "{user}在面板 {board}上的列表{stack}中创建了卡片{card}",
|
||||||
"You have deleted card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
|
"You have deleted card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中删除了卡片{card}",
|
||||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
|
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
|
||||||
"You have renamed the card {before} to {card}" : "您将卡片 {before} 重命名为 {card}",
|
"You have renamed the card {before} to {card}" : "您将卡片 {before} 重命名为 {card}",
|
||||||
"{user} has renamed the card {before} to {card}" : "{user} 将卡片 {before} 重命名为 {card}",
|
"{user} has renamed the card {before} to {card}" : "{user} 将卡片 {before} 重命名为 {card}",
|
||||||
@@ -77,14 +77,14 @@ OC.L10N.register(
|
|||||||
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的评论中提到了您。",
|
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的评论中提到了您。",
|
||||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deck-card} 的一条评论中提到了你",
|
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deck-card} 的一条评论中提到了你",
|
||||||
"The board \"%s\" has been shared with you by %s." : "面板 \"%s\" 已由 %s 共享给您。",
|
"The board \"%s\" has been shared with you by %s." : "面板 \"%s\" 已由 %s 共享给您。",
|
||||||
"{user} has shared {deck-board} with you." : "{user} 与你分享了 {deck-board}",
|
"{user} has shared {deck-board} with you." : "{user}与你分享了{deck-board}",
|
||||||
"Deck board" : "Deck 看板",
|
"Deck board" : "看板",
|
||||||
"Owned by %1$s" : "由 %1$s 拥有",
|
"Owned by %1$s" : "由 %1$s 拥有",
|
||||||
"Deck boards, cards and comments" : "Deck 看板、卡片和评论",
|
"Deck boards, cards and comments" : "看板、卡片和评论",
|
||||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : "自 %1$s,位于 %2$s/%3$s,由 %4$s 拥有",
|
"From %1$s, in %2$s/%3$s, owned by %4$s" : "自 %1$s,位于 %2$s/%3$s,由 %4$s 拥有",
|
||||||
"Card comments" : "卡片评论",
|
"Card comments" : "卡片评论",
|
||||||
"%s on %s" : "%s 于 %s",
|
"%s on %s" : "%s 于 %s",
|
||||||
"Deck boards and cards" : "Deck 面板及卡片",
|
"Deck boards and cards" : "看板及卡片",
|
||||||
"No data was provided to create an attachment." : "未能提供数据以创建附件",
|
"No data was provided to create an attachment." : "未能提供数据以创建附件",
|
||||||
"Finished" : "已完成",
|
"Finished" : "已完成",
|
||||||
"To review" : "待复核",
|
"To review" : "待复核",
|
||||||
@@ -111,7 +111,7 @@ OC.L10N.register(
|
|||||||
"Path is already shared with this card" : "已和这张卡片分享了路径",
|
"Path is already shared with this card" : "已和这张卡片分享了路径",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "无效日期,日期格式必须为 YYYY-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "无效日期,日期格式必须为 YYYY-MM-DD",
|
||||||
"Personal planning and team project organization" : "个人规划和团队项目安排",
|
"Personal planning and team project organization" : "个人规划和团队项目安排",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck是一个看板风格的管理工具,旨在为与Nextcloud集成的团队进行个人规划和项目管理。\n\n\n- 📥 添加您的任务到卡片并将之整理好\n- 📄 用 Markdown 写下额外的注释\n- 🔖 分配标签以更好地管理您的工作\n- 👥 与您的团队、朋友或家人分享\n- 📎 附件文件并将其嵌入到您的 Markdown 描述中 \n- 💬 使用评论与您的团队沟通\n- ⚡ 在活动流中跟踪变更情况\n- 🚀 让您的项目井井有条",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "看板应用程序是一个看板风格的管理工具,旨在为与Nextcloud集成的团队进行个人规划和项目管理。\n\n\n- 📥 添加您的任务到卡片并将之整理好\n- 📄 用Markdown写下额外的注释\n- 🔖 分配标签以更好地管理您的工作\n- 👥 与您的团队、朋友或家人分享\n- 📎 附件文件并将其嵌入到您的Markdown描述中\n- 💬 使用评论与您的团队沟通\n- ⚡ 在活动流中跟踪变更情况\n- 🚀 让您的项目井井有条",
|
||||||
"Add board" : "添加面板",
|
"Add board" : "添加面板",
|
||||||
"Select the board to link to a project" : "选择要链接到一个项目的面板",
|
"Select the board to link to a project" : "选择要链接到一个项目的面板",
|
||||||
"Search by board title" : "通过标题搜索面板",
|
"Search by board title" : "通过标题搜索面板",
|
||||||
@@ -295,7 +295,7 @@ OC.L10N.register(
|
|||||||
"No due" : "没有到期的",
|
"No due" : "没有到期的",
|
||||||
"Search for {searchQuery} in all boards" : "在所有看板中搜索 {searchQuery}",
|
"Search for {searchQuery} in all boards" : "在所有看板中搜索 {searchQuery}",
|
||||||
"No results found" : "未找到结果",
|
"No results found" : "未找到结果",
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "看板面板 {name}\n* 最后修改于 {lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "看板{name}\n* 最后修改于{lastMod}",
|
||||||
"{stack} in {board}" : "{stack} 于 {board}",
|
"{stack} in {board}" : "{stack} 于 {board}",
|
||||||
"Click to expand description" : "点击展开描述",
|
"Click to expand description" : "点击展开描述",
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 创建于 {created}\n* 最后修改于 {lastMod}\n* {nbAttachments} 个附件\n* {nbComments} 个评论",
|
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 创建于 {created}\n* 最后修改于 {lastMod}\n* {nbAttachments} 个附件\n* {nbComments} 个评论",
|
||||||
|
|||||||
@@ -1,29 +1,29 @@
|
|||||||
{ "translations": {
|
{ "translations": {
|
||||||
"You have created a new board {board}" : "您创建了一个新面板 {board}",
|
"You have created a new board {board}" : "您创建了一个新面板{board}",
|
||||||
"{user} has created a new board {board}" : "{user} 创建了一个新面板 {board}",
|
"{user} has created a new board {board}" : "{user} 创建了一个新面板{board}",
|
||||||
"You have deleted the board {board}" : "您删除了面板 {board}",
|
"You have deleted the board {board}" : "您删除了面板{board}",
|
||||||
"{user} has deleted the board {board}" : "{user} 删除了面板 {board}",
|
"{user} has deleted the board {board}" : "{user}删除了面板{board}",
|
||||||
"You have restored the board {board}" : "您恢复了面板 {board}",
|
"You have restored the board {board}" : "您还原了面板{board}",
|
||||||
"{user} has restored the board {board}" : "{user} 恢复了 {board}",
|
"{user} has restored the board {board}" : "{user}还原了{board}",
|
||||||
"You have shared the board {board} with {acl}" : "您已共享 {board} 给 {acl}",
|
"You have shared the board {board} with {acl}" : "您已分享{board}给{acl}",
|
||||||
"{user} has shared the board {board} with {acl}" : "{user} 已使用 {acl} 共享面板 {board}",
|
"{user} has shared the board {board} with {acl}" : "{user}已使用{acl}分享面板{board}",
|
||||||
"You have removed {acl} from the board {board}" : "您从面板 {board} 中移除了 {acl}",
|
"You have removed {acl} from the board {board}" : "您从面板{board}中移除了{acl}",
|
||||||
"{user} has removed {acl} from the board {board}" : "{user} 从面板 {board} 中移除了 {acl} ",
|
"{user} has removed {acl} from the board {board}" : "{user}从面板{board}中移除了{acl} ",
|
||||||
"You have renamed the board {before} to {board}" : "您将面板 {before} 重命名为 {board}",
|
"You have renamed the board {before} to {board}" : "您将面板{before}重命名为{board}",
|
||||||
"{user} has renamed the board {before} to {board}" : "{user} 将面板 {before} 重命名为 {board}",
|
"{user} has renamed the board {before} to {board}" : "{user}将面板{before}重命名为{board}",
|
||||||
"You have archived the board {board}" : "您已将面板 {board} 归档",
|
"You have archived the board {board}" : "您已将面板{board}归档",
|
||||||
"{user} has archived the board {before}" : "{user} 已将面板 {before} 归档",
|
"{user} has archived the board {before}" : "{user}已将面板{before}归档",
|
||||||
"You have unarchived the board {board}" : "您已将面板 {board} 撤销归档",
|
"You have unarchived the board {board}" : "您已将面板{board}取消归档",
|
||||||
"{user} has unarchived the board {before}" : "{user} 已将面板 {before} 撤销归档",
|
"{user} has unarchived the board {before}" : "{user}已将面板{before}取消归档",
|
||||||
"You have created a new list {stack} on board {board}" : "您在 {board} 上创建了一个新列表 {stack}面板",
|
"You have created a new list {stack} on board {board}" : "您在{board}上创建了一个新列表{stack}面板",
|
||||||
"{user} has created a new list {stack} on board {board}" : "{user} 在 {board} 上创建了一个新列表 {stack}",
|
"{user} has created a new list {stack} on board {board}" : "{user}在{board}上创建了一个新列表{stack}",
|
||||||
"You have renamed list {before} to {stack} on board {board}" : "您将面板 {board} 上的列表 {before} 重命名为 {stack}",
|
"You have renamed list {before} to {stack} on board {board}" : "您将面板{board}上的列表{before}重命名为{stack}",
|
||||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} 将面板 {board} 上的列表 {before} 重命名为 {stack}",
|
"{user} has renamed list {before} to {stack} on board {board}" : "{user}将面板{board}上的列表{before}重命名为{stack}",
|
||||||
"You have deleted list {stack} on board {board}" : "您删除了面板 {board} 上的列表 {stack}",
|
"You have deleted list {stack} on board {board}" : "您删除了面板{board}上的列表{stack}",
|
||||||
"{user} has deleted list {stack} on board {board}" : "{user} 删除了面板 {board} 上的列表 {stack}",
|
"{user} has deleted list {stack} on board {board}" : "{user}删除了面板{board}上的列表{stack}",
|
||||||
"You have created card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
|
"You have created card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中创建了卡片{card}",
|
||||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中创建了卡片 {card}",
|
"{user} has created card {card} in list {stack} on board {board}" : "{user}在面板 {board}上的列表{stack}中创建了卡片{card}",
|
||||||
"You have deleted card {card} in list {stack} on board {board}" : "您在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
|
"You have deleted card {card} in list {stack} on board {board}" : "您在面板{board}上的列表{stack}中删除了卡片{card}",
|
||||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
|
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} 在面板 {board} 上的列表 {stack} 中删除了卡片 {card}",
|
||||||
"You have renamed the card {before} to {card}" : "您将卡片 {before} 重命名为 {card}",
|
"You have renamed the card {before} to {card}" : "您将卡片 {before} 重命名为 {card}",
|
||||||
"{user} has renamed the card {before} to {card}" : "{user} 将卡片 {before} 重命名为 {card}",
|
"{user} has renamed the card {before} to {card}" : "{user} 将卡片 {before} 重命名为 {card}",
|
||||||
@@ -75,14 +75,14 @@
|
|||||||
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的评论中提到了您。",
|
"%s has mentioned you in a comment on \"%s\"." : "%s 在 “%s” 的评论中提到了您。",
|
||||||
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deck-card} 的一条评论中提到了你",
|
"{user} has mentioned you in a comment on {deck-card}." : "{user} 在 {deck-card} 的一条评论中提到了你",
|
||||||
"The board \"%s\" has been shared with you by %s." : "面板 \"%s\" 已由 %s 共享给您。",
|
"The board \"%s\" has been shared with you by %s." : "面板 \"%s\" 已由 %s 共享给您。",
|
||||||
"{user} has shared {deck-board} with you." : "{user} 与你分享了 {deck-board}",
|
"{user} has shared {deck-board} with you." : "{user}与你分享了{deck-board}",
|
||||||
"Deck board" : "Deck 看板",
|
"Deck board" : "看板",
|
||||||
"Owned by %1$s" : "由 %1$s 拥有",
|
"Owned by %1$s" : "由 %1$s 拥有",
|
||||||
"Deck boards, cards and comments" : "Deck 看板、卡片和评论",
|
"Deck boards, cards and comments" : "看板、卡片和评论",
|
||||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : "自 %1$s,位于 %2$s/%3$s,由 %4$s 拥有",
|
"From %1$s, in %2$s/%3$s, owned by %4$s" : "自 %1$s,位于 %2$s/%3$s,由 %4$s 拥有",
|
||||||
"Card comments" : "卡片评论",
|
"Card comments" : "卡片评论",
|
||||||
"%s on %s" : "%s 于 %s",
|
"%s on %s" : "%s 于 %s",
|
||||||
"Deck boards and cards" : "Deck 面板及卡片",
|
"Deck boards and cards" : "看板及卡片",
|
||||||
"No data was provided to create an attachment." : "未能提供数据以创建附件",
|
"No data was provided to create an attachment." : "未能提供数据以创建附件",
|
||||||
"Finished" : "已完成",
|
"Finished" : "已完成",
|
||||||
"To review" : "待复核",
|
"To review" : "待复核",
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
"Path is already shared with this card" : "已和这张卡片分享了路径",
|
"Path is already shared with this card" : "已和这张卡片分享了路径",
|
||||||
"Invalid date, date format must be YYYY-MM-DD" : "无效日期,日期格式必须为 YYYY-MM-DD",
|
"Invalid date, date format must be YYYY-MM-DD" : "无效日期,日期格式必须为 YYYY-MM-DD",
|
||||||
"Personal planning and team project organization" : "个人规划和团队项目安排",
|
"Personal planning and team project organization" : "个人规划和团队项目安排",
|
||||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck是一个看板风格的管理工具,旨在为与Nextcloud集成的团队进行个人规划和项目管理。\n\n\n- 📥 添加您的任务到卡片并将之整理好\n- 📄 用 Markdown 写下额外的注释\n- 🔖 分配标签以更好地管理您的工作\n- 👥 与您的团队、朋友或家人分享\n- 📎 附件文件并将其嵌入到您的 Markdown 描述中 \n- 💬 使用评论与您的团队沟通\n- ⚡ 在活动流中跟踪变更情况\n- 🚀 让您的项目井井有条",
|
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "看板应用程序是一个看板风格的管理工具,旨在为与Nextcloud集成的团队进行个人规划和项目管理。\n\n\n- 📥 添加您的任务到卡片并将之整理好\n- 📄 用Markdown写下额外的注释\n- 🔖 分配标签以更好地管理您的工作\n- 👥 与您的团队、朋友或家人分享\n- 📎 附件文件并将其嵌入到您的Markdown描述中\n- 💬 使用评论与您的团队沟通\n- ⚡ 在活动流中跟踪变更情况\n- 🚀 让您的项目井井有条",
|
||||||
"Add board" : "添加面板",
|
"Add board" : "添加面板",
|
||||||
"Select the board to link to a project" : "选择要链接到一个项目的面板",
|
"Select the board to link to a project" : "选择要链接到一个项目的面板",
|
||||||
"Search by board title" : "通过标题搜索面板",
|
"Search by board title" : "通过标题搜索面板",
|
||||||
@@ -293,7 +293,7 @@
|
|||||||
"No due" : "没有到期的",
|
"No due" : "没有到期的",
|
||||||
"Search for {searchQuery} in all boards" : "在所有看板中搜索 {searchQuery}",
|
"Search for {searchQuery} in all boards" : "在所有看板中搜索 {searchQuery}",
|
||||||
"No results found" : "未找到结果",
|
"No results found" : "未找到结果",
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "看板面板 {name}\n* 最后修改于 {lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "看板{name}\n* 最后修改于{lastMod}",
|
||||||
"{stack} in {board}" : "{stack} 于 {board}",
|
"{stack} in {board}" : "{stack} 于 {board}",
|
||||||
"Click to expand description" : "点击展开描述",
|
"Click to expand description" : "点击展开描述",
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 创建于 {created}\n* 最后修改于 {lastMod}\n* {nbAttachments} 个附件\n* {nbComments} 个评论",
|
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 创建于 {created}\n* 最后修改于 {lastMod}\n* {nbAttachments} 个附件\n* {nbComments} 个评论",
|
||||||
|
|||||||
@@ -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\L10N\IFactory;
|
|
||||||
use OCP\Server;
|
use OCP\Server;
|
||||||
|
use OCP\L10N\IFactory;
|
||||||
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,7 +26,6 @@
|
|||||||
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;
|
||||||
@@ -36,6 +35,7 @@ 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\FullTextSearchEventListener;
|
|
||||||
use OCA\Deck\Listeners\LiveUpdateListener;
|
|
||||||
use OCA\Deck\Listeners\ParticipantCleanupListener;
|
use OCA\Deck\Listeners\ParticipantCleanupListener;
|
||||||
|
use OCA\Deck\Listeners\FullTextSearchEventListener;
|
||||||
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;
|
||||||
|
|||||||
@@ -22,11 +22,11 @@
|
|||||||
*/
|
*/
|
||||||
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;
|
private $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 OCP\IRequest;
|
||||||
|
|
||||||
|
use OCA\Deck\Service\BoardService;
|
||||||
use Sabre\HTTP\Util;
|
use Sabre\HTTP\Util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -23,20 +23,20 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Service\AssignmentService;
|
use OCA\Deck\Service\AssignmentService;
|
||||||
use OCA\Deck\Service\CardService;
|
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\CardService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class BoardApiController
|
* Class BoardApiController
|
||||||
*
|
*
|
||||||
* @package OCA\Deck\Controller
|
* @package OCA\Deck\Controller
|
||||||
*/
|
*/
|
||||||
class CardApiController extends ApiController {
|
class CardApiController extends ApiController {
|
||||||
private $cardService;
|
private $cardService;
|
||||||
private $userId;
|
private $userId;
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ 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\AppFramework\Controller;
|
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
use OCP\AppFramework\Controller;
|
||||||
|
|
||||||
class CardController extends Controller {
|
class CardController extends Controller {
|
||||||
private $userId;
|
private $userId;
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ class ConfigController extends OCSController {
|
|||||||
$AppName,
|
$AppName,
|
||||||
IRequest $request,
|
IRequest $request,
|
||||||
ConfigService $configService
|
ConfigService $configService
|
||||||
) {
|
) {
|
||||||
parent::__construct($AppName, $request);
|
parent::__construct($AppName, $request);
|
||||||
|
|
||||||
$this->configService = $configService;
|
$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
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Service\LabelService;
|
use OCA\Deck\Service\LabelService;
|
||||||
use OCP\AppFramework\Controller;
|
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
use OCP\AppFramework\Controller;
|
||||||
|
|
||||||
class LabelController extends Controller {
|
class LabelController extends Controller {
|
||||||
private $labelService;
|
private $labelService;
|
||||||
|
|||||||
@@ -23,25 +23,25 @@
|
|||||||
|
|
||||||
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 PermissionService $permissionService;
|
||||||
@@ -64,7 +64,7 @@ class PageController extends Controller {
|
|||||||
IURLGenerator $urlGenerator,
|
IURLGenerator $urlGenerator,
|
||||||
CardService $cardService,
|
CardService $cardService,
|
||||||
IConfig $config
|
IConfig $config
|
||||||
) {
|
) {
|
||||||
parent::__construct($AppName, $request);
|
parent::__construct($AppName, $request);
|
||||||
|
|
||||||
$this->permissionService = $permissionService;
|
$this->permissionService = $permissionService;
|
||||||
|
|||||||
@@ -24,14 +24,14 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Db\Acl;
|
|
||||||
use OCA\Deck\Db\BoardMapper;
|
|
||||||
use OCA\Deck\Service\PermissionService;
|
|
||||||
use OCA\Deck\Service\SessionService;
|
use OCA\Deck\Service\SessionService;
|
||||||
|
use OCA\Deck\Service\PermissionService;
|
||||||
|
use OCA\Deck\Db\BoardMapper;
|
||||||
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 SessionService $sessionService;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -25,10 +25,10 @@ namespace OCA\Deck\Controller;
|
|||||||
|
|
||||||
use OCA\Deck\Service\StackService;
|
use OCA\Deck\Service\StackService;
|
||||||
|
|
||||||
use OCP\AppFramework\Controller;
|
|
||||||
|
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
|
use OCP\AppFramework\Controller;
|
||||||
|
|
||||||
class StackController extends Controller {
|
class StackController extends Controller {
|
||||||
private $userId;
|
private $userId;
|
||||||
private $stackService;
|
private $stackService;
|
||||||
|
|||||||
@@ -24,10 +24,10 @@
|
|||||||
|
|
||||||
namespace OCA\Deck\Cron;
|
namespace OCA\Deck\Cron;
|
||||||
|
|
||||||
use OCA\Deck\Activity\ActivityManager;
|
|
||||||
use OCA\Deck\Db\CardMapper;
|
|
||||||
use OCP\AppFramework\Utility\ITimeFactory;
|
use OCP\AppFramework\Utility\ITimeFactory;
|
||||||
use OCP\BackgroundJob\Job;
|
use OCP\BackgroundJob\Job;
|
||||||
|
use OCA\Deck\Activity\ActivityManager;
|
||||||
|
use OCA\Deck\Db\CardMapper;
|
||||||
|
|
||||||
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\IGroupManager;
|
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
|
use OCP\IGroupManager;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
||||||
/** @template-extends QBMapper<Board> */
|
/** @template-extends QBMapper<Board> */
|
||||||
@@ -106,28 +106,36 @@ 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')
|
||||||
->leftJoin('b', 'deck_board_acl', 'acl', $qb->expr()->eq('b.id', 'acl.board_id'));
|
->where($qb->expr()->andX(
|
||||||
|
$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();
|
||||||
|
|
||||||
// Owned by the user
|
$qb = $this->db->getQueryBuilder();
|
||||||
$qb->where($qb->expr()->andX(
|
$qb->selectDistinct('b.id')
|
||||||
$qb->expr()->eq('owner', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)),
|
->from($this->getTableName(), 'b')
|
||||||
));
|
->innerJoin('b', 'deck_board_acl', 'acl', $qb->expr()->eq('b.id', 'acl.board_id'));
|
||||||
|
|
||||||
// Shared to the user
|
// Shared to the user
|
||||||
$qb->orWhere($qb->expr()->andX(
|
$qb->where($qb->expr()->andX(
|
||||||
$qb->expr()->eq('acl.participant', $qb->createNamedParameter($userId, IQueryBuilder::PARAM_STR)),
|
|
||||||
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_USER, IQueryBuilder::PARAM_INT)),
|
$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)),
|
||||||
));
|
));
|
||||||
|
|
||||||
// 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()->in('acl.participant', $qb->createNamedParameter($groupIds, IQueryBuilder::PARAM_STR_ARRAY)),
|
|
||||||
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_GROUP, IQueryBuilder::PARAM_INT)),
|
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_GROUP, IQueryBuilder::PARAM_INT)),
|
||||||
|
$qb->expr()->in('acl.participant', $qb->createNamedParameter($groupIds, IQueryBuilder::PARAM_STR_ARRAY)),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,19 +143,21 @@ 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()->in('acl.participant', $qb->createNamedParameter($circles, IQueryBuilder::PARAM_STR_ARRAY)),
|
|
||||||
$qb->expr()->eq('acl.type', $qb->createNamedParameter(Acl::PERMISSION_TYPE_CIRCLE, IQueryBuilder::PARAM_INT)),
|
$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)),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = $qb->executeQuery();
|
$result = $qb->executeQuery();
|
||||||
return array_map(function (string $id) {
|
$sharedBoards = 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(
|
||||||
@@ -186,7 +196,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();
|
||||||
@@ -293,7 +303,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 [];
|
||||||
}
|
}
|
||||||
@@ -347,7 +357,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\ICache;
|
|
||||||
use OCP\ICacheFactory;
|
use OCP\ICacheFactory;
|
||||||
|
use OCP\ICache;
|
||||||
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\Exceptions\ConflictException;
|
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
|
use OCA\Deck\Exceptions\ConflictException;
|
||||||
use OCP\AppFramework\Db\DoesNotExistException;
|
use OCP\AppFramework\Db\DoesNotExistException;
|
||||||
use OCP\AppFramework\Http\JSONResponse;
|
|
||||||
use OCP\AppFramework\Middleware;
|
use OCP\AppFramework\Middleware;
|
||||||
|
use OCP\AppFramework\Http\JSONResponse;
|
||||||
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 {
|
||||||
|
|
||||||
|
|||||||
@@ -239,8 +239,8 @@ class Notifier implements INotifier {
|
|||||||
],
|
],
|
||||||
'user' => [
|
'user' => [
|
||||||
'type' => 'user',
|
'type' => 'user',
|
||||||
'id' => $params[1],
|
'id' => $params[1] ?? '',
|
||||||
'name' => $dn,
|
'name' => $dn ?? '',
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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,7 +26,6 @@ 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;
|
||||||
@@ -35,6 +34,7 @@ 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,17 +27,13 @@ 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;
|
||||||
@@ -45,20 +41,24 @@ 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\IURLGenerator;
|
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 OCP\IUserManager;
|
||||||
|
use OCA\Deck\BadRequestException;
|
||||||
|
use OCA\Deck\Event\BoardUpdatedEvent;
|
||||||
|
use OCA\Deck\Validators\BoardServiceValidator;
|
||||||
|
use OCP\IURLGenerator;
|
||||||
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,16 +28,13 @@ 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;
|
||||||
@@ -45,13 +42,16 @@ 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\IURLGenerator;
|
|
||||||
use OCP\IUserManager;
|
use OCP\IUserManager;
|
||||||
|
use OCP\IURLGenerator;
|
||||||
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\Exceptions\ConflictException;
|
|
||||||
use OCA\Deck\StatusException;
|
use OCA\Deck\StatusException;
|
||||||
|
use OCA\Deck\Exceptions\ConflictException;
|
||||||
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;
|
||||||
|
|||||||
@@ -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,6 +23,7 @@
|
|||||||
|
|
||||||
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;
|
||||||
@@ -33,7 +34,6 @@ 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\SessionClosedEvent;
|
|
||||||
use OCA\Deck\Event\SessionCreatedEvent;
|
use OCA\Deck\Event\SessionCreatedEvent;
|
||||||
use OCA\NotifyPush\Queue\IQueue;
|
use OCA\Deck\Event\SessionClosedEvent;
|
||||||
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;
|
||||||
|
|
||||||
|
|||||||
66984
package-lock.json
generated
66984
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
214
package.json
214
package.json
@@ -1,108 +1,108 @@
|
|||||||
{
|
{
|
||||||
"name": "deck",
|
"name": "deck",
|
||||||
"description": "",
|
"description": "",
|
||||||
"version": "1.11.0-dev",
|
"version": "1.10.0",
|
||||||
"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.22.5",
|
"@babel/runtime": "^7.21.5",
|
||||||
"@nextcloud/auth": "^2.1.0",
|
"@nextcloud/auth": "^2.0.0",
|
||||||
"@nextcloud/axios": "^2.3.0",
|
"@nextcloud/axios": "^2.3.0",
|
||||||
"@nextcloud/dialogs": "^4.1.0",
|
"@nextcloud/dialogs": "^4.0.1",
|
||||||
"@nextcloud/event-bus": "^3.1.0",
|
"@nextcloud/event-bus": "^3.0.2",
|
||||||
"@nextcloud/files": "^2.1.0",
|
"@nextcloud/files": "^2.1.0",
|
||||||
"@nextcloud/initial-state": "^2.0.0",
|
"@nextcloud/initial-state": "^2.0.0",
|
||||||
"@nextcloud/l10n": "^2.1.0",
|
"@nextcloud/l10n": "^2.1.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.2",
|
"@nextcloud/router": "^2.1.1",
|
||||||
"@nextcloud/vue": "^7.12.0",
|
"@nextcloud/vue": "^7.11.4",
|
||||||
"blueimp-md5": "^2.19.0",
|
"blueimp-md5": "^2.19.0",
|
||||||
"dompurify": "^3.0.3",
|
"dompurify": "^3.0.3",
|
||||||
"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.2.3",
|
"url-search-params-polyfill": "^8.1.1",
|
||||||
"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": "^20.0.0",
|
"node": "^16.0.0",
|
||||||
"npm": "^9.0.0"
|
"npm": "^7.0.0 || ^8.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.5",
|
"@relative-ci/agent": "^4.1.4",
|
||||||
"@vue/test-utils": "^1.3.6",
|
"@vue/test-utils": "^1.3.5",
|
||||||
"@vue/vue2-jest": "^29.2.4",
|
"@vue/vue2-jest": "^29.2.4",
|
||||||
"cypress": "^12.15.0",
|
"cypress": "^12.12.0",
|
||||||
"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.5.0",
|
||||||
"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,6 +21,7 @@
|
|||||||
<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,19 +27,17 @@
|
|||||||
<router-view />
|
<router-view />
|
||||||
</NcAppContent>
|
</NcAppContent>
|
||||||
|
|
||||||
<div v-if="$route.params.id || $route.params.cardId">
|
<NcModal v-if="cardDetailsInModal && $route.params.cardId"
|
||||||
<NcModal v-if="cardDetailsInModal && $route.params.cardId"
|
:clear-view-delay="0"
|
||||||
:clear-view-delay="0"
|
:close-button-contained="true"
|
||||||
:close-button-contained="true"
|
size="large"
|
||||||
size="large"
|
@close="hideModal()">
|
||||||
@close="hideModal()">
|
<div class="modal__content modal__card">
|
||||||
<div class="modal__content modal__card">
|
<router-view name="sidebar" />
|
||||||
<router-view name="sidebar" />
|
</div>
|
||||||
</div>
|
</NcModal>
|
||||||
</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.7.0",
|
"guzzlehttp/guzzle": "7.5.1",
|
||||||
"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\CardService;
|
|
||||||
use OCA\Deck\Service\StackService;
|
use OCA\Deck\Service\StackService;
|
||||||
|
use OCA\Deck\Service\CardService;
|
||||||
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\MockObject\MockObject;
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
|
use PHPUnit\Framework\MockObject\MockObject;
|
||||||
|
|
||||||
class ActivityManagerTest extends TestCase {
|
class ActivityManagerTest extends TestCase {
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ 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;
|
||||||
@@ -39,6 +38,7 @@ 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\IConfig;
|
|
||||||
use OCP\ILogger;
|
use OCP\ILogger;
|
||||||
|
use OCP\IConfig;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
class ExceptionMiddlewareTest extends \Test\TestCase {
|
class ExceptionMiddlewareTest extends \Test\TestCase {
|
||||||
|
|||||||
@@ -23,7 +23,6 @@
|
|||||||
|
|
||||||
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;
|
||||||
@@ -42,15 +41,16 @@ 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 \Test\TestCase;
|
|
||||||
use OCA\Deck\Db\Board;
|
|
||||||
use OCA\Deck\Db\BoardMapper;
|
|
||||||
use OCA\Deck\Db\Card;
|
use OCA\Deck\Db\Card;
|
||||||
|
use OCA\Deck\Db\Board;
|
||||||
use OCA\Deck\Db\Stack;
|
use OCA\Deck\Db\Stack;
|
||||||
|
use OCA\Deck\Db\BoardMapper;
|
||||||
use OCP\IConfig;
|
use OCP\IConfig;
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
|
use \Test\TestCase;
|
||||||
|
|
||||||
class DefaultBoardServiceTest extends TestCase {
|
class DefaultBoardServiceTest extends TestCase {
|
||||||
|
|
||||||
|
|||||||
@@ -23,12 +23,11 @@
|
|||||||
|
|
||||||
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;
|
||||||
@@ -38,6 +37,7 @@ 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,13 +22,13 @@
|
|||||||
*/
|
*/
|
||||||
namespace OCA\Deck\Controller;
|
namespace OCA\Deck\Controller;
|
||||||
|
|
||||||
use OCA\Deck\Db\Label;
|
|
||||||
use OCA\Deck\Service\LabelService;
|
|
||||||
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\Label;
|
||||||
|
use OCA\Deck\Service\LabelService;
|
||||||
|
|
||||||
class LabelApiControllerTest extends \Test\TestCase {
|
class LabelApiControllerTest extends \Test\TestCase {
|
||||||
private $controller;
|
private $controller;
|
||||||
private $request;
|
private $request;
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user