forked from Techsystech/web
[FIX] web_widget_one2many_product_picker: Use variant image
parent
8425e043e2
commit
56f9c0acf4
|
@ -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
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).
|
||||
from . import product_product
|
|
@ -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
|
|
@ -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">
|
||||
|
|
Loading…
Reference in New Issue