3
0
Fork 0

[FIX] web_widget_one2many_product_picker: Use variant image

12.0
Alexandre D. Díaz 2020-12-30 17:25:19 +01:00
parent 8425e043e2
commit 56f9c0acf4
4 changed files with 41 additions and 2 deletions

View File

@ -1,2 +1,3 @@
# Copyright 2020 Tecnativa - Alexandre Díaz
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import models

View File

@ -0,0 +1,2 @@
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).
from . import product_product

View File

@ -0,0 +1,36 @@
# Copyright 2020 Tecnativa - Alexandre D. Díaz
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).
from odoo import api, fields, models, tools
class ProductProduct(models.Model):
_inherit = 'product.product'
image_variant_medium = fields.Binary(
"Variant Image Medium (Computed)",
compute='_compute_variant_image',
help="This field holds the image used as image for the product variant"
"or product image medium, limited to 512x512px.",
)
image_variant_big = fields.Binary(
"Variant Image Big (Computed)",
compute='_compute_variant_image',
help="This field holds the image used as image for the product variant"
"or product image, limited to 1024x1024px.",
)
@api.depends('image_variant', 'product_tmpl_id.image')
def _compute_variant_image(self):
for record in self:
if record.image_variant:
resized_images = tools.image_get_resized_images(
record.image_variant,
return_big=False,
return_small=False,
avoid_resize_medium=True)
record.image_variant_medium = resized_images['image_medium']
record.image_variant_big = record.image_variant
else:
record.image_variant_medium = record.product_tmpl_id.image_medium
record.image_variant_big = record.product_tmpl_id.image

View File

@ -90,11 +90,11 @@
</t>
</div>
<span data-field="display_name" class="oe_one2many_product_picker_title position-absolute fixed-bottom p-1" data-esc="display_name" />
<img alt="" class="img img-fluid" t-att-src="image(state.data[field_map.product].data.id,'image_medium')" t-att-data-src-alt="image(state.data[field_map.product].data.id,'image')" />
<img alt="" class="img img-fluid" t-att-src="image(state.data[field_map.product].data.id,'image_variant_medium')" t-att-data-src-alt="image(state.data[field_map.product].data.id,'image_variant_big')" />
</t>
<t t-else="">
<span class="oe_one2many_product_picker_title position-absolute fixed-bottom p-1" t-esc="record_search.display_name" />
<img alt="" class="img img-fluid" t-att-src="image(record_search.id,'image_medium')" t-att-data-src-alt="image(record_search.id,'image')" />
<img alt="" class="img img-fluid" t-att-src="image(record_search.id,'image_variant_medium')" t-att-data-src-alt="image(record_search.id,'image_variant_big')" />
</t>
</div>
<div class="oe_flip_card_back">