500: Internal Server Error
QWeb
Error message:
Error to render compiling AST AssertionError: precision_rounding must be positive, got 0.0 Template: website_sale.product Path: /t/t[4]/div/section/div/div/div[2]/div[2]/t[1] Node: <t t-if="product.sudo().get_warehouse_stock_quantity('WH') <= 0"> <div class="add-qty" style="display: inline-block; margin: 0 1% 0 0;letter-spacing: normal; vertical-align: middle"> <div class="input-group"> <span class="input-group-addon out-stock" style="background: #980c1b; border: 1px solid #980c1b; color: #ffffff; padding: 4px 7px; font-size: 18px;"> <i class="fa fa-times"/> </span> <span class="avail-qty pl-2"> Out of Stock (UK) </span> </div> </div> </t>
The error occured while rendering the template website_sale.product
and evaluating the following expression: <t t-if="product.sudo().get_warehouse_stock_quantity('WH') <= 0">
<div class="add-qty" style="display: inline-block; margin: 0 1% 0 0;letter-spacing: normal; vertical-align: middle">
<div class="input-group">
<span class="input-group-addon out-stock" style="background: #980c1b; border: 1px solid #980c1b; color: #ffffff; padding: 4px 7px; font-size: 18px;">
<i class="fa fa-times"/>
</span>
<span class="avail-qty pl-2">
Out of Stock (UK)
</span>
</div>
</div>
</t>
Traceback
Traceback (most recent call last): File "/opt/odoo/14.0/odoo/addons/base/models/ir_http.py", line 237, in _dispatch result = request.dispatch() File "/opt/odoo/14.0/odoo/http.py", line 806, in dispatch r = self._call_function(**self.params) File "/opt/odoo/14.0/odoo/http.py", line 359, in _call_function return checked_call(self.db, *args, **kwargs) File "/opt/odoo/14.0/odoo/service/model.py", line 94, in wrapper return f(dbname, *args, **kwargs) File "/opt/odoo/14.0/odoo/http.py", line 350, in checked_call result.flatten() File "/opt/odoo/14.0/odoo/http.py", line 1273, in flatten self.response.append(self.render()) File "/opt/odoo/14.0/odoo/http.py", line 1266, in render return env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/opt/odoo/14.0/odoo/addons/base/models/ir_ui_view.py", line 1718, in _render_template return self.browse(self.get_view_id(template))._render(values, engine) File "/opt/odoo/14.0/addons/website/models/ir_ui_view.py", line 423, in _render return super(View, self)._render(values, engine=engine, minimal_qcontext=minimal_qcontext) File "/opt/odoo/14.0/addons/web_editor/models/ir_ui_view.py", line 28, in _render return super(IrUiView, self)._render(values=values, engine=engine, minimal_qcontext=minimal_qcontext) File "/opt/odoo/14.0/odoo/addons/base/models/ir_ui_view.py", line 1726, in _render return self.env[engine]._render(self.id, qcontext) File "/opt/odoo/14.0/odoo/addons/base/models/ir_qweb.py", line 55, in _render result = super(IrQWeb, self)._render(id_or_xml_id, values=values, **context) File "/opt/odoo/14.0/odoo/addons/base/models/qweb.py", line 258, in _render self.compile(template, options)(self, body.append, values or {}) File "/opt/odoo/14.0/odoo/addons/base/models/qweb.py", line 338, in _compiled_fn raise QWebException("Error to render compiling AST", e, path, node and etree.tostring(node[0], encoding='unicode'), name) Exception The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/opt/odoo/14.0/odoo/addons/base/models/ir_http.py", line 237, in _dispatch result = request.dispatch() File "/opt/odoo/14.0/odoo/http.py", line 806, in dispatch r = self._call_function(**self.params) File "/opt/odoo/14.0/odoo/http.py", line 359, in _call_function return checked_call(self.db, *args, **kwargs) File "/opt/odoo/14.0/odoo/service/model.py", line 94, in wrapper return f(dbname, *args, **kwargs) File "/opt/odoo/14.0/odoo/http.py", line 350, in checked_call result.flatten() File "/opt/odoo/14.0/odoo/http.py", line 1273, in flatten self.response.append(self.render()) File "/opt/odoo/14.0/odoo/http.py", line 1266, in render return env["ir.ui.view"]._render_template(self.template, self.qcontext) File "/opt/odoo/14.0/odoo/addons/base/models/ir_ui_view.py", line 1718, in _render_template return self.browse(self.get_view_id(template))._render(values, engine) File "/opt/odoo/14.0/addons/website/models/ir_ui_view.py", line 423, in _render return super(View, self)._render(values, engine=engine, minimal_qcontext=minimal_qcontext) File "/opt/odoo/14.0/addons/web_editor/models/ir_ui_view.py", line 28, in _render return super(IrUiView, self)._render(values=values, engine=engine, minimal_qcontext=minimal_qcontext) File "/opt/odoo/14.0/odoo/addons/base/models/ir_ui_view.py", line 1726, in _render return self.env[engine]._render(self.id, qcontext) File "/opt/odoo/14.0/odoo/addons/base/models/ir_qweb.py", line 55, in _render result = super(IrQWeb, self)._render(id_or_xml_id, values=values, **context) File "/opt/odoo/14.0/odoo/addons/base/models/qweb.py", line 258, in _render self.compile(template, options)(self, body.append, values or {}) File "/opt/odoo/14.0/odoo/addons/base/models/qweb.py", line 338, in _compiled_fn raise QWebException("Error to render compiling AST", e, path, node and etree.tostring(node[0], encoding='unicode'), name) odoo.addons.base.models.qweb.QWebException: precision_rounding must be positive, got 0.0 Traceback (most recent call last): File "/opt/odoo/14.0/odoo/api.py", line 792, in get field_cache = field_cache[record.env.cache_key(field)] KeyError: (None, None) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/odoo/14.0/odoo/fields.py", line 972, in __get__ value = env.cache.get(record, self) File "/opt/odoo/14.0/odoo/api.py", line 796, in get raise CacheMiss(record, field) odoo.exceptions.CacheMiss: 'product.template(1179,).free_stock_uk' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/opt/odoo/14.0/odoo/addons/base/models/qweb.py", line 331, in _compiled_fn return compiled(self, append, new, options, log) File "<template>", line 1, in template_website_sale_product_2118 File "<template>", line 1, in body_call_content_2116 File "/opt/odoo/custom/warehouse_restrictions/models/product.py", line 385, in get_warehouse_stock_quantity in_stock_quantity = self.free_stock_uk File "/opt/odoo/14.0/odoo/fields.py", line 1021, in __get__ self.compute_value(recs) File "/opt/odoo/14.0/odoo/fields.py", line 1177, in compute_value records._compute_field_value(self) File "/opt/odoo/14.0/addons/mail/models/mail_thread.py", line 410, in _compute_field_value return super()._compute_field_value(field) File "/opt/odoo/14.0/odoo/models.py", line 4069, in _compute_field_value getattr(self, field.compute)() File "/opt/odoo/custom/warehouse_restrictions/models/product.py", line 194, in _compute_free_stock_multi nl_free_stock = Quant_Obj._get_available_quantity(template.product_variant_id, nl_location_id) File "/opt/odoo/14.0/addons/stock/models/stock_quant.py", line 346, in _get_available_quantity return sum([available_quantity for available_quantity in availaible_quantities.values() if float_compare(available_quantity, 0, precision_rounding=rounding) > 0]) File "/opt/odoo/14.0/addons/stock/models/stock_quant.py", line 346, in <listcomp> return sum([available_quantity for available_quantity in availaible_quantities.values() if float_compare(available_quantity, 0, precision_rounding=rounding) > 0]) File "/opt/odoo/14.0/odoo/tools/float_utils.py", line 155, in float_compare rounding_factor = _float_check_precision(precision_digits=precision_digits, File "/opt/odoo/14.0/odoo/tools/float_utils.py", line 29, in _float_check_precision assert precision_rounding is None or precision_rounding > 0,\ AssertionError: precision_rounding must be positive, got 0.0 Error to render compiling AST AssertionError: precision_rounding must be positive, got 0.0 Template: website_sale.product Path: /t/t[4]/div/section/div/div/div[2]/div[2]/t[1] Node: <t t-if="product.sudo().get_warehouse_stock_quantity('WH') <= 0"> <div class="add-qty" style="display: inline-block; margin: 0 1% 0 0;letter-spacing: normal; vertical-align: middle"> <div class="input-group"> <span class="input-group-addon out-stock" style="background: #980c1b; border: 1px solid #980c1b; color: #ffffff; padding: 4px 7px; font-size: 18px;"> <i class="fa fa-times"/> </span> <span class="avail-qty pl-2"> Out of Stock (UK) </span> </div> </div> </t>