From 68f5883aff595d1c9ac3e928b7d3bbedd09868dd Mon Sep 17 00:00:00 2001 From: Denis Roussel Date: Mon, 20 Jan 2020 14:24:11 +0000 Subject: [PATCH] [FIX] ir_property: Allows to search on boolean == False Closes #43580 Fixes #9449 Adds field type conditions for boolean in search for Property model. As False values are not stored in DB for boolean, the search() does not return any value for non existent lines with: * operator: '=' and value: False * operator: '!=' and value: True Uses the 'include_zero' and inverse operator mechanisms implemented in Property model. Signed-off-by: Martin Trigaux (mat) --- odoo/addons/base/models/ir_property.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/odoo/addons/base/models/ir_property.py b/odoo/addons/base/models/ir_property.py index 18c8424c952..f554f013ac5 100644 --- a/odoo/addons/base/models/ir_property.py +++ b/odoo/addons/base/models/ir_property.py @@ -418,7 +418,13 @@ class Property(models.Model): elif value > 0 and operator == '<': operator = '>=' include_zero = True - + elif field.type == 'boolean': + if not value and operator == '=': + operator = '!=' + include_zero = True + elif value and operator == '!=': + operator = '=' + include_zero = True # retrieve the properties that match the condition domain = self._get_domain(name, model)