Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[18.0][MIG] fs_base_multi_image #447

Open
wants to merge 38 commits into
base: 18.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
cdf15c2
[ADD] fs_product_multi_image: a drop-in replacement of storage_image_…
lmignon Sep 5, 2023
3864c36
[UPD] Update fs_base_multi_image.pot
Sep 24, 2023
b04fc82
[BOT] post-merge updates
OCA-git-bot Sep 24, 2023
e42c584
Added translation using Weblate (Spanish)
Ivorra78 Oct 27, 2023
550603d
Translated using Weblate (Spanish)
Ivorra78 Oct 27, 2023
ccb2d91
Added translation using Weblate (Italian)
mymage Nov 27, 2023
46dfa52
Translated using Weblate (Italian)
mymage Nov 28, 2023
32d77de
[FIX] updated image and image_medium label to prevent odoo warning wi…
benwillig Jan 17, 2024
a2919c3
[UPD] Update fs_base_multi_image.pot
Jan 17, 2024
508225f
[BOT] post-merge updates
OCA-git-bot Jan 17, 2024
9314f07
Update translation files
weblate Jan 17, 2024
be55682
Translated using Weblate (Italian)
mymage Jan 18, 2024
341ac74
[FIX] Creating new relation records in the UI with link_existing trig…
benwillig Jan 23, 2024
efeb4f0
[ADD] new widget to allow image upload through drag and drop or file …
benwillig Jan 23, 2024
8da9165
[ADD] allow user to select where he want to store the image
benwillig Jan 23, 2024
af0af03
[IMP] block the UI during the upload
benwillig Jan 23, 2024
f220f97
[UPD] Update fs_base_multi_image.pot
Jan 25, 2024
5ebe46c
[BOT] post-merge updates
OCA-git-bot Jan 25, 2024
53120f6
Update translation files
weblate Jan 25, 2024
89a3e2f
Translated using Weblate (Spanish)
Ivorra78 Jan 27, 2024
4a425be
Translated using Weblate (Italian)
mymage Feb 1, 2024
346372c
Added translation using Weblate (French)
benwillig Feb 15, 2024
cef457b
Translated using Weblate (French)
benwillig Feb 15, 2024
5d52282
Translated using Weblate (French)
benwillig Feb 19, 2024
3e671f5
[IMP] fs_base_multi_image: pre-commit auto fixes
nguyenminhchien Feb 28, 2024
934ba0e
[MIG] fs_base_multi_image: Migration to 17.0
nguyenminhchien Feb 29, 2024
ffed759
[UPD] Update fs_base_multi_image.pot
May 3, 2024
ac8a932
[BOT] post-merge updates
OCA-git-bot May 3, 2024
81970cb
Update translation files
weblate May 3, 2024
af24de8
Translated using Weblate (Italian)
mymage May 3, 2024
86b7def
[CHG] use list.addNew to add relation records instead of calling the …
benwillig Jan 29, 2024
44d83f7
[BOT] post-merge updates
OCA-git-bot Oct 28, 2024
2aad575
[IMP] fs_base_multi_image: pre-commit autofixes
rousseldenis Feb 19, 2025
9b1b5dd
[MIG] fs_base_multi_image: Migration to 18.0
rousseldenis Feb 19, 2025
6d9d2b4
[DONT MERGE] test-requirements.txt
rousseldenis Feb 19, 2025
3affe97
[FIX] fs_base_multi_image: Call correct method name
rousseldenis Feb 20, 2025
a4c96d1
[IMP] fs_base_multi_image: Add tests
rousseldenis Feb 20, 2025
641ef9f
[FIX] fs_base_multi_image: Use correct syntax
rousseldenis Feb 20, 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",
}
221 changes: 221 additions & 0 deletions fs_base_multi_image/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
# 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 "fs_image"
msgstr ""

#. 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 ""

#. 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