Compare commits

..

5 Commits
v1.2.1 ... oci

Author SHA1 Message Date
Julius Härtl
44e2e50469 Properly install
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-11 16:51:02 +01:00
Julius Härtl
d50b63f1ab Proper index for type
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-11 16:48:58 +01:00
Julius Härtl
b7a34ba9f7 Add oci to supported databases
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-11 16:48:58 +01:00
Julius Härtl
6dc1823a10 TMP build on push
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-11 16:48:57 +01:00
Julius Härtl
d0cfa3a7ba OCI tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-11 16:48:57 +01:00
54 changed files with 294 additions and 547 deletions

View File

@@ -3,9 +3,6 @@ name: PHPUnit
on:
pull_request:
push:
branches:
- master
- stable*
env:
APP_NAME: deck
@@ -213,3 +210,70 @@ jobs:
- name: PHPUnit integration
working-directory: apps/${{ env.APP_NAME }}
run: ./vendor/phpunit/phpunit/phpunit -c tests/phpunit.integration.xml
oci:
runs-on: ubuntu-latest
strategy:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['7.4']
databases: ['oci']
server-versions: ['master']
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
services:
oracle:
image: deepdiver/docker-oracle-xe-11g # "wnameless/oracle-xe-11g-r2"
ports:
- "1521:1521"
steps:
- name: Checkout server
uses: actions/checkout@v2
with:
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
- name: Checkout submodules
shell: bash
run: |
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Checkout app
uses: actions/checkout@v2
with:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: "shivammathur/setup-php@v2"
with:
php-version: "${{ matrix.php-versions }}"
extensions: mbstring, iconv, fileinfo, intl, oci8
tools: phpunit:8.5.2
coverage: none
- name: Set up PHPUnit
working-directory: apps/${{ env.APP_NAME }}
run: composer i
- name: Set up Nextcloud
run: |
mkdir data
./occ maintenance:install --verbose --database=oci --database-name=XE --database-host=127.0.0.1 --database-port=1521 --database-user=autotest --database-pass=owncloud --admin-user admin --admin-pass admin
php -f index.php
./occ app:enable --force ${{ env.APP_NAME }}
php -S localhost:8080 &
- name: PHPUnit
working-directory: apps/${{ env.APP_NAME }}
run: ./vendor/phpunit/phpunit/phpunit -c tests/phpunit.xml
- name: PHPUnit integration
working-directory: apps/${{ env.APP_NAME }}
run: ./vendor/phpunit/phpunit/phpunit -c tests/phpunit.integration.xml

View File

