Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
6477ad9
[IMP] fs_storage: Remove environment data
etobella Jun 3, 2026
bb65031
[ADD] fs_storage_environment
etobella Jun 3, 2026
58f404e
[IMP] fs_storage_environment: preserve data on install and restore co…
yankinmax Aug 19, 2026
b95c33c
[IMP] fs_attachment: Remove environment data
etobella Jun 3, 2026
25229bb
[ADD] fs_attachment_environment
etobella Jun 3, 2026
53e7be8
[FIX] fs_attachment: Add migration script for server_environment split
lmignon Jun 4, 2026
f6f49e7
[IMP] fs_attachment_environment: preserve data on install and restore…
yankinmax Aug 19, 2026
b8c8a95
[IMP] fs_attachment_s3: Remove environment data
etobella Jun 3, 2026
e421863
[ADD] fs_attachment_s3_environemnt
etobella Jun 3, 2026
3ff10fc
[FIX] fs_attachment_s3: Add migration script for server_environment s…
lmignon Jun 4, 2026
7d484e0
[IMP] fs_attachment_s3_environment: preserve data on install and rest…
yankinmax Aug 19, 2026
298611e
Merge PR #656 into 19.0
OCA-git-bot Sep 24, 2026
1b9b8c1
[UPD] Update fs_attachment.pot
Sep 24, 2026
cacc574
[UPD] Update fs_attachment_environment.pot
Sep 24, 2026
b2964be
[UPD] Update fs_attachment_s3.pot
Sep 24, 2026
b309e35
[UPD] Update fs_attachment_s3_environment.pot
Sep 24, 2026
ecfd671
[UPD] Update fs_storage.pot
Sep 24, 2026
f52a8bc
[UPD] Update fs_storage_environment.pot
Sep 24, 2026
31571c5
[BOT] post-merge updates
OCA-git-bot Sep 24, 2026
ecfe7ee
Update translation files
weblate Sep 24, 2026
d8ac187
Update translation files
weblate Sep 24, 2026
658844f
Update translation files
weblate Sep 24, 2026
e0f8174
[IMP] fs_attachment: Remove environment data
etobella Jun 3, 2026
2ad0894
[FIX] fs_attachment: Add migration script for server_environment split
lmignon Jun 4, 2026
be46997
Merge changes from 19.0 into 20.0
lmignon Sep 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,17 @@ exclude: |
(?x)
# NOT INSTALLABLE ADDONS
^fs_attachment/|
^fs_attachment_environment/|
^fs_attachment_s3/|
^fs_attachment_s3_environment/|
^fs_file/|
^fs_folder/|
^fs_folder_demo/|
^fs_folder_ms_drive/|
^fs_folder_webdav/|
^fs_image/|
^fs_storage/|
^fs_storage_environment/|
^fs_storage_ms_drive/|
^image_tag/|
^microsoft_drive_account/|
Expand Down
2 changes: 1 addition & 1 deletion fs_attachment/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Base Attachment Object Store
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:e7df98b1892bad6c20bbc89c6e1abd2908cbeecd561b584868b6ed6109190326
!! source digest: sha256:00538d2bbbe73b8089126200d89337a14bb58f2994c368c4fe4f8f1259cd3975
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
Expand Down
2 changes: 1 addition & 1 deletion fs_attachment/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
{
"name": "Base Attachment Object Store",
"summary": "Store attachments on external object store",
"version": "19.0.1.1.2",
"version": "19.0.1.1.3",
"author": "Camptocamp, ACSONE SA/NV, Odoo Community Association (OCA)",
"license": "AGPL-3",
"development_status": "Beta",
Expand Down
48 changes: 32 additions & 16 deletions fs_attachment/i18n/da.po
Original file line number Diff line number Diff line change
Expand Up @@ -117,11 +117,10 @@ msgstr "ID"
#: model:ir.model.fields,help:fs_attachment.field_fs_storage__use_x_sendfile_to_serve_internal_url
msgid ""
"If checked and odoo is behind a proxy that supports x-sendfile, the content "
"served by the attachment's internal URL will be servedby the proxy using the"
" fs_url if defined. If not, the file will be served by odoo that will stream"
" the content read from the filesystem storage. This option is useful to "
"avoid to serve files from odoo and therefore to avoid to load the odoo "
"process. "
"served by the attachment's internal URL will be servedby the proxy using the "
"fs_url if defined. If not, the file will be served by odoo that will stream "
"the content read from the filesystem storage. This option is useful to avoid "
"to serve files from odoo and therefore to avoid to load the odoo process. "
msgstr ""
"Hvis markeret, og Odoo er bag en proxy, der understøtter x-sendfile, vil "
"indholdet, der leveres via vedhæftningens interne URL, blive leveret af "
Expand All @@ -136,8 +135,8 @@ msgid ""
"If checked, the autovacuum of the garbage collection will be automatically "
"executed when the storage is used to store attachments. Sometime, the "
"autovacuum is to avoid when files in the storage are referenced by other "
"systems (like a website). In such case, records in the fs.file.gc table must"
" be manually processed."
"systems (like a website). In such case, records in the fs.file.gc table must "
"be manually processed."
msgstr ""
"Hvis markeret, udføres den automatiske bortrensning automatisk, når lageret "
"bruges til at gemme vedhæftninger. I nogle tilfælde bør den automatiske "
Expand Down Expand Up @@ -166,11 +165,11 @@ msgstr ""
#: model:ir.model.fields,help:fs_attachment.field_fs_storage__use_filename_obfuscation
msgid ""
"If checked, the filename will be obfuscated. This option is useful to avoid "
"to expose sensitive information trough the URL or in the remote storage. The"
" obfuscation is done using a hash of the filename. The original filename is "
"stored in the attachment metadata. The obfusation is to avoid if the storage"
" is used to store files that are referenced by other systems (like a "
"website) where the filename is important for SEO."
"to expose sensitive information trough the URL or in the remote storage. The "
"obfuscation is done using a hash of the filename. The original filename is "
"stored in the attachment metadata. The obfusation is to avoid if the storage "
"is used to store files that are referenced by other systems (like a website) "
"where the filename is important for SEO."
msgstr ""
"Hvis markeret, bliver filnavnet skjult (obfuskeret). Denne indstilling er "
"nyttig for at undgå at eksponere følsomme oplysninger via URL'en eller i det "
Expand Down Expand Up @@ -256,6 +255,15 @@ msgstr ""
"'ir_attachment.storage.force.database', når modulet 'fs_attachment' er "
"installeret."

#. module: fs_attachment
#. odoo-python
#: code:addons/fs_attachment/upgrades/19.0.1.1.3/post-migration.py:0
msgid ""
"The 'fs_attachment_environment' module is not available. It is required to "
"preserve the server environment managed fields of 'fs.storage'. Make it "
"available on the addons path before upgrading 'fs_attachment'."
msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,help:fs_attachment.field_ir_attachment__fs_url
msgid "The URL to access the file from the filesystem storage."
Expand Down Expand Up @@ -325,9 +333,17 @@ msgstr "Brug X-Sendfile til at levere intern URL"
#. module: fs_attachment
#: model:ir.model.fields,help:fs_attachment.field_fs_storage__force_db_for_default_attachment_rules
msgid ""
"When storing attachments in an external storage, storage may be slow.If the storage is used to store odoo attachments by default, this could lead to a bad user experience since small images (128, 256) are used in Odoo in list / kanban views. We want them to be fast to read.This field allows to force the store of some attachments in the odoo database. The value is a dict Where the key is the beginning of the mimetype to configure and the value is the limit in size below which attachments are kept in DB. 0 means no limit.\n"
"When storing attachments in an external storage, storage may be slow.If the "
"storage is used to store odoo attachments by default, this could lead to a "
"bad user experience since small images (128, 256) are used in Odoo in "
"list / kanban views. We want them to be fast to read.This field allows to "
"force the store of some attachments in the odoo database. The value is a "
"dict Where the key is the beginning of the mimetype to configure and the "
"value is the limit in size below which attachments are kept in DB. 0 means "
"no limit.\n"
"Default configuration means:\n"
"* images mimetypes (image/png, image/jpeg, ...) below 50KB are stored in database\n"
"* images mimetypes (image/png, image/jpeg, ...) below 50KB are stored in "
"database\n"
"* application/javascript are stored in database whatever their size \n"
"* text/css are stored in database whatever their size"
msgstr ""
Expand All @@ -349,8 +365,8 @@ msgstr ""
#. odoo-python
#: code:addons/fs_attachment/models/ir_attachment.py:0
msgid ""
"You can't write on multiple attachments with different mimetypes at the same"
" time."
"You can't write on multiple attachments with different mimetypes at the same "
"time."
msgstr ""
"Du kan ikke skrive på flere vedhæftninger med forskellige mimetyper på samme "
"tid."
66 changes: 38 additions & 28 deletions fs_attachment/i18n/de.po
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,field_description:fs_attachment.field_fs_file_gc__display_name
#: model:ir.model.fields,field_description:fs_attachment.field_fs_storage__display_name
#: model:ir.model.fields,field_description:fs_attachment.field_ir_attachment__display_name
#: model:ir.model.fields,field_description:fs_attachment.field_ir_binary__display_name
msgid "Display Name"
msgstr ""

Expand All @@ -62,7 +65,6 @@ msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,field_description:fs_attachment.field_ir_attachment__fs_filename
#: model:ir.model.fields,field_description:fs_attachment.field_product_document__fs_filename
msgid "File Name into the filesystem storage"
msgstr ""

Expand All @@ -73,25 +75,21 @@ msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,field_description:fs_attachment.field_ir_attachment__fs_storage_id
#: model:ir.model.fields,field_description:fs_attachment.field_product_document__fs_storage_id
msgid "Filesystem Storage"
msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,field_description:fs_attachment.field_ir_attachment__fs_storage_code
#: model:ir.model.fields,field_description:fs_attachment.field_product_document__fs_storage_code
msgid "Filesystem Storage Code"
msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,field_description:fs_attachment.field_ir_attachment__fs_url
#: model:ir.model.fields,field_description:fs_attachment.field_product_document__fs_url
msgid "Filesystem URL"
msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,field_description:fs_attachment.field_ir_attachment__fs_url_path
#: model:ir.model.fields,field_description:fs_attachment.field_product_document__fs_url_path
msgid "Filesystem URL Path"
msgstr ""

Expand All @@ -107,18 +105,20 @@ msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,field_description:fs_attachment.field_fs_file_gc__id
#: model:ir.model.fields,field_description:fs_attachment.field_fs_storage__id
#: model:ir.model.fields,field_description:fs_attachment.field_ir_attachment__id
#: model:ir.model.fields,field_description:fs_attachment.field_ir_binary__id
msgid "ID"
msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,help:fs_attachment.field_fs_storage__use_x_sendfile_to_serve_internal_url
msgid ""
"If checked and odoo is behind a proxy that supports x-sendfile, the content "
"served by the attachment's internal URL will be servedby the proxy using the"
" fs_url if defined. If not, the file will be served by odoo that will stream"
" the content read from the filesystem storage. This option is useful to "
"avoid to serve files from odoo and therefore to avoid to load the odoo "
"process. "
"served by the attachment's internal URL will be servedby the proxy using the "
"fs_url if defined. If not, the file will be served by odoo that will stream "
"the content read from the filesystem storage. This option is useful to avoid "
"to serve files from odoo and therefore to avoid to load the odoo process. "
msgstr ""

#. module: fs_attachment
Expand All @@ -127,8 +127,8 @@ msgid ""
"If checked, the autovacuum of the garbage collection will be automatically "
"executed when the storage is used to store attachments. Sometime, the "
"autovacuum is to avoid when files in the storage are referenced by other "
"systems (like a website). In such case, records in the fs.file.gc table must"
" be manually processed."
"systems (like a website). In such case, records in the fs.file.gc table must "
"be manually processed."
msgstr ""

#. module: fs_attachment
Expand All @@ -146,11 +146,11 @@ msgstr ""
#: model:ir.model.fields,help:fs_attachment.field_fs_storage__use_filename_obfuscation
msgid ""
"If checked, the filename will be obfuscated. This option is useful to avoid "
"to expose sensitive information trough the URL or in the remote storage. The"
" obfuscation is done using a hash of the filename. The original filename is "
"stored in the attachment metadata. The obfusation is to avoid if the storage"
" is used to store files that are referenced by other systems (like a "
"website) where the filename is important for SEO."
"to expose sensitive information trough the URL or in the remote storage. The "
"obfuscation is done using a hash of the filename. The original filename is "
"stored in the attachment metadata. The obfusation is to avoid if the storage "
"is used to store files that are referenced by other systems (like a website) "
"where the filename is important for SEO."
msgstr ""

#. module: fs_attachment
Expand All @@ -160,7 +160,6 @@ msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,field_description:fs_attachment.field_ir_attachment__internal_url
#: model:ir.model.fields,field_description:fs_attachment.field_product_document__internal_url
msgid "Internal URL"
msgstr ""

Expand Down Expand Up @@ -215,7 +214,6 @@ msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,help:fs_attachment.field_ir_attachment__fs_storage_code
#: model:ir.model.fields,help:fs_attachment.field_product_document__fs_storage_code
msgid ""
"Technical code used to identify the storage backend into the code.This code "
"must be unique. This code is used for example to define the storage backend "
Expand All @@ -224,15 +222,22 @@ msgid ""
"installed."
msgstr ""

#. module: fs_attachment
#. odoo-python
#: code:addons/fs_attachment/upgrades/19.0.1.1.3/post-migration.py:0
msgid ""
"The 'fs_attachment_environment' module is not available. It is required to "
"preserve the server environment managed fields of 'fs.storage'. Make it "
"available on the addons path before upgrading 'fs_attachment'."
msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,help:fs_attachment.field_ir_attachment__fs_url
#: model:ir.model.fields,help:fs_attachment.field_product_document__fs_url
msgid "The URL to access the file from the filesystem storage."
msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,help:fs_attachment.field_ir_attachment__internal_url
#: model:ir.model.fields,help:fs_attachment.field_product_document__internal_url
msgid "The URL to access the file from the server."
msgstr ""

Expand All @@ -252,7 +257,6 @@ msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,help:fs_attachment.field_ir_attachment__fs_filename
#: model:ir.model.fields,help:fs_attachment.field_product_document__fs_filename
msgid ""
"The name of the file in the filesystem storage.To preserve the mimetype and "
"the meaning of the filenamethe filename is computed from the name and the "
Expand All @@ -261,13 +265,11 @@ msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,help:fs_attachment.field_ir_attachment__fs_url_path
#: model:ir.model.fields,help:fs_attachment.field_product_document__fs_url_path
msgid "The path to access the file from the filesystem storage."
msgstr ""

#. module: fs_attachment
#: model:ir.model.fields,help:fs_attachment.field_ir_attachment__fs_storage_id
#: model:ir.model.fields,help:fs_attachment.field_product_document__fs_storage_id
msgid "The storage where the file is stored."
msgstr ""

Expand All @@ -294,9 +296,17 @@ msgstr ""
#. module: fs_attachment
#: model:ir.model.fields,help:fs_attachment.field_fs_storage__force_db_for_default_attachment_rules
msgid ""
"When storing attachments in an external storage, storage may be slow.If the storage is used to store odoo attachments by default, this could lead to a bad user experience since small images (128, 256) are used in Odoo in list / kanban views. We want them to be fast to read.This field allows to force the store of some attachments in the odoo database. The value is a dict Where the key is the beginning of the mimetype to configure and the value is the limit in size below which attachments are kept in DB. 0 means no limit.\n"
"When storing attachments in an external storage, storage may be slow.If the "
"storage is used to store odoo attachments by default, this could lead to a "
"bad user experience since small images (128, 256) are used in Odoo in "
"list / kanban views. We want them to be fast to read.This field allows to "
"force the store of some attachments in the odoo database. The value is a "
"dict Where the key is the beginning of the mimetype to configure and the "
"value is the limit in size below which attachments are kept in DB. 0 means "
"no limit.\n"
"Default configuration means:\n"
"* images mimetypes (image/png, image/jpeg, ...) below 50KB are stored in database\n"
"* images mimetypes (image/png, image/jpeg, ...) below 50KB are stored in "
"database\n"
"* application/javascript are stored in database whatever their size \n"
"* text/css are stored in database whatever their size"
msgstr ""
Expand All @@ -305,6 +315,6 @@ msgstr ""
#. odoo-python
#: code:addons/fs_attachment/models/ir_attachment.py:0
msgid ""
"You can't write on multiple attachments with different mimetypes at the same"
" time."
"You can't write on multiple attachments with different mimetypes at the same "
"time."
msgstr ""
Loading
Loading