e66efe8fe0da41c6bfc59d7cad80ef4ca1ae012a
Since Odoo v15, user can rename invoice to a custom value. Odoo automatically detects `sequence_number` for the new name. If no number is detected, the `sequence_number` is set to zero. In this edge case, method `_is_end_of_seq_chain` doesn't work and raises an exception, because `last_rec` is empty, while `_get_last_sequence` has constrain `self.ensure_one()`. Fix it by allowing `last_rec` with zero `sequence_number`. STEPS: * Create invoice * Confirm * Reset to Draft * Rename invoice to "Test" * Save * Try to delete the invoice BEFORE: ensure_one error Once it's fixed, we face another problem: User Error *You cannot delete this entry, as it has already consumed a sequence number and is not the last one in the chain. You should probably revert it instead.* It happens because `sequence_prefix` is computed as empty string, while `_get_last_sequence` method ignores empty values. Fix it by allowing search by empty string too. AFTER the two changes user can delete draft invoice opw-2861841 closes odoo/odoo#95614 X-original-commit: 301b499b9d0ce189dc5d0433e55ce654d212927b Signed-off-by: William André (wan) <wan@odoo.com>
…
…
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%