Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
638567e
[ADD] fs_product_multi_image: a drop-in replacement of storage_image_…
lmignon Sep 5, 2023
4ea041f
[UPD] Update fs_base_multi_image.pot
Sep 24, 2023
d687cdb
[BOT] post-merge updates
OCA-git-bot Sep 24, 2023
6854101
Added translation using Weblate (Spanish)
Ivorra78 Oct 27, 2023
3d0bf19
Translated using Weblate (Spanish)
Ivorra78 Oct 27, 2023
235ee21
Added translation using Weblate (Italian)
mymage Nov 27, 2023
8c7feaf
Translated using Weblate (Italian)
mymage Nov 28, 2023
5bc8635
[FIX] updated image and image_medium label to prevent odoo warning wi…
benwillig Jan 17, 2024
95c48ed
[UPD] Update fs_base_multi_image.pot
Jan 17, 2024
5fb8ed4
[BOT] post-merge updates
OCA-git-bot Jan 17, 2024
c37c571
Update translation files
weblate Jan 17, 2024
c3f9c5f
Translated using Weblate (Italian)
mymage Jan 18, 2024
1dfd148
[FIX] Creating new relation records in the UI with link_existing trig…
benwillig Jan 23, 2024
44f24dd
[ADD] new widget to allow image upload through drag and drop or file …
benwillig Jan 23, 2024
c46dfc3
[ADD] allow user to select where he want to store the image
benwillig Jan 23, 2024
f0295a9
[IMP] block the UI during the upload
benwillig Jan 23, 2024
94c0835
[UPD] Update fs_base_multi_image.pot
Jan 25, 2024
507ba00
[BOT] post-merge updates
OCA-git-bot Jan 25, 2024
3848178
Update translation files
weblate Jan 25, 2024
58c18b7
Translated using Weblate (Spanish)
Ivorra78 Jan 27, 2024
487fbf8
Translated using Weblate (Italian)
mymage Feb 1, 2024
1941372
Added translation using Weblate (French)
benwillig Feb 15, 2024
db1dc2f
Translated using Weblate (French)
benwillig Feb 15, 2024
86e9cde
Translated using Weblate (French)
benwillig Feb 19, 2024
dea4c58
[IMP] fs_base_multi_image: pre-commit auto fixes
nguyenminhchien Feb 28, 2024
cb99304
[MIG] fs_base_multi_image: Migration to 17.0
nguyenminhchien Feb 29, 2024
7af5bf3
[UPD] Update fs_base_multi_image.pot
May 3, 2024
7425bd4
[BOT] post-merge updates
OCA-git-bot May 3, 2024
c52d441
Update translation files
weblate May 3, 2024
12892cf
Translated using Weblate (Italian)
mymage May 3, 2024
3834be2
[CHG] use list.addNew to add relation records instead of calling the …
benwillig Jan 29, 2024
fb750d9
[BOT] post-merge updates
OCA-git-bot Oct 28, 2024
ec9d159
[UPD] Update fs_base_multi_image.pot
May 16, 2025
941ea6c
Update translation files
weblate May 16, 2025
8a5f094
[IMP] fs_base_multi_image: pre-commit autofixes
rousseldenis Feb 19, 2025
8d2872a
[MIG] fs_base_multi_image: Migration to 18.0
rousseldenis Feb 19, 2025
45e9c89
[DONT MERGE] test-requirements.txt
rousseldenis Feb 19, 2025
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
120 changes: 120 additions & 0 deletions fs_base_multi_image/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
===================
Fs Base Multi Image
===================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:3dfa2fad49331a437e4446272f0ba7166b5e39ee12cc1cac27dc4ed70aff155e
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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/18.0/fs_base_multi_image
:alt: OCA/storage
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/storage-18-0/storage-18-0-fs_base_multi_image
: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=18.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This addon is a technical addon providing a set of models to ease the
creation of other models that need to be linked to multiple images
stored into external filesystems.

The models provided by this addon are:

- ``fs.image``: a model that stores a reference to an image stored into
an external filesystem.
- ``fs.image.relation.mixin``: an abstract model that can be used to as
base class for models created to store an image linked to a model.
This abstract model defines fields and methods to transparently handle
2 cases:

