From 6086701132f79d922a703d41aa3efac53c82a63d Mon Sep 17 00:00:00 2001 From: "Laurent Mignon (ACSONE)" Date: Tue, 5 Sep 2023 19:36:32 +0200 Subject: [PATCH 01/14] [ADD] fs_product_multi_media: A drop-in replacement of storage_product_media and storage_media --- fs_base_multi_media/README.rst | 35 +++++++ fs_base_multi_media/__init__.py | 1 + fs_base_multi_media/__manifest__.py | 26 ++++++ fs_base_multi_media/models/__init__.py | 3 + fs_base_multi_media/models/fs_media.py | 28 ++++++ .../models/fs_media_relation_mixin.py | 74 +++++++++++++++ fs_base_multi_media/models/fs_media_type.py | 13 +++ fs_base_multi_media/readme/CONTRIBUTORS.rst | 2 + fs_base_multi_media/readme/DESCRIPTION.rst | 14 +++ fs_base_multi_media/readme/ROADMAP.rst | 2 + fs_base_multi_media/readme/USAGE.rst | 3 + fs_base_multi_media/security/fs_media.xml | 25 +++++ .../security/fs_media_type.xml | 25 +++++ fs_base_multi_media/security/res_groups.xml | 12 +++ .../static/description/icon.png | Bin 0 -> 9455 bytes fs_base_multi_media/views/fs_media.xml | 88 ++++++++++++++++++ .../views/fs_media_relation_mixin.xml | 55 +++++++++++ fs_base_multi_media/views/fs_media_type.xml | 69 ++++++++++++++ 18 files changed, 475 insertions(+) create mode 100644 fs_base_multi_media/README.rst create mode 100644 fs_base_multi_media/__init__.py create mode 100644 fs_base_multi_media/__manifest__.py create mode 100644 fs_base_multi_media/models/__init__.py create mode 100644 fs_base_multi_media/models/fs_media.py create mode 100644 fs_base_multi_media/models/fs_media_relation_mixin.py create mode 100644 fs_base_multi_media/models/fs_media_type.py create mode 100644 fs_base_multi_media/readme/CONTRIBUTORS.rst create mode 100644 fs_base_multi_media/readme/DESCRIPTION.rst create mode 100644 fs_base_multi_media/readme/ROADMAP.rst create mode 100644 fs_base_multi_media/readme/USAGE.rst create mode 100644 fs_base_multi_media/security/fs_media.xml create mode 100644 fs_base_multi_media/security/fs_media_type.xml create mode 100644 fs_base_multi_media/security/res_groups.xml create mode 100644 fs_base_multi_media/static/description/icon.png create mode 100644 fs_base_multi_media/views/fs_media.xml create mode 100644 fs_base_multi_media/views/fs_media_relation_mixin.xml create mode 100644 fs_base_multi_media/views/fs_media_type.xml diff --git a/fs_base_multi_media/README.rst b/fs_base_multi_media/README.rst new file mode 100644 index 0000000000..38929e8775 --- /dev/null +++ b/fs_base_multi_media/README.rst @@ -0,0 +1,35 @@ +**This file is going to be generated by oca-gen-addon-readme.** + +*Manual changes will be overwritten.* + +Please provide content in the ``readme`` directory: + +* **DESCRIPTION.rst** (required) +* INSTALL.rst (optional) +* CONFIGURE.rst (optional) +* **USAGE.rst** (optional, highly recommended) +* DEVELOP.rst (optional) +* ROADMAP.rst (optional) +* HISTORY.rst (optional, recommended) +* **CONTRIBUTORS.rst** (optional, highly recommended) +* CREDITS.rst (optional) + +Content of this README will also be drawn from the addon manifest, +from keys such as name, authors, maintainers, development_status, +and license. + +A good, one sentence summary in the manifest is also highly recommended. + + +Automatic changelog generation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +`HISTORY.rst` can be auto generated using `towncrier `_. + +Just put towncrier compatible changelog fragments into `readme/newsfragments` +and the changelog file will be automatically generated and updated when a new fragment is added. + +Please refer to `towncrier` documentation to know more. + +NOTE: the changelog will be automatically generated when using `/ocabot merge $option`. +If you need to run it manually, refer to `OCA/maintainer-tools README `_. diff --git a/fs_base_multi_media/__init__.py b/fs_base_multi_media/__init__.py new file mode 100644 index 0000000000..0650744f6b --- /dev/null +++ b/fs_base_multi_media/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/fs_base_multi_media/__manifest__.py b/fs_base_multi_media/__manifest__.py new file mode 100644 index 0000000000..bb39deb77b --- /dev/null +++ b/fs_base_multi_media/__manifest__.py @@ -0,0 +1,26 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Fs Base Multi Media", + "summary": """ + Give the possibility to store media data in external filesystem from odoo""", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "author": "ACSONE SA/NV,Akretion,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/storage", + "depends": [ + "fs_file", + ], + "data": [ + "security/res_groups.xml", + "security/fs_media_type.xml", + "security/fs_media.xml", + "views/fs_media.xml", + "views/fs_media_relation_mixin.xml", + "views/fs_media_type.xml", + ], + "demo": [], + "maintainers": ["lmignon"], + "development_status": "Alpha", +} diff --git a/fs_base_multi_media/models/__init__.py b/fs_base_multi_media/models/__init__.py new file mode 100644 index 0000000000..cb3a160719 --- /dev/null +++ b/fs_base_multi_media/models/__init__.py @@ -0,0 +1,3 @@ +from . import fs_media +from . import fs_media_type +from . import fs_media_relation_mixin diff --git a/fs_base_multi_media/models/fs_media.py b/fs_base_multi_media/models/fs_media.py new file mode 100644 index 0000000000..8c4b14aeb0 --- /dev/null +++ b/fs_base_multi_media/models/fs_media.py @@ -0,0 +1,28 @@ +# Copyright 2017 Akretion (http://www.akretion.com). +# Copyright 2023 ACSONE SA/NV +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + + +from odoo import api, fields, models + +from odoo.addons.fs_file.fields import FSFile + + +class FsMedia(models.Model): + _name = "fs.media" + _description = "Media" + + file = FSFile(required=True) + name = fields.Char(compute="_compute_name", store=True, index=True) + mimetype = fields.Char(compute="_compute_mimetype", store=True) + media_type_id = fields.Many2one("fs.media.type", "Media Type") + + @api.depends("file") + def _compute_name(self): + for record in self: + record.name = record.file.name if record.file else None + + @api.depends("file") + def _compute_mimetype(self): + for record in self: + record.mimetype = record.file.mimetype if record.file else None diff --git a/fs_base_multi_media/models/fs_media_relation_mixin.py b/fs_base_multi_media/models/fs_media_relation_mixin.py new file mode 100644 index 0000000000..cabc5c9c28 --- /dev/null +++ b/fs_base_multi_media/models/fs_media_relation_mixin.py @@ -0,0 +1,74 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + +from odoo.addons.fs_file import fields as fs_fields + + +class FsMediaRelationMixin(models.AbstractModel): + + _name = "fs.media.relation.mixin" + _description = "Media Relation" + _order = "sequence, name" + _rec_name = "name" + + sequence = fields.Integer() + link_existing = fields.Boolean( + string="Link existing media", + default=False, + ) + media_id = fields.Many2one( + comodel_name="fs.media", + string="Linked media", + ) + specific_file = fs_fields.FSFile("Specific Media") + specific_media_type_id = fields.Many2one( + "fs.media.type", + ) + file = fs_fields.FSFile("Media", compute="_compute_media", store=False) + media_type_id = fields.Many2one( + "fs.media.type", compute="_compute_media", store=False + ) + name = fields.Char(compute="_compute_name", store=True, index=True) + mimetype = fields.Char(compute="_compute_mimetype", store=True) + + @api.depends("file") + def _compute_name(self): + for record in self: + record.name = record.file.name if record.file else None + + @api.depends("file") + def _compute_mimetypes(self): + for record in self: + record.mimetype = record.file.mimetype if record.file else None + + @api.depends("media_id", "specific_file", "link_existing") + def _compute_media(self): + for record in self: + if record.link_existing: + record.file = record.media_id.file + record.media_type_id = record.media_id.media_type_id + else: + record.file = record.specific_file + record.media_type_id = record.specific_media_type_id + + @api.model + def _cleanup_vals(self, vals): + if ( + "link_existing" in vals + and vals["link_existing"] + and "specific_file" in vals + ): + vals["specific_file"] = False + return vals + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + self._cleanup_vals(vals) + return super().create(vals_list) + + def write(self, vals): + self._cleanup_vals(vals) + return super().write(vals) diff --git a/fs_base_multi_media/models/fs_media_type.py b/fs_base_multi_media/models/fs_media_type.py new file mode 100644 index 0000000000..014533eba4 --- /dev/null +++ b/fs_base_multi_media/models/fs_media_type.py @@ -0,0 +1,13 @@ +# Copyright 2017 Akretion (http://www.akretion.com). +# @author Sébastien BEAU +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo import fields, models + + +class FsMediaType(models.Model): + _name = "fs.media.type" + _description = "Media Type" + + name = fields.Char(translate=True, required=True) + code = fields.Char() diff --git a/fs_base_multi_media/readme/CONTRIBUTORS.rst b/fs_base_multi_media/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000000..dba4d6f397 --- /dev/null +++ b/fs_base_multi_media/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Sebastien Beau +* Laurent Mignon (https://www.acsone.eu/) diff --git a/fs_base_multi_media/readme/DESCRIPTION.rst b/fs_base_multi_media/readme/DESCRIPTION.rst new file mode 100644 index 0000000000..d8fe9d5c6a --- /dev/null +++ b/fs_base_multi_media/readme/DESCRIPTION.rst @@ -0,0 +1,14 @@ +This addon allows you to store media file into external filesystem from odoo. +It also provides is a technical mixin model to ease the creation of other models +that need to be linked to multiple medias stored into external filesystems. + +The models provided by this addon are: + +* ``fs.media``: a model that stores a reference to an media stored into + an external filesystem. +* ``fs.media.relation.mixin``: an abstract model that can be used to + as base class for models created to store an media linked to a model. + This abstract model defines fields and methods to transparently handle + 2 cases: + * the media is specific to the model. + * the media is shared between multiple models and therefore is a ``fs.media`` instance linked to the mixin. diff --git a/fs_base_multi_media/readme/ROADMAP.rst b/fs_base_multi_media/readme/ROADMAP.rst new file mode 100644 index 0000000000..6b2d593ef6 --- /dev/null +++ b/fs_base_multi_media/readme/ROADMAP.rst @@ -0,0 +1,2 @@ +* Add dedicated widget to ease the addition of new media to a model linked to + multiple medias. (As it's the case in the *storage_image_product* addon) diff --git a/fs_base_multi_media/readme/USAGE.rst b/fs_base_multi_media/readme/USAGE.rst new file mode 100644 index 0000000000..65f8ffc54e --- /dev/null +++ b/fs_base_multi_media/readme/USAGE.rst @@ -0,0 +1,3 @@ +To be able to create and or manages shared images, you must have the ``Media Manager`` +role. If you do not have this role, as an authenticated user, you can +only view the shared images. diff --git a/fs_base_multi_media/security/fs_media.xml b/fs_base_multi_media/security/fs_media.xml new file mode 100644 index 0000000000..96539f93ff --- /dev/null +++ b/fs_base_multi_media/security/fs_media.xml @@ -0,0 +1,25 @@ + + + + + + fs.media access read + + + + + + + + + + fs.media access read + + + + + + + + diff --git a/fs_base_multi_media/security/fs_media_type.xml b/fs_base_multi_media/security/fs_media_type.xml new file mode 100644 index 0000000000..266b6933a6 --- /dev/null +++ b/fs_base_multi_media/security/fs_media_type.xml @@ -0,0 +1,25 @@ + + + + + + fs.media.type access read + + + + + + + + + + fs.media.type access read + + + + + + + + diff --git a/fs_base_multi_media/security/res_groups.xml b/fs_base_multi_media/security/res_groups.xml new file mode 100644 index 0000000000..0973e4d56f --- /dev/null +++ b/fs_base_multi_media/security/res_groups.xml @@ -0,0 +1,12 @@ + + + + + Storage Media Manager + + + + diff --git a/fs_base_multi_media/static/description/icon.png b/fs_base_multi_media/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/fs_base_multi_media/views/fs_media.xml b/fs_base_multi_media/views/fs_media.xml new file mode 100644 index 0000000000..7be4187322 --- /dev/null +++ b/fs_base_multi_media/views/fs_media.xml @@ -0,0 +1,88 @@ + + + + + + fs.media.form + fs.media + +
+ + +
+
+
+ + + fs.media.search + fs.media + + + + + + + + + + + + + + + + + fs.media.tree + fs.media + + + + + + + + + + + + Fs Media + fs.media + tree,form + [] + {} + + + + + +
diff --git a/fs_base_multi_media/views/fs_media_relation_mixin.xml b/fs_base_multi_media/views/fs_media_relation_mixin.xml new file mode 100644 index 0000000000..308e57cddf --- /dev/null +++ b/fs_base_multi_media/views/fs_media_relation_mixin.xml @@ -0,0 +1,55 @@ + + + + + + fs.media.relation.mixin.form + fs.media.relation.mixin + +
+ + + + + + + + + + + + + + +
+
+
+ + + fs.media.relation.mixin.tree + fs.media.relation.mixin + + + + + + + + +
diff --git a/fs_base_multi_media/views/fs_media_type.xml b/fs_base_multi_media/views/fs_media_type.xml new file mode 100644 index 0000000000..498fab667e --- /dev/null +++ b/fs_base_multi_media/views/fs_media_type.xml @@ -0,0 +1,69 @@ + + + + + fs.media.type + + + + + + + + + + fs.media.type + +
+ + + + +
+
+
+ + + fs.media.type + + + + + + + + + + Media Type + ir.actions.act_window + fs.media.type + tree,form + + [] + {} + + + + + + form + + + + + + + tree + + + + + + +
From e85f8bf740477f6442926f397b67171e0114a03a Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 25 Sep 2023 10:55:59 +0000 Subject: [PATCH 02/14] [UPD] Update fs_base_multi_media.pot --- .../i18n/fs_base_multi_media.pot | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 fs_base_multi_media/i18n/fs_base_multi_media.pot diff --git a/fs_base_multi_media/i18n/fs_base_multi_media.pot b/fs_base_multi_media/i18n/fs_base_multi_media.pot new file mode 100644 index 0000000000..9947a89a9a --- /dev/null +++ b/fs_base_multi_media/i18n/fs_base_multi_media.pot @@ -0,0 +1,156 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fs_base_multi_media +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Attachment" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__code +msgid "Code" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__create_uid +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__create_uid +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Created by" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__create_date +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__create_date +msgid "Created on" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__display_name +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__display_name +msgid "Display Name" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__file +msgid "File" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.actions.act_window,name:fs_base_multi_media.fs_media_action +#: model:ir.ui.menu,name:fs_base_multi_media.fs_media_menu +msgid "Fs Media" +msgstr "" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Group By" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__id +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__id +msgid "ID" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media____last_update +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_uid +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_date +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_date +msgid "Last Updated on" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__link_existing +msgid "Link existing media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__media_id +msgid "Linked media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model,name:fs_base_multi_media.model_fs_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__file +msgid "Media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model,name:fs_base_multi_media.model_fs_media_relation_mixin +msgid "Media Relation" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.actions.act_window,name:fs_base_multi_media.act_open_fs_media_type_view +#: model:ir.model,name:fs_base_multi_media.model_fs_media_type +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__media_type_id +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__media_type_id +#: model:ir.ui.menu,name:fs_base_multi_media.menu_fs_media_type +msgid "Media Type" +msgstr "" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "MimeType" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__mimetype +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__mimetype +msgid "Mimetype" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__name +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__name +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__name +msgid "Name" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__sequence +msgid "Sequence" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__specific_file +msgid "Specific Media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__specific_media_type_id +msgid "Specific Media Type" +msgstr "" + +#. module: fs_base_multi_media +#: model:res.groups,name:fs_base_multi_media.group_media_manager +msgid "Storage Media Manager" +msgstr "" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Type" +msgstr "" From ab9f19369ac7025e36c5504a8e02c2d3beb2f4fb Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 25 Sep 2023 10:59:47 +0000 Subject: [PATCH 03/14] [BOT] post-merge updates --- fs_base_multi_media/README.rst | 130 ++++- fs_base_multi_media/__manifest__.py | 2 +- .../static/description/index.html | 459 ++++++++++++++++++ 3 files changed, 566 insertions(+), 25 deletions(-) create mode 100644 fs_base_multi_media/static/description/index.html diff --git a/fs_base_multi_media/README.rst b/fs_base_multi_media/README.rst index 38929e8775..289c646716 100644 --- a/fs_base_multi_media/README.rst +++ b/fs_base_multi_media/README.rst @@ -1,35 +1,117 @@ -**This file is going to be generated by oca-gen-addon-readme.** +=================== +Fs Base Multi Media +=================== -*Manual changes will be overwritten.* +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:854289aaf0e0ead7af13579fc0fb6eda2958f5386b77f5fbe056915dcc514666 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -Please provide content in the ``readme`` directory: +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png + :target: https://odoo-community.org/page/development-status + :alt: Alpha +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstorage-lightgray.png?logo=github + :target: https://github.com/OCA/storage/tree/16.0/fs_base_multi_media + :alt: OCA/storage +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/storage-16-0/storage-16-0-fs_base_multi_media + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/storage&target_branch=16.0 + :alt: Try me on Runboat -* **DESCRIPTION.rst** (required) -* INSTALL.rst (optional) -* CONFIGURE.rst (optional) -* **USAGE.rst** (optional, highly recommended) -* DEVELOP.rst (optional) -* ROADMAP.rst (optional) -* HISTORY.rst (optional, recommended) -* **CONTRIBUTORS.rst** (optional, highly recommended) -* CREDITS.rst (optional) +|badge1| |badge2| |badge3| |badge4| |badge5| -Content of this README will also be drawn from the addon manifest, -from keys such as name, authors, maintainers, development_status, -and license. +This addon allows you to store media file into external filesystem from odoo. +It also provides is a technical mixin model to ease the creation of other models +that need to be linked to multiple medias stored into external filesystems. -A good, one sentence summary in the manifest is also highly recommended. +The models provided by this addon are: +* ``fs.media``: a model that stores a reference to an media stored into + an external filesystem. +* ``fs.media.relation.mixin``: an abstract model that can be used to + as base class for models created to store an media linked to a model. + This abstract model defines fields and methods to transparently handle + 2 cases: + * the media is specific to the model. + * the media is shared between multiple models and therefore is a ``fs.media`` instance linked to the mixin. -Automatic changelog generation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ -`HISTORY.rst` can be auto generated using `towncrier `_. +**Table of contents** -Just put towncrier compatible changelog fragments into `readme/newsfragments` -and the changelog file will be automatically generated and updated when a new fragment is added. +.. contents:: + :local: -Please refer to `towncrier` documentation to know more. +Usage +===== -NOTE: the changelog will be automatically generated when using `/ocabot merge $option`. -If you need to run it manually, refer to `OCA/maintainer-tools README `_. +To be able to create and or manages shared images, you must have the ``Media Manager`` +role. If you do not have this role, as an authenticated user, you can +only view the shared images. + +Known issues / Roadmap +====================== + +* Add dedicated widget to ease the addition of new media to a model linked to + multiple medias. (As it's the case in the *storage_image_product* addon) + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ACSONE SA/NV +* Akretion + +Contributors +~~~~~~~~~~~~ + +* Sebastien Beau +* Laurent Mignon (https://www.acsone.eu/) + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-lmignon| image:: https://github.com/lmignon.png?size=40px + :target: https://github.com/lmignon + :alt: lmignon + +Current `maintainer `__: + +|maintainer-lmignon| + +This module is part of the `OCA/storage `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fs_base_multi_media/__manifest__.py b/fs_base_multi_media/__manifest__.py index bb39deb77b..1af9e4cbfa 100644 --- a/fs_base_multi_media/__manifest__.py +++ b/fs_base_multi_media/__manifest__.py @@ -5,7 +5,7 @@ "name": "Fs Base Multi Media", "summary": """ Give the possibility to store media data in external filesystem from odoo""", - "version": "16.0.1.0.0", + "version": "16.0.1.0.1", "license": "AGPL-3", "author": "ACSONE SA/NV,Akretion,Odoo Community Association (OCA)", "website": "https://github.com/OCA/storage", diff --git a/fs_base_multi_media/static/description/index.html b/fs_base_multi_media/static/description/index.html new file mode 100644 index 0000000000..699c5cd514 --- /dev/null +++ b/fs_base_multi_media/static/description/index.html @@ -0,0 +1,459 @@ + + + + + + +Fs Base Multi Media + + + +
+

Fs Base Multi Media

+ + +

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

+

This addon allows you to store media file into external filesystem from odoo. +It also provides is a technical mixin model to ease the creation of other models +that need to be linked to multiple medias stored into external filesystems.

+

The models provided by this addon are:

+
    +
  • fs.media: a model that stores a reference to an media stored into +an external filesystem.
  • +
  • fs.media.relation.mixin: an abstract model that can be used to +as base class for models created to store an media linked to a model. +This abstract model defines fields and methods to transparently handle +2 cases: +* the media is specific to the model. +* the media is shared between multiple models and therefore is a fs.media instance linked to the mixin.
  • +
+
+

Important

+

This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

+
+

Table of contents

+ +
+

Usage

+

To be able to create and or manages shared images, you must have the Media Manager +role. If you do not have this role, as an authenticated user, you can +only view the shared images.

+
+
+

Known issues / Roadmap

+
    +
  • Add dedicated widget to ease the addition of new media to a model linked to +multiple medias. (As it’s the case in the storage_image_product addon)
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • ACSONE SA/NV
  • +
  • Akretion
  • +
+
+ +
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

lmignon

+

This module is part of the OCA/storage project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + From 7fa6506a7807b28fbe9cc2c62a566ba1757f7d34 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Fri, 27 Oct 2023 12:39:28 +0000 Subject: [PATCH 04/14] Added translation using Weblate (Spanish) --- fs_base_multi_media/i18n/es.po | 157 +++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 fs_base_multi_media/i18n/es.po diff --git a/fs_base_multi_media/i18n/es.po b/fs_base_multi_media/i18n/es.po new file mode 100644 index 0000000000..20f7167709 --- /dev/null +++ b/fs_base_multi_media/i18n/es.po @@ -0,0 +1,157 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fs_base_multi_media +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Attachment" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__code +msgid "Code" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__create_uid +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__create_uid +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Created by" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__create_date +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__create_date +msgid "Created on" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__display_name +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__display_name +msgid "Display Name" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__file +msgid "File" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.actions.act_window,name:fs_base_multi_media.fs_media_action +#: model:ir.ui.menu,name:fs_base_multi_media.fs_media_menu +msgid "Fs Media" +msgstr "" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Group By" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__id +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__id +msgid "ID" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media____last_update +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_uid +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_date +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_date +msgid "Last Updated on" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__link_existing +msgid "Link existing media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__media_id +msgid "Linked media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model,name:fs_base_multi_media.model_fs_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__file +msgid "Media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model,name:fs_base_multi_media.model_fs_media_relation_mixin +msgid "Media Relation" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.actions.act_window,name:fs_base_multi_media.act_open_fs_media_type_view +#: model:ir.model,name:fs_base_multi_media.model_fs_media_type +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__media_type_id +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__media_type_id +#: model:ir.ui.menu,name:fs_base_multi_media.menu_fs_media_type +msgid "Media Type" +msgstr "" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "MimeType" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__mimetype +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__mimetype +msgid "Mimetype" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__name +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__name +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__name +msgid "Name" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__sequence +msgid "Sequence" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__specific_file +msgid "Specific Media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__specific_media_type_id +msgid "Specific Media Type" +msgstr "" + +#. module: fs_base_multi_media +#: model:res.groups,name:fs_base_multi_media.group_media_manager +msgid "Storage Media Manager" +msgstr "" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Type" +msgstr "" From c0a68ba28f4e4f93e045b503dbdea13cae5ff980 Mon Sep 17 00:00:00 2001 From: Ivorra78 Date: Fri, 27 Oct 2023 12:39:38 +0000 Subject: [PATCH 05/14] Translated using Weblate (Spanish) Currently translated at 100.0% (25 of 25 strings) Translation: storage-16.0/storage-16.0-fs_base_multi_media Translate-URL: https://translation.odoo-community.org/projects/storage-16-0/storage-16-0-fs_base_multi_media/es/ --- fs_base_multi_media/i18n/es.po | 54 ++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/fs_base_multi_media/i18n/es.po b/fs_base_multi_media/i18n/es.po index 20f7167709..a8117de77c 100644 --- a/fs_base_multi_media/i18n/es.po +++ b/fs_base_multi_media/i18n/es.po @@ -6,103 +6,105 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2023-10-29 00:15+0000\n" +"Last-Translator: Ivorra78 \n" "Language-Team: none\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: fs_base_multi_media #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "Attachment" -msgstr "" +msgstr "Archivo Adjunto" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__code msgid "Code" -msgstr "" +msgstr "Código" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__create_uid #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__create_uid #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "Created by" -msgstr "" +msgstr "Creado por" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__create_date #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__create_date msgid "Created on" -msgstr "" +msgstr "Creado el" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__display_name #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__display_name msgid "Display Name" -msgstr "" +msgstr "Mostrar Nombre" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__file msgid "File" -msgstr "" +msgstr "Archivo" #. module: fs_base_multi_media #: model:ir.actions.act_window,name:fs_base_multi_media.fs_media_action #: model:ir.ui.menu,name:fs_base_multi_media.fs_media_menu msgid "Fs Media" -msgstr "" +msgstr "Medio Fs" #. module: fs_base_multi_media #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "Group By" -msgstr "" +msgstr "Agrupar Por" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__id #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__id msgid "ID" -msgstr "" +msgstr "ID (identificación)" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media____last_update #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type____last_update msgid "Last Modified on" -msgstr "" +msgstr "Última Modificación el" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_uid #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Última Actualización por" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_date #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_date msgid "Last Updated on" -msgstr "" +msgstr "Última Actualización el" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__link_existing msgid "Link existing media" -msgstr "" +msgstr "Vincular los medios existentes" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__media_id msgid "Linked media" -msgstr "" +msgstr "Medios vinculados" #. module: fs_base_multi_media #: model:ir.model,name:fs_base_multi_media.model_fs_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__file msgid "Media" -msgstr "" +msgstr "Medios" #. module: fs_base_multi_media #: model:ir.model,name:fs_base_multi_media.model_fs_media_relation_mixin msgid "Media Relation" -msgstr "" +msgstr "Relación con los medios" #. module: fs_base_multi_media #: model:ir.actions.act_window,name:fs_base_multi_media.act_open_fs_media_type_view @@ -111,47 +113,47 @@ msgstr "" #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__media_type_id #: model:ir.ui.menu,name:fs_base_multi_media.menu_fs_media_type msgid "Media Type" -msgstr "" +msgstr "Tipo de Medio" #. module: fs_base_multi_media #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "MimeType" -msgstr "" +msgstr "Tipo Mimo" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__mimetype #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__mimetype msgid "Mimetype" -msgstr "" +msgstr "Tipo Mimo" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__name #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__name #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__name msgid "Name" -msgstr "" +msgstr "Nombre" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__sequence msgid "Sequence" -msgstr "" +msgstr "Secuencia" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__specific_file msgid "Specific Media" -msgstr "" +msgstr "Medio Específico" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__specific_media_type_id msgid "Specific Media Type" -msgstr "" +msgstr "Tipo de Medio Específico" #. module: fs_base_multi_media #: model:res.groups,name:fs_base_multi_media.group_media_manager msgid "Storage Media Manager" -msgstr "" +msgstr "Gerente de Medios de Almacenamiento" #. module: fs_base_multi_media #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "Type" -msgstr "" +msgstr "Tipo" From f6367eb17bf48380cfd80113151fd8d9b3cb7f49 Mon Sep 17 00:00:00 2001 From: mymage Date: Mon, 27 Nov 2023 16:56:42 +0000 Subject: [PATCH 06/14] Added translation using Weblate (Italian) --- fs_base_multi_media/i18n/it.po | 157 +++++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 fs_base_multi_media/i18n/it.po diff --git a/fs_base_multi_media/i18n/it.po b/fs_base_multi_media/i18n/it.po new file mode 100644 index 0000000000..6c78d1bd00 --- /dev/null +++ b/fs_base_multi_media/i18n/it.po @@ -0,0 +1,157 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * fs_base_multi_media +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Attachment" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__code +msgid "Code" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__create_uid +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__create_uid +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Created by" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__create_date +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__create_date +msgid "Created on" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__display_name +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__display_name +msgid "Display Name" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__file +msgid "File" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.actions.act_window,name:fs_base_multi_media.fs_media_action +#: model:ir.ui.menu,name:fs_base_multi_media.fs_media_menu +msgid "Fs Media" +msgstr "" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Group By" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__id +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__id +msgid "ID" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media____last_update +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type____last_update +msgid "Last Modified on" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_uid +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_date +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_date +msgid "Last Updated on" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__link_existing +msgid "Link existing media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__media_id +msgid "Linked media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model,name:fs_base_multi_media.model_fs_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__file +msgid "Media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model,name:fs_base_multi_media.model_fs_media_relation_mixin +msgid "Media Relation" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.actions.act_window,name:fs_base_multi_media.act_open_fs_media_type_view +#: model:ir.model,name:fs_base_multi_media.model_fs_media_type +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__media_type_id +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__media_type_id +#: model:ir.ui.menu,name:fs_base_multi_media.menu_fs_media_type +msgid "Media Type" +msgstr "" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "MimeType" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__mimetype +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__mimetype +msgid "Mimetype" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__name +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__name +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__name +msgid "Name" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__sequence +msgid "Sequence" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__specific_file +msgid "Specific Media" +msgstr "" + +#. module: fs_base_multi_media +#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__specific_media_type_id +msgid "Specific Media Type" +msgstr "" + +#. module: fs_base_multi_media +#: model:res.groups,name:fs_base_multi_media.group_media_manager +msgid "Storage Media Manager" +msgstr "" + +#. module: fs_base_multi_media +#: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view +msgid "Type" +msgstr "" From 985bdd9dd28129a850ee058a049c134c0b6619fc Mon Sep 17 00:00:00 2001 From: mymage Date: Tue, 28 Nov 2023 12:18:23 +0000 Subject: [PATCH 07/14] Translated using Weblate (Italian) Currently translated at 100.0% (25 of 25 strings) Translation: storage-16.0/storage-16.0-fs_base_multi_media Translate-URL: https://translation.odoo-community.org/projects/storage-16-0/storage-16-0-fs_base_multi_media/it/ --- fs_base_multi_media/i18n/it.po | 54 ++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/fs_base_multi_media/i18n/it.po b/fs_base_multi_media/i18n/it.po index 6c78d1bd00..b280d49491 100644 --- a/fs_base_multi_media/i18n/it.po +++ b/fs_base_multi_media/i18n/it.po @@ -6,103 +6,105 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2023-11-28 14:33+0000\n" +"Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: fs_base_multi_media #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "Attachment" -msgstr "" +msgstr "Allegato" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__code msgid "Code" -msgstr "" +msgstr "Codice" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__create_uid #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__create_uid #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "Created by" -msgstr "" +msgstr "Creato da" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__create_date #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__create_date msgid "Created on" -msgstr "" +msgstr "Creato il" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__display_name #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__display_name msgid "Display Name" -msgstr "" +msgstr "Nome visualizzato" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__file msgid "File" -msgstr "" +msgstr "File" #. module: fs_base_multi_media #: model:ir.actions.act_window,name:fs_base_multi_media.fs_media_action #: model:ir.ui.menu,name:fs_base_multi_media.fs_media_menu msgid "Fs Media" -msgstr "" +msgstr "Media FS" #. module: fs_base_multi_media #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "Group By" -msgstr "" +msgstr "Raggruppa per" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__id #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__id msgid "ID" -msgstr "" +msgstr "ID" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media____last_update #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type____last_update msgid "Last Modified on" -msgstr "" +msgstr "Ultima modifica il" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_uid #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_uid msgid "Last Updated by" -msgstr "" +msgstr "Ultimo aggiornamento di" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_date #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_date msgid "Last Updated on" -msgstr "" +msgstr "Ultimo aggiornamento il" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__link_existing msgid "Link existing media" -msgstr "" +msgstr "Collega media esistente" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__media_id msgid "Linked media" -msgstr "" +msgstr "Media collegato" #. module: fs_base_multi_media #: model:ir.model,name:fs_base_multi_media.model_fs_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__file msgid "Media" -msgstr "" +msgstr "Media" #. module: fs_base_multi_media #: model:ir.model,name:fs_base_multi_media.model_fs_media_relation_mixin msgid "Media Relation" -msgstr "" +msgstr "Relazione media" #. module: fs_base_multi_media #: model:ir.actions.act_window,name:fs_base_multi_media.act_open_fs_media_type_view @@ -111,47 +113,47 @@ msgstr "" #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__media_type_id #: model:ir.ui.menu,name:fs_base_multi_media.menu_fs_media_type msgid "Media Type" -msgstr "" +msgstr "Tipo media" #. module: fs_base_multi_media #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "MimeType" -msgstr "" +msgstr "Tipo MIME" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__mimetype #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__mimetype msgid "Mimetype" -msgstr "" +msgstr "Tipo MIME" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__name #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__name #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__name msgid "Name" -msgstr "" +msgstr "Nome" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__sequence msgid "Sequence" -msgstr "" +msgstr "Sequenza" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__specific_file msgid "Specific Media" -msgstr "" +msgstr "Media specifico" #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_relation_mixin__specific_media_type_id msgid "Specific Media Type" -msgstr "" +msgstr "Tipo media specifico" #. module: fs_base_multi_media #: model:res.groups,name:fs_base_multi_media.group_media_manager msgid "Storage Media Manager" -msgstr "" +msgstr "Gestore deposito media" #. module: fs_base_multi_media #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "Type" -msgstr "" +msgstr "Tipo" From 0745a7e6592513ca07d5677c4b031ce77d444a59 Mon Sep 17 00:00:00 2001 From: chien Date: Fri, 1 Mar 2024 14:42:53 +0700 Subject: [PATCH 08/14] [IMP] fs_base_multi_media: pre-commit auto fixes --- fs_base_multi_media/README.rst | 56 ++++++++++--------- .../models/fs_media_relation_mixin.py | 1 - fs_base_multi_media/pyproject.toml | 3 + fs_base_multi_media/readme/CONTRIBUTORS.md | 3 + fs_base_multi_media/readme/CONTRIBUTORS.rst | 2 - fs_base_multi_media/readme/DESCRIPTION.md | 16 ++++++ fs_base_multi_media/readme/DESCRIPTION.rst | 14 ----- fs_base_multi_media/readme/ROADMAP.md | 3 + fs_base_multi_media/readme/ROADMAP.rst | 2 - fs_base_multi_media/readme/USAGE.md | 3 + fs_base_multi_media/readme/USAGE.rst | 3 - .../static/description/index.html | 39 +++++++------ 12 files changed, 80 insertions(+), 65 deletions(-) create mode 100644 fs_base_multi_media/pyproject.toml create mode 100644 fs_base_multi_media/readme/CONTRIBUTORS.md delete mode 100644 fs_base_multi_media/readme/CONTRIBUTORS.rst create mode 100644 fs_base_multi_media/readme/DESCRIPTION.md delete mode 100644 fs_base_multi_media/readme/DESCRIPTION.rst create mode 100644 fs_base_multi_media/readme/ROADMAP.md delete mode 100644 fs_base_multi_media/readme/ROADMAP.rst create mode 100644 fs_base_multi_media/readme/USAGE.md delete mode 100644 fs_base_multi_media/readme/USAGE.rst diff --git a/fs_base_multi_media/README.rst b/fs_base_multi_media/README.rst index 289c646716..3cf65e4636 100644 --- a/fs_base_multi_media/README.rst +++ b/fs_base_multi_media/README.rst @@ -17,31 +17,34 @@ Fs Base Multi Media :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstorage-lightgray.png?logo=github - :target: https://github.com/OCA/storage/tree/16.0/fs_base_multi_media + :target: https://github.com/OCA/storage/tree/17.0/fs_base_multi_media :alt: OCA/storage .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/storage-16-0/storage-16-0-fs_base_multi_media + :target: https://translation.odoo-community.org/projects/storage-17-0/storage-17-0-fs_base_multi_media :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/storage&target_branch=16.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/storage&target_branch=17.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| -This addon allows you to store media file into external filesystem from odoo. -It also provides is a technical mixin model to ease the creation of other models -that need to be linked to multiple medias stored into external filesystems. +This addon allows you to store media file into external filesystem from +odoo. It also provides is a technical mixin model to ease the creation +of other models that need to be linked to multiple medias stored into +external filesystems. The models provided by this addon are: -* ``fs.media``: a model that stores a reference to an media stored into - an external filesystem. -* ``fs.media.relation.mixin``: an abstract model that can be used to - as base class for models created to store an media linked to a model. - This abstract model defines fields and methods to transparently handle - 2 cases: - * the media is specific to the model. - * the media is shared between multiple models and therefore is a ``fs.media`` instance linked to the mixin. +- ``fs.media``: a model that stores a reference to an media stored into + an external filesystem. +- ``fs.media.relation.mixin``: an abstract model that can be used to as + base class for models created to store an media linked to a model. + This abstract model defines fields and methods to transparently + handle 2 cases: + + - the media is specific to the model. + - the media is shared between multiple models and therefore is a + ``fs.media`` instance linked to the mixin. .. IMPORTANT:: This is an alpha version, the data model and design can change at any time without warning. @@ -56,15 +59,16 @@ The models provided by this addon are: Usage ===== -To be able to create and or manages shared images, you must have the ``Media Manager`` -role. If you do not have this role, as an authenticated user, you can -only view the shared images. +To be able to create and or manages shared images, you must have the +``Media Manager`` role. If you do not have this role, as an +authenticated user, you can only view the shared images. Known issues / Roadmap ====================== -* Add dedicated widget to ease the addition of new media to a model linked to - multiple medias. (As it's the case in the *storage_image_product* addon) +- Add dedicated widget to ease the addition of new media to a model + linked to multiple medias. (As it's the case in the + *storage_image_product* addon) Bug Tracker =========== @@ -72,7 +76,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -80,19 +84,19 @@ Credits ======= Authors -~~~~~~~ +------- * ACSONE SA/NV * Akretion Contributors -~~~~~~~~~~~~ +------------ -* Sebastien Beau -* Laurent Mignon (https://www.acsone.eu/) +- Sebastien Beau +- Laurent Mignon (https://www.acsone.eu/) Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -112,6 +116,6 @@ Current `maintainer `__: |maintainer-lmignon| -This module is part of the `OCA/storage `_ project on GitHub. +This module is part of the `OCA/storage `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fs_base_multi_media/models/fs_media_relation_mixin.py b/fs_base_multi_media/models/fs_media_relation_mixin.py index cabc5c9c28..fa49ee5f0a 100644 --- a/fs_base_multi_media/models/fs_media_relation_mixin.py +++ b/fs_base_multi_media/models/fs_media_relation_mixin.py @@ -7,7 +7,6 @@ class FsMediaRelationMixin(models.AbstractModel): - _name = "fs.media.relation.mixin" _description = "Media Relation" _order = "sequence, name" diff --git a/fs_base_multi_media/pyproject.toml b/fs_base_multi_media/pyproject.toml new file mode 100644 index 0000000000..4231d0cccb --- /dev/null +++ b/fs_base_multi_media/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/fs_base_multi_media/readme/CONTRIBUTORS.md b/fs_base_multi_media/readme/CONTRIBUTORS.md new file mode 100644 index 0000000000..fe7eb15e51 --- /dev/null +++ b/fs_base_multi_media/readme/CONTRIBUTORS.md @@ -0,0 +1,3 @@ +- Sebastien Beau \<\> +- Laurent Mignon \<\> + () diff --git a/fs_base_multi_media/readme/CONTRIBUTORS.rst b/fs_base_multi_media/readme/CONTRIBUTORS.rst deleted file mode 100644 index dba4d6f397..0000000000 --- a/fs_base_multi_media/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,2 +0,0 @@ -* Sebastien Beau -* Laurent Mignon (https://www.acsone.eu/) diff --git a/fs_base_multi_media/readme/DESCRIPTION.md b/fs_base_multi_media/readme/DESCRIPTION.md new file mode 100644 index 0000000000..eb252a2671 --- /dev/null +++ b/fs_base_multi_media/readme/DESCRIPTION.md @@ -0,0 +1,16 @@ +This addon allows you to store media file into external filesystem from +odoo. It also provides is a technical mixin model to ease the creation +of other models that need to be linked to multiple medias stored into +external filesystems. + +The models provided by this addon are: + +- `fs.media`: a model that stores a reference to an media stored into an + external filesystem. +- `fs.media.relation.mixin`: an abstract model that can be used to as + base class for models created to store an media linked to a model. + This abstract model defines fields and methods to transparently handle + 2 cases: + - the media is specific to the model. + - the media is shared between multiple models and therefore is a + `fs.media` instance linked to the mixin. diff --git a/fs_base_multi_media/readme/DESCRIPTION.rst b/fs_base_multi_media/readme/DESCRIPTION.rst deleted file mode 100644 index d8fe9d5c6a..0000000000 --- a/fs_base_multi_media/readme/DESCRIPTION.rst +++ /dev/null @@ -1,14 +0,0 @@ -This addon allows you to store media file into external filesystem from odoo. -It also provides is a technical mixin model to ease the creation of other models -that need to be linked to multiple medias stored into external filesystems. - -The models provided by this addon are: - -* ``fs.media``: a model that stores a reference to an media stored into - an external filesystem. -* ``fs.media.relation.mixin``: an abstract model that can be used to - as base class for models created to store an media linked to a model. - This abstract model defines fields and methods to transparently handle - 2 cases: - * the media is specific to the model. - * the media is shared between multiple models and therefore is a ``fs.media`` instance linked to the mixin. diff --git a/fs_base_multi_media/readme/ROADMAP.md b/fs_base_multi_media/readme/ROADMAP.md new file mode 100644 index 0000000000..3345a3d2ba --- /dev/null +++ b/fs_base_multi_media/readme/ROADMAP.md @@ -0,0 +1,3 @@ +- Add dedicated widget to ease the addition of new media to a model + linked to multiple medias. (As it's the case in the + *storage_image_product* addon) diff --git a/fs_base_multi_media/readme/ROADMAP.rst b/fs_base_multi_media/readme/ROADMAP.rst deleted file mode 100644 index 6b2d593ef6..0000000000 --- a/fs_base_multi_media/readme/ROADMAP.rst +++ /dev/null @@ -1,2 +0,0 @@ -* Add dedicated widget to ease the addition of new media to a model linked to - multiple medias. (As it's the case in the *storage_image_product* addon) diff --git a/fs_base_multi_media/readme/USAGE.md b/fs_base_multi_media/readme/USAGE.md new file mode 100644 index 0000000000..4547c561fb --- /dev/null +++ b/fs_base_multi_media/readme/USAGE.md @@ -0,0 +1,3 @@ +To be able to create and or manages shared images, you must have the +`Media Manager` role. If you do not have this role, as an authenticated +user, you can only view the shared images. diff --git a/fs_base_multi_media/readme/USAGE.rst b/fs_base_multi_media/readme/USAGE.rst deleted file mode 100644 index 65f8ffc54e..0000000000 --- a/fs_base_multi_media/readme/USAGE.rst +++ /dev/null @@ -1,3 +0,0 @@ -To be able to create and or manages shared images, you must have the ``Media Manager`` -role. If you do not have this role, as an authenticated user, you can -only view the shared images. diff --git a/fs_base_multi_media/static/description/index.html b/fs_base_multi_media/static/description/index.html index 699c5cd514..d464cd7a11 100644 --- a/fs_base_multi_media/static/description/index.html +++ b/fs_base_multi_media/static/description/index.html @@ -369,20 +369,24 @@

Fs Base Multi Media

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:854289aaf0e0ead7af13579fc0fb6eda2958f5386b77f5fbe056915dcc514666 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

-

This addon allows you to store media file into external filesystem from odoo. -It also provides is a technical mixin model to ease the creation of other models -that need to be linked to multiple medias stored into external filesystems.

+

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

+

This addon allows you to store media file into external filesystem from +odoo. It also provides is a technical mixin model to ease the creation +of other models that need to be linked to multiple medias stored into +external filesystems.

The models provided by this addon are:

  • fs.media: a model that stores a reference to an media stored into an external filesystem.
  • -
  • fs.media.relation.mixin: an abstract model that can be used to -as base class for models created to store an media linked to a model. -This abstract model defines fields and methods to transparently handle -2 cases: -* the media is specific to the model. -* the media is shared between multiple models and therefore is a fs.media instance linked to the mixin.
  • +
  • fs.media.relation.mixin: an abstract model that can be used to as +base class for models created to store an media linked to a model. +This abstract model defines fields and methods to transparently +handle 2 cases:
      +
    • the media is specific to the model.
    • +
    • the media is shared between multiple models and therefore is a +fs.media instance linked to the mixin.
    • +
    +

Important

@@ -406,15 +410,16 @@

Fs Base Multi Media

Usage

-

To be able to create and or manages shared images, you must have the Media Manager -role. If you do not have this role, as an authenticated user, you can -only view the shared images.

+

To be able to create and or manages shared images, you must have the +Media Manager role. If you do not have this role, as an +authenticated user, you can only view the shared images.

Known issues / Roadmap

    -
  • Add dedicated widget to ease the addition of new media to a model linked to -multiple medias. (As it’s the case in the storage_image_product addon)
  • +
  • Add dedicated widget to ease the addition of new media to a model +linked to multiple medias. (As it’s the case in the +storage_image_product addon)
@@ -422,7 +427,7 @@

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

+feedback.

Do not contact contributors directly about support or help with technical issues.

@@ -450,7 +455,7 @@

Maintainers

promote its widespread use.

Current maintainer:

lmignon

-

This module is part of the OCA/storage project on GitHub.

+

This module is part of the OCA/storage project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

From ef44d0e24bb1286693caf37c7609f3cea3b484f9 Mon Sep 17 00:00:00 2001 From: chien Date: Fri, 1 Mar 2024 15:11:46 +0700 Subject: [PATCH 09/14] [MIG] fs_base_multi_media: Migration to 17.0 --- fs_base_multi_media/__manifest__.py | 2 +- .../static/description/index.html | 1 - .../views/fs_media_relation_mixin.xml | 22 +++++-------------- 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/fs_base_multi_media/__manifest__.py b/fs_base_multi_media/__manifest__.py index 1af9e4cbfa..f1a68ad205 100644 --- a/fs_base_multi_media/__manifest__.py +++ b/fs_base_multi_media/__manifest__.py @@ -5,7 +5,7 @@ "name": "Fs Base Multi Media", "summary": """ Give the possibility to store media data in external filesystem from odoo""", - "version": "16.0.1.0.1", + "version": "17.0.1.0.0", "license": "AGPL-3", "author": "ACSONE SA/NV,Akretion,Odoo Community Association (OCA)", "website": "https://github.com/OCA/storage", diff --git a/fs_base_multi_media/static/description/index.html b/fs_base_multi_media/static/description/index.html index d464cd7a11..ab5cd2c79c 100644 --- a/fs_base_multi_media/static/description/index.html +++ b/fs_base_multi_media/static/description/index.html @@ -1,4 +1,3 @@ - diff --git a/fs_base_multi_media/views/fs_media_relation_mixin.xml b/fs_base_multi_media/views/fs_media_relation_mixin.xml index 308e57cddf..4536c18d5f 100644 --- a/fs_base_multi_media/views/fs_media_relation_mixin.xml +++ b/fs_base_multi_media/views/fs_media_relation_mixin.xml @@ -11,27 +11,15 @@ - - - + + + - + From b0c3894fbde4ce071e37276af0dc34f9a22f8eee Mon Sep 17 00:00:00 2001 From: oca-ci Date: Fri, 31 May 2024 07:23:57 +0000 Subject: [PATCH 10/14] [UPD] Update fs_base_multi_media.pot --- fs_base_multi_media/i18n/fs_base_multi_media.pot | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/fs_base_multi_media/i18n/fs_base_multi_media.pot b/fs_base_multi_media/i18n/fs_base_multi_media.pot index 9947a89a9a..d27f20fd2a 100644 --- a/fs_base_multi_media/i18n/fs_base_multi_media.pot +++ b/fs_base_multi_media/i18n/fs_base_multi_media.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 16.0\n" +"Project-Id-Version: Odoo Server 17.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: \n" "Language-Team: \n" @@ -64,12 +64,6 @@ msgstr "" msgid "ID" msgstr "" -#. module: fs_base_multi_media -#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media____last_update -#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type____last_update -msgid "Last Modified on" -msgstr "" - #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_uid #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_uid From 16cd2e5e30649cbac4cc974c4a4a7e010b0ceb05 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Fri, 31 May 2024 07:26:41 +0000 Subject: [PATCH 11/14] [BOT] post-merge updates --- fs_base_multi_media/README.rst | 2 +- fs_base_multi_media/static/description/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs_base_multi_media/README.rst b/fs_base_multi_media/README.rst index 3cf65e4636..e48b65fd0c 100644 --- a/fs_base_multi_media/README.rst +++ b/fs_base_multi_media/README.rst @@ -7,7 +7,7 @@ Fs Base Multi Media !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:854289aaf0e0ead7af13579fc0fb6eda2958f5386b77f5fbe056915dcc514666 + !! source digest: sha256:b92e52ce0c6d2e1023e6344de7d843d4b8c59dde3d4d91ee84b232b54c2e16c1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png diff --git a/fs_base_multi_media/static/description/index.html b/fs_base_multi_media/static/description/index.html index ab5cd2c79c..a1f33730c5 100644 --- a/fs_base_multi_media/static/description/index.html +++ b/fs_base_multi_media/static/description/index.html @@ -366,7 +366,7 @@

Fs Base Multi Media

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:854289aaf0e0ead7af13579fc0fb6eda2958f5386b77f5fbe056915dcc514666 +!! source digest: sha256:b92e52ce0c6d2e1023e6344de7d843d4b8c59dde3d4d91ee84b232b54c2e16c1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

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

This addon allows you to store media file into external filesystem from From f7795ad217f6d1f205052d2816f5b68e6006c0f2 Mon Sep 17 00:00:00 2001 From: Weblate Date: Fri, 31 May 2024 11:09:58 +0000 Subject: [PATCH 12/14] Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: storage-17.0/storage-17.0-fs_base_multi_media Translate-URL: https://translation.odoo-community.org/projects/storage-17-0/storage-17-0-fs_base_multi_media/ --- fs_base_multi_media/i18n/es.po | 9 +++------ fs_base_multi_media/i18n/it.po | 9 +++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/fs_base_multi_media/i18n/es.po b/fs_base_multi_media/i18n/es.po index a8117de77c..c885c63d9a 100644 --- a/fs_base_multi_media/i18n/es.po +++ b/fs_base_multi_media/i18n/es.po @@ -67,12 +67,6 @@ msgstr "Agrupar Por" msgid "ID" msgstr "ID (identificación)" -#. module: fs_base_multi_media -#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media____last_update -#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type____last_update -msgid "Last Modified on" -msgstr "Última Modificación el" - #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_uid #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_uid @@ -157,3 +151,6 @@ msgstr "Gerente de Medios de Almacenamiento" #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "Type" msgstr "Tipo" + +#~ msgid "Last Modified on" +#~ msgstr "Última Modificación el" diff --git a/fs_base_multi_media/i18n/it.po b/fs_base_multi_media/i18n/it.po index b280d49491..fabc55f9a3 100644 --- a/fs_base_multi_media/i18n/it.po +++ b/fs_base_multi_media/i18n/it.po @@ -67,12 +67,6 @@ msgstr "Raggruppa per" msgid "ID" msgstr "ID" -#. module: fs_base_multi_media -#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media____last_update -#: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type____last_update -msgid "Last Modified on" -msgstr "Ultima modifica il" - #. module: fs_base_multi_media #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media__write_uid #: model:ir.model.fields,field_description:fs_base_multi_media.field_fs_media_type__write_uid @@ -157,3 +151,6 @@ msgstr "Gestore deposito media" #: model_terms:ir.ui.view,arch_db:fs_base_multi_media.fs_media_search_view msgid "Type" msgstr "Tipo" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modifica il" From 8a91243c2c727a7ade17bc932a81328539645faf Mon Sep 17 00:00:00 2001 From: kobros-tech Date: Thu, 21 Aug 2025 01:13:56 +0300 Subject: [PATCH 13/14] [IMP] fs_base_multi_media: pre-commit auto fixes --- fs_base_multi_media/security/fs_media.xml | 1 - .../security/fs_media_type.xml | 1 - fs_base_multi_media/security/res_groups.xml | 10 +- fs_base_multi_media/views/fs_media.xml | 19 ++-- .../views/fs_media_relation_mixin.xml | 4 +- fs_base_multi_media/views/fs_media_type.xml | 100 +++++++++--------- 6 files changed, 62 insertions(+), 73 deletions(-) diff --git a/fs_base_multi_media/security/fs_media.xml b/fs_base_multi_media/security/fs_media.xml index 96539f93ff..f90e4e7b24 100644 --- a/fs_base_multi_media/security/fs_media.xml +++ b/fs_base_multi_media/security/fs_media.xml @@ -2,7 +2,6 @@ - fs.media access read diff --git a/fs_base_multi_media/security/fs_media_type.xml b/fs_base_multi_media/security/fs_media_type.xml index 266b6933a6..f3906470a7 100644 --- a/fs_base_multi_media/security/fs_media_type.xml +++ b/fs_base_multi_media/security/fs_media_type.xml @@ -2,7 +2,6 @@ - fs.media.type access read diff --git a/fs_base_multi_media/security/res_groups.xml b/fs_base_multi_media/security/res_groups.xml index 0973e4d56f..17e42c690e 100644 --- a/fs_base_multi_media/security/res_groups.xml +++ b/fs_base_multi_media/security/res_groups.xml @@ -1,12 +1,10 @@ - - - Storage Media Manager - + Storage Media Manager + - - + diff --git a/fs_base_multi_media/views/fs_media.xml b/fs_base_multi_media/views/fs_media.xml index 7be4187322..06a659dc5b 100644 --- a/fs_base_multi_media/views/fs_media.xml +++ b/fs_base_multi_media/views/fs_media.xml @@ -2,7 +2,6 @@ - fs.media.form fs.media @@ -16,7 +15,7 @@ - + @@ -70,19 +69,17 @@ - Fs Media - fs.media - tree,form - [] - {} - + Fs Media + fs.media + tree,form + [] + {} + - - - diff --git a/fs_base_multi_media/views/fs_media_relation_mixin.xml b/fs_base_multi_media/views/fs_media_relation_mixin.xml index 4536c18d5f..c3fed21350 100644 --- a/fs_base_multi_media/views/fs_media_relation_mixin.xml +++ b/fs_base_multi_media/views/fs_media_relation_mixin.xml @@ -2,7 +2,6 @@ - fs.media.relation.mixin.form fs.media.relation.mixin @@ -22,7 +21,7 @@ - + @@ -39,5 +38,4 @@ - diff --git a/fs_base_multi_media/views/fs_media_type.xml b/fs_base_multi_media/views/fs_media_type.xml index 498fab667e..0eebabaddf 100644 --- a/fs_base_multi_media/views/fs_media_type.xml +++ b/fs_base_multi_media/views/fs_media_type.xml @@ -3,67 +3,65 @@ License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> - fs.media.type - - - - - - - - - - fs.media.type - -

- + fs.media.type + + - -
- - + + + + + + fs.media.type + +
+ + + + +
+
+
- - fs.media.type - - - - - - - + + fs.media.type + + + + + + + - - Media Type - ir.actions.act_window - fs.media.type - tree,form - - [] - {} - + + Media Type + ir.actions.act_window + fs.media.type + tree,form + + [] + {} + - - - - form - - + + + + form + + - - - - tree - - + + + + tree + + - - - From 2ae4f3d4b365b09683743f659d0413af6325cfd1 Mon Sep 17 00:00:00 2001 From: kobros-tech Date: Thu, 21 Aug 2025 01:38:14 +0300 Subject: [PATCH 14/14] [MIG] fs_base_multi_media: Migration to 18.0 --- fs_base_multi_media/README.rst | 39 ++++++++++--------- fs_base_multi_media/__manifest__.py | 2 +- fs_base_multi_media/readme/CONTRIBUTORS.md | 1 + .../static/description/index.html | 22 ++++++----- fs_base_multi_media/views/fs_media.xml | 8 ++-- .../views/fs_media_relation_mixin.xml | 6 +-- fs_base_multi_media/views/fs_media_type.xml | 8 ++-- 7 files changed, 46 insertions(+), 40 deletions(-) diff --git a/fs_base_multi_media/README.rst b/fs_base_multi_media/README.rst index e48b65fd0c..ae4385b18d 100644 --- a/fs_base_multi_media/README.rst +++ b/fs_base_multi_media/README.rst @@ -17,13 +17,13 @@ Fs Base Multi Media :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstorage-lightgray.png?logo=github - :target: https://github.com/OCA/storage/tree/17.0/fs_base_multi_media + :target: https://github.com/OCA/storage/tree/18.0/fs_base_multi_media :alt: OCA/storage .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/storage-17-0/storage-17-0-fs_base_multi_media + :target: https://translation.odoo-community.org/projects/storage-18-0/storage-18-0-fs_base_multi_media :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/storage&target_branch=17.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/storage&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -35,16 +35,16 @@ external filesystems. The models provided by this addon are: -- ``fs.media``: a model that stores a reference to an media stored into - an external filesystem. -- ``fs.media.relation.mixin``: an abstract model that can be used to as - base class for models created to store an media linked to a model. - This abstract model defines fields and methods to transparently - handle 2 cases: +- ``fs.media``: a model that stores a reference to an media stored into + an external filesystem. +- ``fs.media.relation.mixin``: an abstract model that can be used to as + base class for models created to store an media linked to a model. + This abstract model defines fields and methods to transparently handle + 2 cases: - - the media is specific to the model. - - the media is shared between multiple models and therefore is a - ``fs.media`` instance linked to the mixin. + - the media is specific to the model. + - the media is shared between multiple models and therefore is a + ``fs.media`` instance linked to the mixin. .. IMPORTANT:: This is an alpha version, the data model and design can change at any time without warning. @@ -66,9 +66,9 @@ authenticated user, you can only view the shared images. Known issues / Roadmap ====================== -- Add dedicated widget to ease the addition of new media to a model - linked to multiple medias. (As it's the case in the - *storage_image_product* addon) +- Add dedicated widget to ease the addition of new media to a model + linked to multiple medias. (As it's the case in the + *storage_image_product* addon) Bug Tracker =========== @@ -76,7 +76,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -92,8 +92,9 @@ Authors Contributors ------------ -- Sebastien Beau -- Laurent Mignon (https://www.acsone.eu/) +- Sebastien Beau +- Laurent Mignon (https://www.acsone.eu/) +- Mohamed Alkobrosli Maintainers ----------- @@ -116,6 +117,6 @@ Current `maintainer `__: |maintainer-lmignon| -This module is part of the `OCA/storage `_ project on GitHub. +This module is part of the `OCA/storage `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/fs_base_multi_media/__manifest__.py b/fs_base_multi_media/__manifest__.py index f1a68ad205..823fad2f6c 100644 --- a/fs_base_multi_media/__manifest__.py +++ b/fs_base_multi_media/__manifest__.py @@ -5,7 +5,7 @@ "name": "Fs Base Multi Media", "summary": """ Give the possibility to store media data in external filesystem from odoo""", - "version": "17.0.1.0.0", + "version": "18.0.1.0.0", "license": "AGPL-3", "author": "ACSONE SA/NV,Akretion,Odoo Community Association (OCA)", "website": "https://github.com/OCA/storage", diff --git a/fs_base_multi_media/readme/CONTRIBUTORS.md b/fs_base_multi_media/readme/CONTRIBUTORS.md index fe7eb15e51..f69953363d 100644 --- a/fs_base_multi_media/readme/CONTRIBUTORS.md +++ b/fs_base_multi_media/readme/CONTRIBUTORS.md @@ -1,3 +1,4 @@ - Sebastien Beau \<\> - Laurent Mignon \<\> () +- Mohamed Alkobrosli \<\> diff --git a/fs_base_multi_media/static/description/index.html b/fs_base_multi_media/static/description/index.html index a1f33730c5..31a3aab469 100644 --- a/fs_base_multi_media/static/description/index.html +++ b/fs_base_multi_media/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -368,7 +369,7 @@

Fs Base Multi Media

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:b92e52ce0c6d2e1023e6344de7d843d4b8c59dde3d4d91ee84b232b54c2e16c1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

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

+

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

This addon allows you to store media file into external filesystem from odoo. It also provides is a technical mixin model to ease the creation of other models that need to be linked to multiple medias stored into @@ -379,8 +380,8 @@

Fs Base Multi Media

an external filesystem.
  • fs.media.relation.mixin: an abstract model that can be used to as base class for models created to store an media linked to a model. -This abstract model defines fields and methods to transparently -handle 2 cases:
      +This abstract model defines fields and methods to transparently handle +2 cases:
      • the media is specific to the model.
      • the media is shared between multiple models and therefore is a fs.media instance linked to the mixin.
      • @@ -426,7 +427,7 @@

        Bug Tracker

        Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

        +feedback.

        Do not contact contributors directly about support or help with technical issues.

        @@ -443,18 +444,21 @@

        Contributors

        Maintainers

        This module is maintained by the OCA.

        -Odoo Community Association + +Odoo Community Association +

        OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

        Current maintainer:

        lmignon

        -

        This module is part of the OCA/storage project on GitHub.

        +

        This module is part of the OCA/storage project on GitHub.

        You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

        diff --git a/fs_base_multi_media/views/fs_media.xml b/fs_base_multi_media/views/fs_media.xml index 06a659dc5b..2d5dad1a71 100644 --- a/fs_base_multi_media/views/fs_media.xml +++ b/fs_base_multi_media/views/fs_media.xml @@ -56,22 +56,22 @@ - fs.media.tree + fs.media.list fs.media - + - + Fs Media fs.media - tree,form + list,form [] {} diff --git a/fs_base_multi_media/views/fs_media_relation_mixin.xml b/fs_base_multi_media/views/fs_media_relation_mixin.xml index c3fed21350..c9e77e2b03 100644 --- a/fs_base_multi_media/views/fs_media_relation_mixin.xml +++ b/fs_base_multi_media/views/fs_media_relation_mixin.xml @@ -29,13 +29,13 @@ - fs.media.relation.mixin.tree + fs.media.relation.mixin.list fs.media.relation.mixin - + - + diff --git a/fs_base_multi_media/views/fs_media_type.xml b/fs_base_multi_media/views/fs_media_type.xml index 0eebabaddf..9cac6ba769 100644 --- a/fs_base_multi_media/views/fs_media_type.xml +++ b/fs_base_multi_media/views/fs_media_type.xml @@ -5,10 +5,10 @@ fs.media.type - + - + @@ -38,7 +38,7 @@ Media Type ir.actions.act_window fs.media.type - tree,form + list,form [] {} @@ -54,7 +54,7 @@ - tree + list