a748e3c4df27b06ac751aed4e2aa57844b0e0fb5
For char/text fields, the server can return false or "" (empty string) depending if the field isn't set in db (NULL) or set to the empty string. This makes no difference in the UI, but it matters when evaluating modifiers. Before this commit, the value of char/text fields was automatically set to the empty string if it was falsy, as it doesn't impact the UI, and it is cleaner type-wise. Unfortunately, we cannot do that for the eval context, as we must be able to make the difference between False and "" evaluating modifiers. A solution would have been to stop fallbacking on the empty string when the value was false, but we wanted to keep the clean API. So this commit fixes the issue by keeping an internal structure in Record to track the exact values we received from the server for those fields, and use that structure to generate the eval context. Part of task~3179751 Part-of: odoo/odoo#114024
…
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%