Good afternoon comunity, im working od odoo17 and i want to create a popup in odoo17 to make a error appear there instead of rendering other page, any clues, this is the code i used to do it
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="minimum_order_popup" name="Minimum Order Popup">
<div class="modal fade show" id="minimumOrderModal" tabindex="-1" aria-labelledby="minimumOrderModalLabel" style="display: block;">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="minimumOrderModalLabel">Error en la compra</h5>
</div>
<div class="modal-body">
<p>
<t t-esc="error_message" />
</p>
</div>
<div class="modal-footer">
<a href="/shop/cart" class="btn btn-primary">Volver al carrito</a>
</div>
</div>
</div>
</div>
<script>
// Mostrar el popup automáticamente al cargar la página
document.addEventListener('DOMContentLoaded', function () {
const errorModal = new bootstrap.Modal(document.getElementById('errorModal'));
errorModal.show();
});
</script>
</template>
</odoo>
class WebsiteSaleInherit(WebsiteSale):
@http.route(['/shop/checkout'], type='http', auth="public", website=True)
def checkout(self, **post):
"""
Validar que todos los productos en el carrito cumplan con el pedido mínimo
antes de proceder al flujo de checkout.
"""
order = request.website.sale_get_order()
if order:
for line in order.order_line:
if line.product_id.minimum_order_qty > line.product_uom_qty:
return request.render("manufacturer_inventory.minimum_order_popup", {
'error_message': (
f"No puedes realizar la compra. El pedido mínimo para {line.product_id.name} "
f"es de {line.product_id.minimum_order_qty} unidades."
),
})
return super(WebsiteSaleInherit, self).checkout(**post)