From 69c4e43ecf87bb17d002526070b1ceb19cc6ac35 Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 19 Jun 2025 19:30:56 +0000 Subject: [PATCH 1/2] [BOT] post-merge updates --- README.md | 2 +- web_widget_x2many_2d_matrix/README.rst | 8 +++- web_widget_x2many_2d_matrix/__manifest__.py | 2 +- .../static/description/index.html | 38 +++++++++++-------- 4 files changed, 30 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index a0e9f9eb4949..1351f981c5d2 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ addon | version | maintainers | summary [web_widget_numeric_step](web_widget_numeric_step/) | 18.0.1.0.2 | rafaelbn yajo | Web Widget Numeric Step [web_widget_open_tab](web_widget_open_tab/) | 18.0.1.0.0 | | Allow to open record from trees on new tab from tree views [web_widget_product_label_section_and_note_name_visibility](web_widget_product_label_section_and_note_name_visibility/) | 18.0.1.0.0 | carlos-lopez-tecnativa | Alternate the visibility of the product and description. -[web_widget_x2many_2d_matrix](web_widget_x2many_2d_matrix/) | 18.0.1.0.4 | JasminSForgeFlow DavidJForgeFlow | Show list fields as a matrix +[web_widget_x2many_2d_matrix](web_widget_x2many_2d_matrix/) | 18.0.1.0.5 | JasminSForgeFlow DavidJForgeFlow | Show list fields as a matrix [//]: # (end addons) diff --git a/web_widget_x2many_2d_matrix/README.rst b/web_widget_x2many_2d_matrix/README.rst index 360c8f5bf734..7132f33fab74 100644 --- a/web_widget_x2many_2d_matrix/README.rst +++ b/web_widget_x2many_2d_matrix/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + =========================== 2D matrix for x2many fields =========================== @@ -7,13 +11,13 @@ !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:64543f15100bd096a1d8f97028d9d1a9bb8d4de8ba2c2f9bc01fa327022787f5 + !! source digest: sha256:6fcf40990547037c57e7d1cdf1d75e79fb2997ff3e189403eda458d9cb600755 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png :target: https://odoo-community.org/page/development-status :alt: Production/Stable -.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-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%2Fweb-lightgray.png?logo=github diff --git a/web_widget_x2many_2d_matrix/__manifest__.py b/web_widget_x2many_2d_matrix/__manifest__.py index d4612d6c9de7..88b1825f4dae 100644 --- a/web_widget_x2many_2d_matrix/__manifest__.py +++ b/web_widget_x2many_2d_matrix/__manifest__.py @@ -5,7 +5,7 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "2D matrix for x2many fields", - "version": "18.0.1.0.4", + "version": "18.0.1.0.5", "maintainers": ["JasminSForgeFlow", "DavidJForgeFlow"], "development_status": "Production/Stable", "author": ( diff --git a/web_widget_x2many_2d_matrix/static/description/index.html b/web_widget_x2many_2d_matrix/static/description/index.html index 2f63fb93cbcb..59521254ef1a 100644 --- a/web_widget_x2many_2d_matrix/static/description/index.html +++ b/web_widget_x2many_2d_matrix/static/description/index.html @@ -3,7 +3,7 @@ -2D matrix for x2many fields +README.rst -
-

2D matrix for x2many fields

+
+ + +Odoo Community Association + +
+

2D matrix for x2many fields

-

Production/Stable License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

+

Production/Stable License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module allows to show an x2many field with 3-tuples ($x_value, $y_value, $value) in a table

@@ -426,7 +431,7 @@

2D matrix for x2many fields

-

Usage

+

Usage

Use this widget by saying:

 <field name="my_field" widget="x2many_2d_matrix" />
@@ -453,7 +458,7 @@ 

Usage

show_column_totals If field_value is a numeric field, it indicates if you want to calculate column totals. True by default

-

Example

+

Example

You need a data structure already filled with values. Let’s assume we want to use this widget in a wizard that lets the user fill in planned hours for one task per project per user. In this case, we can use @@ -505,7 +510,7 @@

Example

-

Known issues / Roadmap

+

Known issues / Roadmap

  • Support extra attributes on each field cell via field_extra_attrs param. We could set a cell as not editable, required or readonly for @@ -522,16 +527,16 @@

    Known issues / Roadmap

-

Changelog

+

Changelog

-

12.0.1.0.1 (2018-12-07)

+

12.0.1.0.1 (2018-12-07)

  • [FIX] Cells are unable to render property. (#1126)
-

12.0.1.0.0 (2018-11-20)

+

12.0.1.0.0 (2018-11-20)

-

Bug Tracker

+

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 @@ -547,9 +552,9 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Therp BV
  • Tecnativa
  • @@ -559,7 +564,7 @@

    Authors

-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -595,5 +600,6 @@

Maintainers

+ From e9125cbceb70740467e646612eaa41f34697eb3b Mon Sep 17 00:00:00 2001 From: Kevin Dominguez Date: Thu, 19 Jun 2025 18:09:04 -0500 Subject: [PATCH 2/2] [MIG]web_widget_image_download: Migration to 18.0 --- web_widget_image_download/README.rst | 98 ++++ web_widget_image_download/__init__.py | 0 web_widget_image_download/__manifest__.py | 20 + web_widget_image_download/i18n/es.po | 24 + web_widget_image_download/i18n/hr.po | 27 ++ web_widget_image_download/i18n/it.po | 24 + web_widget_image_download/i18n/lt.po | 27 ++ web_widget_image_download/i18n/nl_NL.po | 27 ++ web_widget_image_download/i18n/pt.po | 24 + .../i18n/web_widget_image_download.pot | 22 + web_widget_image_download/i18n/zh_CN.po | 24 + web_widget_image_download/pyproject.toml | 3 + .../readme/CONTRIBUTORS.md | 9 + .../readme/DESCRIPTION.md | 2 + web_widget_image_download/readme/USAGE.md | 6 + .../static/description/icon.png | Bin 0 -> 17095 bytes .../static/description/index.html | 446 ++++++++++++++++++ .../static/src/components/image_field.esm.js | 21 + .../src/xml/web_widget_image_download.xml | 28 ++ 19 files changed, 832 insertions(+) create mode 100644 web_widget_image_download/README.rst create mode 100644 web_widget_image_download/__init__.py create mode 100644 web_widget_image_download/__manifest__.py create mode 100644 web_widget_image_download/i18n/es.po create mode 100644 web_widget_image_download/i18n/hr.po create mode 100644 web_widget_image_download/i18n/it.po create mode 100644 web_widget_image_download/i18n/lt.po create mode 100644 web_widget_image_download/i18n/nl_NL.po create mode 100644 web_widget_image_download/i18n/pt.po create mode 100644 web_widget_image_download/i18n/web_widget_image_download.pot create mode 100644 web_widget_image_download/i18n/zh_CN.po create mode 100644 web_widget_image_download/pyproject.toml create mode 100644 web_widget_image_download/readme/CONTRIBUTORS.md create mode 100644 web_widget_image_download/readme/DESCRIPTION.md create mode 100644 web_widget_image_download/readme/USAGE.md create mode 100644 web_widget_image_download/static/description/icon.png create mode 100644 web_widget_image_download/static/description/index.html create mode 100644 web_widget_image_download/static/src/components/image_field.esm.js create mode 100644 web_widget_image_download/static/src/xml/web_widget_image_download.xml diff --git a/web_widget_image_download/README.rst b/web_widget_image_download/README.rst new file mode 100644 index 000000000000..f8834b846231 --- /dev/null +++ b/web_widget_image_download/README.rst @@ -0,0 +1,98 @@ +=========================== +Web Widget - Image Download +=========================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:2369dd057fe3f7fa3409c5e3bf22611c67217fcf8d26755aa55f9d205ac1cdd8 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github + :target: https://github.com/OCA/web/tree/18.0/web_widget_image_download + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_widget_image_download + :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/web&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module was written to extend the functionality of the image widget +and allows to download it. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module, an example path is: + +1. Go to the section Contacts. +2. Click on a contact. +3. Edit the contact. +4. Click the Download button (on the top left corner). + +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 +------- + +* Tecnativa +* Kaushal Prajapati + +Contributors +------------ + +- `Tecnativa `__: + + - Flavio Corpa + - Jairo Llopis + - Pedro M. Baeza + - Ernesto Tejeda + - Alexandre Díaz + +- Kaushal Prajapati +- Peerapong Supasompob +- Manuel Regidor + +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. + +This module is part of the `OCA/web `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_widget_image_download/__init__.py b/web_widget_image_download/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/web_widget_image_download/__manifest__.py b/web_widget_image_download/__manifest__.py new file mode 100644 index 000000000000..2db1c6b66622 --- /dev/null +++ b/web_widget_image_download/__manifest__.py @@ -0,0 +1,20 @@ +# Copyright 2016 Flavio Corpa +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +{ + "name": "Web Widget - Image Download", + "summary": "Allows to download any image from its widget", + "version": "18.0.1.0.0", + "category": "web", + "website": "https://github.com/OCA/web", + "author": "Tecnativa, Odoo Community Association (OCA), Kaushal Prajapati", + "license": "LGPL-3", + "application": False, + "installable": True, + "depends": ["web"], + "assets": { + "web.assets_backend": [ + "web_widget_image_download/static/src/components/*", + "web_widget_image_download/static/src/xml/*", + ], + }, +} diff --git a/web_widget_image_download/i18n/es.po b/web_widget_image_download/i18n/es.po new file mode 100644 index 000000000000..fb9f40bef123 --- /dev/null +++ b/web_widget_image_download/i18n/es.po @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_widget_image_download +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2021-02-17 14:45+0000\n" +"Last-Translator: claudiagn \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.3.2\n" + +#. module: web_widget_image_download +#. odoo-javascript +#: code:addons/web_widget_image_download/static/src/xml/web_widget_image_download.xml:0 +#, python-format +msgid "Download" +msgstr "Descargar" diff --git a/web_widget_image_download/i18n/hr.po b/web_widget_image_download/i18n/hr.po new file mode 100644 index 000000000000..078def81568f --- /dev/null +++ b/web_widget_image_download/i18n/hr.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_widget_image_download +# +# Translators: +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-13 16:07+0000\n" +"PO-Revision-Date: 2017-07-13 16:07+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: web_widget_image_download +#. odoo-javascript +#: code:addons/web_widget_image_download/static/src/xml/web_widget_image_download.xml:0 +#, python-format +msgid "Download" +msgstr "Preuzimanje" diff --git a/web_widget_image_download/i18n/it.po b/web_widget_image_download/i18n/it.po new file mode 100644 index 000000000000..9d4cd3e823c2 --- /dev/null +++ b/web_widget_image_download/i18n/it.po @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_widget_image_download +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-09-04 18:36+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: web_widget_image_download +#. odoo-javascript +#: code:addons/web_widget_image_download/static/src/xml/web_widget_image_download.xml:0 +#, python-format +msgid "Download" +msgstr "Scarica" diff --git a/web_widget_image_download/i18n/lt.po b/web_widget_image_download/i18n/lt.po new file mode 100644 index 000000000000..923d4dba8f57 --- /dev/null +++ b/web_widget_image_download/i18n/lt.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_widget_image_download +# +# Translators: +# Viktoras Norkus , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-01-25 01:58+0000\n" +"PO-Revision-Date: 2018-01-25 01:58+0000\n" +"Last-Translator: Viktoras Norkus , 2018\n" +"Language-Team: Lithuanian (https://www.transifex.com/oca/teams/23907/lt/)\n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"(n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: web_widget_image_download +#. odoo-javascript +#: code:addons/web_widget_image_download/static/src/xml/web_widget_image_download.xml:0 +#, python-format +msgid "Download" +msgstr "Atsisiūsti" diff --git a/web_widget_image_download/i18n/nl_NL.po b/web_widget_image_download/i18n/nl_NL.po new file mode 100644 index 000000000000..f15070b12580 --- /dev/null +++ b/web_widget_image_download/i18n/nl_NL.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_widget_image_download +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-01 03:35+0000\n" +"PO-Revision-Date: 2017-07-01 03:35+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\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: web_widget_image_download +#. odoo-javascript +#: code:addons/web_widget_image_download/static/src/xml/web_widget_image_download.xml:0 +#, python-format +msgid "Download" +msgstr "Download" diff --git a/web_widget_image_download/i18n/pt.po b/web_widget_image_download/i18n/pt.po new file mode 100644 index 000000000000..0da3a27cad64 --- /dev/null +++ b/web_widget_image_download/i18n/pt.po @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_widget_image_download +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-11-17 14:35+0000\n" +"Last-Translator: Pedro Castro Silva \n" +"Language-Team: none\n" +"Language: pt\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 3.8\n" + +#. module: web_widget_image_download +#. odoo-javascript +#: code:addons/web_widget_image_download/static/src/xml/web_widget_image_download.xml:0 +#, python-format +msgid "Download" +msgstr "Descarregar" diff --git a/web_widget_image_download/i18n/web_widget_image_download.pot b/web_widget_image_download/i18n/web_widget_image_download.pot new file mode 100644 index 000000000000..075d2d5ec597 --- /dev/null +++ b/web_widget_image_download/i18n/web_widget_image_download.pot @@ -0,0 +1,22 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_widget_image_download +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.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: web_widget_image_download +#. odoo-javascript +#: code:addons/web_widget_image_download/static/src/xml/web_widget_image_download.xml:0 +#: code:addons/web_widget_image_download/static/src/xml/web_widget_image_download.xml:0 +#, python-format +msgid "Download" +msgstr "" diff --git a/web_widget_image_download/i18n/zh_CN.po b/web_widget_image_download/i18n/zh_CN.po new file mode 100644 index 000000000000..a29f615ed9a7 --- /dev/null +++ b/web_widget_image_download/i18n/zh_CN.po @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_widget_image_download +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-09-01 17:23+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: web_widget_image_download +#. odoo-javascript +#: code:addons/web_widget_image_download/static/src/xml/web_widget_image_download.xml:0 +#, python-format +msgid "Download" +msgstr "下载" diff --git a/web_widget_image_download/pyproject.toml b/web_widget_image_download/pyproject.toml new file mode 100644 index 000000000000..4231d0cccb3d --- /dev/null +++ b/web_widget_image_download/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/web_widget_image_download/readme/CONTRIBUTORS.md b/web_widget_image_download/readme/CONTRIBUTORS.md new file mode 100644 index 000000000000..f69c80438efe --- /dev/null +++ b/web_widget_image_download/readme/CONTRIBUTORS.md @@ -0,0 +1,9 @@ +- [Tecnativa](https://www.tecnativa.com): + - Flavio Corpa + - Jairo Llopis + - Pedro M. Baeza + - Ernesto Tejeda + - Alexandre Díaz +- Kaushal Prajapati \<\> +- Peerapong Supasompob \<\> +- Manuel Regidor \<\> diff --git a/web_widget_image_download/readme/DESCRIPTION.md b/web_widget_image_download/readme/DESCRIPTION.md new file mode 100644 index 000000000000..e946b6d48720 --- /dev/null +++ b/web_widget_image_download/readme/DESCRIPTION.md @@ -0,0 +1,2 @@ +This module was written to extend the functionality of the image widget +and allows to download it. diff --git a/web_widget_image_download/readme/USAGE.md b/web_widget_image_download/readme/USAGE.md new file mode 100644 index 000000000000..d417fd70c792 --- /dev/null +++ b/web_widget_image_download/readme/USAGE.md @@ -0,0 +1,6 @@ +To use this module, an example path is: + +1. Go to the section Contacts. +2. Click on a contact. +3. Edit the contact. +4. Click the Download button (on the top left corner). diff --git a/web_widget_image_download/static/description/icon.png b/web_widget_image_download/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..65dabfc969bb36290899d851f2262e6dba91d1c5 GIT binary patch literal 17095 zcmX_{bzB=y(D08CAV?udaS4H9MT=VrG-#3HR@@zmyBCL|#i6*n6{kho;!@lSE$;5T z{GRvuJb&CJmt1CdXXj=&GvA4LrzrgliyR98fM>EYNR_A8fd38%=;!DjDF_n(OWF9T`jZ1Ta%(Z$Na9`>J1 zBVz|w7g0EzWtLV>f8XTBz8~eMhQi%fx!6u6+N!v*Ru*>Os=fnkhQE6fSH5Rwy7y@}mi; zJ5RullndCyf$2847XZE4D5gs--EZc<1U2h!&H>XznlP;*K`rk3CBh9d&27O(rvhA@HOse;kM-oJsJHa!AG-)2A0Iom9v{1+0xwpK3605z78(z zs&{CXUrc~N6!nWQnvc4D4%iy> z?n+8UxN~l#x3J?w0Vo3c4uJ&Yy3H#m8-wXk5VjaD;N@Q!#F$ZQDB_pHx zIeg$1sucj1f(F3iZ3AH75>PIH zKtNIYTx82c6^@qUr0C2QVdBUF4W4bLGgOSj4m)zh;^LyusQ2<|e4LLd54m2`F6#UA zMz`9##7B9k(nPYj*~ihxW91ds<;(A%FXyXVw1q zyX9q(IZy&-31sxzvY_T~b?p>M<-48ghn?-oVvf z6J4blmmP<`n&`KVf9QM@F^~Wlh3q8=`e#)%tebYWf7*44M`4o3RaJO1^?I$oF-7`T zXHBrHW7oiC>mOkLuq7?#b-Coe(C>Bl2EvL1fR&40c^_8RUoLwensvEhugL$%e3S+w zb$B2$JVO$WBQvggn#uJkX`wH!#-?2L_(z0{`Xi=eitRLUn$~uFgx7RQpKJDST+I%= z-e^DV;dXA%p?WbCn4i}I*Zj!%k45nDQSXDvfB-ISbj&(ulUu(%R*=93G)P4*{>k$j zl`rIP$Apj;j)g{ofumR2qASEW=)snziU-JnO;g->R&Q5EN9tE@{;j93M1r(+Vo`=u z`pR9e;_$;DKWIG;G4U}a0emQv4*59hlSuftC#a=mO3Cjs3!P8<|93qjt$WM zcQA-uU9Zc2MT{|K_W{e^8)^Q zQu~+3L@*FaiE=j4>lk2Qhsq^87oTRPBdYCy z?d@%Y$3}y}(>r(nOLzY@M!&V&?0Z{a>+-g_Y?5d9CNZ=ZE{Y zmHVdVj{U88y8OJW#Z58yKjQ@2&YJI}kcgnm5p5%~w~-gCwT?7{)B!ft9S0Wv7n?~c ziK^ySH{4>U^*~Ki)5RA&zZxsszn4FzX+wUtzCl=t+GexDaBVAj=Yhsn3abIlHz5@E zEq~noHr?Bu_o?U}PO9&IMG!J(^Yyc1DkTE--n{3zwxz{yS#PE7@jq9FG$m z9k)w|e*az?c#eu*iX8V6l03lXuS^JfVKw06*D@~$7JfYA=EjCWjg$T=Tl(zeJYIJk zdX6eROeyI>8U3&RggxvpJnpCR$3p`VT86AHI(Kg=iWi=9q2cxjelD;YVv(P~iAPp@ z^u0W2JM6sdyzDr>GPvtAXurQ$V07Rh5upN|d38Lg$L=i#?%mRo`(rtO2eT{z&~m+z zv2wS;-*vz5&{e?YmAyvkobSwj@_8?kBMP}LigiD|{vxla^zrY#|Im=w^`uy#y7vMF z1;wGyfUsh=NCfA|uK3`0Pz_Zs5D*I)j2xCh|YR@UN+>JK?EuM-edt{q=m9Ztgtqen8FX zczoc$zlxLIL+vIkR=od1^YDk?2@PH>U9Jo~+41}|-E-m|rdP&OMZ9i~(xLr-7jqt) z#jtxG7j^xz!#gjIzCW4C%=V;Gz#c2>$A};jVidz}zEyz;^S9m<;o&_P3$st11IJ5A z9!DtotZlBGq=?;5irvmWo%@uy_{ARQXF4zN9wz-+22V=!4ib*0Ae^G2zB796YzGVO zm!j@n+XMb03X@mYzjk)omd~pkeAX$HF22`Byu#!UcaD8C`$B2{$G=`N0w`GE!{05u z6~DHL%B_|8#k&kVA0R^Cb)ejDw|V(%4d>tkQuaCpxRJ{$+r z_{e$OG8_>>45P2l4Q?AV99p+KM}0OF9K2M8HtxACM%quGd`|5E^({k}-M=yjED~^r zEYsm*$EkBjJ&#;>w8W8n+|BVheQIbw@s#uQ)Zplw`~9@T!?3~Q@5{$-=f~lN<>hS` zhLw-d*XN@-l(u+z{=mB7n_ff9V|K3G0f3eA)NM# z_@kTu6cMCA05ne_p>XcNfNosQ1Q?_5N~Ro9=J{r$>8 z#em|~@THp}i)H6gQU7BS|6_xd%g(ExPZKP>ay=qV?fG}%MpTiA4nUk`*RaiZABP2i z!vnw#i7lPbjg1Za&VOW2tJzh(nCGMP>$@-2PY=GsBfq=4Sz|t5DoRM6wIPbQM5Llb zJH=wW2Z6-VNVCHQAJa9F1^|B;8oe8;H5qugihH~&8T ziVczgSWTjc(7+(>piB|Z6VIWQ0^~Yd*HKhF!IR(cS0j>C<&Tu1pVow6=kLL&=816O zO`ZXytj0#09T9_G4(o4}6fiHnJB0oIO6%X{kyx1=wC+|puHwk&I^_&nVW~BDZoLj@_?|A$A=Wz zo6q4u$eVXMkE3m%hrddXE+;onJDvNBTD(L+W;k1n zG=19=IYWu=)27$G3;6^_3xoy=df{_*f+{7cC8%Lnr(a&!$Q=d6T#Y`&4%gk*SFvW9KzvPTPLTQF zwX64Pm5Om@QY#EDp-X^IVssa^{!JJk{|g@+?0@%g>3{wuj6peNX^dyM`1N_|V0fx1 zyjzh-1`(3a#x(Zp887>?^7^OoD+^eS?#XwpZeY(Rylwd)Z^Sc_s-!Xj3gEZpmjaC$T}l=iJFIiuX5< z#K{U8)Lme0nVDl*58Y2_nC^$?4PLFTP_jEbyGaa+mP7@*W9{wE_d+o81wA@1+Xg4P zh=OzC9+o;U(CS!W%H9`v4JYg&b$`q0j~AI6@dYI@^51FxSR1Qc zPegcHK&DbKwgD2Pc;$b>tN0-J=q}(%I0HlAbP@oZVT`2|o$#8OY|bA7NB|+T*xDm( zW8D0cj7|U$Ubai(A-pr%)rpC77z{3OO|{wAx1+0WZX$U9j@4#aBH zSPxHFKE!_R)Bl1BTukAk0)P=_PxJOw)~tMzB3lY0Pk>(bcYACr{?GOD0{+q&bw_`5 zr)SA0N#+T@{^WJ%pfe(_Nf0 z^sm}So7R7YjsLy3x^xMP@&5DC z(w-A&Yjtz8GjZmjBv!Z5gEE)@;-(82=UEyp@}jDY!TVBERo97&(_i4}?rbtU+zNHH zsj-t^3&l`4-)O#@dVA>e91LNZ+b8TbJ?Rbg@iMHe-1WL-Bq1>L^t=}S+FdB#8zzVU zlH=co20G`;A=Oe>j<2)OsKw3oalSOJ{5fAnBqZF?&ehkfrlYe_l$8bF5Mi@a!jhb4 zg7F!T{UBq<-5hU-Mv(K693w{b`s!z6vh&M@?=k!1ZrbQj^dA%SqpC=~-^tETe?&o+ z6GV+aC+L52Cl(IZ5LkF;>2s@m+sj%nN;~+AfkzGI5GU)+Dsxi%p4e{iE5MW6!VgRr}wMkn(FPVy5rv9ZUYGwmmWEF&)WTGYX!Zj^h{L}jv<|c#s zaum9|<+~Q2H@!XiSLSDD$%#8k{T$3&OLl$_|Cx)~f9gvsu2qT~L1U-j(J~=z8hw_* z7N5PDueX|d#&=qlWYWZq>$Pv+HVkWOdA0PG^mVE1l?pK~hN-ktcSl^q6#5FqBwrS?5RFajW$wDRVo@6`z%-ef zC@5aCQ=;VeY!&`PEz9u#Q*O|97-gV8$3#?SpWsfQotm}dF63%*D#AT~R&0^<({`NR zs;seTc|RwMAh$hH>~>>)`fFnGh^+(O%@VclV{cl0#6V$TXem9KSvs)$y{@HH8tXU zJKTRU?NaQ2HP(~tTyDX~7koO}alWxWqrY(Ira3bmnFpc8`A7#AX=xBss`pDUAtcCR z&YLS;9!I^c67r%SbvBvEAH?ul8hJJlE415Y)zsSR)}@l4SMjS(I2kh!b!&@fQi}2V zSBXGJXFu(kmuRJ>o1eX#HM*N-&wHcKh8!*c=p9dotjX&3_b_wntQAYCEcrbUy7rrKp^mHaC$4gQaJd$#Ee1Gwy!RaH3xPOsG5oL0W^O2-i(VzI2T1Jzg4 zSas90L|Zs#a?(GbyjNA_&&f*18v0#Qv1?s6qn(-YvrRUkeBxEKHGXB|fqSdPNXUK< zfa!hznvA=dvrB*~)0oC$vTV-# z>HEV9;IqJBynFpk!O?arC%?|RzFf-e13*a4c9!!)YwRaLm5Ef&vG7&}tPt z<|Vc_0!VTqVc7=8KsBG zAjV-s^sIMMixFNU9}AcGY#2S~mh7|5Vj5-BEfcwD(a=$hWhdyx&5|UL2=$7} zw$?AbOp^9$SMzn}>DrluHqQ_ogAIK80!lozwW>0(*Pp`UgpEW|BiuV{zt`Do8M^to zl~*Jvc0L{%i6`*sw~@RxLHg!g1-A5}x1L@;a(EhE? z`(c?^!K8!nJ8cN;Q&G|6&$bSId=ED#r^gcl0u+4I)e-i!mk`a@w84mg?%a?-pb-R5 zPCXckwiM+To7p|bhkyiZ>`XfFVw?j}VF@ax(Xs^epu*m{o@w(r9z^P;5X)QTUef$V zKDn5WeP5l+UDb>GA>1Lbr^wuUJ(BN6>crDJhkAAt=D09%EocCb)qW`2_R*jGsKG%L z_4Tyx%Ui1*ksq-j_<<0zXW!&@5B4b2O|88?k_*4ros^sF$C9(=o+=1`hl0g~cy5!A zS>8$=6A6`ox=}KX+o~IuQfN+{-#EfToUu=_v9Vq4Oy08K+wYXI${lt%SJ{*AzK28y zY6meH2391t!G6)tEV-kdws@TumgS&F*R`?&pUMVOt3^Dj^+LvQk*8u(aHn_<6Ek2 zBr^h}CYx|kRP^naT=UFAmqTYsdgFPeezTIynjiu?N-#U^rlu~b`gIlh%=rjpl_zi9 zYBdwF=rO4<^WI%gl|N4nR`~9M!N9MNBWUc#h&At12!aPQK`{|E4DV&7sB`w_vgcuN z{*CAInW5oAw!r?dtMHA(Fv*}9sV+3ibpUE+b-`7Jp*jEexk zPLWC+*`N}HD9{=U>6uEU-=49v7nP~5ewY6?x^0eC?SfNoyM zL%_RSoP`@MV?vl1`HA5jmgGgA|Lk)T@pUy=J^}q$E%kfO+>s*l&FZ!TBFBynWj7Tn za_|oxl$u=D4rFy`*{F;=c_m z`U>@+fhIxMvw!4v&;s0CObGlJuxK391or$Pnyzuyp_B!i1MJHjzpL^eU&6KodA>-{ z)9TIi<(8J_xZOA z^1Q}Un{ZutytST#a@axB0agw%hd!4bPnvNEaRE478woMvo;$AS2 z%P~;`2!Kp{p2`zvC?ZWyM@OKgYjIiNc=jY|oX> z>ji_8yqNRh-;L+o7Nd6dczjXHW|fUqIqo-0BPVxvdqWK>k!e}(@z=B|9iIrmG(po0 zoS$QMhlZ#+cFN|0F%;5+`D#sB?f(?Lpi+uwng4CKxHF98(HRFs7#lUlx*G}I{czFgNlJj&N6=N!IfCR(M) z=L-1*`APP+>u*3e{mP7>bD`kMPI?|YrJs5og3prQ?AM@ovhdBnb{#RvQHZ}sJ zmMCbc6!n6$^W?a;j$tVz!b_~+fgdse7FnMc9z@odbC6oBS%+A1N+BRT5`b}HKoLZD z)DtMAp`!qntd%Mlps`M@dnAecklV1;TV^p8j#N~VsHc$zuYZt2!KBQiB?@8`&pmw3O%$;9kX-wo zio^z#3zz(elGXqk>)5ujZ#Vl_8)p04f<${AcH79GwrA(PkLnV>4uoBe< zm4zj;uBk6~_I2~ugTCP*h2aqeg<*x4m02=NSAS|)f6aR<%b8`3^w(%<>q-aIZ;pJ` zDtI9gqO;pgpaoIWMSA@s1bG*Q1g?+RE;By`8{S1C+GXTBEDPpLG&7c`cIM}LNe`C- z=a}K?8CmH&m$vHsBLpQO2r}-a{Vn>4j@YPQf`>ki*?LFQXqw5-nfJj`W*ve|?Pkz- zGRT(BuU`cz|7u&f+6{Z-g?|eS zS}j)O2!e@`!HW`BboC=du56E?z~byYC{SedW4=*sZKs1%yf0)qP&ov`qXDdNYd`^j zGZ%)M+j{{ZKrj)jED0BHz>)<&)64J>8KWsR~fQ1+c)7^QYh zAL%aGCx5*K{`!d>o(q|(v3g%l$H-~MSkI&*GCcu+=G%WP0GOcgIr^W*nBlsrNqUq| zJ%)~JHU?r|_s`^PVnb0OOi+3l+!t><0J2`S0R(`i>_4F(5NtsOjU!M&7ZQ@<;^MH3 zUFZ8)*AeYaB234!1bZ=EaI$M_jD^J;Zqd*lMsREvVfC}zAcm`c&wsuqZwS~8f=x(D*PFZUQ% zw!LLSW0@8uk88EZ>jG55146gZ2;bG4#w0m$|L$v z9z3w1Q=MecPNI(A3zV!$S>fXlWtgDAnNUI@a1<0wG^C6?W7h^*v(I%82XX!vDRC2* zbnk#qg^@x@8=&86=`PP|8>e-YMX5wkH9IkTV#@llc*UD+nw9x+ghuO%oOTy<|J5J@ zr|6NbtYwA1gR;}UYZ1=ZXN$a(_1{olFu{NeO8)A26|8~pok-+MUr***Ml)s*eR#>d z1~()cFd>ezk)R6%Mf-jrHv) zIYu1S+xn2S;Cf_1GJY;}R*?T-DJU}O{Xr?JcOEJedcZu6wC*u--|d_V0hPcfDop$u zdVPPZNu%{MAPNc?@(rpdyd0b6!%SZTu;d|b;|cTmq7leW}8vj1R)2_>1M?&-BRn%mND~FuX8W4v7_9VuhW;O zrp(u!6DyuIb={23ST9hDv`p=8XlK8|#&1$68>kd9E*=<+N7kf?{BD$PIvpxaEm|u|dZ3%S($&Jr%bVXIE@6)Q zx>s^cgI`bMDkmC%fV6%u6TAAatnGF7ZJe!R!oA(?T_qdR>5y5rp9{fT1={-_Q$)ez zB~3BUI*$YKlU1@rEP7)q$A9&ktMkjfB(~HN>E63rEH^l9wGg|!rjRVHZ?C0p{COge z^ntK)Qa*RpyY$L%c0R4Iuh-cXI4<6YJ6U<$H0`(t0&QNSu=kdm5y13F8!*X@jS;7R z-yPwwH~0axJU@R_Zc&rydc!SgqzysDkT-KJviy2_rX@B-X&GcSgquZ~rkk6}TWKZK z%AD4~8y6hQPMbE_r)wm5<^7nZS^8}MrW!72lhl(pto*$+@V#vKo6(01D`#{Ht>$-K zWB9`97wz?yp0gz{mD##G4`N5p9BUk(8dl2@4zxQvai=ahgwiU0xvrM zN+i0szM`zK$J<)`Dp}Ak4mG*A^j53WqIhrk#M(tOjojvyNSmo^JcFh4l#}mDPUv5H zaKm>4baNx$sSC~7zyy>9lLe7&? zEmQ>~AgtfQ$Fnp^#FlU;@Y%IbI^7$;IF3twmq~89W>b8Jw>-nAwac?zbRiwPa#FG2 zcjQcSpKF<}r)A5h5mi*0PR>-hTXw8qrw3p&(RvsvMx*?#YsjzrFhUnEoA9v~*EnHM zlH;aF*x)fgP;IWIV#b30Reu1_Yf~09{L1GwrdBDN+Kx^3as)ry^eSCVGOQc{s#`hIKAZ|ff(L_=90(Itu|ER^gO(o8XP ztZ-E!>YG{%wCMc%PxobcobNd{nUTA7(ed!KBM*1thV}tg2I;?Xh)2FEXcfBCue+IQ zrZz2M>QYzNMD|YfP;k`qo?`iv!YEETLq@j7JWiAfqYn53VALI6(=C<3s_=Fp00xA@ zA~dwqdoe#%9V>`}@e9?nH<$GJ6=JC4_>Y#Qy_ru48_s2FnJt8q&)N_Gu}1EiLiDX5 z0Ao^P-OF6>cDmA}WJ;lz)k}$(=ux$>->Q(DPL7*(Y!Am2p*FF1wK4}J6B z1;TAI%E~IRm+SHJCMq!3w5nP+%J}aN9|ulq%c%vM5716n9Ws^b<*n3H)cM~=?*m*{0t-o5i@D*u`CwKIxyNrs_kk=DffD3F)XJE_< zveyx%rz~%L(wUhiyIP|^OPYoXE;&MEEw1~ua)yUA^^DhW_U@1nxn5Qsxt3(`# z|5c9ObZT~8oZlau^_Q?_d@}cZSD-M!lmHDX_gX5AIX~ZiXt;u=W?h=PBv{BMxS*i- zm9W0ekC9Dq+FY5n%?c+9cU&kb+2@|eEyd>%;`*50${yKTRlzl1AZt9)n;M1f*A@Jn zGeW-a%xhN~Gn@p8-g!vkm9cMfb0pzRZ^L~+FKtWeVFwWDA{}RlgWob)_n}pp#?}{j!oU@hMZ2G9F=Y3!P*cV6jbvtb# z*tpypNtRC#QzAqA2J&gEp~|kBzcO*^i%kXF&c^DO-~a*Ew zryAnm!T;eT-no3m-F9xekPU~vpZ109hB986`Sy=L{>T0gSKRtnYpr#=!GXC4O6R_g zFbNbgWW2vwBgWwYvY;Q#{CE;_52(C}=CmPG|-*bp&6 zh~GE?|28C3fMaF0w!q{Xn%1Mo0E%w2J&aYtCqNAb%J_Uphix_`jwnTwuGDm1N|~Am zOj{_+(Ha@c3(pZQpq~LcfK2JCohoiy)*e}Nhh>?V>*K(~_R#vu4^-31dIfE5ViHpm zp7xC!3jM1S&DZNqB(?61jaDiAW|iU%eBbo7AfJ-5O?5I)8TgmmEW3Ldt#{@cDO zE}D5OF$)s;0 zjZuXqd!GXB15Wlm-YSvWL3p*ogvP?(q+V7wPWShoxZ^vGTtnAvh>Z@joaLA+dAX(a zDw8AWr*!oA#9(Er(F%VS{@xrs#6v}OaRZ;o)JVi1+%FQ4p}nlrp2?ONre4~=LtrNe z+xHeN14!t*!iXA&cBmEItEU(P$>N-JzSwbXoOWDtVqak}$JhJkGp~2Gb&C58XS32u zo1^lWggdA|8E>vtjQ+Ugx?=`;7ON(k>8W#bb3>r1vdpoH>jHIrMw>hegeK8k%eOz| z@o%|a8CAxZL`KLk$1F>ljCxl$Xdr3dx9o3Q5d?(d&&w8%lau0sr8b@t$3rAQ!E>xP ztI&U?KnRrF#%>aM%)3oSNt0}hsvGND{w@IR=c`RAy7X2j?F1AS*o^3u_XAb+{>Y)& z@zu}mxjEgO+dI@5y+aC&pk#{~EoBy2ZuH|3W*~n-`God_wO%EuaC?5oT3x-vp5Je9 zJ)=v&UPd^$H6Qld#7fOJcTb9MoF(!>_EgR!DI5rsJz`SPqUD=5N}%_wX17^Vu(6?O zKdiSY&S|-s{eAy0f0u$H=jsj>W125+#lyLHW_M)7?pc_4?&Pk9>oY*E6lq0#yo_-u z2#&0i@Zcn!a?LW+Huc_pe`J(r#WNH#y0IhIN<&N5ozI2taMiyC@w&S8uT;C*mlmB>PaB#mReK9)P`B$=em}5^@Z$ZHG zBqEGj^mvSpvGWll+j;+dpv|`|y^dIL_w4V_MC{woRUHRHL*9yM|4e2m1wQ;ftF(0>`vo08i~>wtOv4|Tc!9we@~{swF_edTR=$F@pS7dDgn!c%nxxO z^$j$>doTDiOsD+qfk*1%yLK=^ctE3Vf*QEJx%4MN7Tjo3OJyGBcekGNFnRenx3O_? zyw1P$;Zz}>-toZQu*8gfCQ7NF{tY!QA@gTNqrfyu`2Ld~;Aptw07Jzw|U>r3zTo#^TbT1tH}S z6^$}Ug=w7LhrHIIS4VH+d{(Q)0!p6H$1I!OU4zG){H0QT|1x1=VNE`TudS{APX5g^ zj}M!70f5h5KF$3}Fy6!7=)=_UZq-wIAqfp$WJT_v#GJh8sh)!5;pcxD6v>n>Rgk11 zr1NUr6f1Cj>-RB%L!(~972QsncIl6QdAuGR%J@>`NYt~n=SOz`t|Y;jbQf99>gs~K zd1)~CHv*qk==*5Q))q;A`}RE29c8)3^Zs?QS)F&EnaN&Qa= zMA^}1h()fDAUt>~gCH=|BwJsRVPRvl>woS4*f(%^KWi!AwffdTOSJjJzUx4B>jq2m zlO-f6!*M|Qd9(A2H#?f0b+xrl`;D4iJF&tvS8JaimbxC@t3A(c4t>tEJo)ixp+@QE zBQX`u85tD$%H#WP9dS#c@0%Cw(shhEl4Ugyo$$J}C~7HS2dA{Q`x{(Hvl`uJPhc@Ads+9JK>cUXm=;45W$Y}UG@cV2!YoRy+IV|69*-WF%7%#cZW+Ht z{Hk$Gr}xaZcd);U^L|)~^SgReKRFqef~%qKyfH<%yPIJ#lGXX=>b!aJ!{Fi~CH`~C z+OMrmt#uzZhPGR)QjN;^hleZ_b2>K1YleM%HR+ORe%lyLeDjw~mFNx7HFo?IwkNIE1Gl%Xw zWv!Pcmk+}$4+j^X-$Dmn!eBxA}n38ElrSp+2U9uRd8GUC3NDoFe zkyRnZLO8&T1fxXwy@2AY?0LsQrj#RxO=JbOxWwQp~1ifjsI*FQHm|{W8Lf-3WH6Geh_A8N5>96)T%9Iq`MW0E9+s`SWFv7ST0hg_J%?k=Dr(L7&pw48m%{X-`An6t5_F(Bzaw@g+zK@bKQ4$8yq7sbHG2Tz4Zb9o(h zy+8pBqkXXgD_s>#vYO%X83UfAR_??T?Ci^~u}up96p`+>Au)x_{i}An;R@~CNZ^N1 z*0`mqib6?K6Q9`KA3R-~!>f2rDlH*L!^gm{U%$@H&0T-}`cwz;MCWcN=G>f>P8ORN zTL@>_PtLZM-QGW(oekaG=olwFF&lJYcq?AJl{5OTdtNyg-IQVI3Uu;+2c;L}0Yt9oE91b10OPL01bIv&2ri%V#aUh^<%f ziGv=1!*gpqE=EF&?9=-_X`q~n*U#|-+}5B6D%rvj?zZ{0Lpb5%X>$q%OYgfDSSheY z|3VY!xgw}>KVJGD)Mw~sJf6fjh`3xq;s3O$sWww@5i@?U2);DRKjlO>Y6lyZuCFv^c`3R>&7j4C~>9omGx!@2M50`VvS;A zC!B1BE}*v(GTP*sFN6ljgoC9H^ks~a*~gef)R ze#9}YyGF_>vs%yoxj)`-PM1sKF-qu)2}?41k>x)6FZLfN~Ur{QMkZi=S5>!*WGGxxZ`TKaf)de9!=+VQ3f8( z>!cS}%lmL<6_&yJqFPC1N-@9ny~WHZ&xGk7vK4)z$hKKeS~weJe2!s-m2Jc2y?(0qWg@y$Heqci6?IWh9#j(;2$6S z28zQ(X;1*u=cH)`RhvTe@B8Zmabml3qYaHwUkb`tCs`E|3rcMO&VEY44}WiVs|@tC zv$E0_<`;#Yk_Bf&^2S5?aj%7hg>TnLR@~MV1~xZ0+Z(mh`9@wAwl2-JRz-7#;ZnWo z7qA$J_+5*M5r7mRR`~okHNquS@3-c@rZRvKPKL9GUM)DV1wEM>av<^ra^dw_o1Qr< zz^RC~J|e2X9v2>h1rFDS4lG}J&UOVHyOT{hs$dI^!{cFSNZw>nxn zle_nuHT|{IHj6&{8KuF`97-$CS)QleyqnEl)blr9z>$j;t!81{x-#th6Yfm_*vT8Z zjgXnhCjiEivwj?pYo9w;Ma3RHIa-eUDP}Zh9UT2);gQ|p;xF_N8~wY0c+Ai8w# za{H4%CiaC>Gl8#V((ky)C}#ZrJrym(!qM6-wA2o01SG*={#d8W$Py+s@ZRUruDOutQ_iESS6y&E%oMODgj?{@wwZFi z`NCwT_pql0xKH>Z~VhZZq2aB@SMO}X*!V^J?( zMse1^c!i`6Fy3MV^H$;$tL-NG9@*j}pe{=Xv?n7@RnNL!R*wic5Mb@PcfUKSl_2ZEALtp!LG8QPxm zh?4rz1M5Fci>-c*UtElgTvUg3-JgAr%O6icvDLvVw+;&rI+l1p{rxv5ieSf#+uWrM~(N!5SgP$$0tU!Z@3%Iy&dq{9+3MKz8h58{v zk}M}9BK?g)B~_aWs!@=>LMWlPi#7I8WjHnRt6R|^)}1hPJKCP9#}^MajNI*T(2Ye+ z)S6x3tGv`l6wz?R#Xi9D%F14knyahRjt_pW?z}&^Z6|Gis)_jC*O$TH^?5KdIvelX z*!o4)TPFaM1|MEfA~&uurlk!B0{kvDR$FPC9~ZSOZqXrybEEH5ECikF-;ZQ8N&de8 z-~k{0ZJ7uOSw#1=ByS*0aq#w5Vzby=h*Cc#9OAt)=KEj*(H!#ZSz)g)6mAkC9C@A_ zV^2=buCA_jCX>&fKebI$*GuQz{{H^s$B&m)B_ex!dzY72?~acnzD2Dyt)%Mnb??0{ z=HL0C)Z0>+Gy@S6=CqzK&d=J2nEl1{97HmgSz{?)nj20*&`ir>v6#>2v)PQuGE1ms z>`Ii9!xa=FI@Vot3BNsL1tU*76X3rV;r=sN!<51eqZvbn0B}0JoL)``#h_X)5irm4 z(P&f@Mbp&R*H`oT3;>Am;NV~~*;Ne?HCmEpg2s}gpf0J=y-NLweG00Oekyz=*ca6t3|n}%BpVax~_fCnR<}_CHgFs z*t0ClvwScd42nT9D6%ZeT&7B3!{-cHQIizOQ0B5m50sAuFc0ztqAH=KqM6I`JkRn> zcRrgp13AG2gS9F4j)VwEWoz<(+jIp6=4M7)1=!Ig! zf)_R#gdEU=e6b(^kwFZ8R*J!-g>WU105OW73va4 + + + + +Web Widget - Image Download + + + +
+

Web Widget - Image Download

+ + +

Beta License: LGPL-3 OCA/web Translate me on Weblate Try me on Runboat

+

This module was written to extend the functionality of the image widget +and allows to download it.

+

Table of contents

+ +
+

Usage

+

To use this module, an example path is:

+
    +
  1. Go to the section Contacts.
  2. +
  3. Click on a contact.
  4. +
  5. Edit the contact.
  6. +
  7. Click the Download button (on the top left corner).
  8. +
+
+
+

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

+
    +
  • Tecnativa
  • +
  • Kaushal Prajapati
  • +
+
+
+

Contributors

+ +
+
+

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.

+

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

+

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

+
+
+
+ + diff --git a/web_widget_image_download/static/src/components/image_field.esm.js b/web_widget_image_download/static/src/components/image_field.esm.js new file mode 100644 index 000000000000..09ae3889538c --- /dev/null +++ b/web_widget_image_download/static/src/components/image_field.esm.js @@ -0,0 +1,21 @@ +/** @odoo-module **/ + +/* Copyright 2016 Flavio Corpa + * Copyright 2016 Jairo Llopis + * Copyright 2024 Manuel Regidor + * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */ + +import {patch} from "@web/core/utils/patch"; +import {ImageField} from "@web/views/fields/image/image_field"; + +patch(ImageField.prototype, { + download() { + const downloadLink = document.createElement("a"); + downloadLink.setAttribute("href", this.getUrl(this.props.name)); + downloadLink.setAttribute("download", ""); + downloadLink.click(); + }, + onFileDownload() { + this.download(); + }, +}); diff --git a/web_widget_image_download/static/src/xml/web_widget_image_download.xml b/web_widget_image_download/static/src/xml/web_widget_image_download.xml new file mode 100644 index 000000000000..69811e611be9 --- /dev/null +++ b/web_widget_image_download/static/src/xml/web_widget_image_download.xml @@ -0,0 +1,28 @@ + + +