[IMP] make Open Packaging a Toggle

This commit is contained in:
Niels Göttsch 2024-10-04 19:35:38 +02:00
parent 50f0336d87
commit aa31ea501a
2 changed files with 17 additions and 5 deletions

View file

@ -14,6 +14,11 @@ class WebsiteSaleMinMax(WebsiteSale):
class WebsiteSale(WebsiteSale): class WebsiteSale(WebsiteSale):
def _get_additional_shop_values(self, values):
new_values = super()._get_additional_shop_values(values)
new_values["open_packagings"] = True if request.httprequest.args.get("open_packagings") else False
return new_values
def _get_search_options( def _get_search_options(
self, category=None, attrib_values=None, pricelist=None, min_price=0.0, max_price=0.0, conversion_rate=1, **post self, category=None, attrib_values=None, pricelist=None, min_price=0.0, max_price=0.0, conversion_rate=1, **post
): ):
@ -41,7 +46,8 @@ class WebsiteSale(WebsiteSale):
website=True, website=True,
) )
def shop(self, page=0, category=None, search="", min_price=0.0, max_price=0.0, ppg=False, **post): def shop(self, page=0, category=None, search="", min_price=0.0, max_price=0.0, ppg=False, **post):
if post.get("open_packagings"): open_packages = bool(post.get("open_packagings"))
if open_packages:
batch = request.website.sale_get_order(force_create=True).batch_id batch = request.website.sale_get_order(force_create=True).batch_id
open_product_ids = ( open_product_ids = (
batch.product_ids.filtered(lambda p: p.open_packaging_qty > 0).mapped("product_template_id").ids batch.product_ids.filtered(lambda p: p.open_packaging_qty > 0).mapped("product_template_id").ids

View file

@ -3,8 +3,11 @@
<template id="products_open_packaging" inherit_id="website_sale.products"> <template id="products_open_packaging" inherit_id="website_sale.products">
<xpath expr="//aside[@id='products_grid_before']/div[1]/div[1]" position="before"> <xpath expr="//aside[@id='products_grid_before']/div[1]/div[1]" position="before">
<a t-att-href="keep('/shop',open_packagings = True)"> <a t-att-href="keep('/shop',open_packagings = False if open_packagings else True)">
<h6 t-attf-class="o_packaging_collapse_title mb-3 {{_titleClasses}}"><b>Open Packagings</b></h6> <h6 t-attf-class="o_packaging_collapse_title mb-3 {{_titleClasses}}"><b>
<span t-if="open_packagings">All Products</span>
<span t-else="">Open Packagings</span>
</b></h6>
</a> </a>
</xpath> </xpath>
</template> </template>
@ -12,8 +15,11 @@
<template id="o_wsale_offcanvas" name="Open Packagings" inherit_id="website_sale.o_wsale_offcanvas"> <template id="o_wsale_offcanvas" name="Open Packagings" inherit_id="website_sale.o_wsale_offcanvas">
<xpath expr="//div[@id='o_wsale_offcanvas_content']/div[1]" position="before"> <xpath expr="//div[@id='o_wsale_offcanvas_content']/div[1]" position="before">
<div class="position-relative o_wsale_offcanvas_title px-4 border-top"> <div class="position-relative o_wsale_offcanvas_title px-4 border-top">
<a t-att-href="keep('/shop',open_packagings = True)"> <a t-att-href="keep('/shop',open_packagings = False if open_packagings else True)">
<h6 t-attf-class="o_packaging_collapse_title mb-3 pt-3 {{_titleClasses}}"><b>Open Packagings</b></h6> <h6 t-attf-class="o_packaging_collapse_title mb-3 pt-3 {{_titleClasses}}"><b>
<span t-if="open_packagings">All Products</span>
<span t-else="">Open Packagings</span>
</b></h6>
</a> </a>
</div> </div>
</xpath> </xpath>