Skip to content

Commit

Permalink
Merge f95ab6f into 4b57b1b
Browse files Browse the repository at this point in the history
  • Loading branch information
sergio-teruel committed May 19, 2019
2 parents 4b57b1b + f95ab6f commit 786573a
Show file tree
Hide file tree
Showing 25 changed files with 1,041 additions and 0 deletions.
85 changes: 85 additions & 0 deletions website_sale_product_detail_attribute_image/README.rst
@@ -0,0 +1,85 @@
===========================================
Website Sale Product Detail Attribute Image
===========================================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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-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%2Fe--commerce-lightgray.png?logo=github
:target: https://github.com/OCA/e-commerce/tree/11.0/website_sale_product_detail_attribute_image
:alt: OCA/e-commerce
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/e-commerce-11-0/e-commerce-11-0-website_sale_product_detail_attribute_image
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/113/11.0
:alt: Try me on Runbot

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

This module extends the functionality of website sale module to allow display
product attributes images in shop product detail.

**Table of contents**

.. contents::
:local:

Usage
=====

* Go to 'Website > Settings > Configuration > Products > Attributes'.
* Set an image in 'Website image' field to display this attribute in shop
product detail.
* Check 'Display in shop product detail' field to display this attribute in
shop product detail.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/e-commerce/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/e-commerce/issues/new?body=module:%20website_sale_product_detail_attribute_image%0Aversion:%2011.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
~~~~~~~

* Tecnativa

Contributors
~~~~~~~~~~~~

* `Tecnativa <https://www.tecnativa.com>`_:

* Sergio Teruel <sergio.teruel@tecnativa.com>

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/e-commerce <https://github.com/OCA/e-commerce/tree/11.0/website_sale_product_detail_attribute_image>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions website_sale_product_detail_attribute_image/__init__.py
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import controllers
from . import models
25 changes: 25 additions & 0 deletions website_sale_product_detail_attribute_image/__manifest__.py
@@ -0,0 +1,25 @@
# Copyright 2019 Tecnativa - Sergio Teruel
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
'name': 'Website Sale Product Detail Attribute Image',
'summary': 'Display attributes images in shop product detail',
'version': '11.0.1.0.0',
'development_status': 'Beta',
'category': 'Website',
'website': 'https://github.com/OCA/e-commerce',
'author': 'Tecnativa, Odoo Community Association (OCA)',
'license': 'AGPL-3',
'application': False,
'installable': True,
'depends': [
'website_sale',
],
'data': [
'views/assets.xml',
'views/product_attribute_views.xml',
'views/templates.xml',
],
'demo': [
'data/demo.xml',
]
}
@@ -0,0 +1,2 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import main
16 changes: 16 additions & 0 deletions website_sale_product_detail_attribute_image/controllers/main.py
@@ -0,0 +1,16 @@
# Copyright 2019 Tecnativa - Sergio Teruel
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo.addons.website_sale.controllers.main import WebsiteSale
from odoo import http


class WebsiteSaleProductDetailAttributeImage(WebsiteSale):

@http.route()
def product(self, product, category='', search='', **kwargs):
res = super().product(
product, category=category, search=search, **kwargs)
attributes_detail = product.attribute_line_ids.filtered(
lambda x: x.attribute_id.website_product_detail_image_published)
res.qcontext['attributes_detail'] = attributes_detail
return res
72 changes: 72 additions & 0 deletions website_sale_product_detail_attribute_image/data/demo.xml
@@ -0,0 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>

