Compare commits

...

20 Commits

Author SHA1 Message Date
dependabot[bot]
e665a895b1 Chore(deps-dev): Update symfony/event-dispatcher requirement
Updates the requirements on [symfony/event-dispatcher](https://github.com/symfony/event-dispatcher) to permit the latest version.
- [Release notes](https://github.com/symfony/event-dispatcher/releases)
- [Changelog](https://github.com/symfony/event-dispatcher/blob/7.3/CHANGELOG.md)
- [Commits](https://github.com/symfony/event-dispatcher/compare/v5.4.0...v7.3.3)

---
updated-dependencies:
- dependency-name: symfony/event-dispatcher
  dependency-version: 7.3.3
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-30 02:05:45 +00:00
Nextcloud bot
a200afa168 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-30 00:29:22 +00:00
Nextcloud bot
3277de5cb4 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-29 00:29:34 +00:00
Nextcloud bot
34effdc00e fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-28 00:29:33 +00:00
Nextcloud bot
014372a21a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-27 00:29:28 +00:00
Nextcloud bot
7674a85f68 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-26 00:30:38 +00:00
github-actions[bot]
357c6c1c5a Merge pull request #7178 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2025-08-24 03:08:30 +00:00
nextcloud-command
23be704099 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-08-24 02:44:14 +00:00
Nextcloud bot
2571d48290 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-23 00:29:01 +00:00
Luka Trovic
c513b1d5b5 Merge pull request #7177 from nextcloud/clear-deleted-attachment-sharing-records
Clean attachment sharing records after permanent deleted
2025-08-22 20:47:38 +02:00
Luka Trovic
b80e0d9297 fix: clean attachment sharing records after permanent deleted
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2025-08-22 11:09:53 +02:00
Nextcloud bot
382c05ed8d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-22 00:28:52 +00:00
Nextcloud bot
1283b8d78a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-20 00:28:46 +00:00
Nextcloud bot
465f24f2f1 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-19 00:31:12 +00:00
github-actions[bot]
ba0d211720 Merge pull request #7171 from nextcloud/automated/noid/main-update-nextcloud-ocp
[main] Update nextcloud/ocp dependency
2025-08-17 03:49:14 +00:00
nextcloud-command
23f56be988 chore(dev-deps): Bump nextcloud/ocp package
Signed-off-by: GitHub <noreply@github.com>
2025-08-17 03:37:30 +00:00
Luka Trovic
87f2d65a96 Merge pull request #7162 from nextcloud/fix/6528-loosing-focus-when-editing-the-description-in-a-card
fix: do not change focus when card id stays the same
2025-08-14 20:52:50 +02:00
Nextcloud bot
c95b3b746d fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-14 00:29:47 +00:00
grnd-alt
da850b18ae fix: do not change focus when card id stays the same
Signed-off-by: grnd-alt <github@belakkaf.net>
2025-08-13 12:55:22 +02:00
Nextcloud bot
771cf93cf6 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-13 00:30:21 +00:00
17 changed files with 242 additions and 16 deletions

8
composer.lock generated
View File

@@ -380,12 +380,12 @@
"source": {
"type": "git",
"url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "c2c75ad8fdc54cbc6341764b5a2a8ecf860e6160"
"reference": "1baa9849e11228754ed6027612e4e140cb855185"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/c2c75ad8fdc54cbc6341764b5a2a8ecf860e6160",
"reference": "c2c75ad8fdc54cbc6341764b5a2a8ecf860e6160",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/1baa9849e11228754ed6027612e4e140cb855185",
"reference": "1baa9849e11228754ed6027612e4e140cb855185",
"shasum": ""
},
"require": {
@@ -421,7 +421,7 @@
"issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/master"
},
"time": "2025-08-10T01:01:23+00:00"
"time": "2025-08-22T00:50:40+00:00"
},
{
"name": "nikic/php-parser",

View File

@@ -1,6 +1,9 @@
OC.L10N.register(
"deck",
{
"The file was uploaded" : "Файл быў запампаваны.",
"The file was only partially uploaded" : "Файл быў запампаваны толькі часткова",
"No file was uploaded" : "Ніводзін файл не быў запампаваны",
"Missing a temporary folder" : "Адсутнічае часовая папка",
"Could not write file to disk" : "Не ўдалося запісаць файл на дыск",
"A PHP extension stopped the file upload" : "Пашырэнне PHP спыніла запампоўванне файла",
@@ -8,22 +11,39 @@ OC.L10N.register(
"Done" : "Гатова",
"File" : "Файл",
"Cancel" : "Скасаваць",
"File already exists" : "Файл ужо існуе",
"A file with the name {filename} already exists." : "Файл з назвай {filename} ужо існуе.",
"Do you want to overwrite it?" : "Хочаце перазапісаць яго?",
"Overwrite file" : "Перазапісаць файл",
"Keep existing file" : "Пакінуць існуючы файл",
"Active filters" : "Актыўныя фільтры",
"Apply filter" : "Ужыць фільтр",
"Open" : "Адкрыць",
"Clear filter" : "Ачысціць фільтр",
"Open details" : "Адкрыць падрабязнасці",
"Details" : "Падрабязнасці",
"Sharing" : "Абагульванне",
"Tags" : "Тэгі",
"Activity" : "Актыўнасць",
"Undo" : "Адрабіць",
"Transfer" : "Перадаць",
"(Group)" : "(Група)",
"Can edit" : "Можа рэдагаваць",
"Can share" : "Можа абагульваць",
"Owner" : "Уладальнік",
"Delete" : "Выдаліць",
"Edit" : "Рэдагаваць",
"Members" : "Удзельнікі",
"Show in Files" : "Паказаць у Файлах",
"Download" : "Спампаваць",
"Modified" : "Зменены",
"Comments" : "Каментарыі",
"Save" : "Захаваць",
"Created:" : "Створана:",
"Reply" : "Адказаць",
"Update" : "Абнавіць",
"Description" : "Апісанне",
"(group)" : "(група)",
"Open link" : "Адкрыць спасылку",
"seconds ago" : "с таму",
"Keyboard shortcuts" : "Спалучэнні клавіш",
@@ -31,8 +51,10 @@ OC.L10N.register(
"Action" : "Дзеянне",
"Search" : "Пошук",
"Shared with you" : "Абагулена з вамі",
"Cancel edit" : "Скасаваць рэдагаванне",
"An error occurred" : "Узнікла памылка",
"No notifications" : "Няма апавяшчэнняў",
"Export" : "Экспарт",
"Today" : "Сёння",
"Close" : "Закрыць",
"Share" : "Абагуліць"

View File

@@ -1,4 +1,7 @@
{ "translations": {
"The file was uploaded" : "Файл быў запампаваны.",
"The file was only partially uploaded" : "Файл быў запампаваны толькі часткова",
"No file was uploaded" : "Ніводзін файл не быў запампаваны",
"Missing a temporary folder" : "Адсутнічае часовая папка",
"Could not write file to disk" : "Не ўдалося запісаць файл на дыск",
"A PHP extension stopped the file upload" : "Пашырэнне PHP спыніла запампоўванне файла",
@@ -6,22 +9,39 @@
"Done" : "Гатова",
"File" : "Файл",
"Cancel" : "Скасаваць",
"File already exists" : "Файл ужо існуе",
"A file with the name {filename} already exists." : "Файл з назвай {filename} ужо існуе.",
"Do you want to overwrite it?" : "Хочаце перазапісаць яго?",
"Overwrite file" : "Перазапісаць файл",
"Keep existing file" : "Пакінуць існуючы файл",
"Active filters" : "Актыўныя фільтры",
"Apply filter" : "Ужыць фільтр",
"Open" : "Адкрыць",
"Clear filter" : "Ачысціць фільтр",
"Open details" : "Адкрыць падрабязнасці",
"Details" : "Падрабязнасці",
"Sharing" : "Абагульванне",
"Tags" : "Тэгі",
"Activity" : "Актыўнасць",
"Undo" : "Адрабіць",
"Transfer" : "Перадаць",
"(Group)" : "(Група)",
"Can edit" : "Можа рэдагаваць",
"Can share" : "Можа абагульваць",
"Owner" : "Уладальнік",
"Delete" : "Выдаліць",
"Edit" : "Рэдагаваць",
"Members" : "Удзельнікі",
"Show in Files" : "Паказаць у Файлах",
"Download" : "Спампаваць",
"Modified" : "Зменены",
"Comments" : "Каментарыі",
"Save" : "Захаваць",
"Created:" : "Створана:",
"Reply" : "Адказаць",
"Update" : "Абнавіць",
"Description" : "Апісанне",
"(group)" : "(група)",
"Open link" : "Адкрыць спасылку",
"seconds ago" : "с таму",
"Keyboard shortcuts" : "Спалучэнні клавіш",
@@ -29,8 +49,10 @@
"Action" : "Дзеянне",
"Search" : "Пошук",
"Shared with you" : "Абагулена з вамі",
"Cancel edit" : "Скасаваць рэдагаванне",
"An error occurred" : "Узнікла памылка",
"No notifications" : "Няма апавяшчэнняў",
"Export" : "Экспарт",
"Today" : "Сёння",
"Close" : "Закрыць",
"Share" : "Абагуліць"

View File

@@ -124,6 +124,7 @@ OC.L10N.register(
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ez a megjegyzés több mint %s karakter hosszú.\nMellékletként lett hozzáadva a(z) %s nevű kártyához.\nEzen az URL-en érhető el: %s.",
"Attachments" : "Mellékletek",
"File" : "Fájl",
"date" : "dátum",
"Card not found" : "A kártya nem található",
"Path is already shared with this card" : "Az útvonal már meg van osztva ezzel a kártyával",
"Invalid date, date format must be YYYY-MM-DD" : "Érvénytelen dátum, a dátumnak YYYY-MM-DD formátumúnak kell lennie",
@@ -239,6 +240,7 @@ OC.L10N.register(
"Modified" : "Módosítva",
"Created" : "Létrehozva",
"The title cannot be empty." : "A cím nem lehet üres.",
"Cannot close unsaved card!" : "A mentetlen kártya nem zárható be!",
"Open in sidebar view" : "Oldalsáv nézet megnyitása",
"Open in bigger view" : "Megtekintés nagyobb nézetben",
"Comments" : "Hozzászólások",
@@ -253,6 +255,7 @@ OC.L10N.register(
"Reply" : "Válasz",
"Update" : "Frissítés",
"Write a description …" : "Leírás megadása…",
"Could not save description" : "A leírás mentése sikertelen",
"Description" : "Leírás",
"(Unsaved)" : "(Nem mentett)",
"(Saving…)" : "(Mentés…)",

View File

@@ -122,6 +122,7 @@
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ez a megjegyzés több mint %s karakter hosszú.\nMellékletként lett hozzáadva a(z) %s nevű kártyához.\nEzen az URL-en érhető el: %s.",
"Attachments" : "Mellékletek",
"File" : "Fájl",
"date" : "dátum",
"Card not found" : "A kártya nem található",
"Path is already shared with this card" : "Az útvonal már meg van osztva ezzel a kártyával",
"Invalid date, date format must be YYYY-MM-DD" : "Érvénytelen dátum, a dátumnak YYYY-MM-DD formátumúnak kell lennie",
@@ -237,6 +238,7 @@
"Modified" : "Módosítva",
"Created" : "Létrehozva",
"The title cannot be empty." : "A cím nem lehet üres.",
"Cannot close unsaved card!" : "A mentetlen kártya nem zárható be!",
"Open in sidebar view" : "Oldalsáv nézet megnyitása",
"Open in bigger view" : "Megtekintés nagyobb nézetben",
"Comments" : "Hozzászólások",
@@ -251,6 +253,7 @@
"Reply" : "Válasz",
"Update" : "Frissítés",
"Write a description …" : "Leírás megadása…",
"Could not save description" : "A leírás mentése sikertelen",
"Description" : "Leírás",
"(Unsaved)" : "(Nem mentett)",
"(Saving…)" : "(Mentés…)",

View File

@@ -63,7 +63,7 @@ OC.L10N.register(
"Reply" : "Atbildēt",
"Update" : "Atjaunināt",
"Description" : "Apraksts",
"Select Date" : "Izvēlieties datumu",
"Select Date" : "Atlasīt datumu",
"Later today {timeLocale}" : "Vēlāk šodien {timeLocale}",
"Set due date for later today" : "Iestatīt beigu datumu vēlāk šodienā",
"(group)" : "(grupa)",

View File

@@ -61,7 +61,7 @@
"Reply" : "Atbildēt",
"Update" : "Atjaunināt",
"Description" : "Apraksts",
"Select Date" : "Izvēlieties datumu",
"Select Date" : "Atlasīt datumu",
"Later today {timeLocale}" : "Vēlāk šodien {timeLocale}",
"Set due date for later today" : "Iestatīt beigu datumu vēlāk šodienā",
"(group)" : "(grupa)",

View File

@@ -81,10 +81,14 @@ OC.L10N.register(
"Could not write file to disk" : "Nie można zapisać pliku na dysk",
"A PHP extension stopped the file upload" : "Rozszerzenie PHP zatrzymało wysyłanie pliku",
"No file uploaded or file size exceeds maximum of %s" : "Brak wysłanego pliku lub rozmiar pliku przekracza maksymalny limit %s",
"Invalid file type. Only JSON files are allowed." : "Nieprawidłowy typ pliku. Dozwolone są tylko pliki JSON.",
"Invalid JSON data" : "Nieprawidłowe dane JSON",
"Failed to import board" : "Nie udało się zaimportować tablicy",
"Cards due today" : "Karty na dzisiaj",
"Cards due tomorrow" : "Karty na jutro",
"Upcoming cards" : "Nadchodzące karty",
"Load more" : "Wczytaj więcej",
"Welcome to Nextcloud Deck!" : "Witamy w Nextcloud Deck!",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Karta \"%s\" na \"%s\" została przydzielona Tobie przez %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} przydzielił Tobie kartę {deck-card} na {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "Karta \"%s\" na \"%s\" wygasła.",
@@ -107,12 +111,20 @@ OC.L10N.register(
"Action needed" : "Wymagana akcja",
"Later" : "Później",
"copy" : "kopiuj",
"Read more inside" : "Czytaj więcej w środku",
"Custom lists - click to rename!" : "Listy niestandardowe kliknij, aby zmienić nazwę!",
"To Do" : "Do zrobienia",
"In Progress" : "W trakcie",
"Done" : "Zrobione",
"1. Open to learn more about boards and cards" : "1. Otwórz, aby dowiedzieć się więcej o tablicach i kartach",
"2. Drag cards left and right, up and down" : "2. Przeciągaj karty w lewo, prawo, w górę i w dół",
"3. Apply rich formatting and link content" : "3. Zastosuj formatowanie i dodaj linki",
"4. Share, comment and collaborate!" : "4. Udostępniaj, komentuj i współpracuj!",
"Create your first card!" : "Utwórz swoją pierwszą kartę!",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ten komentarz ma więcej niż %s znaków.\nDodany jako załącznik do karty o nazwie %s.\nDostępne pod adresem URL: %s.",
"Attachments" : "Załączniki",
"File" : "Plik",
"date" : "data",
"Card not found" : "Nie znaleziono karty",
"Path is already shared with this card" : "Ścieżka jest już udostępniona dla tej karty",
"Invalid date, date format must be YYYY-MM-DD" : "Nieprawidłowa data, format daty to RRRR-MM-DD",
@@ -123,10 +135,12 @@ OC.L10N.register(
"Select the board to link to a project" : "Wybierz tablicę, aby połączyć się z projektem",
"Search by board title" : "Szukaj według tytułu tablicy",
"Select board" : "Wybierz tablicę",
"Move/copy card" : "Przenieś/skopiuj kartę",
"Select a board" : "Wybierz tablicę",
"No lists available" : "Brak dostępnych list",
"Select a list" : "Wybierz listę",
"Move card" : "Przenieś kartę",
"Copy card" : "Skopiuj kartę",
"Select the card to link to a project" : "Wybierz kartę, aby połączyć z projektem",
"Link to card" : "Link do karty",
"Select a card" : "Wybierz kartę",
@@ -147,6 +161,8 @@ OC.L10N.register(
"Filter by tag" : "Filtruj według etykiety",
"Filter by assigned user" : "Filtruj według przydzielonego użytkownika",
"Unassigned" : "Nieprzydzielone",
"Filter by status" : "Filtruj według statusu",
"Open and completed" : "Otwarte i zakończone",
"Open" : "Otwórz",
"Completed" : "Zakończone",
"Filter by due date" : "Filtruj według terminu",
@@ -182,9 +198,12 @@ OC.L10N.register(
"Transfer" : "Przenieś",
"The board has been transferred to {user}" : "Tablica została przeniesiona do {user}",
"Failed to transfer the board to {user}" : "Nie udało się przenieść tablicy do {user}",
"Share board with a user, group or team …" : "Udostępnij tablicę użytkownikowi, grupie lub zespołowi…",
"Searching for users, groups and teams …" : "Wyszukiwanie użytkowników, grup i zespołów…",
"No participants found" : "Nie znaleziono uczestników",
"Board owner" : "Właściciel tablicy",
"(Group)" : "(Grupa)",
"(Team)" : "(Zespół)",
"Can edit" : "Może edytować",
"Can share" : "Może udostępnić",
"Can manage" : "Może zarządzać",
@@ -204,7 +223,9 @@ OC.L10N.register(
"Add a new tag" : "Dodaj nową etykietę",
"Board name" : "Nazwa tablicy",
"Members" : "Członkowie",
"Assign to users/groups/team" : "Przypisz do użytkowników/grup/zespołu",
"Assign a user to this card…" : "Przypisz użytkownika do tej karty…",
"Select a user to assign to this card…" : "Wybierz użytkownika, aby przypisać do tej karty…",
"File to share" : "Plik do udostępnienia",
"Invalid path selected" : "Wybrano nieprawidłową ścieżkę",
"Upload new files" : "Wyślij nowe pliki",
@@ -219,6 +240,7 @@ OC.L10N.register(
"Modified" : "Zmodyfikowany",
"Created" : "Utworzono",
"The title cannot be empty." : "Tytuł nie może być pusty.",
"Cannot close unsaved card!" : "Nie można zamknąć niezapisanej karty!",
"Open in sidebar view" : "Otwórz w widoku paska bocznego",
"Open in bigger view" : "Otwórz w dużym widoku",
"Comments" : "Komentarze",
@@ -233,6 +255,7 @@ OC.L10N.register(
"Reply" : "Odpowiedz",
"Update" : "Aktualizuj",
"Write a description …" : "Napisz opis…",
"Could not save description" : "Nie udało się zapisać opisu",
"Description" : "Opis",
"(Unsaved)" : "(Niezapisane)",
"(Saving…)" : "(Zapisywanie…)",
@@ -261,6 +284,7 @@ OC.L10N.register(
"Unarchive card" : "Nie archiwizuj karty",
"Archive card" : "Zarchiwizuj kartę",
"Assign a tag to this card…" : "Przypisz etykietę do tej karty…",
"Select or create a tag…" : "Wybierz lub utwórz tag…",
"Create a new tag:" : "Utwórz nową etykietę:",
"(group)" : "(grupa)",
"{count} comments, {unread} unread" : "Komentarze: {count}, nieprzeczytane: {unread}",
@@ -275,12 +299,31 @@ OC.L10N.register(
"Delete card" : "Usuń kartę",
"seconds ago" : "przed chwilą",
"Keyboard shortcuts" : "Skróty klawiaturowe",
"Boost your productivity using Deck with keyboard shortcuts." : "Zwiększ swoją produktywność, korzystając z Deck i skrótów klawiaturowych.",
"Board actions" : "Akcje tablicy",
"Keyboard shortcut" : "Skrót klawiaturowy",
"Action" : "Akcja",
"Shift" : "Shift",
"Scroll" : "Przewijanie",
"Scroll sideways" : "Przewijanie w bok",
"Navigate between cards" : "Nawigacja między kartami",
"Esc" : "Esc",
"Close card details" : "Zamknij szczegóły karty",
"Ctrl" : "Ctrl",
"Search" : "Szukaj",
"Show card filters" : "Pokaż filtry kart",
"Clear card filters" : "Wyczyść filtry kart",
"Show help dialog" : "Pokaż okno pomocy",
"Card actions" : "Akcje karty",
"The following actions can be triggered on the currently highlighted card" : "Poniższe akcje mogą być wykonane na aktualnie podświetlonej karcie",
"Enter" : "Wpisz",
"Space" : "Spacja",
"Open card details" : "Otwórz szczegóły karty",
"Edit the card title" : "Edytuj tytuł karty",
"Assign yourself to the current card" : "Przypisz siebie do tej karty",
"Archive/unarchive the current card" : "Archiwizuj/odarchiwizuj tę kartę",
"Mark card as completed/not completed" : "Oznacz kartę jako ukończoną/nieukończoną",
"Open card menu" : "Otwórz menu karty",
"All boards" : "Wszystkie tablice",
"Archived boards" : "Zarchiwizowane tablice",
"Shared with you" : "Udostępnione Tobie",
@@ -291,6 +334,7 @@ OC.L10N.register(
"Limit board creation to some groups" : "Ogranicz tworzenie tablic dla niektórych grup",
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Użytkownicy spoza tych grup nie będą mogli tworzyć własnych tablic, ale nadal będą mogli pracować na tablicach, które zostały im udostępnione.",
"Cancel edit" : "Anuluj edycję",
"Save board" : "Zapisz tablicę",
"Board {0} deleted" : "Tablica {0} została usunięta",
"All cards" : "Wszystkie karty",
"Only assigned cards" : "Tylko przydzielone karty",
@@ -298,6 +342,7 @@ OC.L10N.register(
"An error occurred" : "Wystąpił błąd",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Czy na pewno chcesz usunąć tablicę {title}? Spowoduje to usunięcie wszystkich danych z tej tablicy łącznie z zarchiwizowanymi kartami.",
"Delete the board?" : "Usunąć tablicę?",
"Exporting board..." : "Eksportowanie tablicy…",
"Board details" : "Szczegóły tablicy",
"Edit board" : "Edytuj tablicę",
"Clone board" : "Klonuj tablicę",
@@ -310,10 +355,22 @@ OC.L10N.register(
"Assigned cards" : "Przydzielone karty",
"No notifications" : "Brak powiadomień",
"Delete board" : "Usuń tablicę",
"Importing board..." : "Importowanie tablicy…",
"Board imported successfully" : "Tablica została pomyślnie zaimportowana",
"Import board" : "Importuj tablicę",
"Clone {boardTitle}" : "Klonuj {boardTitle}",
"Clone cards" : "Klonuj karty",
"Clone assignments" : "Klonuj przypisania",
"Clone labels" : "Klonuj etykiety",
"Clone due dates" : "Klonuj terminy",
"Advanced options" : "Opcje zaawansowane",
"Move all cards to the first list" : "Przenieś wszystkie karty na pierwszą listę",
"Restore archived cards" : "Przywróć zarchiwizowane karty",
"Clone" : "Klonuj",
"Export {boardTitle}" : "Eksportuj {boardTitle}",
"Export as JSON" : "Eksportuj jako JSON",
"Export as CSV" : "Eksportuj jako CSV",
"Note: Only the JSON format is supported for importing back into the Deck app." : "Uwaga: tylko format JSON jest obsługiwany przy imporcie z powrotem do aplikacji Deck.",
"Export" : "Eksportuj",
"Loading filtered view" : "Wczytywanie przefiltrowanego widoku",
"Today" : "Dzisiaj",
@@ -347,6 +404,7 @@ OC.L10N.register(
"Something went wrong" : "Coś poszło nie tak",
"Failed to upload {name}" : "Nie udało się wysłać {name}",
"Maximum file size of {size} exceeded" : "Przekroczono maksymalny rozmiar pliku {size}",
"Assigned users" : "Przypisani użytkownicy",
"Due date" : "Data realizacji",
"Error creating the share" : "Błąd podczas tworzenia udostępnienia",
"Share with a Deck card" : "Udostępnij za pomocą karty Tablicy",

View File

@@ -79,10 +79,14 @@
"Could not write file to disk" : "Nie można zapisać pliku na dysk",
"A PHP extension stopped the file upload" : "Rozszerzenie PHP zatrzymało wysyłanie pliku",
"No file uploaded or file size exceeds maximum of %s" : "Brak wysłanego pliku lub rozmiar pliku przekracza maksymalny limit %s",
"Invalid file type. Only JSON files are allowed." : "Nieprawidłowy typ pliku. Dozwolone są tylko pliki JSON.",
"Invalid JSON data" : "Nieprawidłowe dane JSON",
"Failed to import board" : "Nie udało się zaimportować tablicy",
"Cards due today" : "Karty na dzisiaj",
"Cards due tomorrow" : "Karty na jutro",
"Upcoming cards" : "Nadchodzące karty",
"Load more" : "Wczytaj więcej",
"Welcome to Nextcloud Deck!" : "Witamy w Nextcloud Deck!",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Karta \"%s\" na \"%s\" została przydzielona Tobie przez %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} przydzielił Tobie kartę {deck-card} na {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "Karta \"%s\" na \"%s\" wygasła.",
@@ -105,12 +109,20 @@
"Action needed" : "Wymagana akcja",
"Later" : "Później",
"copy" : "kopiuj",
"Read more inside" : "Czytaj więcej w środku",
"Custom lists - click to rename!" : "Listy niestandardowe kliknij, aby zmienić nazwę!",
"To Do" : "Do zrobienia",
"In Progress" : "W trakcie",
"Done" : "Zrobione",
"1. Open to learn more about boards and cards" : "1. Otwórz, aby dowiedzieć się więcej o tablicach i kartach",
"2. Drag cards left and right, up and down" : "2. Przeciągaj karty w lewo, prawo, w górę i w dół",
"3. Apply rich formatting and link content" : "3. Zastosuj formatowanie i dodaj linki",
"4. Share, comment and collaborate!" : "4. Udostępniaj, komentuj i współpracuj!",
"Create your first card!" : "Utwórz swoją pierwszą kartę!",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Ten komentarz ma więcej niż %s znaków.\nDodany jako załącznik do karty o nazwie %s.\nDostępne pod adresem URL: %s.",
"Attachments" : "Załączniki",
"File" : "Plik",
"date" : "data",
"Card not found" : "Nie znaleziono karty",
"Path is already shared with this card" : "Ścieżka jest już udostępniona dla tej karty",
"Invalid date, date format must be YYYY-MM-DD" : "Nieprawidłowa data, format daty to RRRR-MM-DD",
@@ -121,10 +133,12 @@
"Select the board to link to a project" : "Wybierz tablicę, aby połączyć się z projektem",
"Search by board title" : "Szukaj według tytułu tablicy",
"Select board" : "Wybierz tablicę",
"Move/copy card" : "Przenieś/skopiuj kartę",
"Select a board" : "Wybierz tablicę",
"No lists available" : "Brak dostępnych list",
"Select a list" : "Wybierz listę",
"Move card" : "Przenieś kartę",
"Copy card" : "Skopiuj kartę",
"Select the card to link to a project" : "Wybierz kartę, aby połączyć z projektem",
"Link to card" : "Link do karty",
"Select a card" : "Wybierz kartę",
@@ -145,6 +159,8 @@
"Filter by tag" : "Filtruj według etykiety",
"Filter by assigned user" : "Filtruj według przydzielonego użytkownika",
"Unassigned" : "Nieprzydzielone",
"Filter by status" : "Filtruj według statusu",
"Open and completed" : "Otwarte i zakończone",
"Open" : "Otwórz",
"Completed" : "Zakończone",
"Filter by due date" : "Filtruj według terminu",
@@ -180,9 +196,12 @@
"Transfer" : "Przenieś",
"The board has been transferred to {user}" : "Tablica została przeniesiona do {user}",
"Failed to transfer the board to {user}" : "Nie udało się przenieść tablicy do {user}",
"Share board with a user, group or team …" : "Udostępnij tablicę użytkownikowi, grupie lub zespołowi…",
"Searching for users, groups and teams …" : "Wyszukiwanie użytkowników, grup i zespołów…",
"No participants found" : "Nie znaleziono uczestników",
"Board owner" : "Właściciel tablicy",
"(Group)" : "(Grupa)",
"(Team)" : "(Zespół)",
"Can edit" : "Może edytować",
"Can share" : "Może udostępnić",
"Can manage" : "Może zarządzać",
@@ -202,7 +221,9 @@
"Add a new tag" : "Dodaj nową etykietę",
"Board name" : "Nazwa tablicy",
"Members" : "Członkowie",
"Assign to users/groups/team" : "Przypisz do użytkowników/grup/zespołu",
"Assign a user to this card…" : "Przypisz użytkownika do tej karty…",
"Select a user to assign to this card…" : "Wybierz użytkownika, aby przypisać do tej karty…",
"File to share" : "Plik do udostępnienia",
"Invalid path selected" : "Wybrano nieprawidłową ścieżkę",
"Upload new files" : "Wyślij nowe pliki",
@@ -217,6 +238,7 @@
"Modified" : "Zmodyfikowany",
"Created" : "Utworzono",
"The title cannot be empty." : "Tytuł nie może być pusty.",
"Cannot close unsaved card!" : "Nie można zamknąć niezapisanej karty!",
"Open in sidebar view" : "Otwórz w widoku paska bocznego",
"Open in bigger view" : "Otwórz w dużym widoku",
"Comments" : "Komentarze",
@@ -231,6 +253,7 @@
"Reply" : "Odpowiedz",
"Update" : "Aktualizuj",
"Write a description …" : "Napisz opis…",
"Could not save description" : "Nie udało się zapisać opisu",
"Description" : "Opis",
"(Unsaved)" : "(Niezapisane)",
"(Saving…)" : "(Zapisywanie…)",
@@ -259,6 +282,7 @@
"Unarchive card" : "Nie archiwizuj karty",
"Archive card" : "Zarchiwizuj kartę",
"Assign a tag to this card…" : "Przypisz etykietę do tej karty…",
"Select or create a tag…" : "Wybierz lub utwórz tag…",
"Create a new tag:" : "Utwórz nową etykietę:",
"(group)" : "(grupa)",
"{count} comments, {unread} unread" : "Komentarze: {count}, nieprzeczytane: {unread}",
@@ -273,12 +297,31 @@
"Delete card" : "Usuń kartę",
"seconds ago" : "przed chwilą",
"Keyboard shortcuts" : "Skróty klawiaturowe",
"Boost your productivity using Deck with keyboard shortcuts." : "Zwiększ swoją produktywność, korzystając z Deck i skrótów klawiaturowych.",
"Board actions" : "Akcje tablicy",
"Keyboard shortcut" : "Skrót klawiaturowy",
"Action" : "Akcja",
"Shift" : "Shift",
"Scroll" : "Przewijanie",
"Scroll sideways" : "Przewijanie w bok",
"Navigate between cards" : "Nawigacja między kartami",
"Esc" : "Esc",
"Close card details" : "Zamknij szczegóły karty",
"Ctrl" : "Ctrl",
"Search" : "Szukaj",
"Show card filters" : "Pokaż filtry kart",
"Clear card filters" : "Wyczyść filtry kart",
"Show help dialog" : "Pokaż okno pomocy",
"Card actions" : "Akcje karty",
"The following actions can be triggered on the currently highlighted card" : "Poniższe akcje mogą być wykonane na aktualnie podświetlonej karcie",
"Enter" : "Wpisz",
"Space" : "Spacja",
"Open card details" : "Otwórz szczegóły karty",
"Edit the card title" : "Edytuj tytuł karty",
"Assign yourself to the current card" : "Przypisz siebie do tej karty",
"Archive/unarchive the current card" : "Archiwizuj/odarchiwizuj tę kartę",
"Mark card as completed/not completed" : "Oznacz kartę jako ukończoną/nieukończoną",
"Open card menu" : "Otwórz menu karty",
"All boards" : "Wszystkie tablice",
"Archived boards" : "Zarchiwizowane tablice",
"Shared with you" : "Udostępnione Tobie",
@@ -289,6 +332,7 @@
"Limit board creation to some groups" : "Ogranicz tworzenie tablic dla niektórych grup",
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "Użytkownicy spoza tych grup nie będą mogli tworzyć własnych tablic, ale nadal będą mogli pracować na tablicach, które zostały im udostępnione.",
"Cancel edit" : "Anuluj edycję",
"Save board" : "Zapisz tablicę",
"Board {0} deleted" : "Tablica {0} została usunięta",
"All cards" : "Wszystkie karty",
"Only assigned cards" : "Tylko przydzielone karty",
@@ -296,6 +340,7 @@
"An error occurred" : "Wystąpił błąd",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Czy na pewno chcesz usunąć tablicę {title}? Spowoduje to usunięcie wszystkich danych z tej tablicy łącznie z zarchiwizowanymi kartami.",
"Delete the board?" : "Usunąć tablicę?",
"Exporting board..." : "Eksportowanie tablicy…",
"Board details" : "Szczegóły tablicy",
"Edit board" : "Edytuj tablicę",
"Clone board" : "Klonuj tablicę",
@@ -308,10 +353,22 @@
"Assigned cards" : "Przydzielone karty",
"No notifications" : "Brak powiadomień",
"Delete board" : "Usuń tablicę",
"Importing board..." : "Importowanie tablicy…",
"Board imported successfully" : "Tablica została pomyślnie zaimportowana",
"Import board" : "Importuj tablicę",
"Clone {boardTitle}" : "Klonuj {boardTitle}",
"Clone cards" : "Klonuj karty",
"Clone assignments" : "Klonuj przypisania",
"Clone labels" : "Klonuj etykiety",
"Clone due dates" : "Klonuj terminy",
"Advanced options" : "Opcje zaawansowane",
"Move all cards to the first list" : "Przenieś wszystkie karty na pierwszą listę",
"Restore archived cards" : "Przywróć zarchiwizowane karty",
"Clone" : "Klonuj",
"Export {boardTitle}" : "Eksportuj {boardTitle}",
"Export as JSON" : "Eksportuj jako JSON",
"Export as CSV" : "Eksportuj jako CSV",
"Note: Only the JSON format is supported for importing back into the Deck app." : "Uwaga: tylko format JSON jest obsługiwany przy imporcie z powrotem do aplikacji Deck.",
"Export" : "Eksportuj",
"Loading filtered view" : "Wczytywanie przefiltrowanego widoku",
"Today" : "Dzisiaj",
@@ -345,6 +402,7 @@
"Something went wrong" : "Coś poszło nie tak",
"Failed to upload {name}" : "Nie udało się wysłać {name}",
"Maximum file size of {size} exceeded" : "Przekroczono maksymalny rozmiar pliku {size}",
"Assigned users" : "Przypisani użytkownicy",
"Due date" : "Data realizacji",
"Error creating the share" : "Błąd podczas tworzenia udostępnienia",
"Share with a Deck card" : "Udostępnij za pomocą karty Tablicy",

View File

@@ -88,7 +88,7 @@ OC.L10N.register(
"Cards due tomorrow" : "Картки на завтра",
"Upcoming cards" : "Очікують на виконання",
"Load more" : "Більше",
"Welcome to Nextcloud Deck!" : "Ласкаво просимо до колоди Nextcloud!",
"Welcome to Nextcloud Deck!" : "Ласкаво просимо до Колоди для Nextcloud!",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Картка \"%s\" на \"%s\" була призначена вам %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} призначив вам карту {deck-card} на {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "Термін дії картки \"%s\" на \"%s\" закінчився.",
@@ -97,7 +97,7 @@ OC.L10N.register(
"{user} has mentioned you in a comment on {deck-card}." : "{user} згадав вас у коментарі до {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Дошку \"%s\" з вами поділився %s.",
"{user} has shared {deck-board} with you." : "{user} поділився з вами {deck-board}.",
"Deck board" : "Дошка Deck",
"Deck board" : "Дошка колоди",
"Owned by %1$s" : "Належить %1$s",
"Deck boards, cards and comments" : "Дошки колод, карти та коментарі",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "З %1$s, в %2$s/%3$s, у власності %4$s",
@@ -327,7 +327,7 @@ OC.L10N.register(
"All boards" : "Усі дошки",
"Archived boards" : "Архівні дошки",
"Shared with you" : "Вам надано доступ",
"Deck settings" : "Налаштування колоди",
"Deck settings" : "Налаштування",
"Use bigger card view" : "Режим перегляду зі збільшеними картками",
"Show card ID badge" : "Покажіть бейдж з ідентифікаційною карткою",
"Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях",

View File

@@ -86,7 +86,7 @@
"Cards due tomorrow" : "Картки на завтра",
"Upcoming cards" : "Очікують на виконання",
"Load more" : "Більше",
"Welcome to Nextcloud Deck!" : "Ласкаво просимо до колоди Nextcloud!",
"Welcome to Nextcloud Deck!" : "Ласкаво просимо до Колоди для Nextcloud!",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Картка \"%s\" на \"%s\" була призначена вам %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} призначив вам карту {deck-card} на {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "Термін дії картки \"%s\" на \"%s\" закінчився.",
@@ -95,7 +95,7 @@
"{user} has mentioned you in a comment on {deck-card}." : "{user} згадав вас у коментарі до {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Дошку \"%s\" з вами поділився %s.",
"{user} has shared {deck-board} with you." : "{user} поділився з вами {deck-board}.",
"Deck board" : "Дошка Deck",
"Deck board" : "Дошка колоди",
"Owned by %1$s" : "Належить %1$s",
"Deck boards, cards and comments" : "Дошки колод, карти та коментарі",
"From %1$s, in %2$s/%3$s, owned by %4$s" : "З %1$s, в %2$s/%3$s, у власності %4$s",
@@ -325,7 +325,7 @@
"All boards" : "Усі дошки",
"Archived boards" : "Архівні дошки",
"Shared with you" : "Вам надано доступ",
"Deck settings" : "Налаштування колоди",
"Deck settings" : "Налаштування",
"Use bigger card view" : "Режим перегляду зі збільшеними картками",
"Show card ID badge" : "Покажіть бейдж з ідентифікаційною карткою",
"Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях",

View File

@@ -14,6 +14,7 @@ use OCA\Deck\Db\CardMapper;
use OCA\Deck\Db\StackMapper;
use OCA\Deck\InvalidAttachmentType;
use OCA\Deck\Service\AttachmentService;
use OCA\Deck\Sharing\DeckShareProvider;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJob;
use OCP\BackgroundJob\TimedJob;
@@ -30,14 +31,25 @@ class DeleteCron extends TimedJob {
private $attachmentMapper;
/** @var StackMapper */
private $stackMapper;
/** @var DeckShareProvider */
private $deckShareProvider;
public function __construct(ITimeFactory $time, BoardMapper $boardMapper, CardMapper $cardMapper, AttachmentService $attachmentService, AttachmentMapper $attachmentMapper, StackMapper $stackMapper) {
public function __construct(
ITimeFactory $time,
BoardMapper $boardMapper,
CardMapper $cardMapper,
AttachmentService $attachmentService,
AttachmentMapper $attachmentMapper,
StackMapper $stackMapper,
DeckShareProvider $deckShareProvider,
) {
parent::__construct($time);
$this->boardMapper = $boardMapper;
$this->cardMapper = $cardMapper;
$this->attachmentService = $attachmentService;
$this->attachmentMapper = $attachmentMapper;
$this->stackMapper = $stackMapper;
$this->deckShareProvider = $deckShareProvider;
$this->setInterval(60 * 60 * 24);
$this->setTimeSensitivity(IJob::TIME_INSENSITIVE);
@@ -70,6 +82,12 @@ class DeleteCron extends TimedJob {
$this->attachmentMapper->delete($attachment);
}
// Delete orphaned attachment shares
$shares = $this->deckShareProvider->getOrphanedAttachmentShares();
foreach ($shares as $share) {
$this->deckShareProvider->delete($share);
}
$stacks = $this->stackMapper->findToDelete();
foreach ($stacks as $stack) {
$this->stackMapper->delete($stack);

View File

@@ -645,4 +645,16 @@ class CardMapper extends QBMapper implements IPermissionMapper {
$result->closeCursor();
}
public function getAllCardIds(): array {
$qb = $this->db->getQueryBuilder();
$qb->select('id')
->from('deck_cards');
$result = $qb->executeQuery();
$ids = [];
while ($row = $result->fetch()) {
$ids[] = (int)$row['id'];
}
return $ids;
}
}

View File

@@ -1046,4 +1046,21 @@ class DeckShareProvider implements \OCP\Share\IShareProvider {
}
$cursor->closeCursor();
}
public function getOrphanedAttachmentShares(): array {
$allCardIds = $this->cardMapper->getAllCardIds();
$qb = $this->dbConnection->getQueryBuilder();
$qb->select('*')
->from('share', 's')
->where($qb->expr()->eq('s.share_type', $qb->createNamedParameter(IShare::TYPE_DECK)))
->andWhere($qb->expr()->notIn('s.share_with', $qb->createNamedParameter($allCardIds, IQueryBuilder::PARAM_STR_ARRAY)));
$cursor = $qb->execute();
$shares = [];
while ($data = $cursor->fetch()) {
$shares[] = $this->createShareObject($data);
}
return $shares;
}
}

View File

@@ -178,7 +178,8 @@ export default {
},
},
watch: {
currentCard() {
currentCard(newCard, oldCard) {
if (newCard.id === oldCard.id) return
this.focusHeader()
},
'currentCard.title': {

View File

@@ -5,7 +5,7 @@
"guzzlehttp/guzzle": "7.9.2",
"jarnaiz/behat-junit-formatter": "^1.3",
"sabre/dav": "4.7.0",
"symfony/event-dispatcher": "~5.4"
"symfony/event-dispatcher": "~7.3"
},
"autoload": {
"psr-0": {

View File

@@ -35,6 +35,7 @@ use OCA\Deck\Db\StackMapper;
use OCA\Deck\InvalidAttachmentType;
use OCA\Deck\Service\AttachmentService;
use OCA\Deck\Service\IAttachmentService;
use OCA\Deck\Sharing\DeckShareProvider;
use OCP\AppFramework\Utility\ITimeFactory;
use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
@@ -53,6 +54,8 @@ class DeleteCronTest extends TestCase {
private $attachmentMapper;
/** @var StackMapper|MockObject */
private $stackMapper;
/** @var DeckShareProvider */
private $deckShareProvider;
/** @var DeleteCron */
protected $deleteCron;
@@ -64,7 +67,16 @@ class DeleteCronTest extends TestCase {
$this->attachmentService = $this->createMock(AttachmentService::class);
$this->attachmentMapper = $this->createMock(AttachmentMapper::class);
$this->stackMapper = $this->createMock(StackMapper::class);
$this->deleteCron = new DeleteCron($this->timeFactory, $this->boardMapper, $this->cardMapper, $this->attachmentService, $this->attachmentMapper, $this->stackMapper);
$this->deckShareProvider = $this->createMock(DeckShareProvider::class);
$this->deleteCron = new DeleteCron(
$this->timeFactory,
$this->boardMapper,
$this->cardMapper,
$this->attachmentService,
$this->attachmentMapper,
$this->stackMapper,
$this->deckShareProvider,
);
}
protected function getBoard($id) {