diff --git a/src/backend/core/tests/items/test_api_items_convert.py b/src/backend/core/tests/items/test_api_items_convert.py index 6f3122aa..f327126f 100644 --- a/src/backend/core/tests/items/test_api_items_convert.py +++ b/src/backend/core/tests/items/test_api_items_convert.py @@ -58,7 +58,7 @@ def test_convert_endpoint_creates_placeholder_and_queues_task(): body = response.json() placeholder = models.Item.objects.get(id=body["id"]) assert placeholder.upload_state == models.ItemUploadStateChoices.CONVERTING - assert placeholder.filename == "document.docx" + assert placeholder.filename == "document (converted).docx" assert placeholder.parent().id == item.parent().id delay_mock.assert_called_once_with( source_item_id=str(item.id), diff --git a/src/backend/locale/de_DE/LC_MESSAGES/django.po b/src/backend/locale/de_DE/LC_MESSAGES/django.po index 75a33a7d..779c7929 100644 --- a/src/backend/locale/de_DE/LC_MESSAGES/django.po +++ b/src/backend/locale/de_DE/LC_MESSAGES/django.po @@ -445,6 +445,10 @@ msgstr "Deutsch" #~ msgid "Templates" #~ msgstr "Vorlagen" +#: wopi/conversion/services.py:86 +msgid "converted" +msgstr "konvertiert" + #~ msgid "Template/user relation" #~ msgstr "Vorlage/Benutzer-Beziehung" diff --git a/src/backend/locale/en_US/LC_MESSAGES/django.po b/src/backend/locale/en_US/LC_MESSAGES/django.po index ce067c26..3ee7ef0b 100644 --- a/src/backend/locale/en_US/LC_MESSAGES/django.po +++ b/src/backend/locale/en_US/LC_MESSAGES/django.po @@ -360,3 +360,7 @@ msgstr "" #: drive/settings.py:252 msgid "German" msgstr "" + +#: wopi/conversion/services.py:86 +msgid "converted" +msgstr "" diff --git a/src/backend/locale/fr_FR/LC_MESSAGES/django.po b/src/backend/locale/fr_FR/LC_MESSAGES/django.po index df24e8c3..4bb67184 100644 --- a/src/backend/locale/fr_FR/LC_MESSAGES/django.po +++ b/src/backend/locale/fr_FR/LC_MESSAGES/django.po @@ -370,6 +370,10 @@ msgstr "" msgid "German" msgstr "" +#: wopi/conversion/services.py:86 +msgid "converted" +msgstr "converti" + #~ msgid "A new item was created on your behalf!" #~ msgstr "Un nouveau item a été créé pour vous !" diff --git a/src/backend/locale/nl_NL/LC_MESSAGES/django.po b/src/backend/locale/nl_NL/LC_MESSAGES/django.po index c548a757..02705412 100644 --- a/src/backend/locale/nl_NL/LC_MESSAGES/django.po +++ b/src/backend/locale/nl_NL/LC_MESSAGES/django.po @@ -367,3 +367,7 @@ msgstr "Duits" #: drive/settings.py:253 msgid "Dutch" msgstr "Nederlands" + +#: wopi/conversion/services.py:86 +msgid "converted" +msgstr "geconverteerd" diff --git a/src/backend/wopi/conversion/services.py b/src/backend/wopi/conversion/services.py index a766f951..2597c725 100644 --- a/src/backend/wopi/conversion/services.py +++ b/src/backend/wopi/conversion/services.py @@ -5,6 +5,7 @@ from os.path import splitext from django.conf import settings from django.core.files.storage import default_storage from django.db import DatabaseError, transaction +from django.utils.translation import gettext as _ from core import models from core.api.utils import detect_mimetype @@ -81,8 +82,8 @@ def _target_filename(item, target_extension, parent, user): else: siblings = Item.objects.filter(path__depth=1, accesses__user=user).distinct() - base, _ = splitext(item.filename) - target = f"{base}.{target_extension}" + base, _extension = splitext(item.filename) + target = f"{base} ({_('converted')}).{target_extension}" return manage_unique_title(siblings, target) diff --git a/src/backend/wopi/tests/conversion/test_services.py b/src/backend/wopi/tests/conversion/test_services.py index 3fe1206e..24af1497 100644 --- a/src/backend/wopi/tests/conversion/test_services.py +++ b/src/backend/wopi/tests/conversion/test_services.py @@ -76,7 +76,7 @@ def test_convert_item_creates_converted_file_copy(settings): converted = services.convert_item(item, user) - assert converted.filename == "document.docx" + assert converted.filename == "document (converted).docx" assert converted.parent().id == parent.id assert converted.upload_state == models.ItemUploadStateChoices.READY @@ -125,16 +125,16 @@ def test_convert_item_keeps_title_and_filename_aligned_on_collision(settings): factories.ItemFactory( parent=parent, type=models.ItemTypeChoices.FILE, - title="document.docx", - filename="document.docx", + title="document (converted).docx", + filename="document (converted).docx", update_upload_state=models.ItemUploadStateChoices.READY, ) item = _file(user, parent=parent) converted = services.convert_item(item, user) - assert converted.title == "document_01.docx" - assert converted.filename == "document_01.docx" + assert converted.title == "document (converted)_01.docx" + assert converted.filename == "document (converted)_01.docx" def test_convert_item_uses_source_parent_when_user_can_update_it_via_link(settings): @@ -336,7 +336,7 @@ def test_prepare_conversion_returns_placeholder_in_converting_state(settings): placeholder = services.prepare_conversion(item, user) - assert placeholder.filename == "document.docx" + assert placeholder.filename == "document (converted).docx" assert placeholder.upload_state == models.ItemUploadStateChoices.CONVERTING assert placeholder.parent().id == parent.id