<record id="product_attribute_image_danger" model="product.attribute">
<field name="website_published" eval="True"/>
<field name="name">Dangerousness</field>
<field name="create_variant" eval="False"/>
<field name="website_product_detail_image_published" eval="False"/>
<field name="website_product_detail_image" type="base64" file="website_sale_product_detail_attribute_image/static/src/img/EN388.png"/>
</record>
<record id="product_attribute_image_high" model="product.attribute.value">
<field name="name">High dangerousness</field>
<field name="attribute_id" ref="product_attribute_image_danger"/>
</record>
<record id="product_attribute_image_low" model="product.attribute.value">
<field name="name">Low dangerousness</field>
<field name="attribute_id" ref="product_attribute_image_danger"/>
</record>
<record id="product_attribute_line_image_danger" model="product.attribute.line">
<field name="product_tmpl_id" ref="product.product_product_11_product_template"/>
<field name="attribute_id" ref="product_attribute_image_danger"/>
<field name="value_ids" eval="[(6, 0, [ref('product_attribute_image_high')])]"/>
</record>
<record id="product.product_product_11_product_template" model="product.template">
<field name="attribute_line_ids" eval="[(4, ref('product_attribute_line_image_danger'))]"/>
</record>

<record id="product_attribute_image_policy_one" model="product.attribute">
<field name="website_published" eval="True"/>
<field name="name">Policy One</field>
<field name="website_name">Website Policy One</field>
<field name="create_variant" eval="False"/>
<field name="website_product_detail_image_published" eval="True"/>
<field name="website_product_detail_image" type="base64" file="website_sale_product_detail_attribute_image/static/src/img/EN374.png"/>
</record>
<record id="product_attribute_image_policy_one_1" model="product.attribute.value">
<field name="name">Policy One Value 1</field>
<field name="website_name">Policy One Value 1 for website</field>
<field name="attribute_id" ref="product_attribute_image_policy_one"/>
</record>

<record id="product_attribute_line_image_policy_one" model="product.attribute.line">
<field name="product_tmpl_id" ref="product.product_product_11_product_template"/>
<field name="attribute_id" ref="product_attribute_image_policy_one"/>
<field name="value_ids" eval="[(6, 0, [ref('product_attribute_image_policy_one_1')])]"/>
</record>
<record id="product.product_product_11_product_template" model="product.template">
<field name="attribute_line_ids" eval="[(4, ref('product_attribute_line_image_policy_one'))]"/>
</record>

<record id="product_attribute_image_policy_two" model="product.attribute">
<field name="website_published" eval="True"/>
<field name="name">Policy Two</field>
<field name="create_variant" eval="False"/>
<field name="website_product_detail_image_published" eval="True"/>
<field name="website_product_detail_image" type="base64" file="website_sale_product_detail_attribute_image/static/src/img/EN374:2003.png"/>
</record>
<record id="product_attribute_image_policy_two_1" model="product.attribute.value">
<field name="name">Policy Two Value 1</field>
<field name="attribute_id" ref="product_attribute_image_policy_two"/>
</record>

<record id="product_attribute_line_image_policy_two" model="product.attribute.line">
<field name="product_tmpl_id" ref="product.product_product_11_product_template"/>
<field name="attribute_id" ref="product_attribute_image_policy_two"/>
<field name="value_ids" eval="[(6, 0, [ref('product_attribute_image_policy_two_1')])]"/>
</record>
<record id="product.product_product_11_product_template" model="product.template">
<field name="attribute_line_ids" eval="[(4, ref('product_attribute_line_image_policy_two'))]"/>
</record>

</odoo>
108 changes: 108 additions & 0 deletions website_sale_product_detail_attribute_image/i18n/es.po
@@ -0,0 +1,108 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * website_sale_product_detail_attribute_image
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-17 08:52+0000\n"
"PO-Revision-Date: 2019-05-17 10:54+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.6\n"

#. module: website_sale_product_detail_attribute_image
#: model:product.attribute,name:website_sale_product_detail_attribute_image.product_attribute_image_danger
msgid "Dangerousness"
msgstr "Peligrosidad"

#. module: website_sale_product_detail_attribute_image
#: model:ir.model.fields,help:website_sale_product_detail_attribute_image.field_product_attribute_website_product_detail_image_published
msgid "Display attribute image in shop online product detail"
msgstr "Mostrar la imagen del atributo en el detalle del producto de la tienda online"