@@ -1,45 +1,34 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.2.0 - 2020-11-16
## 1.2.0 - unreleased
### Added
* [#2430](https://github.com/nextcloud/deck/pull/2430) Due date notification setting per board
* [#2230](https://github.com/nextcloud/deck/pull/2230) Implement scrolling per stack
* [#1396](https://github.com/nextcloud/deck/pull/1396) API: Expose canCreateBoards through capabilities
* [#2245](https://github.com/nextcloud/deck/pull/2245) API: ETag support for API endpoints
* [#2430](https://github.com/nextcloud/deck/pull/2430) Due date notification setting per board @juliushaertl
* [#2230](https://github.com/nextcloud/deck/pull/2230) Implement scrolling per stack @juliushaertl
* [#1396](https://github.com/nextcloud/deck/pull/1396) API: Expose canCreateBoards through capabilities @juliushaertl
* [#2245](https://github.com/nextcloud/deck/pull/2245) API: ETag support for API endpoints @juliushaertl
### Fixed
* [#2330](https://github.com/nextcloud/deck/pull/2330) Enhanced undo handling for deletions @jakobroehrl
* [#2336](https://github.com/nextcloud/deck/pull/2336) Run unit tests on github actions
* [#2358](https://github.com/nextcloud/deck/pull/2358) Properly check if FTSEvent has an argument set
* [#2359](https://github.com/nextcloud/deck/pull/2359) Also exclude deleted items from calendar boards
* [#2336](https://github.com/nextcloud/deck/pull/2336) Run unit tests on github actions @juliushaertl
* [#2358](https://github.com/nextcloud/deck/pull/2358) Properly check if FTSEvent has an argument set @juliushaertl
* [#2359](https://github.com/nextcloud/deck/pull/2359) Also exclude deleted items from calendar boards @juliushaertl
* [#2361](https://github.com/nextcloud/deck/pull/2361) Comments do not depend on the comments app @jakobroehrl
* [#2363](https://github.com/nextcloud/deck/pull/2363) Use uid instead of displayname for sharee results
* [#2367](https://github.com/nextcloud/deck/pull/2367) Properly handle multiple shares in a row and refactor sharee loading
* [#2363](https://github.com/nextcloud/deck/pull/2363) Use uid instead of displayname for sharee results @juliushaertl
* [#2367](https://github.com/nextcloud/deck/pull/2367) Properly handle multiple shares in a row and refactor sharee loading @juliushaertl
* [#2404](https://github.com/nextcloud/deck/pull/2404) Update Controls.vue @Flamenco
* [#2433](https://github.com/nextcloud/deck/pull/2433) Fix scrollable titles with Dyslexia font
* [#2433](https://github.com/nextcloud/deck/pull/2433) Fix scrollable titles with Dyslexia font @juliushaertl
* [#2434](https://github.com/nextcloud/deck/pull/2434) Move most destructive actions in drop down menus to the bottom @Nienzu
* [#2435](https://github.com/nextcloud/deck/pull/2435) Do not open the dialog automatically upon card creation, only upon click
* [#2437](https://github.com/nextcloud/deck/pull/2437) Only remove card padding for editable cards
* [#2440](https://github.com/nextcloud/deck/pull/2440) Move navigation toggle handling to @nextcloud/vue native one
* [#2435](https://github.com/nextcloud/deck/pull/2435) Do not open the dialog automatically upon card creation, only upon click @juliushaertl
* [#2437](https://github.com/nextcloud/deck/pull/2437) Only remove card padding for editable cards @juliushaertl
* [#2440](https://github.com/nextcloud/deck/pull/2440) Move navigation toggle handling to @nextcloud/vue native one @juliushaertl
* [#2463](https://github.com/nextcloud/deck/pull/2463) Changed triple dots to ellipsis @rakekniven
* [#2500](https://github.com/nextcloud/deck/pull/2500) Move details and description to dedicated component
* [#2517](https://github.com/nextcloud/deck/pull/2517) Filter out duplicate cards in overview
* [#2502](https://github.com/nextcloud/deck/pull/2502) Assignment code refactoring
* [#2519](https://github.com/nextcloud/deck/pull/2519) Fix invisibility bug on modal component @wrox
* [#2520](https://github.com/nextcloud/deck/pull/2520) Add placeholder for the description input
* [#2521](https://github.com/nextcloud/deck/pull/2521) Add migration step to make table layout consistent
* [#2524](https://github.com/nextcloud/deck/pull/2524) Only try to extract first part of the explode result
* [#2531](https://github.com/nextcloud/deck/pull/2531) Add proper type to boolean parameter
* [#2532](https://github.com/nextcloud/deck/pull/2532) Fix handling of notifications if a board does no longer exist
* [#2536](https://github.com/nextcloud/deck/pull/2536) Only set flex layout on the active tab
* [#2538](https://github.com/nextcloud/deck/pull/2538) Do not reset filter when staying on the same board
* [#2539](https://github.com/nextcloud/deck/pull/2539) Apply proper checks for menu items
* [#2540](https://github.com/nextcloud/deck/pull/2540) Only build one main bundle
* [#2562](https://github.com/nextcloud/deck/pull/2562) Only try to extract first part of the explode result (Part 2)
* [#2500](https://github.com/nextcloud/deck/pull/2500) Move details and description to dedicated component @juliushaertl
* [#2517](https://github.com/nextcloud/deck/pull/2517) Filter out duplicate cards in overview @juliushaertl
* [#2502](https://github.com/nextcloud/deck/pull/2502) Assignment code refactoring @juliushaertl
## 1.1.0 - 2020-10-03

View File

@@ -17,7 +17,7 @@
- 🚀 Get your project organized
</description>
<version>1.2.0</version>
<version>1.2.0-beta1</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>
@@ -36,6 +36,7 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="5.5">mysql</database>
<database>oci</database>
<nextcloud min-version="18" max-version="21" />
</dependencies>
<background-jobs>

View File

@@ -31,7 +31,7 @@ OC.L10N.register(
"{user} has renamed the card {before} to {card}" : "{user} hat die Karte {before} in {card} umbenannt",
"You have added a description to card {card} in list {stack} on board {board}" : "Du hast der Karte {card} in der Liste {stack} auf dem Board {board} eine Beschreibung hinzugefügt",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} hat der Karte {card} in der Liste {stack} auf dem Board {board} eine Beschreibung hinzugefügt",
"You have updated the description of card {card} in list {stack} on board {board}" : "Du hast die Beschreibung der Karte {card} in der Liste {stack} auf dem Board {board} aktualisiert",
"You have updated the description of card {card} in list {stack} on board {board}" : "Du hast die Beschreibung der Karte {card} in der Liste {stack} auf dem Board {board} aktualisiert",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} hat die Beschreibung der Karte {card} in der Liste {stack} auf dem Board {board} aktualisiert",
"You have archived card {card} in list {stack} on board {board}" : "Du hast die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
@@ -202,7 +202,6 @@ OC.L10N.register(
"Edit description" : "Beschreibung bearbeiten",
"View description" : "Beschreibung anzeigen",
"Add Attachment" : "Anhang anhängen",
"Write a description …" : "Beschreibung schreiben …",
"Choose attachment" : "Anhang auswählen",
"(group)" : "(Gruppe)",
"(circle)" : "(Kreis)",

View File

@@ -29,7 +29,7 @@
"{user} has renamed the card {before} to {card}" : "{user} hat die Karte {before} in {card} umbenannt",
"You have added a description to card {card} in list {stack} on board {board}" : "Du hast der Karte {card} in der Liste {stack} auf dem Board {board} eine Beschreibung hinzugefügt",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} hat der Karte {card} in der Liste {stack} auf dem Board {board} eine Beschreibung hinzugefügt",
"You have updated the description of card {card} in list {stack} on board {board}" : "Du hast die Beschreibung der Karte {card} in der Liste {stack} auf dem Board {board} aktualisiert",
"You have updated the description of card {card} in list {stack} on board {board}" : "Du hast die Beschreibung der Karte {card} in der Liste {stack} auf dem Board {board} aktualisiert",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} hat die Beschreibung der Karte {card} in der Liste {stack} auf dem Board {board} aktualisiert",
"You have archived card {card} in list {stack} on board {board}" : "Du hast die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
@@ -200,7 +200,6 @@
"Edit description" : "Beschreibung bearbeiten",
"View description" : "Beschreibung anzeigen",
"Add Attachment" : "Anhang anhängen",
"Write a description …" : "Beschreibung schreiben …",
"Choose attachment" : "Anhang auswählen",
"(group)" : "(Gruppe)",
"(circle)" : "(Kreis)",

View File

@@ -26,7 +26,7 @@ OC.L10N.register(
"You have created card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
"{user} has created card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
"You have deleted card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} gelöscht",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} gelöscht",
"{user} has deleted card {card} in list {stack} on board {board}" : " {user} hat die Karte {card} in der Liste {stack} auf dem Board {board} gelöscht",
"You have renamed the card {before} to {card}" : "Sie haben die Karte {before} in {card} umbenannt",
"{user} has renamed the card {before} to {card}" : "{user} hat die Karte {before} in {card} umbenannt",
"You have added a description to card {card} in list {stack} on board {board}" : "Sie haben der Karte {card} in der Liste {stack} auf dem Board {board} eine Beschreibung hinzugefügt",
@@ -99,7 +99,7 @@ OC.L10N.register(
"No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s",
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt",
"Card details" : "Karten-Details",
"Card details" : "Kartendetails",
"Add board" : "Board hinzufügen",
"Select the board to link to a project" : "Wählen Sie ein Board aus, um dieses mit einem Projekt zu verknüpfen",
"Search by board title" : "Nach einem Board suchen",
@@ -202,7 +202,6 @@ OC.L10N.register(
"Edit description" : "Beschreibung bearbeiten",
"View description" : "Beschreibung anzeigen",
"Add Attachment" : "Anhang anhängen",
"Write a description …" : "Beschreibung schreiben …",
"Choose attachment" : "Anhang auswählen",
"(group)" : "(Gruppe)",
"(circle)" : "(Kreis)",

View File

@@ -24,7 +24,7 @@
"You have created card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
"{user} has created card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
"You have deleted card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} gelöscht",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} gelöscht",
"{user} has deleted card {card} in list {stack} on board {board}" : " {user} hat die Karte {card} in der Liste {stack} auf dem Board {board} gelöscht",
"You have renamed the card {before} to {card}" : "Sie haben die Karte {before} in {card} umbenannt",
"{user} has renamed the card {before} to {card}" : "{user} hat die Karte {before} in {card} umbenannt",
"You have added a description to card {card} in list {stack} on board {board}" : "Sie haben der Karte {card} in der Liste {stack} auf dem Board {board} eine Beschreibung hinzugefügt",
@@ -97,7 +97,7 @@
"No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s",
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt",
"Card details" : "Karten-Details",
"Card details" : "Kartendetails",
"Add board" : "Board hinzufügen",
"Select the board to link to a project" : "Wählen Sie ein Board aus, um dieses mit einem Projekt zu verknüpfen",
"Search by board title" : "Nach einem Board suchen",
@@ -200,7 +200,6 @@
"Edit description" : "Beschreibung bearbeiten",
"View description" : "Beschreibung anzeigen",
"Add Attachment" : "Anhang anhängen",
"Write a description …" : "Beschreibung schreiben …",
"Choose attachment" : "Anhang auswählen",
"(group)" : "(Gruppe)",
"(circle)" : "(Kreis)",

View File

@@ -225,19 +225,7 @@ OC.L10N.register(
"Board name" : "Nombre del tablero",
"Board details" : "Detalles del tablero",
"Edit board" : "Editar tablero",
"Clone board" : "Clonar tablero",
"Unarchive board" : "Desarchivar tablero",
"Archive board" : "Archivar tablero",
"Turn on due date reminders" : "Activar recordatorios de la fecha de vencimiento",
"Turn off due date reminders" : "Desactivar recordatorios de la fecha de vencimiento",
"Due date reminders" : "Recordatorios de la fecha de vencimiento",
"All cards" : "Todas las tarjetas",
"Assigned cards" : "Tarjetas asignadas",
"No notifications" : "No hay notificaciones",
"Delete board" : "Eliminar tablero",
"Board {0} deleted" : "Tablero {0} eliminado",
"Only assigned cards" : "Sólo las tarjetas asignadas",
"No reminder" : "No hay recordatorio",
"An error occurred" : "Ocurrió un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "¿Estas seguro de que quieres eliminar el tablero {title}? Esto eliminará todos los datos del tablero.",
"Delete the board?" : "¿Borrar el tablero?",

View File

@@ -223,19 +223,7 @@
"Board name" : "Nombre del tablero",
"Board details" : "Detalles del tablero",
"Edit board" : "Editar tablero",
"Clone board" : "Clonar tablero",
"Unarchive board" : "Desarchivar tablero",
"Archive board" : "Archivar tablero",
"Turn on due date reminders" : "Activar recordatorios de la fecha de vencimiento",
"Turn off due date reminders" : "Desactivar recordatorios de la fecha de vencimiento",
"Due date reminders" : "Recordatorios de la fecha de vencimiento",
"All cards" : "Todas las tarjetas",
"Assigned cards" : "Tarjetas asignadas",
"No notifications" : "No hay notificaciones",
"Delete board" : "Eliminar tablero",
"Board {0} deleted" : "Tablero {0} eliminado",
"Only assigned cards" : "Sólo las tarjetas asignadas",
"No reminder" : "No hay recordatorio",
"An error occurred" : "Ocurrió un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "¿Estas seguro de que quieres eliminar el tablero {title}? Esto eliminará todos los datos del tablero.",
"Delete the board?" : "¿Borrar el tablero?",

View File

@@ -146,8 +146,6 @@ OC.L10N.register(
"Undo" : "Desegin",
"Deleted cards" : "Ezabatutako txartelak",
"Share board with a user, group or circle …" : "Partekatu mahaia erabiltzaile, talde edo zirkulu batekin...",
"Searching for users, groups and circles …" : "Erabiltzaileak, taldeak, zirkuluak... bilatzen",
"No participants found" : "Ez da parte-hartzailerik aurkitu",
"Board owner" : "Mahaiaren jabea",
"(Group)" : "(Taldea)",
"(Circle)" : "(Zirkulua)",
@@ -155,7 +153,6 @@ OC.L10N.register(
"Can share" : "Partekatu dezake",
"Can manage" : "Kudeatu dezake",
"Delete" : "Ezabatu",
"Failed to create share with {displayName}" : "Ezin izan da {displayName}-(r)ekin partekatzea sortu",
"Add a new list" : "Gehitu zerrenda berria",
"Archive all cards" : "Artxibatu txartel guztiak",
"Delete list" : "Zerrenda ezabatu",
@@ -220,7 +217,6 @@ OC.L10N.register(
"Board details" : "Mahaiaren xehetasunak",
"Edit board" : "Editatu mahaia",
"Board {0} deleted" : "{0} mahaia ezabatu da",
"No reminder" : "Abisurik ez",
"An error occurred" : "Errore bat gertatu da",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ziur zaude «{title}» mahaia ezabatu nahi duzula? Honek mahai honen datu guztiak ezabatuko ditu.",
"Delete the board?" : "Mahaia ezabatu?",

View File

@@ -144,8 +144,6 @@
"Undo" : "Desegin",
"Deleted cards" : "Ezabatutako txartelak",
"Share board with a user, group or circle …" : "Partekatu mahaia erabiltzaile, talde edo zirkulu batekin...",
"Searching for users, groups and circles …" : "Erabiltzaileak, taldeak, zirkuluak... bilatzen",
"No participants found" : "Ez da parte-hartzailerik aurkitu",
"Board owner" : "Mahaiaren jabea",
"(Group)" : "(Taldea)",
"(Circle)" : "(Zirkulua)",
@@ -153,7 +151,6 @@
"Can share" : "Partekatu dezake",
"Can manage" : "Kudeatu dezake",
"Delete" : "Ezabatu",
"Failed to create share with {displayName}" : "Ezin izan da {displayName}-(r)ekin partekatzea sortu",
"Add a new list" : "Gehitu zerrenda berria",
"Archive all cards" : "Artxibatu txartel guztiak",
"Delete list" : "Zerrenda ezabatu",
@@ -218,7 +215,6 @@
"Board details" : "Mahaiaren xehetasunak",
"Edit board" : "Editatu mahaia",
"Board {0} deleted" : "{0} mahaia ezabatu da",
"No reminder" : "Abisurik ez",
"An error occurred" : "Errore bat gertatu da",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ziur zaude «{title}» mahaia ezabatu nahi duzula? Honek mahai honen datu guztiak ezabatuko ditu.",
"Delete the board?" : "Mahaia ezabatu?",

View File

@@ -17,20 +17,8 @@ OC.L10N.register(
"{user} has archived the board {before}" : "{user} arkistoi taulun {before}",
"You have unarchived the board {board}" : "Palautit taulun {board} arkistosta ",
"{user} has unarchived the board {before}" : "{user} palautti taulun {before} arkistosta",
"You have created a new list {stack} on board {board}" : "Olet lisännyt listan {stack} taululle {board}",
"{user} has created a new list {stack} on board {board}" : "{user} on lisännyt uuden listan {stack} taululle {board}",
"You have renamed list {before} to {stack} on board {board}" : "Muutit listan {before} nimeksi {stack} taululla {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} muutti listan {before} nimeksi {stack} taululla {board}",
"You have deleted list {stack} on board {board}" : "Olet poistanut listan {stack} taululta {board}",
"{user} has deleted list {stack} on board {board}" : "{user} on poistanut listan {stack} taululta {board}",
"You have created card {card} in list {stack} on board {board}" : "Olet lisännyt kortin {card} listaan {stack} taululla {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} on lisännyt kortin {card} listaan {stack} taululla {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Olet poistanut kortin {card} listasta {stack} taululla {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} on poistanut kortin {card} listasta {stack} taululla {board}",
"You have renamed the card {before} to {card}" : "Muutit kortin {before} uudeksi nimeksi {card}",
"{user} has renamed the card {before} to {card}" : "{user} muutti kortin {before} uudeksi nimeksi {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Olet lisännyt kuvauksen kortille {card} listalla {stack} taululla {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} on lisännyt kuvauksen kortille {card} listalla {stack} taululla {board}",
"You have removed the due date of card {card}" : "Poistit eräpäivän kortilta {card}",
"{user} has removed the due date of card {card}" : "{user} poisti eräpäivän kortilta {card}",
"You have set the due date of card {card} to {after}" : "Asetit kortille {card} eräpäivän {after}",
@@ -55,10 +43,8 @@ OC.L10N.register(
"Deck" : "Pakka",
"Changes in the <strong>Deck app</strong>" : "Muutokset <strong>Pakka-sovelluksessa</strong>",
"A <strong>comment</strong> was created on a card" : "<strong>Kommentti</strong> luotiin kortille",
"Upcoming cards" : "Tulevat kortit",
"Personal" : "Henkilökohtainen",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortti \"%s\" taululla \"%s\" on asetettu sinulle käyttäjän %s toimesta.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} on asettanut kortin \"%s\" taululla \"%s\" sinulle.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortin \"%s\" on \"%s\" eräpäivä on tullut vastaan.",
"%s has mentioned you in a comment on \"%s\"." : "%s mainitsi sinut kommentissa kortilla \"%s\".",
"{user} has mentioned you in a comment on \"%s\"." : "{user} mainitsi sinut kommentissa kortilla \"%s\".",
@@ -119,18 +105,14 @@ OC.L10N.register(
"Toggle compact mode" : "Käytä kompaktia tilaa",
"Details" : "Tiedot",
"Loading board" : "Ladataan taulua",
"No lists available" : "Ei listoja saatavilla",
"Create a new list to add cards to this board" : "Lisää uusi lista lisätäksesi kortteja tälle taululle",
"Board not found" : "Taulua ei löydy",
"Sharing" : "Jakaminen",
"Tags" : "Tunnisteet",
"Deleted items" : "Poistetut tietueet",
"Timeline" : "Aikajana",
"Deleted lists" : "Poistetut listat",
"Undo" : "Kumoa",
"Deleted cards" : "Poistetut kortit",
"Share board with a user, group or circle …" : "Jaa taulu käyttäjän, ryhmän tai piirin ... kanssa",
"No participants found" : "Ei osallistujia löydetty",
"Board owner" : "Taulun omistaja",
"(Group)" : "(Ryhmä)",
"(Circle)" : "(Piiri)",
@@ -138,14 +120,11 @@ OC.L10N.register(
"Can share" : "Voi jakaa",
"Can manage" : "Voi hallita",
"Delete" : "Poista",
"Add a new list" : "Lisää uusi lista",
"Archive all cards" : "Arkistoi kaikki kortit",
"Delete list" : "Poista lista",
"Add card" : "Lisää kortti",
"Archive all cards in this list" : "Arkistoi kaikki kortit tässä listassa",
"Add a new card" : "Lisää uusi kortti",
"Card name" : "Kortin nimi",
"List deleted" : "Lista poistettu",
"Edit" : "Muokkaa",
"Add a new tag" : "Lisää uusi tunniste",
"title and color value must be provided" : "tunnisteella on oltava nimi ja väri",
@@ -182,30 +161,19 @@ OC.L10N.register(
"Unarchive card" : "Poista kortti arkistosta",
"Archive card" : "Arkistoi kortti",
"Delete card" : "Poista kortti",
"Move card to another board" : "Siirrä kortti toiselle taululle",
"Select a list" : "Valitse lista ",
"Card deleted" : "Kortti poistettu",
"seconds ago" : "sekuntia sitten",
"All boards" : "Kaikki taulut",
"Archived boards" : "Arkistoidut taulut",
"Shared with you" : "Jaettu kanssasi",
"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." : "Pakan käytön rajoittaminen estää merkittyjen ryhmien jäseniä luomasta omia taulujaan, mutta käyttäjät pystyvät silti käyttämään heidän kanssaan jaettuja tauluja.",
"Board name" : "Taulun nimi",
"Board details" : "Taulun tiedot",
"Edit board" : "Muokkaa taulua",
"Clone board" : "Monista taulu",
"All cards" : "Kaikki kortit",
"No notifications" : "Ei ilmoituksia",
"Delete board" : "Poista taulu",
"Board {0} deleted" : "Taulu {0} poistettu",
"No reminder" : "Ei muistutusta",
"An error occurred" : "Tapahtui virhe",
"Delete the board?" : "Poistetaanko tämä taulu?",
"Today" : "Tänään",
"Tomorrow" : "Huomenna",
"This week" : "Tällä viikolla",
"No upcoming cards" : "Ei tulevia kortteja",
"upcoming cards" : "tulevat kortit",
"Link to a board" : "Linkki taululle",
"Link to a card" : "Linkitä korttiin",
"Something went wrong" : "Jokin meni vikaan",

View File

@@ -15,20 +15,8 @@
"{user} has archived the board {before}" : "{user} arkistoi taulun {before}",
"You have unarchived the board {board}" : "Palautit taulun {board} arkistosta ",
"{user} has unarchived the board {before}" : "{user} palautti taulun {before} arkistosta",
"You have created a new list {stack} on board {board}" : "Olet lisännyt listan {stack} taululle {board}",
"{user} has created a new list {stack} on board {board}" : "{user} on lisännyt uuden listan {stack} taululle {board}",
"You have renamed list {before} to {stack} on board {board}" : "Muutit listan {before} nimeksi {stack} taululla {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} muutti listan {before} nimeksi {stack} taululla {board}",
"You have deleted list {stack} on board {board}" : "Olet poistanut listan {stack} taululta {board}",
"{user} has deleted list {stack} on board {board}" : "{user} on poistanut listan {stack} taululta {board}",
"You have created card {card} in list {stack} on board {board}" : "Olet lisännyt kortin {card} listaan {stack} taululla {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} on lisännyt kortin {card} listaan {stack} taululla {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Olet poistanut kortin {card} listasta {stack} taululla {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} on poistanut kortin {card} listasta {stack} taululla {board}",
"You have renamed the card {before} to {card}" : "Muutit kortin {before} uudeksi nimeksi {card}",
"{user} has renamed the card {before} to {card}" : "{user} muutti kortin {before} uudeksi nimeksi {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Olet lisännyt kuvauksen kortille {card} listalla {stack} taululla {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} on lisännyt kuvauksen kortille {card} listalla {stack} taululla {board}",
"You have removed the due date of card {card}" : "Poistit eräpäivän kortilta {card}",
"{user} has removed the due date of card {card}" : "{user} poisti eräpäivän kortilta {card}",
"You have set the due date of card {card} to {after}" : "Asetit kortille {card} eräpäivän {after}",
@@ -53,10 +41,8 @@
"Deck" : "Pakka",
"Changes in the <strong>Deck app</strong>" : "Muutokset <strong>Pakka-sovelluksessa</strong>",
"A <strong>comment</strong> was created on a card" : "<strong>Kommentti</strong> luotiin kortille",
"Upcoming cards" : "Tulevat kortit",
"Personal" : "Henkilökohtainen",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortti \"%s\" taululla \"%s\" on asetettu sinulle käyttäjän %s toimesta.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} on asettanut kortin \"%s\" taululla \"%s\" sinulle.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortin \"%s\" on \"%s\" eräpäivä on tullut vastaan.",
"%s has mentioned you in a comment on \"%s\"." : "%s mainitsi sinut kommentissa kortilla \"%s\".",
"{user} has mentioned you in a comment on \"%s\"." : "{user} mainitsi sinut kommentissa kortilla \"%s\".",
@@ -117,18 +103,14 @@
"Toggle compact mode" : "Käytä kompaktia tilaa",
"Details" : "Tiedot",
"Loading board" : "Ladataan taulua",
"No lists available" : "Ei listoja saatavilla",
"Create a new list to add cards to this board" : "Lisää uusi lista lisätäksesi kortteja tälle taululle",
"Board not found" : "Taulua ei löydy",
"Sharing" : "Jakaminen",
"Tags" : "Tunnisteet",
"Deleted items" : "Poistetut tietueet",
"Timeline" : "Aikajana",
"Deleted lists" : "Poistetut listat",
"Undo" : "Kumoa",
"Deleted cards" : "Poistetut kortit",
"Share board with a user, group or circle …" : "Jaa taulu käyttäjän, ryhmän tai piirin ... kanssa",
"No participants found" : "Ei osallistujia löydetty",
"Board owner" : "Taulun omistaja",
"(Group)" : "(Ryhmä)",
"(Circle)" : "(Piiri)",
@@ -136,14 +118,11 @@
"Can share" : "Voi jakaa",
"Can manage" : "Voi hallita",
"Delete" : "Poista",
"Add a new list" : "Lisää uusi lista",
"Archive all cards" : "Arkistoi kaikki kortit",
"Delete list" : "Poista lista",
"Add card" : "Lisää kortti",
"Archive all cards in this list" : "Arkistoi kaikki kortit tässä listassa",
"Add a new card" : "Lisää uusi kortti",
"Card name" : "Kortin nimi",
"List deleted" : "Lista poistettu",
"Edit" : "Muokkaa",
"Add a new tag" : "Lisää uusi tunniste",
"title and color value must be provided" : "tunnisteella on oltava nimi ja väri",
@@ -180,30 +159,19 @@
"Unarchive card" : "Poista kortti arkistosta",
"Archive card" : "Arkistoi kortti",
"Delete card" : "Poista kortti",
"Move card to another board" : "Siirrä kortti toiselle taululle",
"Select a list" : "Valitse lista ",
"Card deleted" : "Kortti poistettu",
"seconds ago" : "sekuntia sitten",
"All boards" : "Kaikki taulut",
"Archived boards" : "Arkistoidut taulut",
"Shared with you" : "Jaettu kanssasi",
"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." : "Pakan käytön rajoittaminen estää merkittyjen ryhmien jäseniä luomasta omia taulujaan, mutta käyttäjät pystyvät silti käyttämään heidän kanssaan jaettuja tauluja.",
"Board name" : "Taulun nimi",
"Board details" : "Taulun tiedot",
"Edit board" : "Muokkaa taulua",
"Clone board" : "Monista taulu",
"All cards" : "Kaikki kortit",
"No notifications" : "Ei ilmoituksia",
"Delete board" : "Poista taulu",
"Board {0} deleted" : "Taulu {0} poistettu",
"No reminder" : "Ei muistutusta",
"An error occurred" : "Tapahtui virhe",
"Delete the board?" : "Poistetaanko tämä taulu?",
"Today" : "Tänään",
"Tomorrow" : "Huomenna",
"This week" : "Tällä viikolla",
"No upcoming cards" : "Ei tulevia kortteja",
"upcoming cards" : "tulevat kortit",
"Link to a board" : "Linkki taululle",
"Link to a card" : "Linkitä korttiin",
"Something went wrong" : "Jokin meni vikaan",

View File

@@ -202,7 +202,6 @@ OC.L10N.register(
"Edit description" : "Modifier la description",
"View description" : "Afficher la description",
"Add Attachment" : "Ajouter une pièce jointe",
"Write a description …" : "Écrire une description ...",
"Choose attachment" : "Choisir une pièce jointe",
"(group)" : "(groupe)",
"(circle)" : "(cercle)",
@@ -227,17 +226,11 @@ OC.L10N.register(
"Board details" : "Détails du tableau",
"Edit board" : "Modifier le tableau",
"Clone board" : "Dupliquer le tableau",
"Unarchive board" : "Désarchiver le tableau",
"Archive board" : "Archiver le tableau",
"Turn on due date reminders" : "Activer les rappels",
"Turn off due date reminders" : "Désactiver les rappels",
"Due date reminders" : "Rappels",
"All cards" : "Toutes les cartes",
"Assigned cards" : "Cartes assignées",
"No notifications" : "Aucune notification",
"Delete board" : "Supprimer le tableau",
"Board {0} deleted" : "Tableau {0} supprimé",
"Only assigned cards" : "Uniquement les cartes assignées",
"No reminder" : "Aucun rappel",
"An error occurred" : "Une erreur est survenue",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Êtes-vous certain de vouloir supprimer le tableau {title} ? Cela supprimera l'ensemble des données de ce tableau.",

View File

@@ -200,7 +200,6 @@
"Edit description" : "Modifier la description",
"View description" : "Afficher la description",
"Add Attachment" : "Ajouter une pièce jointe",
"Write a description …" : "Écrire une description ...",
"Choose attachment" : "Choisir une pièce jointe",
"(group)" : "(groupe)",
"(circle)" : "(cercle)",
@@ -225,17 +224,11 @@
"Board details" : "Détails du tableau",
"Edit board" : "Modifier le tableau",
"Clone board" : "Dupliquer le tableau",
"Unarchive board" : "Désarchiver le tableau",
"Archive board" : "Archiver le tableau",
"Turn on due date reminders" : "Activer les rappels",
"Turn off due date reminders" : "Désactiver les rappels",
"Due date reminders" : "Rappels",
"All cards" : "Toutes les cartes",
"Assigned cards" : "Cartes assignées",
"No notifications" : "Aucune notification",
"Delete board" : "Supprimer le tableau",
"Board {0} deleted" : "Tableau {0} supprimé",
"Only assigned cards" : "Uniquement les cartes assignées",
"No reminder" : "Aucun rappel",
"An error occurred" : "Une erreur est survenue",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Êtes-vous certain de vouloir supprimer le tableau {title} ? Cela supprimera l'ensemble des données de ce tableau.",

View File

@@ -202,7 +202,6 @@ OC.L10N.register(
"Edit description" : "Editar a descrición",
"View description" : "Ver a descrición",
"Add Attachment" : "Engadir o anexo",
"Write a description …" : "Escriba unha descrición…",
"Choose attachment" : "Escoller o anexo",
"(group)" : "(grupo)",
"(circle)" : "(círculo)",
@@ -226,19 +225,7 @@ OC.L10N.register(
"Board name" : "Nome do taboleiro",
"Board details" : "Detalles do taboleiro",
"Edit board" : "Editar taboleiro",
"Clone board" : "Clonar taboleiro",
"Unarchive board" : "Desarquivar taboleiro",
"Archive board" : "Arquivar taboleiro",
"Turn on due date reminders" : "Activar os lembretes de data de caducidade",
"Turn off due date reminders" : "Desctivar os lembretes de data de caducidade",
"Due date reminders" : "Lembretes de data de caducidade",
"All cards" : "Todas as tarxeta",
"Assigned cards" : "Tarxetas asignadas",
"No notifications" : "Non hai notificacións",
"Delete board" : "Eliminar taboleiro",
"Board {0} deleted" : "Eliminouse o taboleiro {0}",
"Only assigned cards" : "Só as tarxetas asignadas",
"No reminder" : "Non hai lembretes",
"An error occurred" : "Produciuse un erro",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Confirma que quere eliminar o taboleiro {title}? Isto eliminará todos os datos deste taboleiro.",
"Delete the board?" : "Eliminar o taboleiro?",

View File

@@ -200,7 +200,6 @@
"Edit description" : "Editar a descrición",
"View description" : "Ver a descrición",
"Add Attachment" : "Engadir o anexo",
"Write a description …" : "Escriba unha descrición…",
"Choose attachment" : "Escoller o anexo",
"(group)" : "(grupo)",
"(circle)" : "(círculo)",
@@ -224,19 +223,7 @@
"Board name" : "Nome do taboleiro",
"Board details" : "Detalles do taboleiro",
"Edit board" : "Editar taboleiro",
"Clone board" : "Clonar taboleiro",
"Unarchive board" : "Desarquivar taboleiro",
"Archive board" : "Arquivar taboleiro",
"Turn on due date reminders" : "Activar os lembretes de data de caducidade",
"Turn off due date reminders" : "Desctivar os lembretes de data de caducidade",
"Due date reminders" : "Lembretes de data de caducidade",
"All cards" : "Todas as tarxeta",
"Assigned cards" : "Tarxetas asignadas",
"No notifications" : "Non hai notificacións",
"Delete board" : "Eliminar taboleiro",
"Board {0} deleted" : "Eliminouse o taboleiro {0}",
"Only assigned cards" : "Só as tarxetas asignadas",
"No reminder" : "Non hai lembretes",
"An error occurred" : "Produciuse un erro",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Confirma que quere eliminar o taboleiro {title}? Isto eliminará todos os datos deste taboleiro.",
"Delete the board?" : "Eliminar o taboleiro?",

View File

@@ -202,7 +202,6 @@ OC.L10N.register(
"Edit description" : "Modifica descrizione",
"View description" : "Visualizza descrizione",
"Add Attachment" : "Aggiungi allegato",
"Write a description …" : "Scrivi una descrizione…",
"Choose attachment" : "Scegli allegato",
"(group)" : "(gruppo)",
"(circle)" : "(cerchia)",

View File

@@ -200,7 +200,6 @@
"Edit description" : "Modifica descrizione",
"View description" : "Visualizza descrizione",
"Add Attachment" : "Aggiungi allegato",
"Write a description …" : "Scrivi una descrizione…",
"Choose attachment" : "Scegli allegato",
"(group)" : "(gruppo)",
"(circle)" : "(cerchia)",

View File

@@ -69,7 +69,7 @@ OC.L10N.register(
"Personal" : "Asmeniniai",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortelę \"%s\" ties \"%s\" priskyrė jums %s.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} priskyrė jums kortelę \"%s\" ties \"%s\".",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortelė „%s“, esanti lentoje „%s“, pasiekė savo galutinį terminą.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortelė \"%s\" ties \"%s\" pasiekė savo galutinį terminą.",
"%s has mentioned you in a comment on \"%s\"." : "%s paminėjo jus komentare ties \"%s\".",
"{user} has mentioned you in a comment on \"%s\"." : "{user} paminėjo jus komentare ties \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Lentą \"%s\" su jumis bendrina %s.",
@@ -217,7 +217,6 @@ OC.L10N.register(
"Today" : "Šiandien",
"Tomorrow" : "Rytoj",
"This week" : "Šią savaitę",
"No due" : "Be galutinio termino",
"Link to a board" : "Susieti su lenta",
"Link to a card" : "Susieti su kortele",
"Something went wrong" : "Kažkas nutiko",

View File

@@ -67,7 +67,7 @@
"Personal" : "Asmeniniai",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortelę \"%s\" ties \"%s\" priskyrė jums %s.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} priskyrė jums kortelę \"%s\" ties \"%s\".",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortelė „%s“, esanti lentoje „%s“, pasiekė savo galutinį terminą.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortelė \"%s\" ties \"%s\" pasiekė savo galutinį terminą.",
"%s has mentioned you in a comment on \"%s\"." : "%s paminėjo jus komentare ties \"%s\".",
"{user} has mentioned you in a comment on \"%s\"." : "{user} paminėjo jus komentare ties \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Lentą \"%s\" su jumis bendrina %s.",
@@ -215,7 +215,6 @@
"Today" : "Šiandien",
"Tomorrow" : "Rytoj",
"This week" : "Šią savaitę",
"No due" : "Be galutinio termino",
"Link to a board" : "Susieti su lenta",
"Link to a card" : "Susieti su kortele",
"Something went wrong" : "Kažkas nutiko",

View File

@@ -202,7 +202,6 @@ OC.L10N.register(
"Edit description" : "Edytuj opis",
"View description" : "Zobacz opis",
"Add Attachment" : "Dodaj załącznik",
"Write a description …" : "Napisz opis…",
"Choose attachment" : "Wybierz załącznik",
"(group)" : "(grupa)",
"(circle)" : "(krąg)",

View File

@@ -200,7 +200,6 @@
"Edit description" : "Edytuj opis",
"View description" : "Zobacz opis",
"Add Attachment" : "Dodaj załącznik",
"Write a description …" : "Napisz opis…",
"Choose attachment" : "Wybierz załącznik",
"(group)" : "(grupa)",
"(circle)" : "(krąg)",

View File

@@ -146,7 +146,7 @@ OC.L10N.register(
"Undo" : "Desfazer",
"Deleted cards" : "Cartões excluídos",
"Share board with a user, group or circle …" : "Compartilhar o painel com um usuário, grupo ou círculo...",
"Searching for users, groups and circles …" : "Procurando usuários, grupos e círculos...",
"Searching for users, groups and circles …" : "Procurando usuários, grupos e círculos ...",
"No participants found" : "Nenhum participante encontrado",
"Board owner" : "Proprietário do painel",
"(Group)" : "(Grupo)",
@@ -202,7 +202,6 @@ OC.L10N.register(
"Edit description" : "Editar descrição",
"View description" : "Exibir descrição",
"Add Attachment" : "Adicionar anexo",
"Write a description …" : "Escreva uma descrição...",
"Choose attachment" : "Escolher anexo",
"(group)" : "(grupo)",
"(circle)" : "(círculo)",
@@ -226,19 +225,7 @@ OC.L10N.register(
"Board name" : "Nome do painel",
"Board details" : "Detalhes do painel",
"Edit board" : "Editar painel",
"Clone board" : "Clonar painel",
"Unarchive board" : "Desarquivar painel",
"Archive board" : "Arquivar painel",
"Turn on due date reminders" : "Ativar lembretes de vencimento",
"Turn off due date reminders" : "Desativar lembretes de vencimento",
"Due date reminders" : "Lembretes de vencimento",
"All cards" : "Todos os cartões",
"Assigned cards" : "Cartões atribuídos",
"No notifications" : "Sem notificações",
"Delete board" : "Excluir painel",
"Board {0} deleted" : "Painel {0} excluído",
"Only assigned cards" : "Apenas cartões atribuídos",
"No reminder" : "Nenhum lembrete",
"An error occurred" : "Ocorreu um erro",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Deseja realmente excluir o painel {title}? Isto excluirá todos os dados deste painel.",
"Delete the board?" : "Excluir o painel?",

View File

@@ -144,7 +144,7 @@
"Undo" : "Desfazer",
"Deleted cards" : "Cartões excluídos",
"Share board with a user, group or circle …" : "Compartilhar o painel com um usuário, grupo ou círculo...",
"Searching for users, groups and circles …" : "Procurando usuários, grupos e círculos...",
"Searching for users, groups and circles …" : "Procurando usuários, grupos e círculos ...",
"No participants found" : "Nenhum participante encontrado",
"Board owner" : "Proprietário do painel",
"(Group)" : "(Grupo)",
@@ -200,7 +200,6 @@
"Edit description" : "Editar descrição",
"View description" : "Exibir descrição",
"Add Attachment" : "Adicionar anexo",
"Write a description …" : "Escreva uma descrição...",
"Choose attachment" : "Escolher anexo",
"(group)" : "(grupo)",
"(circle)" : "(círculo)",
@@ -224,19 +223,7 @@
"Board name" : "Nome do painel",
"Board details" : "Detalhes do painel",
"Edit board" : "Editar painel",
"Clone board" : "Clonar painel",
"Unarchive board" : "Desarquivar painel",
"Archive board" : "Arquivar painel",
"Turn on due date reminders" : "Ativar lembretes de vencimento",
"Turn off due date reminders" : "Desativar lembretes de vencimento",
"Due date reminders" : "Lembretes de vencimento",
"All cards" : "Todos os cartões",
"Assigned cards" : "Cartões atribuídos",
"No notifications" : "Sem notificações",
"Delete board" : "Excluir painel",
"Board {0} deleted" : "Painel {0} excluído",
"Only assigned cards" : "Apenas cartões atribuídos",
"No reminder" : "Nenhum lembrete",
"An error occurred" : "Ocorreu um erro",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Deseja realmente excluir o painel {title}? Isto excluirá todos os dados deste painel.",
"Delete the board?" : "Excluir o painel?",

View File

@@ -146,7 +146,6 @@ OC.L10N.register(
"Undo" : "Razveljavi",
"Deleted cards" : "Izbrisane naloge",
"Share board with a user, group or circle …" : "Souporaba z uporabniki, skupinami ali krogi ...",
"Searching for users, groups and circles …" : "Iskanje uporabnikov, skupin in krogov ...",
"No participants found" : "Ni zaznanih udeleženev",
"Board owner" : "Lastnik zbirke",
"(Group)" : "(Skupina)",
@@ -202,7 +201,6 @@ OC.L10N.register(
"Edit description" : "Uredi opis",
"View description" : "Pokaži opis",
"Add Attachment" : "Dodaj prilogo",
"Write a description …" : "Vpišite opis ...",
"Choose attachment" : "Izbor priloge",
"(group)" : "(skupina)",
"(circle)" : "(krog)",
@@ -226,16 +224,7 @@ OC.L10N.register(
"Board name" : "Ime zbirke",
"Board details" : "Podrobnosti zbirke",
"Edit board" : "Uredi zbirko",
"Clone board" : "Kloniraj zbirko",
"Unarchive board" : "Povrni zbirko",
"Archive board" : "Arhiviraj zbirko",
"All cards" : "Vse naloge",
"Assigned cards" : "Dodeljene naloge",
"No notifications" : "Ni obvestil",
"Delete board" : "Izbriši zbirko",
"Board {0} deleted" : "Zbirka {0} je izbrisana",
"Only assigned cards" : "Le dodeljene naloge",
"No reminder" : "Ni vpisanih opomnikov",
"An error occurred" : "Prišlo je do napake.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ali ste prepričani, da želite izbrisati zbirko »{title}«? S tem boste izbrisali tudi vse podatke zbirke.",
"Delete the board?" : "Ali želite izbrisati zbirko?",

View File

@@ -144,7 +144,6 @@
"Undo" : "Razveljavi",
"Deleted cards" : "Izbrisane naloge",
"Share board with a user, group or circle …" : "Souporaba z uporabniki, skupinami ali krogi ...",
"Searching for users, groups and circles …" : "Iskanje uporabnikov, skupin in krogov ...",
"No participants found" : "Ni zaznanih udeleženev",
"Board owner" : "Lastnik zbirke",
"(Group)" : "(Skupina)",
@@ -200,7 +199,6 @@
"Edit description" : "Uredi opis",
"View description" : "Pokaži opis",
"Add Attachment" : "Dodaj prilogo",
"Write a description …" : "Vpišite opis ...",
"Choose attachment" : "Izbor priloge",
"(group)" : "(skupina)",
"(circle)" : "(krog)",
@@ -224,16 +222,7 @@
"Board name" : "Ime zbirke",
"Board details" : "Podrobnosti zbirke",
"Edit board" : "Uredi zbirko",
"Clone board" : "Kloniraj zbirko",
"Unarchive board" : "Povrni zbirko",
"Archive board" : "Arhiviraj zbirko",
"All cards" : "Vse naloge",
"Assigned cards" : "Dodeljene naloge",
"No notifications" : "Ni obvestil",
"Delete board" : "Izbriši zbirko",
"Board {0} deleted" : "Zbirka {0} je izbrisana",
"Only assigned cards" : "Le dodeljene naloge",
"No reminder" : "Ni vpisanih opomnikov",
"An error occurred" : "Prišlo je do napake.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Ali ste prepričani, da želite izbrisati zbirko »{title}«? S tem boste izbrisali tudi vse podatke zbirke.",
"Delete the board?" : "Ali želite izbrisati zbirko?",

View File

@@ -202,7 +202,6 @@ OC.L10N.register(
"Edit description" : "Ändra beskrivning",
"View description" : "Visa beskrivning",
"Add Attachment" : "Lägg till bilaga",
"Write a description …" : "Ange en beskrivning ...",
"Choose attachment" : "Välj bilaga",
"(group)" : " (grupp)",
"(circle)" : "(cirkel)",
@@ -226,19 +225,7 @@ OC.L10N.register(
"Board name" : "Tavlans namn",
"Board details" : "Taveldetaljer",
"Edit board" : "Ändra tavla",
"Clone board" : "Kopiera tavla",
"Unarchive board" : "Ta bort tavlan ur arkivet",
"Archive board" : "Arkivera tavla",
"Turn on due date reminders" : "Aktivera påminnelser om förfallodatum",
"Turn off due date reminders" : "Inaktivera påminnelser om förfallodatum",
"Due date reminders" : "Påminnelser om förfallodatum",
"All cards" : "Alla kort",
"Assigned cards" : "Tilldelade kort",
"No notifications" : "Inga aviseringar",
"Delete board" : "Radera tavla",
"Board {0} deleted" : "Tavla {0} raderad",
"Only assigned cards" : "Bara tilldelade kort",
"No reminder" : "Ingen påminnelse",
"An error occurred" : "Ett fel uppstod",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla.",
"Delete the board?" : "Ta bort tavlan?",

View File

@@ -200,7 +200,6 @@
"Edit description" : "Ändra beskrivning",
"View description" : "Visa beskrivning",
"Add Attachment" : "Lägg till bilaga",
"Write a description …" : "Ange en beskrivning ...",
"Choose attachment" : "Välj bilaga",
"(group)" : " (grupp)",
"(circle)" : "(cirkel)",
@@ -224,19 +223,7 @@
"Board name" : "Tavlans namn",
"Board details" : "Taveldetaljer",
"Edit board" : "Ändra tavla",
"Clone board" : "Kopiera tavla",
"Unarchive board" : "Ta bort tavlan ur arkivet",
"Archive board" : "Arkivera tavla",
"Turn on due date reminders" : "Aktivera påminnelser om förfallodatum",
"Turn off due date reminders" : "Inaktivera påminnelser om förfallodatum",
"Due date reminders" : "Påminnelser om förfallodatum",
"All cards" : "Alla kort",
"Assigned cards" : "Tilldelade kort",
"No notifications" : "Inga aviseringar",
"Delete board" : "Radera tavla",
"Board {0} deleted" : "Tavla {0} raderad",
"Only assigned cards" : "Bara tilldelade kort",
"No reminder" : "Ingen påminnelse",
"An error occurred" : "Ett fel uppstod",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla.",
"Delete the board?" : "Ta bort tavlan?",

View File

@@ -202,7 +202,6 @@ OC.L10N.register(
"Edit description" : "Açıklamayı düzenle",
"View description" : "Açıklamayı görüntüle",
"Add Attachment" : "Dosya Ekle",
"Write a description …" : "Bir açıklama yazın …",
"Choose attachment" : "Ek dosyayı seçin",
"(group)" : "(grup)",
"(circle)" : "(çevre)",
@@ -226,19 +225,7 @@ OC.L10N.register(
"Board name" : "Pano adı",
"Board details" : "Pano ayrıntıları",
"Edit board" : "Panoyu sil",
"Clone board" : "Panoyu kopyala",
"Unarchive board" : "Panoyu arşivden çıkar",
"Archive board" : "Panoyu arşivle",
"Turn on due date reminders" : "Tarih anımsatıcılarını aç",
"Turn off due date reminders" : "Tarih anımsatıcılarını kapat",
"Due date reminders" : "Bitiş tarihi anımsatıcıları",
"All cards" : "Tüm kartlar",
"Assigned cards" : "Atanmış kartlar",
"No notifications" : "Bildirim yok",
"Delete board" : "Panoyu sil",
"Board {0} deleted" : "{0} panosu silindi",
"Only assigned cards" : "Yalnız atanmış kartlar",
"No reminder" : "Anımsatıcı yok",
"An error occurred" : "Bir sorun çıktı",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "{title} panosunu silmek istediğinize emin misiniz? Bu işlem, bu panodaki tüm verileri silecek.",
"Delete the board?" : "Pano silinsin mi?",

View File

@@ -200,7 +200,6 @@
"Edit description" : "Açıklamayı düzenle",
"View description" : "Açıklamayı görüntüle",
"Add Attachment" : "Dosya Ekle",
"Write a description …" : "Bir açıklama yazın …",
"Choose attachment" : "Ek dosyayı seçin",
"(group)" : "(grup)",
"(circle)" : "(çevre)",
@@ -224,19 +223,7 @@
"Board name" : "Pano adı",
"Board details" : "Pano ayrıntıları",
"Edit board" : "Panoyu sil",
"Clone board" : "Panoyu kopyala",
"Unarchive board" : "Panoyu arşivden çıkar",
"Archive board" : "Panoyu arşivle",
"Turn on due date reminders" : "Tarih anımsatıcılarını aç",
"Turn off due date reminders" : "Tarih anımsatıcılarını kapat",
"Due date reminders" : "Bitiş tarihi anımsatıcıları",
"All cards" : "Tüm kartlar",
"Assigned cards" : "Atanmış kartlar",
"No notifications" : "Bildirim yok",
"Delete board" : "Panoyu sil",
"Board {0} deleted" : "{0} panosu silindi",
"Only assigned cards" : "Yalnız atanmış kartlar",
"No reminder" : "Anımsatıcı yok",
"An error occurred" : "Bir sorun çıktı",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "{title} panosunu silmek istediğinize emin misiniz? Bu işlem, bu panodaki tüm verileri silecek.",
"Delete the board?" : "Pano silinsin mi?",

View File

@@ -133,7 +133,7 @@ class Application20 extends App implements IBootstrap {
}
// delete existing user assignments
$assignmentMapper = $container->query(AssignmentMapper::class);
$assignments = $assignmentMapper->findByParticipant($user->getUID());
$assignments = $assignmentMapper->findByUserId($user->getUID());
foreach ($assignments as $assignment) {
$assignmentMapper->delete($assignment);
}

View File

@@ -114,7 +114,7 @@ class ApplicationLegacy extends App {
}
// delete existing user assignments
$assignmentMapper = $container->query(AssignmentMapper::class);
$assignments = $assignmentMapper->findByParticipant($user->getUID());
$assignments = $assignmentMapper->findByUserId($user->getUID());
foreach ($assignments as $assignment) {
$assignmentMapper->delete($assignment);
}

View File

@@ -23,8 +23,6 @@
namespace OCA\Deck\Db;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\IDBConnection;
class AclMapper extends DeckMapper implements IPermissionMapper {
@@ -45,12 +43,8 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
}
public function findBoardId($aclId): ?int {
try {
$entity = $this->find($aclId);
return $entity->getBoardId();
} catch (DoesNotExistException | MultipleObjectsReturnedException $e) {
}
return null;
$entity = $this->find($aclId);
return $entity->getBoardId();
}
public function findByParticipant($type, $participant): array {

View File

@@ -28,8 +28,6 @@ use DateTimeZone;
use Sabre\VObject\Component\VCalendar;
class Card extends RelationalEntity {
public const TITLE_MAX_LENGTH = 255;
protected $title;
protected $description;
protected $descriptionPrev;

View File

@@ -243,7 +243,7 @@ class CardMapper extends QBMapper implements IPermissionMapper {
$qb->select('id','title','duedate','notified')
->from('deck_cards')
->where($qb->expr()->lt('duedate', $qb->createFunction('NOW()')))
->andWhere($qb->expr()->eq('notified', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->eq('notified', $qb->createNamedParameter(false)))
->andWhere($qb->expr()->eq('archived', $qb->createNamedParameter(false, IQueryBuilder::PARAM_BOOL)))
->andWhere($qb->expr()->eq('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)));
return $this->findEntities($qb);
@@ -322,7 +322,8 @@ class CardMapper extends QBMapper implements IPermissionMapper {
$stmt = $this->db->prepare($sql);
$stmt->bindParam(1, $cardId, \PDO::PARAM_INT);
$stmt->execute();
return $stmt->fetchColumn() ?? null;
$row = $stmt->fetch();
return $row['id'];
}
public function mapOwner(Card &$card) {

View File

@@ -23,9 +23,7 @@
namespace OCA\Deck\Db;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\Entity;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\IDBConnection;
class LabelMapper extends DeckMapper implements IPermissionMapper {
@@ -102,12 +100,7 @@ class LabelMapper extends DeckMapper implements IPermissionMapper {
}
public function findBoardId($labelId): ?int {
try {
$entity = $this->find($labelId);
return $entity->getBoardId();
} catch (DoesNotExistException $e) {
} catch (MultipleObjectsReturnedException $e) {
}
return null;
$entity = $this->find($labelId);
return $entity->getBoardId();
}
}

View File

@@ -23,9 +23,7 @@
namespace OCA\Deck\Db;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\Entity;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\IDBConnection;
class StackMapper extends DeckMapper implements IPermissionMapper {
@@ -77,12 +75,7 @@ class StackMapper extends DeckMapper implements IPermissionMapper {
}
public function findBoardId($stackId): ?int {
try {
$entity = $this->find($stackId);
return $entity->getBoardId();
} catch (DoesNotExistException $e) {
} catch (MultipleObjectsReturnedException $e) {
}
return null;
$entity = $this->find($stackId);
return $entity->getBoardId();
}
}

View File

@@ -10,7 +10,22 @@ use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
class Version1000Date20200306161713 extends SimpleMigrationStep {
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/**
* @param IOutput $output
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param array $options
*/
public function preSchemaChange(IOutput $output, Closure $schemaClosure, array $options) {
}
/**
* @param IOutput $output
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param array $options
* @return null|ISchemaWrapper
*/
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();

View File

@@ -13,7 +13,22 @@ use OCP\Migration\SimpleMigrationStep;
* Auto-generated migration step: Please modify to your needs!
*/
class Version1000Date20200308073933 extends SimpleMigrationStep {
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/**
* @param IOutput $output
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param array $options
*/
public function preSchemaChange(IOutput $output, Closure $schemaClosure, array $options) {
}
/**
* @param IOutput $output
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param array $options
* @return null|ISchemaWrapper
*/
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
@@ -24,9 +39,16 @@ class Version1000Date20200308073933 extends SimpleMigrationStep {
'notnull' => true,
'default' => 0
]);
//$table->addIndex(['participant'], 'deck_assigned_users_idx_t');
$table->addIndex(['type'], 'deck_assigned_users_idx_ty');
$table->addIndex(['type'], 'deck_assigned_users_idx_t');
return $schema;
}
/**
* @param IOutput $output
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param array $options
*/
public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options) {
}
}

View File

@@ -1,104 +0,0 @@
<?php
declare(strict_types=1);
namespace OCA\Deck\Migration;
use Closure;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;
class Version10200Date20201111150114 extends SimpleMigrationStep {
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
// Fix wrong index added in Version1000Date20200308073933
$table = $schema->getTable('deck_assigned_users');
if ($table->hasIndex('deck_assigned_users_idx_t')) {
$table->dropIndex('deck_assigned_users_idx_t');
if (!$table->hasIndex('deck_assigned_users_idx_ty')) {
$table->addIndex(['type'], 'deck_assigned_users_idx_ty');
}
}
// Check consistency of the labels table when updating from a version < 0.6
// git commit for database.xml change at b0eaae6705dbfb9ce834d4047912d3e34eaa157f
$table = $schema->getTable('deck_labels');
if (!$table->hasColumn('last_modified')) {
$table->addColumn('last_modified', 'integer', [
'notnull' => false,
'default' => 0,
'unsigned' => true,
]);
}
// Check consistency of the cards table when updating from a version < 0.5.1
// git commit for database.xml change at dd104466d61e32f59552da183034522e04effe35
$table = $schema->getTable('deck_cards');
if (!$table->hasColumn('description_prev')) {
$table->addColumn('description_prev', 'text', [
'notnull' => false,
]);
}
if (!$table->hasColumn('last_editor')) {
$table->addColumn('last_editor', 'string', [
'notnull' => false,
'length' => 64,
]);
}
// Check consistency of the cards table when updating from a version < 0.5.0
// git commit for database.xml change at a068d6e1c6588662f0ea131e57f974238538eda6
$table = $schema->getTable('deck_boards');
if (!$table->hasColumn('last_modified')) {
$table->addColumn('last_modified', 'integer', [
'notnull' => false,
'default' => 0,
'unsigned' => true,
]);
}
$table = $schema->getTable('deck_stacks');
if (!$table->hasColumn('last_modified')) {
$table->addColumn('last_modified', 'integer', [
'notnull' => false,
'default' => 0,
'unsigned' => true,
]);
}
// Check consistency of the cards table when updating from a version < 0.5.0
// git commit for database.xml change at ef4ce31c47a5ef70d1a4d00f2d4cd182ac067f2c
$table = $schema->getTable('deck_stacks');
if (!$table->hasColumn('deleted_at')) {
$table->addColumn('deleted_at', 'bigint', [
'notnull' => false,
'length' => 8,
'default' => 0,
'unsigned' => true,
]);
}
// Check consistency of the cards table when updating from a version < 0.5.0
// git commit for database.xml change at 2ef4b55af427d90412544e77916e9449db7dbbcd
$table = $schema->getTable('deck_cards');
if (!$table->hasColumn('deleted_at')) {
$table->addColumn('deleted_at', 'bigint', [
'notnull' => false,
'length' => 8,
'default' => 0,
'unsigned' => true,
]);
}
$table = $schema->getTable('deck_cards');
if ($table->getColumn('title')->getLength() !== 255) {
$table->changeColumn('title', [
'length' => 255
]);
}
return $schema;
}
}

View File

@@ -28,7 +28,6 @@ use OCA\Deck\Db\CardMapper;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\L10N\IFactory;
use OCP\Notification\AlreadyProcessedException;
use OCP\Notification\INotification;
use OCP\Notification\INotifier;
@@ -97,9 +96,6 @@ class Notifier implements INotifier {
case 'card-assigned':
$cardId = $notification->getObjectId();
$boardId = $this->cardMapper->findBoardId($cardId);
if (!$boardId) {
throw new AlreadyProcessedException();
}
$initiator = $this->userManager->get($params[2]);
if ($initiator !== null) {
$dn = $initiator->getDisplayName();
@@ -124,9 +120,6 @@ class Notifier implements INotifier {
case 'card-overdue':
$cardId = $notification->getObjectId();
$boardId = $this->cardMapper->findBoardId($cardId);
if (!$boardId) {
throw new AlreadyProcessedException();
}
$notification->setParsedSubject(
(string) $l->t('The card "%s" on "%s" has reached its due date.', $params)
);
@@ -135,9 +128,6 @@ class Notifier implements INotifier {
case 'card-comment-mentioned':
$cardId = $notification->getObjectId();
$boardId = $this->cardMapper->findBoardId($cardId);
if (!$boardId) {
throw new AlreadyProcessedException();
}
$initiator = $this->userManager->get($params[2]);
if ($initiator !== null) {
$dn = $initiator->getDisplayName();
@@ -164,9 +154,6 @@ class Notifier implements INotifier {
break;
case 'board-shared':
$boardId = $notification->getObjectId();
if (!$boardId) {
throw new AlreadyProcessedException();
}
$initiator = $this->userManager->get($params[1]);
if ($initiator !== null) {
$dn = $initiator->getDisplayName();

View File

@@ -172,10 +172,6 @@ class CardService {
throw new BadRequestException('title must be provided');
}
if (mb_strlen($title) > Card::TITLE_MAX_LENGTH) {
throw new BadRequestException('The title cannot exceed 255 characters');
}
if (is_numeric($stackId) === false) {
throw new BadRequestException('stack id must be a number');
}
@@ -274,10 +270,6 @@ class CardService {
throw new BadRequestException('title must be provided');
}
if (mb_strlen($title) > Card::TITLE_MAX_LENGTH) {
throw new BadRequestException('The title cannot exceed 255 characters');
}
if (is_numeric($stackId) === false) {
throw new BadRequestException('stack id must be a number $$$');
}
@@ -369,10 +361,6 @@ class CardService {
throw new BadRequestException('title must be provided');
}
if (mb_strlen($title) > Card::TITLE_MAX_LENGTH) {
throw new BadRequestException('The title cannot exceed 255 characters');
}
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
if ($this->boardService->isArchived($this->cardMapper, $id)) {
throw new StatusException('Operation not allowed. This board is archived.');

View File

@@ -65,7 +65,7 @@ class ConfigService {
public function get($key) {
$result = null;
[$scope] = explode(':', $key, 2);
[$scope, $id] = explode(':', $key, 2);
switch ($scope) {
case 'groupLimit':
if (!$this->groupManager->isAdmin($this->userId)) {
@@ -91,7 +91,7 @@ class ConfigService {
public function set($key, $value) {
$result = null;
[$scope] = explode(':', $key, 2);
[$scope, $id] = explode(':', $key, 2);
switch ($scope) {
case 'groupLimit':
if (!$this->groupManager->isAdmin($this->userId)) {

158
package-lock.json generated
View File

@@ -5070,9 +5070,9 @@
}
},
"@nextcloud/dialogs": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-3.1.1.tgz",
"integrity": "sha512-T816Jo5Dz/NrMXn+rDDAkb1mLcCPD2ZKFX7cVjYvfKP9Ta9LxaRlvwAhS/K7bQ17fpjX8jAmqwrhO8MWDnGGmA==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@nextcloud/dialogs/-/dialogs-3.0.0.tgz",
"integrity": "sha512-5FVP0RSxIpKTKdSUlQ4osDDz/oCx2/4+InliB5MX2EcrjDe6q3fZMabSGnFTnIAu0CXRTzBk7RpneaIFGv+d5A==",
"requires": {
"@nextcloud/l10n": "^1.3.0",
"@nextcloud/typings": "^1.0.0",
@@ -5089,9 +5089,9 @@
}
},
"core-js": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.7.0.tgz",
"integrity": "sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA=="
"version": "3.6.5",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
"integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="
}
}
},
@@ -5263,9 +5263,9 @@
}
},
"@nextcloud/vue": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-2.9.0.tgz",
"integrity": "sha512-OaddUORB2MdrXtmqnXJlbftYMGBBX339utLe2b4jz2qaT/IvvaTmwet6qSl/736upLaJveIoPrdyn3FZea5CUg==",
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-2.8.2.tgz",
"integrity": "sha512-1k4tWcmGj/zHql9nLFRV6y6pJPxqGveTScT0oNvqaPP5zesOBZbge4z+xsuPdOlHWsl26q/r8UyaYFqE09yNXw==",
"requires": {
"@nextcloud/auth": "^1.2.3",
"@nextcloud/axios": "^1.3.2",
@@ -5296,9 +5296,9 @@
},
"dependencies": {
"core-js": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.7.0.tgz",
"integrity": "sha512-NwS7fI5M5B85EwpWuIwJN4i/fbisQUwLwiSNUWeXlkAZ0sbBjLEvLvFLf1uzAUV66PcEPt4xCGCmOZSxVf3xzA=="
"version": "3.6.5",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
"integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="
}
}
},
@@ -5624,9 +5624,9 @@
}
},
"@vue/test-utils": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.1.1.tgz",
"integrity": "sha512-/32538ilZ9qSiu1gui7zfBn+IFy+zoTaQTZ1qiLfQXzZtaeAD23kJMrnqaoe2w8JzJoXuqHUl2ruuStG8rwFYQ==",
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.1.0.tgz",
"integrity": "sha512-M+3jtVqNYIrvzO5gaxogre5a5+96h0hN/dXw+5Lj0t+dp6fAhYcUjpLrC9j9cEEkl2Rcuh/gKYRUmR5N4vcqPw==",
"dev": true,
"requires": {
"dom-event-types": "^1.0.0",
@@ -6907,22 +6907,22 @@
}
},
"babel-loader": {
"version": "8.2.1",
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.1.tgz",
"integrity": "sha512-dMF8sb2KQ8kJl21GUjkW1HWmcsL39GOV5vnzjqrCzEPNY0S0UfMLnumidiwIajDSBmKhYf5iRW+HXaM4cvCKBw==",
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
"integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
"dev": true,
"requires": {
"find-cache-dir": "^2.1.0",
"loader-utils": "^1.4.0",
"make-dir": "^2.1.0",
"mkdirp": "^0.5.3",
"pify": "^4.0.1",
"schema-utils": "^2.6.5"
},
"dependencies": {
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"version": "6.12.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
"integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
"dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
@@ -6932,11 +6932,72 @@
}
},
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
"integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
"dev": true
},
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
"dev": true
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true
},
"fast-deep-equal": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
"integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
"dev": true
},
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
"json5": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
"dev": true,
"requires": {
"minimist": "^1.2.0"
}
},
"loader-utils": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
"integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
"dev": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^1.0.1"
}
},
"mkdirp": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz",
"integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==",
"dev": true,
"requires": {
"minimist": "^1.2.5"
},
"dependencies": {
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
}
}
},
"pify": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
@@ -6944,14 +7005,13 @@
"dev": true
},
"schema-utils": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
"integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz",
"integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.5",
"ajv": "^6.12.4",
"ajv-keywords": "^3.5.2"
"ajv": "^6.12.0",
"ajv-keywords": "^3.4.1"
}
}
}
@@ -9062,9 +9122,9 @@
}
},
"dompurify": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.2.tgz",
"integrity": "sha512-BsGR4nDLaC5CNBnyT5I+d5pOeaoWvgVeg6Gq/aqmKYWMPR07131u60I80BvExLAJ0FQEIBQ1BTicw+C5+jOyrg=="
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.0.tgz",
"integrity": "sha512-bqFOQ7XRmmozp0VsKdIEe8UwZYxj0yttz7l80GBtBqdVRY48cOpXH2J/CVO7AEkV51qY0EBVXfilec18mdmQ/w=="
},
"domutils": {
"version": "1.7.0",
@@ -9931,9 +9991,9 @@
"dev": true
},
"eslint-plugin-standard": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz",
"integrity": "sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ==",
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz",
"integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==",
"dev": true
},
"eslint-plugin-vue": {
@@ -19233,9 +19293,9 @@
}
},
"sass-loader": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.1.0.tgz",
"integrity": "sha512-ZCKAlczLBbFd3aGAhowpYEy69Te3Z68cg8bnHHl6WnSCvnKpbM6pQrz957HWMa8LKVuhnD9uMplmMAHwGQtHeg==",
"version": "10.0.5",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.0.5.tgz",
"integrity": "sha512-2LqoNPtKkZq/XbXNQ4C64GFEleSEHKv6NPSI+bMC/l+jpEXGJhiRYkAQToO24MR7NU4JRY2RpLpJ/gjo2Uf13w==",
"dev": true,
"requires": {
"klona": "^2.0.4",
@@ -19269,6 +19329,18 @@
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
},
"big.js": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
"integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
"dev": true
},
"emojis-list": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
"integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
"dev": true
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
@@ -23007,9 +23079,9 @@
}
},
"webpack-merge": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.4.0.tgz",
"integrity": "sha512-/scBgu8LVPlHDgqH95Aw1xS+L+PHrpHKOwYVGFaNOQl4Q4wwwWDarwB1WdZAbLQ24SKhY3Awe7VZGYAdp+N+gQ==",
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.3.0.tgz",
"integrity": "sha512-4PtsBAWnmJULIJYviiPq4BxwAykbAgGMheyEVaemj2bJI54h+p/gnlbXZEH2EM0IYC3blOE1Qm6kzKlc06N1UQ==",
"dev": true,
"requires": {
"clone-deep": "^4.0.1",

View File

@@ -33,17 +33,17 @@
"@juliushaertl/vue-richtext": "^1.0.0",
"@nextcloud/auth": "^1.3.0",
"@nextcloud/axios": "^1.5.0",
"@nextcloud/dialogs": "^3.1.1",
"@nextcloud/dialogs": "^3.0.0",
"@nextcloud/event-bus": "^1.2.0",
"@nextcloud/files": "^1.1.0",
"@nextcloud/initial-state": "^1.2.0",
"@nextcloud/l10n": "^1.4.1",
"@nextcloud/moment": "^1.1.1",
"@nextcloud/router": "^1.2.0",
"@nextcloud/vue": "^2.9.0",
"@nextcloud/vue": "^2.8.2",
"@nextcloud/vue-dashboard": "^1.0.1",
"blueimp-md5": "^2.18.0",
"dompurify": "^2.2.2",
"dompurify": "^2.2.0",
"lodash": "^4.17.20",
"markdown-it": "^12.0.2",
"markdown-it-task-lists": "^2.1.1",
@@ -75,11 +75,11 @@
"@nextcloud/eslint-config": "^2.1.0",
"@nextcloud/eslint-plugin": "^1.5.0",
"@nextcloud/webpack-vue-config": "^1.4.1",
"@vue/test-utils": "^1.1.1",
"@vue/test-utils": "^1.1.0",
"acorn": "^8.0.4",
"babel-eslint": "^10.1.0",
"babel-jest": "^26.6.3",
"babel-loader": "^8.2.1",
"babel-loader": "^8.1.0",
"css-loader": "^4.3.0",
"eslint": "^6.8.0",
"eslint-config-standard": "^12.0.0",
@@ -88,7 +88,7 @@
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.1.0",
"eslint-plugin-standard": "^4.0.1",
"eslint-plugin-vue": "^6.2.2",
"file-loader": "^6.2.0",
"jest": "^26.6.3",
@@ -96,7 +96,7 @@
"minimist": "^1.2.5",
"node-sass": "^4.14.1",
"raw-loader": "^4.0.2",
"sass-loader": "^10.1.0",
"sass-loader": "^10.0.5",
"style-loader": "^1.3.0",
"stylelint": "^13.7.2",
"stylelint-config-recommended": "^3.0.0",
@@ -110,7 +110,7 @@
"webpack": "^4.44.2",
"webpack-cli": "^3.3.12",
"webpack-dev-server": "^3.11.0",
"webpack-merge": "^5.4.0"
"webpack-merge": "^5.3.0"
},
"jest": {
"moduleFileExtensions": [

View File

@@ -259,10 +259,8 @@ export default {
},
},
watch: {
board(current, previous) {
if (current?.id !== previous?.id) {
this.clearFilter()
}
board() {
this.clearFilter()
},
},
methods: {

View File

@@ -185,7 +185,7 @@ export default {
background-color: var(--color-main-background);
}
section.app-sidebar__tab--active {
section {
min-height: auto;
display: flex;
flex-direction: column;

View File

@@ -117,7 +117,7 @@
type="deck-card" />
</div>
<Description :key="card.id" :card="card" />
<Description :card="card" />
</div>
</template>

View File

@@ -45,13 +45,10 @@
</Actions>
</h5>
<div v-if="!descriptionEditing && hasDescription"
<div v-if="!descriptionEditing"
id="description-preview"
@click="clickedPreview"
v-html="renderedDescription" />
<p v-else-if="!descriptionEditing" class="placeholder" @click="showEditor()">
{{ t('deck', 'Write a description ') }}
</p>
<VueEasymde v-else
:key="card.id"
ref="markdownEditor"
@@ -112,7 +109,6 @@ export default {
autofocus: true,
autosave: { enabled: false, uniqueId: 'unique' },
toolbar: false,
placeholder: t('deck', 'Write a description …'),
},
descriptionSaveTimeout: null,
descriptionSaving: false,
@@ -147,9 +143,6 @@ export default {
renderedDescription() {
return markdownIt.render(this.card.description || '')
},
hasDescription() {
return this.card?.description?.trim?.() !== ''
},
},
methods: {
showEditor() {
@@ -233,11 +226,6 @@ export default {
}
}
.placeholder {
color: var(--color-text-maxcontrast);
padding: 2px;
}
#description-preview {
min-height: 100px;
@@ -293,10 +281,6 @@ h5 {
color: var(--color-main-text);
}
.CodeMirror-placeholder {
color: var(--color-text-maxcontrast);
}
.editor-preview,
.editor-statusbar {
display: none;

View File

@@ -36,37 +36,37 @@
<template v-if="!deleted" slot="actions">
<template v-if="!isDueSubmenuActive">
<ActionButton
icon="icon-info"
icon="icon-more"
:close-after-click="true"
@click="actionDetails">
{{ t('deck', 'Board details') }}
</ActionButton>
<ActionButton v-if="canManage && !board.archived"
<ActionButton v-if="canManage"
icon="icon-rename"
:close-after-click="true"
@click="actionEdit">
{{ t('deck', 'Edit board') }}
</ActionButton>
<ActionButton v-if="canManage && !board.archived"
<ActionButton v-if="canManage"
icon="icon-clone"
:close-after-click="true"
@click="actionClone">
{{ t('deck', 'Clone board') }}
</ActionButton>
<ActionButton v-if="canManage && board.archived"
<ActionButton v-if="canManage"
icon="icon-archive"
:close-after-click="true"
@click="actionUnarchive">
{{ t('deck', 'Unarchive board') }}
</ActionButton>
<ActionButton v-else-if="canManage && !board.archived"
<ActionButton v-if="canManage"
icon="icon-archive"
:close-after-click="true"
@click="actionArchive">
{{ t('deck', 'Archive board') }}
</ActionButton>
<ActionButton v-if="!board.archived && board.acl.length === 0" :icon="board.settings['notify-due'] === 'off' ? 'icon-sound' : 'icon-sound-off'" @click="board.settings['notify-due'] === 'off' ? updateSetting('notify-due', 'all') : updateSetting('notify-due', 'off')">
<ActionButton v-if="board.acl.length === 0" :icon="board.settings['notify-due'] === 'off' ? 'icon-sound' : 'icon-sound-off'" @click="board.settings['notify-due'] === 'off' ? updateSetting('notify-due', 'all') : updateSetting('notify-due', 'off')">
{{ board.settings['notify-due'] === 'off' ? t('deck', 'Turn on due date reminders') : t('deck', 'Turn off due date reminders') }}
</ActionButton>
</template>
@@ -105,7 +105,7 @@
{{ t('deck', 'No notifications') }}
</ActionButton>
</template>
<ActionButton v-else-if="!board.archived && board.acl.length > 0"
<ActionButton v-else-if="board.acl.length > 0"
:title="t('deck', 'Due date reminders')"
:icon="dueDateReminderIcon"
@click="isDueSubmenuActive=true">
@@ -186,7 +186,7 @@ export default {
}
},
canManage() {
return this.board.permissions.PERMISSION_MANAGE
return this.board.permissions.PERMISSION_MANAGE && !this.board.archived
},
dueDateReminderIcon() {
if (this.board.settings['notify-due'] === 'all') {

View File

@@ -23,6 +23,6 @@
style('deck', 'globalstyles');
script('deck', 'main');
script('deck', 'deck');
\OC::$server->getEventDispatcher()->dispatch('\OCP\Collaboration\Resources::loadAdditionalScripts');

View File

@@ -177,10 +177,6 @@ class NotifierTest extends \Test\TestCase {
/** @dataProvider dataPrepareCardAssigned */
public function testPrepareCardAssigned($withUserFound = true) {
$this->cardMapper->expects($this->once())
->method('findBoardId')
->willReturn(123);
/** @var INotification $notification */
$notification = $this->createMock(INotification::class);
$notification->expects($this->once())

View File

@@ -1,9 +1,10 @@
const webpackConfig = require('@nextcloud/webpack-vue-config')
const path = require('path')
const path = require('path');
const { merge } = require('webpack-merge')
const config = {
entry: {
deck: path.join(__dirname, 'src', 'main.js'),
collections: path.join(__dirname, 'src', 'init-collections.js'),
dashboard: path.join(__dirname, 'src', 'init-dashboard.js'),
},
@@ -16,9 +17,10 @@ const config = {
extensions: ['*', '.js', '.vue', '.json'],
modules: [
path.resolve(__dirname, 'node_modules'),
'node_modules',
],
},
}
'node_modules'
]
}
};
module.exports = merge(webpackConfig, config)