- the image is specific to the model.
- the image is shared between multiple models and therefore is a
``fs.image`` 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 <https://odoo-community.org/page/development-status>`_

**Table of contents**

.. contents::
:local:

Usage
=====

To be able to create and or manages shared images, you must have the
``Image 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 images to a model
linked to multiple images. (As it's the case in the
*storage_image_product* addon)

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/storage/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 <https://github.com/OCA/storage/issues/new?body=module:%20fs_base_multi_image%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

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

Credits
=======

Authors
-------

* ACSONE SA/NV

Contributors
------------

- Laurent Mignon <[email protected]>
- Nguyen Minh Chien <[email protected]>
- Denis Roussel <<[email protected]>

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 <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-lmignon|

This module is part of the `OCA/storage <https://github.com/OCA/storage/tree/18.0/fs_base_multi_image>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions fs_base_multi_image/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
33 changes: 33 additions & 0 deletions fs_base_multi_image/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Copyright 2023 ACSONE SA/NV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Fs Base Multi Image",
"summary": """
Mulitple Images from External File System""",
"version": "18.0.1.0.0",
"license": "AGPL-3",
"author": "ACSONE SA/NV,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/storage",
"depends": [
"fs_image",
],
"data": [
"security/res_groups.xml",
"security/fs_image.xml",
"views/fs_image.xml",
"views/fs_image_relation_mixin.xml",
],
"assets": {
"web.assets_backend": [
"fs_base_multi_image/static/src/fields/"
"fs_image_relation_dnd_upload/fs_image_relation_dnd_upload.esm.js",
"fs_base_multi_image/static/src/fields/"
"fs_image_relation_dnd_upload/fs_image_relation_dnd_upload.scss",
"fs_base_multi_image/static/src/fields/"
"fs_image_relation_dnd_upload/fs_image_relation_dnd_upload.xml",
],
},
"maintainers": ["lmignon"],
"development_status": "Alpha",
}
207 changes: 207 additions & 0 deletions fs_base_multi_image/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,207 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * fs_base_multi_image
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-01-27 14:36+0000\n"
"Last-Translator: Ivorra78 <[email protected]>\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_image
#. odoo-javascript
#: code:addons/fs_base_multi_image/static/src/fields/fs_image_relation_dnd_upload/fs_image_relation_dnd_upload.esm.js:0
#, python-format
msgid "An error occurred during the images upload."
msgstr "Se ha producido un error durante la carga de imágenes."

#. module: fs_base_multi_image
#. odoo-javascript
#: code:addons/fs_base_multi_image/static/src/fields/fs_image_relation_dnd_upload/fs_image_relation_dnd_upload.xml:0
#, python-format
msgid "Choose how you want to store the new images:"
msgstr "Elige cómo quieres almacenar las nuevas imágenes:"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image__create_uid
#: model_terms:ir.ui.view,arch_db:fs_base_multi_image.fs_image_search_view
msgid "Created by"
msgstr "Creado por"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image__create_date
msgid "Created on"
msgstr "Creado el"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image__display_name
msgid "Display Name"
msgstr "Mostrar Nombre"

#. module: fs_base_multi_image
#: model:ir.actions.act_window,name:fs_base_multi_image.fs_image_act_window
msgid "Fs Image"
msgstr "Imagen Fs"

#. module: fs_base_multi_image
#: model:ir.ui.menu,name:fs_base_multi_image.fs_image_menu
msgid "Fs Images"
msgstr "Imágenes Fs"

#. module: fs_base_multi_image
#: model_terms:ir.ui.view,arch_db:fs_base_multi_image.fs_image_search_view
msgid "Group By"
msgstr "Agrupar por"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image__id
msgid "ID"
msgstr "ID (identificación)"

#. module: fs_base_multi_image
#: model:ir.model,name:fs_base_multi_image.model_fs_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image__image
#: model_terms:ir.ui.view,arch_db:fs_base_multi_image.fs_image_form_view
msgid "Image"
msgstr "Imagen"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image_relation_mixin__image_medium
msgid "Image (128)"
msgstr "Imagen (128)"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image_relation_mixin__image
msgid "Image (original)"
msgstr "Imagen (original)"

#. module: fs_base_multi_image
#: model:res.groups,name:fs_base_multi_image.group_image_manager
msgid "Image Manager"
msgstr "Administrador de Imágenes"

#. module: fs_base_multi_image
#: model:ir.model,name:fs_base_multi_image.model_fs_image_relation_mixin
msgid "Image Relation"
msgstr "Relación de Imágenes"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image__image_medium
msgid "Image medium"
msgstr "Imagen mediana"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image__write_uid
msgid "Last Updated by"
msgstr "Última Actualización por"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image__write_date
msgid "Last Updated on"
msgstr "Última Actualización el"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image_relation_mixin__link_existing
msgid "Link Existing"
msgstr "Enlace Existente"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image_relation_mixin__image_id
msgid "Linked image"
msgstr "Imagen vinculada"

#. module: fs_base_multi_image
#: model_terms:ir.ui.view,arch_db:fs_base_multi_image.fs_image_search_view
msgid "MimeType"
msgstr "Tipo Mimo"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image__mimetype
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image_relation_mixin__mimetype
msgid "Mimetype"
msgstr "Tipo Mimo"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image__name
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image_relation_mixin__name
#: model_terms:ir.ui.view,arch_db:fs_base_multi_image.fs_image_search_view
msgid "Name"
msgstr "Nombre"

#. module: fs_base_multi_image
#. odoo-javascript
#: code:addons/fs_base_multi_image/static/src/fields/fs_image_relation_dnd_upload/fs_image_relation_dnd_upload.xml:0
#, python-format
msgid "Reusable images"
msgstr "Imágenes reutilizables"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image_relation_mixin__sequence
msgid "Sequence"
msgstr "Secuencia"

#. module: fs_base_multi_image
#. odoo-javascript
#: code:addons/fs_base_multi_image/static/src/fields/fs_image_relation_dnd_upload/fs_image_relation_dnd_upload.xml:0
#, python-format
msgid "Specific"
msgstr "Específico"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image_relation_mixin__specific_image
msgid "Specific Image"
msgstr "Imagen Específica"

#. module: fs_base_multi_image
#: model:ir.model.fields,field_description:fs_base_multi_image.field_fs_image_relation_mixin__specific_image_medium
msgid "Specific Image (128)"
msgstr "Imagen Específica (128)"

#. module: fs_base_multi_image
#. odoo-javascript
#: code:addons/fs_base_multi_image/static/src/fields/fs_image_relation_dnd_upload/fs_image_relation_dnd_upload.xml:0
#, python-format
msgid "You can drag and drop images to create new records or"
msgstr "Puede arrastrar y soltar imágenes para crear nuevos registros o"

#. module: fs_base_multi_image
#. odoo-python
#: code:addons/fs_base_multi_image/models/fs_image_relation_mixin.py:0
#, python-format
msgid "You must set an image"
msgstr "Usted debe establecer una imagen"

#. module: fs_base_multi_image
#. odoo-javascript
#: code:addons/fs_base_multi_image/static/src/fields/fs_image_relation_dnd_upload/fs_image_relation_dnd_upload.xml:0
#, python-format
msgid "click here"
msgstr "pulse aquí"

#. module: fs_base_multi_image
#. odoo-javascript
#: code:addons/fs_base_multi_image/static/src/fields/fs_image_relation_dnd_upload/fs_image_relation_dnd_upload.xml:0
#, python-format
msgid "to select image files."
msgstr "para seleccionar archivos de imagen."

#~ msgid "Last Modified on"
#~ msgstr "Última Modificación el"

#, python-format
#~ msgid "Cannot set image on a linked image"
#~ msgstr "No se puede establecer la imagen en una imagen vinculada"

#~ msgid "Image 128"
#~ msgstr "Imagen 128"

#~ msgid "Specific Image 128"
#~ msgstr "Imagen Específica 128"
Loading
Loading