664ac15b598b8657a12a42b269906bb62816b546
The Python constraint method `_check_unique_sequence_number` performs an SQL query, and therefore needs to `flush()` the some fields before doing so. However, it uses a generic call to `flush()`. In some situations, the call to `flush()` ends up into recursive flushing, and that's the beginning of a nightmare: - write on account.move.state, - which calls account.move._check_unique_sequence_number(), - which calls flush(), - which computes purchase.order.line.qty_invoiced, - which reads field purchase.order.line.invoice_lines, - which calls flush() for account.move.line.move_name, - which computes account.move.line.move_name, - which computes account.move.name, - which calls account.move._check_unique_sequence_number(), - which calls flush(), - which computes purchase.order.invoice_status, - which uses the not-yet-computed value of purchase.order.line.qty_invoiced, and computes an incorrect value. We fix it simply by making the call to `flush()` more specific: we only need to flush 4 fields. This avoids the nightmare above. X-original-commit: cf5f50a733ddfd87985a39ffe7daffc48cfb582f
…
…
…
…
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%