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/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( 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 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 "" diff --git a/fs_folder/i18n/it.po b/fs_folder/i18n/it.po index b53c3677e4..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 @@ -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 "X" 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 "" diff --git a/fs_folder_ms_drive/i18n/it.po b/fs_folder_ms_drive/i18n/it.po index 5a0253a401..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 @@ -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 "X"