Merge branch 'master' into patch-1

This commit is contained in:
Jérôme Herbinet
2022-09-26 09:03:14 +02:00
committed by GitHub
37 changed files with 177 additions and 82 deletions

View File

@@ -16,7 +16,7 @@
- 🚀 Get your project organized
</description>
<version>1.8.0-beta.1</version>
<version>1.9.0-beta.1</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>
@@ -34,7 +34,7 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>
<nextcloud min-version="25" max-version="25"/>
<nextcloud min-version="26" max-version="26"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>

View File

@@ -101,10 +101,12 @@ OC.L10N.register(
"Could not write file to disk" : "No sha pogut escriure el fitxer al disc",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la carregada del fitxer",
"No file uploaded or file size exceeds maximum of %s" : "No s'ha carregat cap fitxer o la mida del fitxer sobrepassa el màxim de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Aquest comentari té més de %s caràcters.\nS'ha afegit com a fitxer adjunt a la targeta amb el nom %s.\nAccessible a l'URL: %s.",
"Card not found" : "No s'ha trobat la targeta",
"Path is already shared with this card" : "Aquesta ruta ja ha estat compartida amb aquesta targeta",
"Invalid date, date format must be YYYY-MM-DD" : "La data no és vàlida, el format de la data ha de ser YYYY-MM-DD",
"Personal planning and team project organization" : "Planificació personal i organització de projectes en equip",
"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" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en format Markdown\n- 🔖 Assigneu etiquetes per una millor organització\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Converses amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Card details" : "Detalls de la targeta",
"Add board" : "Afegeix un tauler",
"Select the board to link to a project" : "Selecciona el tauler per enllaçar a un projecte",
@@ -115,7 +117,7 @@ OC.L10N.register(
"Select a list" : "Seleccioneu una llista",
"Card title" : "Títol de la targeta",
"Cancel" : "Cancel·la",
"Creating the new card …" : "Creant la nova targeta",
"Creating the new card …" : "Creant la nova targeta",
"Card \"{card}\" was added to \"{board}\"" : "La targeta \"{card}\" s'ha afegit a \"{board}\"",
"Open card" : "Obre la targeta",
"Close" : "Tanca",
@@ -134,6 +136,7 @@ OC.L10N.register(
"Archived cards" : "Targetes arxivades",
"Add list" : "Afegeix una llista",
"List name" : "Nom de la llista",
"Active filters" : "Filtres actius",
"Apply filter" : "Aplica el filtre",
"Filter by tag" : "Filtra per etiqueta",
"Filter by assigned user" : "Filtra per usuari assignat",
@@ -162,7 +165,7 @@ OC.L10N.register(
"Undo" : "Desfés",
"Deleted cards" : "Targetes suprimides",
"Share board with a user, group or circle …" : "Compartir tauler amb un usuari, grup o cercle …",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"No participants found" : "No s'han trobat participants",
"Board owner" : "Propietari del tauler",
"(Group)" : "(Grup)",
@@ -173,7 +176,11 @@ OC.L10N.register(
"Owner" : "Propietari",
"Delete" : "Eliminar",
"Failed to create share with {displayName}" : "Ha fallat la creació de la compartició amb {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Esteu segur que voleu transferir el tauler {title} a {user}?",
"Transfer the board." : "Transfereix el tauler.",
"Transfer" : "Transferència",
"The board has been transferred to {user}" : "El tauler s'ha transferit a {user}",
"Failed to transfer the board to {user}" : "No s'ha pogut transferir el tauler a {user}",
"Add a new list" : "Afegir una llista nova",
"Archive all cards" : "Arxiva totes les targetes",
"Delete list" : "Suprimeix la llista",
@@ -203,7 +210,7 @@ OC.L10N.register(
"Comments" : "Comentaris",
"Modified" : "Darrera modificació",
"Created" : "Creat",
"The title cannot be empty." : "El títol no pot estar buit",
"The title cannot be empty." : "El títol no pot estar buit.",
"No comments yet. Begin the discussion!" : "No hi ha comentaris encara. Començar la discussió!",
"Failed to load comments" : "No s'han pogut carregar els comentaris",
"Assign a tag to this card…" : "Assigna una etiqueta a aquesta targeta…",
@@ -232,10 +239,12 @@ OC.L10N.register(
"Edit description" : "Edita descripció",
"View description" : "Veure descripció",
"Add Attachment" : "Afegeix un adjunt",
"Write a description …" : "Escriviu una descripció...",
"Write a description …" : "Escriviu una descripció",
"Choose attachment" : "Triar adjunt",
"(group)" : "(grup)",
"Todo items" : "Elements pendents",
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
"Edit card title" : "Edita el títol de la targeta",
"Assign to me" : "Assigna'm a mi",
"Unassign myself" : "Desasignar a mi mateix",
"Move card" : "Mou la targeta",
@@ -249,6 +258,7 @@ OC.L10N.register(
"All boards" : "Tots els taulers",
"Archived boards" : "Taulers arxivats",
"Shared with you" : "Us han compartit",
"Deck settings" : "Configuració del Tauler",
"Use bigger card view" : "Utilitza la visualització de targetes més gran",
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",
"Limit deck usage of groups" : "Limitar l'ús del tauler de grups",
@@ -269,13 +279,19 @@ OC.L10N.register(
"Only assigned cards" : "Només les targetes assignades",
"No reminder" : "Sense recordatoris",
"An error occurred" : "S'ha produït un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Esteu segur que voleu suprimir el tauler {title}? Això suprimirà totes les dades d'aquest tauler, incloses les targetes arxivades.",
"Delete the board?" : "Voleu suprimir el tauler?",
"Loading filtered view" : "S'està carregant la visualització filtrada",
"No due" : "Sense venciment",
"Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers",
"No results found" : "No s'han trobat resultats",
"{stack} in {board}" : "{stack} a {board}",
"Click to expand description" : "Feu clic per ampliar la descripció",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creat el {created}\n* Última modificació el dia {lastMod}\n* {nbAttachments} fitxers adjunts\n* {nbComments} comentaris",
"{nbCards} cards" : "{nbCards} targetes",
"No upcoming cards" : "No hi ha pròximes targetes",
"upcoming cards" : "pròximes targetes",
"Due on {date}" : "Venciment el dia {date}",
"Link to a board" : "Enllaça a un tauler",
"Link to a card" : "Enllaç una targeta",
"Create a card" : "Crea una targeta",
@@ -288,7 +304,11 @@ OC.L10N.register(
"Share {file} with a Deck card" : "Compartir {file} amb una targeta de Deck",
"Share" : "Compartir",
"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" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en markdown\n- 🔖 Assigneu etiquetes per una organització encara millor\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Debateu amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Are you sure you want to transfer the board {title} for {user} ?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?",
"Transfer the board for {user} successfully" : "Transfereix el tauler per a {user} correctament",
"Failed to transfer the board for {user}" : "No s'ha pogut transferir el tauler per a {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler.",
"This week" : "Aquesta setmana"
"This week" : "Aquesta setmana",
"Are you sure you want to transfer the board {title} for {user}?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -99,10 +99,12 @@
"Could not write file to disk" : "No sha pogut escriure el fitxer al disc",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la carregada del fitxer",
"No file uploaded or file size exceeds maximum of %s" : "No s'ha carregat cap fitxer o la mida del fitxer sobrepassa el màxim de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Aquest comentari té més de %s caràcters.\nS'ha afegit com a fitxer adjunt a la targeta amb el nom %s.\nAccessible a l'URL: %s.",
"Card not found" : "No s'ha trobat la targeta",
"Path is already shared with this card" : "Aquesta ruta ja ha estat compartida amb aquesta targeta",
"Invalid date, date format must be YYYY-MM-DD" : "La data no és vàlida, el format de la data ha de ser YYYY-MM-DD",
"Personal planning and team project organization" : "Planificació personal i organització de projectes en equip",
"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" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en format Markdown\n- 🔖 Assigneu etiquetes per una millor organització\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Converses amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Card details" : "Detalls de la targeta",
"Add board" : "Afegeix un tauler",
"Select the board to link to a project" : "Selecciona el tauler per enllaçar a un projecte",
@@ -113,7 +115,7 @@
"Select a list" : "Seleccioneu una llista",
"Card title" : "Títol de la targeta",
"Cancel" : "Cancel·la",
"Creating the new card …" : "Creant la nova targeta",
"Creating the new card …" : "Creant la nova targeta",
"Card \"{card}\" was added to \"{board}\"" : "La targeta \"{card}\" s'ha afegit a \"{board}\"",
"Open card" : "Obre la targeta",
"Close" : "Tanca",
@@ -132,6 +134,7 @@
"Archived cards" : "Targetes arxivades",
"Add list" : "Afegeix una llista",
"List name" : "Nom de la llista",
"Active filters" : "Filtres actius",
"Apply filter" : "Aplica el filtre",
"Filter by tag" : "Filtra per etiqueta",
"Filter by assigned user" : "Filtra per usuari assignat",
@@ -160,7 +163,7 @@
"Undo" : "Desfés",
"Deleted cards" : "Targetes suprimides",
"Share board with a user, group or circle …" : "Compartir tauler amb un usuari, grup o cercle …",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"No participants found" : "No s'han trobat participants",
"Board owner" : "Propietari del tauler",
"(Group)" : "(Grup)",
@@ -171,7 +174,11 @@
"Owner" : "Propietari",
"Delete" : "Eliminar",
"Failed to create share with {displayName}" : "Ha fallat la creació de la compartició amb {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Esteu segur que voleu transferir el tauler {title} a {user}?",
"Transfer the board." : "Transfereix el tauler.",
"Transfer" : "Transferència",
"The board has been transferred to {user}" : "El tauler s'ha transferit a {user}",
"Failed to transfer the board to {user}" : "No s'ha pogut transferir el tauler a {user}",
"Add a new list" : "Afegir una llista nova",
"Archive all cards" : "Arxiva totes les targetes",
"Delete list" : "Suprimeix la llista",
@@ -201,7 +208,7 @@
"Comments" : "Comentaris",
"Modified" : "Darrera modificació",
"Created" : "Creat",
"The title cannot be empty." : "El títol no pot estar buit",
"The title cannot be empty." : "El títol no pot estar buit.",
"No comments yet. Begin the discussion!" : "No hi ha comentaris encara. Començar la discussió!",
"Failed to load comments" : "No s'han pogut carregar els comentaris",
"Assign a tag to this card…" : "Assigna una etiqueta a aquesta targeta…",
@@ -230,10 +237,12 @@
"Edit description" : "Edita descripció",
"View description" : "Veure descripció",
"Add Attachment" : "Afegeix un adjunt",
"Write a description …" : "Escriviu una descripció...",
"Write a description …" : "Escriviu una descripció",
"Choose attachment" : "Triar adjunt",
"(group)" : "(grup)",
"Todo items" : "Elements pendents",
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
"Edit card title" : "Edita el títol de la targeta",
"Assign to me" : "Assigna'm a mi",
"Unassign myself" : "Desasignar a mi mateix",
"Move card" : "Mou la targeta",
@@ -247,6 +256,7 @@
"All boards" : "Tots els taulers",
"Archived boards" : "Taulers arxivats",
"Shared with you" : "Us han compartit",
"Deck settings" : "Configuració del Tauler",
"Use bigger card view" : "Utilitza la visualització de targetes més gran",
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",
"Limit deck usage of groups" : "Limitar l'ús del tauler de grups",
@@ -267,13 +277,19 @@
"Only assigned cards" : "Només les targetes assignades",
"No reminder" : "Sense recordatoris",
"An error occurred" : "S'ha produït un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Esteu segur que voleu suprimir el tauler {title}? Això suprimirà totes les dades d'aquest tauler, incloses les targetes arxivades.",
"Delete the board?" : "Voleu suprimir el tauler?",
"Loading filtered view" : "S'està carregant la visualització filtrada",
"No due" : "Sense venciment",
"Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers",
"No results found" : "No s'han trobat resultats",
"{stack} in {board}" : "{stack} a {board}",
"Click to expand description" : "Feu clic per ampliar la descripció",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creat el {created}\n* Última modificació el dia {lastMod}\n* {nbAttachments} fitxers adjunts\n* {nbComments} comentaris",
"{nbCards} cards" : "{nbCards} targetes",
"No upcoming cards" : "No hi ha pròximes targetes",
"upcoming cards" : "pròximes targetes",
"Due on {date}" : "Venciment el dia {date}",
"Link to a board" : "Enllaça a un tauler",
"Link to a card" : "Enllaç una targeta",
"Create a card" : "Crea una targeta",
@@ -286,7 +302,11 @@
"Share {file} with a Deck card" : "Compartir {file} amb una targeta de Deck",
"Share" : "Compartir",
"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" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en markdown\n- 🔖 Assigneu etiquetes per una organització encara millor\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Debateu amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Are you sure you want to transfer the board {title} for {user} ?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?",
"Transfer the board for {user} successfully" : "Transfereix el tauler per a {user} correctament",
"Failed to transfer the board for {user}" : "No s'ha pogut transferir el tauler per a {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler.",
"This week" : "Aquesta setmana"
"This week" : "Aquesta setmana",
"Are you sure you want to transfer the board {title} for {user}?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -286,6 +286,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Hledat {searchQuery} na všech tabulích",
"No results found" : "Nenalezeny žádné výsledky",
"{stack} in {board}" : "{stack} v {board}",
"Click to expand description" : "Popis rozbalíte kliknutím",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvořeno {created}\n* Naposledy upraveno {lastMod}\n* {nbAttachments} příloh\n* {nbComments} komentářů",
"{nbCards} cards" : "{nbCards} karet",
"No upcoming cards" : "Žádné nadcházející karty",

View File

@@ -284,6 +284,7 @@
"Search for {searchQuery} in all boards" : "Hledat {searchQuery} na všech tabulích",
"No results found" : "Nenalezeny žádné výsledky",
"{stack} in {board}" : "{stack} v {board}",
"Click to expand description" : "Popis rozbalíte kliknutím",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvořeno {created}\n* Naposledy upraveno {lastMod}\n* {nbAttachments} příloh\n* {nbComments} komentářů",
"{nbCards} cards" : "{nbCards} karet",
"No upcoming cards" : "Žádné nadcházející karty",

View File

@@ -286,6 +286,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards",
"No results found" : "Keine Ergebnisse gefunden",
"{stack} in {board}" : "{stack} auf {board}",
"Click to expand description" : "Klicken, um die Beschreibung zu erweitern",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare",
"{nbCards} cards" : "{nbCards} Karten",
"No upcoming cards" : "Keine anstehenden Karten",

View File

@@ -284,6 +284,7 @@
"Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards",
"No results found" : "Keine Ergebnisse gefunden",
"{stack} in {board}" : "{stack} auf {board}",
"Click to expand description" : "Klicken, um die Beschreibung zu erweitern",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare",
"{nbCards} cards" : "{nbCards} Karten",
"No upcoming cards" : "Keine anstehenden Karten",

View File

@@ -279,14 +279,18 @@ OC.L10N.register(
"Only assigned cards" : "Bakarrik esleitutako txartelak",
"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 including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako kartak barne.",
"Delete the board?" : "Taula ezabatu?",
"Loading filtered view" : "Kargatzen iragazitako ikuspegia",
"No due" : "Epemugarik ez",
"Search for {searchQuery} in all boards" : "Bilatu {searchQuery} taula guztietan",
"No results found" : "Ez da emaitzarik aurkitu",
"{stack} in {board}" : "{stack} {board}-(e)n",
"Click to expand description" : "Egin klik deskribapena handitzeko",
"{nbCards} cards" : "{nbCards} karta",
"No upcoming cards" : "Ez dago hurrengo txartelik",
"upcoming cards" : "hurrengo txartelak",
"Due on {date}" : "Iraungitze-data {date}",
"Link to a board" : "Estekatu taula batera",
"Link to a card" : "Estekatu txartel batera",
"Create a card" : "Sortu txartela",

View File

@@ -277,14 +277,18 @@
"Only assigned cards" : "Bakarrik esleitutako txartelak",
"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 including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako kartak barne.",
"Delete the board?" : "Taula ezabatu?",
"Loading filtered view" : "Kargatzen iragazitako ikuspegia",
"No due" : "Epemugarik ez",
"Search for {searchQuery} in all boards" : "Bilatu {searchQuery} taula guztietan",
"No results found" : "Ez da emaitzarik aurkitu",
"{stack} in {board}" : "{stack} {board}-(e)n",
"Click to expand description" : "Egin klik deskribapena handitzeko",
"{nbCards} cards" : "{nbCards} karta",
"No upcoming cards" : "Ez dago hurrengo txartelik",
"upcoming cards" : "hurrengo txartelak",
"Due on {date}" : "Iraungitze-data {date}",
"Link to a board" : "Estekatu taula batera",
"Link to a card" : "Estekatu txartel batera",
"Create a card" : "Sortu txartela",

View File

@@ -150,7 +150,7 @@ OC.L10N.register(
"Clear filter" : "Supprimer le filtre",
"Hide archived cards" : "Masquer les cartes archivées",
"Show archived cards" : "Afficher les cartes archivées",
"Toggle compact mode" : "Activer / Désactiver le mode compact",
"Toggle compact mode" : "Activer / Désactiver l'affichage compact",
"Open details" : "Ouvrir les détails",
"Details" : "Détails",
"Loading board" : "Chargement du tableau…",
@@ -275,11 +275,11 @@ OC.L10N.register(
"Assigned cards" : "Cartes assignées",
"No notifications" : "Aucune notification",
"Delete board" : "Supprimer le tableau",
"Board {0} deleted" : "Tableau \"{0}\" supprimé",
"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 including archived cards." : "Êtes-vous sûr de vouloir supprimer le tableau \"{titre}\" ? Cela supprimera toutes les données de ce tableau, y compris les cartes archivées.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Êtes-vous sûr de vouloir supprimer le tableau {titre} ? Cela supprimera toutes les données de ce tableau, y compris les cartes archivées.",
"Delete the board?" : "Supprimer le tableau ?",
"Loading filtered view" : "Chargement de la vue filtrée",
"No due" : "Sans échéance",
@@ -306,7 +306,7 @@ OC.L10N.register(
"Are you sure you want to transfer the board {title} for {user} ?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?",
"Transfer the board for {user} successfully" : "Transfert du tableau pour {user} avec succès",
"Failed to transfer the board for {user}" : "Échec du transfert du tableau pour {user}",
"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.",
"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.",
"This week" : "Cette semaine",
"Are you sure you want to transfer the board {title} for {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?"
},

View File

@@ -148,7 +148,7 @@
"Clear filter" : "Supprimer le filtre",
"Hide archived cards" : "Masquer les cartes archivées",
"Show archived cards" : "Afficher les cartes archivées",
"Toggle compact mode" : "Activer / Désactiver le mode compact",
"Toggle compact mode" : "Activer / Désactiver l'affichage compact",
"Open details" : "Ouvrir les détails",
"Details" : "Détails",
"Loading board" : "Chargement du tableau…",
@@ -273,11 +273,11 @@
"Assigned cards" : "Cartes assignées",
"No notifications" : "Aucune notification",
"Delete board" : "Supprimer le tableau",
"Board {0} deleted" : "Tableau \"{0}\" supprimé",
"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 including archived cards." : "Êtes-vous sûr de vouloir supprimer le tableau \"{titre}\" ? Cela supprimera toutes les données de ce tableau, y compris les cartes archivées.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Êtes-vous sûr de vouloir supprimer le tableau {titre} ? Cela supprimera toutes les données de ce tableau, y compris les cartes archivées.",
"Delete the board?" : "Supprimer le tableau ?",
"Loading filtered view" : "Chargement de la vue filtrée",
"No due" : "Sans échéance",
@@ -304,7 +304,7 @@
"Are you sure you want to transfer the board {title} for {user} ?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?",
"Transfer the board for {user} successfully" : "Transfert du tableau pour {user} avec succès",
"Failed to transfer the board for {user}" : "Échec du transfert du tableau pour {user}",
"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.",
"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.",
"This week" : "Cette semaine",
"Are you sure you want to transfer the board {title} for {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"

View File

@@ -286,6 +286,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Wyszukaj dla {searchQuery} na wszystkich tablicach",
"No results found" : "Nie znaleziono wyników",
"{stack} in {board}" : "{stack} na {board}",
"Click to expand description" : "Kliknij, aby rozwinąć opis",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Utworzono {created}\n* Ostatnia modyfikacja {lastMod}\n* Załączniki {nbAttachments}\n* Komentarze {nbComments}",
"{nbCards} cards" : "Karty {nbCards}",
"No upcoming cards" : "Brak nadchodzących kart",

View File

@@ -284,6 +284,7 @@
"Search for {searchQuery} in all boards" : "Wyszukaj dla {searchQuery} na wszystkich tablicach",
"No results found" : "Nie znaleziono wyników",
"{stack} in {board}" : "{stack} na {board}",
"Click to expand description" : "Kliknij, aby rozwinąć opis",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Utworzono {created}\n* Ostatnia modyfikacja {lastMod}\n* Załączniki {nbAttachments}\n* Komentarze {nbComments}",
"{nbCards} cards" : "Karty {nbCards}",
"No upcoming cards" : "Brak nadchodzących kart",

View File

@@ -286,6 +286,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Pesquisar por {searchQuery} em todos os painéis",
"No results found" : "Nenhum resultado encontrado",
"{stack} in {board}" : "{stack} de {board}",
"Click to expand description" : "Clique para expandir a descrição",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Criado em {created}\n* Última modificação em {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentários",
"{nbCards} cards" : "{nbCards} cartões",
"No upcoming cards" : "Não há mais cartões",

View File

@@ -284,6 +284,7 @@
"Search for {searchQuery} in all boards" : "Pesquisar por {searchQuery} em todos os painéis",
"No results found" : "Nenhum resultado encontrado",
"{stack} in {board}" : "{stack} de {board}",
"Click to expand description" : "Clique para expandir a descrição",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Criado em {created}\n* Última modificação em {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentários",
"{nbCards} cards" : "{nbCards} cartões",
"No upcoming cards" : "Não há mais cartões",

View File

@@ -286,6 +286,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Tüm panolarda {searchQuery} için sonuçlar",
"No results found" : "Herhangi bir sonuç bulunamadı",
"{stack} in {board}" : "{stack} {board} panosunda",
"Click to expand description" : "Açıklamayı genişletmek için tıklayın",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Oluşturulma: {created}\n* Son değiştirilme: {lastMod}\n* {nbAttachments} ek dosya\n* {nbComments} yorum",
"{nbCards} cards" : "{nbCards} kart",
"No upcoming cards" : "Yaklaşan bir kart yok",

View File

@@ -284,6 +284,7 @@
"Search for {searchQuery} in all boards" : "Tüm panolarda {searchQuery} için sonuçlar",
"No results found" : "Herhangi bir sonuç bulunamadı",
"{stack} in {board}" : "{stack} {board} panosunda",
"Click to expand description" : "Açıklamayı genişletmek için tıklayın",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Oluşturulma: {created}\n* Son değiştirilme: {lastMod}\n* {nbAttachments} ek dosya\n* {nbComments} yorum",
"{nbCards} cards" : "{nbCards} kart",
"No upcoming cards" : "Yaklaşan bir kart yok",

View File

@@ -16,6 +16,7 @@ OC.L10N.register(
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
"Load more" : "Більше",
"Personal" : "Особисте",
"%s on %s" : "%s на %s",
"Finished" : "Завершено",
"To review" : "На перегляд",
"Action needed" : "Потребує дій",
@@ -165,6 +166,7 @@ OC.L10N.register(
"Link to a card" : "Прив'язати до картки",
"Something went wrong" : "От халепа!",
"Maximum file size of {size} exceeded" : "Досягнуто максимальний розмір файлу {size}",
"Error creating the share" : "Помилка створення спільного доступу",
"Share" : "Поділитися",
"This week" : "Цього тижня"
},

View File

@@ -14,6 +14,7 @@
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
"Load more" : "Більше",
"Personal" : "Особисте",
"%s on %s" : "%s на %s",
"Finished" : "Завершено",
"To review" : "На перегляд",
"Action needed" : "Потребує дій",
@@ -163,6 +164,7 @@
"Link to a card" : "Прив'язати до картки",
"Something went wrong" : "От халепа!",
"Maximum file size of {size} exceeded" : "Досягнуто максимальний розмір файлу {size}",
"Error creating the share" : "Помилка створення спільного доступу",
"Share" : "Поділитися",
"This week" : "Цього тижня"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"

View File

@@ -286,6 +286,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "在所有面板中搜索 {searchQuery}",
"No results found" : "沒有結果",
"{stack} in {board}" : "{board} 中的 {stack}",
"Click to expand description" : "點擊展開描述",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 創建於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言",
"{nbCards} cards" : "{nbCards} 張卡片",
"No upcoming cards" : "沒有快將到期的卡片",

View File

@@ -284,6 +284,7 @@
"Search for {searchQuery} in all boards" : "在所有面板中搜索 {searchQuery}",
"No results found" : "沒有結果",
"{stack} in {board}" : "{board} 中的 {stack}",
"Click to expand description" : "點擊展開描述",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 創建於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言",
"{nbCards} cards" : "{nbCards} 張卡片",
"No upcoming cards" : "沒有快將到期的卡片",

View File

@@ -286,6 +286,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "在所有佈告欄中搜尋 {searchQuery}",
"No results found" : "找不到結果",
"{stack} in {board}" : "{stack} 於 {board}",
"Click to expand description" : "點擊展開描述",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 建立於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言",
"{nbCards} cards" : "{nbCards} 張卡片",
"No upcoming cards" : "無接下來的卡片",

View File

@@ -284,6 +284,7 @@
"Search for {searchQuery} in all boards" : "在所有佈告欄中搜尋 {searchQuery}",
"No results found" : "找不到結果",
"{stack} in {board}" : "{stack} 於 {board}",
"Click to expand description" : "點擊展開描述",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 建立於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言",
"{nbCards} cards" : "{nbCards} 張卡片",
"No upcoming cards" : "無接下來的卡片",

View File

@@ -81,7 +81,7 @@ class CardReferenceProvider implements IReferenceProvider {
$card = $this->sanitizeSerializedCard($card);
$board = $this->sanitizeSerializedBoard($board);
$stack = $this->sanitizeSerializedStack($stack);
/** @var IReference $reference */
$reference = new Reference($referenceText);
$reference->setRichObject(Application::APP_ID . '-card', [
'id' => $boardId . '/' . $cardId,

View File

@@ -42,6 +42,7 @@ use OCA\Deck\Event\AclUpdatedEvent;
use OCA\Deck\NoPermissionException;
use OCA\Deck\Notification\NotificationHelper;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IDBConnection;
@@ -55,6 +56,8 @@ use OCP\IUserManager;
use OCA\Deck\BadRequestException;
use OCP\IURLGenerator;
use OCP\Server;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
class BoardService {
private BoardMapper $boardMapper;
@@ -592,12 +595,14 @@ class BoardService {
}
/**
* @throws DbException
* @throws DoesNotExistException
* @throws \OCA\Deck\NoPermissionException
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
* @throws BadRequestException
* @throws NoPermissionException
* @throws MultipleObjectsReturnedException
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
public function deleteAcl(int $id): bool {
public function deleteAcl(int $id): ?Acl {
$this->permissionService->checkPermission($this->aclMapper, $id, Acl::PERMISSION_SHARE);
/** @var Acl $acl */
$acl = $this->aclMapper->find($id);
@@ -622,8 +627,10 @@ class BoardService {
}
}
$deletedAcl = $this->aclMapper->delete($acl);
$this->eventDispatcher->dispatchTyped(new AclDeletedEvent($acl));
return (bool) $this->aclMapper->delete($acl);
return $deletedAcl;
}
/**

48
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "deck",
"version": "1.8.0-beta.1",
"version": "1.9.0-beta.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "deck",
"version": "1.8.0-beta.1",
"version": "1.9.0-beta.1",
"license": "agpl",
"dependencies": {
"@babel/polyfill": "^7.12.1",
@@ -21,7 +21,7 @@
"@nextcloud/l10n": "^1.6.0",
"@nextcloud/moment": "^1.2.1",
"@nextcloud/router": "^2.0.0",
"@nextcloud/vue": "^7.0.0-beta.0",
"@nextcloud/vue": "^7.0.0-beta.5",
"@nextcloud/vue-dashboard": "^2.0.1",
"@nextcloud/vue-richtext": "^2.0.1",
"blueimp-md5": "^2.19.0",
@@ -3305,9 +3305,9 @@
}
},
"node_modules/@nextcloud/vue": {
"version": "7.0.0-beta.4",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-7.0.0-beta.4.tgz",
"integrity": "sha512-uGRtiFzGaSjWmUN4cKXgnoJc/NViVHTOo7tsZI+B+FhlS5ZpEsWHeR2TkOaL5gk9dwdsKjY7c8uc+48fsFXQJg==",
"version": "7.0.0-beta.5",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-7.0.0-beta.5.tgz",
"integrity": "sha512-qHHVSdMWdggjYvJUWg73UZeW6+QbP4NXFKN+h3upamGEizIGyoOtjVKhrftY/lKV1t80B75T/4u6drXFyrJLjA==",
"dependencies": {
"@nextcloud/auth": "^2.0.0",
"@nextcloud/axios": "^2.0.0",
@@ -3326,7 +3326,7 @@
"floating-vue": "^1.0.0-beta.18",
"focus-trap": "^7.0.0",
"hammerjs": "^2.0.8",
"linkify-string": "^3.0.4",
"linkify-string": "^4.0.0",
"md5": "^2.3.0",
"splitpanes": "^2.4.1",
"string-length": "^5.0.1",
@@ -3563,17 +3563,17 @@
}
},
"node_modules/@nextcloud/vue/node_modules/linkify-string": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-3.0.4.tgz",
"integrity": "sha512-OnNqqRjlYXaXipIAbBC8sDXsSumI1ftatzFg141Pw9HEXWjTVLFcMZoKbFupshqWRavtNJ6QHLa+u6AlxxgeRw==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-4.0.0.tgz",
"integrity": "sha512-XofbQHvqMSfP7gX5zuiog0pFyctU75s4dOUyiw3h901VKFNe2oWHv42Wjkc+6HcuUivAtNR4pvJlXz8JBIZ4Sg==",
"peerDependencies": {
"linkifyjs": "^3.0.0"
"linkifyjs": "^4.0.0"
}
},
"node_modules/@nextcloud/vue/node_modules/linkifyjs": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-3.0.5.tgz",
"integrity": "sha512-1Y9XQH65eQKA9p2xtk+zxvnTeQBG7rdAXSkUG97DmuI/Xhji9uaUzaWxRj6rf9YC0v8KKHkxav7tnLX82Sz5Fg==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.0.0.tgz",
"integrity": "sha512-RJuSqTcPSE7lHqZzVaZbg5w231QhIHkytiCjM6lxVHhodkt2rCBNDONCYVBYRXXIBvUl/Z+xOhRwOJnVrZB4Wg==",
"peer": true
},
"node_modules/@nextcloud/vue/node_modules/string-length": {
@@ -21671,9 +21671,9 @@
}
},
"@nextcloud/vue": {
"version": "7.0.0-beta.4",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-7.0.0-beta.4.tgz",
"integrity": "sha512-uGRtiFzGaSjWmUN4cKXgnoJc/NViVHTOo7tsZI+B+FhlS5ZpEsWHeR2TkOaL5gk9dwdsKjY7c8uc+48fsFXQJg==",
"version": "7.0.0-beta.5",
"resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-7.0.0-beta.5.tgz",
"integrity": "sha512-qHHVSdMWdggjYvJUWg73UZeW6+QbP4NXFKN+h3upamGEizIGyoOtjVKhrftY/lKV1t80B75T/4u6drXFyrJLjA==",
"requires": {
"@nextcloud/auth": "^2.0.0",
"@nextcloud/axios": "^2.0.0",
@@ -21692,7 +21692,7 @@
"floating-vue": "^1.0.0-beta.18",
"focus-trap": "^7.0.0",
"hammerjs": "^2.0.8",
"linkify-string": "^3.0.4",
"linkify-string": "^4.0.0",
"md5": "^2.3.0",
"splitpanes": "^2.4.1",
"string-length": "^5.0.1",
@@ -21727,15 +21727,15 @@
}
},
"linkify-string": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-3.0.4.tgz",
"integrity": "sha512-OnNqqRjlYXaXipIAbBC8sDXsSumI1ftatzFg141Pw9HEXWjTVLFcMZoKbFupshqWRavtNJ6QHLa+u6AlxxgeRw==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-4.0.0.tgz",
"integrity": "sha512-XofbQHvqMSfP7gX5zuiog0pFyctU75s4dOUyiw3h901VKFNe2oWHv42Wjkc+6HcuUivAtNR4pvJlXz8JBIZ4Sg==",
"requires": {}
},
"linkifyjs": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-3.0.5.tgz",
"integrity": "sha512-1Y9XQH65eQKA9p2xtk+zxvnTeQBG7rdAXSkUG97DmuI/Xhji9uaUzaWxRj6rf9YC0v8KKHkxav7tnLX82Sz5Fg==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.0.0.tgz",
"integrity": "sha512-RJuSqTcPSE7lHqZzVaZbg5w231QhIHkytiCjM6lxVHhodkt2rCBNDONCYVBYRXXIBvUl/Z+xOhRwOJnVrZB4Wg==",
"peer": true
},
"string-length": {

View File

@@ -1,7 +1,7 @@
{
"name": "deck",
"description": "",
"version": "1.8.0-beta.1",
"version": "1.9.0-beta.1",
"authors": [
{
"name": "Julius Härtl",
@@ -40,7 +40,7 @@
"@nextcloud/l10n": "^1.6.0",
"@nextcloud/moment": "^1.2.1",
"@nextcloud/router": "^2.0.0",
"@nextcloud/vue": "^7.0.0-beta.4",
"@nextcloud/vue": "^7.0.0-beta.5",
"@nextcloud/vue-dashboard": "^2.0.1",
"@nextcloud/vue-richtext": "^2.0.1",
"blueimp-md5": "^2.19.0",

View File

@@ -41,7 +41,7 @@
</NcModal>
</template>
<script>
import NcModal from '@nextcloud/vue/dist/Components/NcModal'
import { NcModal } from '@nextcloud/vue'
import axios from '@nextcloud/axios'
import { generateUrl } from '@nextcloud/router'

View File

@@ -92,9 +92,7 @@
<script>
import { generateUrl } from '@nextcloud/router'
import NcModal from '@nextcloud/vue/dist/Components/NcModal.js'
import NcMultiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
import NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'
import { NcModal, NcMultiselect, NcEmptyContent } from '@nextcloud/vue'
import axios from '@nextcloud/axios'
import { CardApi } from './services/CardApi.js'

View File

@@ -62,8 +62,7 @@
<script>
import { generateUrl } from '@nextcloud/router'
import NcModal from '@nextcloud/vue/dist/Components/NcModal'
import NcMultiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
import { NcModal, NcMultiselect } from '@nextcloud/vue'
import axios from '@nextcloud/axios'
export default {

View File

@@ -41,9 +41,9 @@
<span v-if="acl.type===7">{{ t('deck', '(Circle)') }}</span>
</span>
<ActionCheckbox v-if="!(isCurrentUser(acl.participant.uid) && acl.type === 0) && (canManage || (canEdit && canShare))" :checked="acl.permissionEdit" @change="clickEditAcl(acl)">
<NcActionCheckbox v-if="!(isCurrentUser(acl.participant.uid) && acl.type === 0) && (canManage || (canEdit && canShare))" :checked="acl.permissionEdit" @change="clickEditAcl(acl)">
{{ t('deck', 'Can edit') }}
</ActionCheckbox>
</NcActionCheckbox>
<NcActions v-if="!(isCurrentUser(acl.participant.uid) && acl.type === 0)" :force-menu="true">
<ActionCheckbox v-if="canManage || canShare" :checked="acl.permissionShare" @change="clickShareAcl(acl)">
{{ t('deck', 'Can share') }}
@@ -73,7 +73,7 @@
</template>
<script>
import { NcAvatar, NcMultiselect, NcActions, NcActionButton, ActionCheckbox, NcRelatedResourcesPanel } from '@nextcloud/vue'
import { NcAvatar, NcMultiselect, NcActions, NcActionButton, NcActionCheckbox, NcRelatedResourcesPanel } from '@nextcloud/vue'
import { CollectionList } from 'nextcloud-vue-collections'
import { mapGetters, mapState } from 'vuex'
import { getCurrentUser } from '@nextcloud/auth'
@@ -87,7 +87,7 @@ export default {
NcAvatar,
NcActions,
NcActionButton,
ActionCheckbox,
NcActionCheckbox,
NcMultiselect,
CollectionList,
NcRelatedResourcesPanel,

View File

@@ -76,15 +76,15 @@
</NcActionButton>
</NcActions>
<NcActions v-if="removable && !isReadOnly" :force-menu="true">
<ActionLink v-if="attachment.extendedData.fileid" icon="icon-folder" :href="internalLink(attachment)">
<NcActionLink v-if="attachment.extendedData.fileid" icon="icon-folder" :href="internalLink(attachment)">
{{ t('deck', 'Show in Files') }}
</ActionLink>
<ActionLink v-if="attachment.extendedData.fileid"
</NcActionLink>
<NcActionLink v-if="attachment.extendedData.fileid"
icon="icon-download"
:href="downloadLink(attachment)"
download>
{{ t('deck', 'Download') }}
</ActionLink>
</NcActionLink>
<NcActionButton v-if="attachment.extendedData.fileid && !isReadOnly" icon="icon-delete" @click="unshareAttachment(attachment)">
{{ t('deck', 'Remove attachment') }}
</NcActionButton>
@@ -103,7 +103,7 @@
<script>
import axios from '@nextcloud/axios'
import { NcActions, NcActionButton, ActionLink } from '@nextcloud/vue'
import { NcActions, NcActionButton, NcActionLink } from '@nextcloud/vue'
import AttachmentDragAndDrop from '../AttachmentDragAndDrop.vue'
import relativeDate from '../../mixins/relativeDate.js'
import { formatFileSize } from '@nextcloud/files'
@@ -127,7 +127,7 @@ export default {
components: {
NcActions,
NcActionButton,
ActionLink,
NcActionLink,
AttachmentDragAndDrop,
},
mixins: [relativeDate, attachmentUpload],

View File

@@ -20,7 +20,7 @@
*/
import { registerWidget } from '@nextcloud/vue-richtext'
import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip.js'
import { Tooltip } from '@nextcloud/vue'
import Vue from 'vue'
import CardReferenceWidget from './views/CardReferenceWidget.vue'
@@ -36,7 +36,6 @@ registerWidget('deck-card', (el, { richObjectType, richObject, accessible }) =>
// trick to change the wrapper element size, otherwise it always is 100%
// which is not very nice with a simple card
el.parentNode.style['max-width'] = '400px'
el.parentNode.style['min-width'] = '200px'
el.parentNode.style['margin-left'] = '0'
el.parentNode.style['margin-right'] = '0'

View File

@@ -62,9 +62,14 @@
<div class="line description-assignees">
<TextIcon v-if="card.description" :size="20" class="icon" />
<div v-if="card.description"
class="description"
:title="card.description">
{{ card.description }}
:class="{
'description': true,
'short-description': shortDescription,
}">
<RichText v-tooltip.top="{ content: shortDescription ? t('deck', 'Click to expand description') : undefined }"
:text="card.description"
:use-markdown="true"
@click.native="shortDescription = !shortDescription" />
</div>
<div v-if="card.assignedUsers .length > 0"
class="spacer" />
@@ -83,6 +88,7 @@ import DeckIcon from '../components/icons/DeckIcon.vue'
import AvatarList from '../components/cards/AvatarList.vue'
import labelStyle from '../mixins/labelStyle.js'
import { RichText } from '@nextcloud/vue-richtext'
import moment from '@nextcloud/moment'
import { generateUrl } from '@nextcloud/router'
@@ -94,6 +100,7 @@ export default {
DeckIcon,
CalendarBlankIcon,
TextIcon,
RichText,
},
mixins: [labelStyle],
@@ -115,6 +122,7 @@ export default {
data() {
return {
shortDescription: true,
}
},
@@ -171,11 +179,17 @@ export default {
.deck-card-reference {
width: 100%;
// needed for the specific case of Text
.editor__content & {
width: calc(100% - 24px);
}
white-space: normal;
padding: 12px;
.link {
text-decoration: underline;
color: var(--color-main-text) !important;
padding: 0 !important;
}
.line {
@@ -201,13 +215,22 @@ export default {
.description-assignees {
width: 100%;
display: flex;
align-items: center;
align-items: start;
.icon {
align-self: start;
margin-top: 8px;
}
.description {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
margin-right: 8px;
padding-top: 6px;
max-height: 250px;
overflow: scroll;
&.short-description {
max-height: 25px;
overflow: hidden;
}
}
.card-assignees {

View File

@@ -61,13 +61,12 @@
<script>
import PlusIcon from 'vue-material-design-icons/Plus.vue'
import { NcDashboardWidget } from '@nextcloud/vue'
import { NcButton, NcDashboardWidget } from '@nextcloud/vue'
import { mapGetters } from 'vuex'
import labelStyle from './../mixins/labelStyle.js'
import DueDate from '../components/cards/badges/DueDate.vue'
import { generateUrl } from '@nextcloud/router'
import CardCreateDialog from '../CardCreateDialog.vue'
import NcButton from '@nextcloud/vue/dist/Components/NcButton.js'
export default {
name: 'Dashboard',

View File

@@ -427,6 +427,6 @@ class BoardServiceTest extends TestCase {
->method('delete')
->with($acl)
->willReturn($acl);
$this->assertTrue($this->service->deleteAcl(123));
$this->assertEquals($acl, $this->service->deleteAcl(123));
}
}

View File

@@ -164,10 +164,14 @@ class BoardControllerTest extends \Test\TestCase {
}
public function testDeleteAcl() {
$acl = $this->getMockBuilder(Acl::class)
->disableOriginalConstructor()
->getMock();
$this->boardService->expects($this->once())
->method('deleteAcl')
->with(1)
->willReturn(true);
$this->assertEquals(true, $this->controller->deleteAcl(1));
->willReturn($acl);
$this->assertEquals($acl, $this->controller->deleteAcl(1));
}
}