#. module: website_sale_product_detail_attribute_image
#: model:product.attribute.value,name:website_sale_product_detail_attribute_image.product_attribute_image_high
msgid "High dangerousness"
msgstr "Peligrosidad alta"

#. module: website_sale_product_detail_attribute_image
#: model:ir.model.fields,help:website_sale_product_detail_attribute_image.field_product_attribute_website_product_detail_image
msgid "Image of the attribute for shop online product detail."
msgstr "Imagen del atributo en el detalle del producto de la tienda online."

#. module: website_sale_product_detail_attribute_image
#: model:product.attribute.value,name:website_sale_product_detail_attribute_image.product_attribute_image_low
msgid "Low dangerousness"
msgstr "Peligrosidad baja"

#. module: website_sale_product_detail_attribute_image
#: model:product.attribute,name:website_sale_product_detail_attribute_image.product_attribute_image_policy_one
msgid "Policy One"
msgstr "Regla uno"

#. module: website_sale_product_detail_attribute_image
#: model:product.attribute.value,name:website_sale_product_detail_attribute_image.product_attribute_image_policy_one_1
msgid "Policy One Value 1"
msgstr "Regla uno valor 1"

#. module: website_sale_product_detail_attribute_image
#: model:product.attribute.value,website_name:website_sale_product_detail_attribute_image.product_attribute_image_policy_one_1
msgid "Policy One Value 1 for website"
msgstr "Regla uno valor 1 website"

#. module: website_sale_product_detail_attribute_image
#: model:product.attribute,name:website_sale_product_detail_attribute_image.product_attribute_image_policy_two
msgid "Policy Two"
msgstr "Regla dos"

#. module: website_sale_product_detail_attribute_image
#: model:product.attribute.value,name:website_sale_product_detail_attribute_image.product_attribute_image_policy_two_1
msgid "Policy Two Value 1"
msgstr "Regla dos valor 1"

#. module: website_sale_product_detail_attribute_image
#: model:ir.model,name:website_sale_product_detail_attribute_image.model_product_attribute
msgid "Product Attribute"
msgstr "Atributo de producto"

#. module: website_sale_product_detail_attribute_image
#: model:ir.model.fields,field_description:website_sale_product_detail_attribute_image.field_product_attribute_website_product_detail_image_published
msgid "Publish in website"
msgstr "Mostrar en producto"

#. module: website_sale_product_detail_attribute_image
#: model:product.attribute,website_name:website_sale_product_detail_attribute_image.product_attribute_image_policy_one
msgid "Website Policy One"
msgstr "Regla uno website"

#. module: website_sale_product_detail_attribute_image
#: model:ir.model.fields,field_description:website_sale_product_detail_attribute_image.field_product_attribute_website_product_detail_image
msgid "Website detail image"
msgstr "Imagen detalle website"

#. module: website_sale_product_detail_attribute_image
#: model:ir.model.fields,field_description:website_sale_product_detail_attribute_image.field_product_attribute_website_name
msgid "Website name"
msgstr "Nombre para website"

#. module: website_sale_product_detail_attribute_image
#: model:ir.ui.view,arch_db:website_sale_product_detail_attribute_image.product_attribute_view_form
msgid "Website product image detail"
msgstr "Imagen detalle producto para website"

#. module: website_sale_product_detail_attribute_image
#: model:ir.model.fields,field_description:website_sale_product_detail_attribute_image.field_product_attribute_value_website_name
msgid "Website value"
msgstr "Valor para website"

#. module: website_sale_product_detail_attribute_image
#: model:ir.model,name:website_sale_product_detail_attribute_image.model_product_attribute_value
msgid "product.attribute.value"
msgstr ""

0 comments on commit 786573a

Please sign in to comment.