From 21d669f06a9779ddecebb323c0d7abaa40c125af Mon Sep 17 00:00:00 2001 From: Christopher Rogos Date: Wed, 1 Apr 2026 11:04:18 +0000 Subject: [PATCH 1/8] [IMP] fs_attachment: enhance stream download name handling based on mimetype --- fs_attachment/models/ir_binary.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/fs_attachment/models/ir_binary.py b/fs_attachment/models/ir_binary.py index a784aec9df..d9ea167d02 100644 --- a/fs_attachment/models/ir_binary.py +++ b/fs_attachment/models/ir_binary.py @@ -1,12 +1,14 @@ # Copyright 2023 ACSONE SA/NV # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). import logging +from mimetypes import guess_extension import werkzeug.http from odoo import models from odoo.http import request from odoo.tools.image import image_process +from odoo.tools.mimetypes import get_extension from ..fs_stream import FsStream @@ -73,6 +75,12 @@ def _get_stream_from( elif record and filename_field in record: stream.download_name = record[filename_field] or stream.download_name + if ( + not get_extension(stream.download_name) + and stream.mimetype != "application/octet-stream" + ): + stream.download_name += guess_extension(stream.mimetype) or "" + return stream def _get_image_stream_from( From 4a80c32ba44f4ac11d52597a6356b680dbcbf331 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 10 Apr 2026 13:32:03 +0000 Subject: [PATCH 2/8] [UPD] Update fs_folder.pot --- fs_folder/i18n/fs_folder.pot | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs_folder/i18n/fs_folder.pot b/fs_folder/i18n/fs_folder.pot index 6e89a221bd..27e7040f7a 100644 --- a/fs_folder/i18n/fs_folder.pot +++ b/fs_folder/i18n/fs_folder.pot @@ -318,3 +318,9 @@ msgstr "" #: code:addons/fs_folder/static/src/fs_folder/fs_folder.esm.js:0 msgid "User" msgstr "" + +#. module: fs_folder +#. odoo-javascript +#: code:addons/fs_folder/static/src/preview_iframe/preview_iframe.xml:0 +msgid "X" +msgstr "" From 50fa3b659074b79abfa870394d2876f3cde184a9 Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 10 Apr 2026 13:32:03 +0000 Subject: [PATCH 3/8] [UPD] Update fs_folder_ms_drive.pot --- fs_folder_ms_drive/i18n/fs_folder_ms_drive.pot | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs_folder_ms_drive/i18n/fs_folder_ms_drive.pot b/fs_folder_ms_drive/i18n/fs_folder_ms_drive.pot index 0fa9f00507..8dd333bc3b 100644 --- a/fs_folder_ms_drive/i18n/fs_folder_ms_drive.pot +++ b/fs_folder_ms_drive/i18n/fs_folder_ms_drive.pot @@ -40,3 +40,9 @@ msgstr "" #: code:addons/fs_folder_ms_drive/static/src/fs_folder_ms_drive/fs_folder.esm.js:0 msgid "Modified By" msgstr "" + +#. module: fs_folder_ms_drive +#. odoo-javascript +#: code:addons/fs_folder_ms_drive/static/src/components/preview_iframe.xml:0 +msgid "X" +msgstr "" From 20ff798d0c16103ea8a43ea9df325dd509cb84ce Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 10 Apr 2026 13:35:44 +0000 Subject: [PATCH 4/8] [BOT] post-merge updates --- README.md | 2 +- fs_attachment/README.rst | 2 +- fs_attachment/__manifest__.py | 2 +- fs_attachment/static/description/index.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 298bfea534..cba65bafc8 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Available addons ---------------- addon | version | maintainers | summary --- | --- | --- | --- -[fs_attachment](fs_attachment/) | 18.0.2.2.0 | lmignon | Store attachments on external object store +[fs_attachment](fs_attachment/) | 18.0.2.2.1 | lmignon | Store attachments on external object store [fs_attachment_s3](fs_attachment_s3/) | 18.0.1.2.0 | lmignon | Store attachments into S3 complient filesystem [fs_file](fs_file/) | 18.0.1.0.0 | lmignon | Field to store files into filesystem storages [fs_folder](fs_folder/) | 18.0.2.0.0 | lmignon | A module to link to Odoo records and manage from record forms forlders from external file systems diff --git a/fs_attachment/README.rst b/fs_attachment/README.rst index 74a6659c50..8ae6109789 100644 --- a/fs_attachment/README.rst +++ b/fs_attachment/README.rst @@ -11,7 +11,7 @@ Base Attachment Object Store !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:50c6082aeb8a70f8037fe7af4499b73d24c5e70f2fb76df63606559a6700108d + !! source digest: sha256:ae07154d0c96f19cbe1f6760cb690b0eefdea57af89985620fac1eef5d52f5fb !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/fs_attachment/__manifest__.py b/fs_attachment/__manifest__.py index 5af9c1a3ab..38076afcc7 100644 --- a/fs_attachment/__manifest__.py +++ b/fs_attachment/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Base Attachment Object Store", "summary": "Store attachments on external object store", - "version": "18.0.2.2.0", + "version": "18.0.2.2.1", "author": "Camptocamp, ACSONE SA/NV, Odoo Community Association (OCA)", "license": "AGPL-3", "development_status": "Beta", diff --git a/fs_attachment/static/description/index.html b/fs_attachment/static/description/index.html index f1efd603d0..5c2b3e646c 100644 --- a/fs_attachment/static/description/index.html +++ b/fs_attachment/static/description/index.html @@ -372,7 +372,7 @@

Base Attachment Object Store

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:50c6082aeb8a70f8037fe7af4499b73d24c5e70f2fb76df63606559a6700108d +!! source digest: sha256:ae07154d0c96f19cbe1f6760cb690b0eefdea57af89985620fac1eef5d52f5fb !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/storage Translate me on Weblate Try me on Runboat

In some cases, you need to store attachment in another system that the From 6883caf71a2b0bde0ba64b1f6f25b6bb03c0152f Mon Sep 17 00:00:00 2001 From: Weblate Date: Fri, 10 Apr 2026 13:35:53 +0000 Subject: [PATCH 5/8] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: storage-18.0/storage-18.0-fs_folder Translate-URL: https://translation.odoo-community.org/projects/storage-18-0/storage-18-0-fs_folder/ --- fs_folder/i18n/it.po | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs_folder/i18n/it.po b/fs_folder/i18n/it.po index b53c3677e4..c6b68741c5 100644 --- a/fs_folder/i18n/it.po +++ b/fs_folder/i18n/it.po @@ -345,3 +345,9 @@ msgstr "Utilizzare come predefinito per i contenuti del file system" #: code:addons/fs_folder/static/src/fs_folder/fs_folder.esm.js:0 msgid "User" msgstr "Utente" + +#. module: fs_folder +#. odoo-javascript +#: code:addons/fs_folder/static/src/preview_iframe/preview_iframe.xml:0 +msgid "X" +msgstr "" From 3271cbbcb59819cddcfe6b590c2f81ee94f6ffff Mon Sep 17 00:00:00 2001 From: Weblate Date: Fri, 10 Apr 2026 13:35:53 +0000 Subject: [PATCH 6/8] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: storage-18.0/storage-18.0-fs_folder_ms_drive Translate-URL: https://translation.odoo-community.org/projects/storage-18-0/storage-18-0-fs_folder_ms_drive/ --- fs_folder_ms_drive/i18n/it.po | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs_folder_ms_drive/i18n/it.po b/fs_folder_ms_drive/i18n/it.po index 5a0253a401..a53c9d9cf8 100644 --- a/fs_folder_ms_drive/i18n/it.po +++ b/fs_folder_ms_drive/i18n/it.po @@ -43,3 +43,9 @@ msgstr "Adattatore valore campo cartella" #: code:addons/fs_folder_ms_drive/static/src/fs_folder_ms_drive/fs_folder.esm.js:0 msgid "Modified By" msgstr "Modificato da" + +#. module: fs_folder_ms_drive +#. odoo-javascript +#: code:addons/fs_folder_ms_drive/static/src/components/preview_iframe.xml:0 +msgid "X" +msgstr "" From e965caefe0db31e08a223d2371255844d8bbda3c Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 13 Apr 2026 08:46:01 +0000 Subject: [PATCH 7/8] Translated using Weblate (Italian) Currently translated at 100.0% (51 of 51 strings) Translation: storage-18.0/storage-18.0-fs_folder Translate-URL: https://translation.odoo-community.org/projects/storage-18-0/storage-18-0-fs_folder/it/ --- fs_folder/i18n/it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs_folder/i18n/it.po b/fs_folder/i18n/it.po index c6b68741c5..e163f97b61 100644 --- a/fs_folder/i18n/it.po +++ b/fs_folder/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2025-10-21 08:43+0000\n" +"PO-Revision-Date: 2026-04-13 11:45+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -14,7 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.15.2\n" #. module: fs_folder #: model:ir.model,name:fs_folder.model_fs_folder_field_web_api @@ -350,4 +350,4 @@ msgstr "Utente" #. odoo-javascript #: code:addons/fs_folder/static/src/preview_iframe/preview_iframe.xml:0 msgid "X" -msgstr "" +msgstr "X" From bfc8991d5ac22440bc29639d78d3083d4ea3a90a Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 13 Apr 2026 08:46:09 +0000 Subject: [PATCH 8/8] Translated using Weblate (Italian) Currently translated at 100.0% (6 of 6 strings) Translation: storage-18.0/storage-18.0-fs_folder_ms_drive Translate-URL: https://translation.odoo-community.org/projects/storage-18-0/storage-18-0-fs_folder_ms_drive/it/ --- fs_folder_ms_drive/i18n/it.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs_folder_ms_drive/i18n/it.po b/fs_folder_ms_drive/i18n/it.po index a53c9d9cf8..c038f1431f 100644 --- a/fs_folder_ms_drive/i18n/it.po +++ b/fs_folder_ms_drive/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 18.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2025-09-15 09:42+0000\n" +"PO-Revision-Date: 2026-04-13 11:45+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -14,7 +14,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10.4\n" +"X-Generator: Weblate 5.15.2\n" #. module: fs_folder_ms_drive #: model:ir.model,name:fs_folder_ms_drive.model_fs_folder_field_web_api @@ -48,4 +48,4 @@ msgstr "Modificato da" #. odoo-javascript #: code:addons/fs_folder_ms_drive/static/src/components/preview_iframe.xml:0 msgid "X" -msgstr "" +msgstr "X"