Thursday, January 11, 2024
3 changes · 17.0
Resolved issues and error corrections
This fix resolves an issue where subscriptions would get stuck in a "Pending Transaction" state when customers updated their payment method through the portal, preventing recurring invoices from being generated. The problem occurred because payment validation transactions weren't being properly processed. The fix ensures all payment transaction types, including validation flows, are correctly reconciled so subscriptions can continue operating normally.
Original PR description
Steps: - Install subscription app. - Install and set up stripe provider. - Create a subscription and make first payment with stripe. - Now go to portal and click on Manage payment button. - Create new token from Manage my payment button. Issue: - Subscription goes to `Pending Transaction` state and because of that recurring invoice for that subscription stops. Cause: - Transaction with `validation` flow does not reconcile transaction after done via `_reconcile_after_done` and because of that when `validation` transaction create it set subscription to `Pending Transaction` and it stays in it for `validation` PR https://github.com/odoo/odoo/pull/106300 why we do not call `reconcile_after_done` for `validation` transaction. Fix: - Handle `reconcile_after_done` for validation transaction in payment and alter some code/condition in subscription to properly handle all type of transaction. task-3652206 Forward-Port-Of: odoo/enterprise#53374
This fix corrects how Odoo tracks the version numbers of installed apps and modules. Previously, version numbers were incomplete (e.g., showing "1.0" instead of "15.0.1.0"), which caused errors when switching themes or upgrading modules. This fix ensures complete version information is stored, preventing installation failures and theme switching errors.
Original PR description
Uploadable modules latest_version is not fully defined (ex: 1.0 instead of 15.0.1.0), which lead to issues in the MigrationManager. **Steps to reproduce (in 17.0):** - make sure you have the industry…
Uploadable modules latest_version is not fully defined (ex: 1.0 instead of 15.0.1.0), which lead to issues in the MigrationManager. **Steps to reproduce (in 17.0):** - make sure you have the industry repository in the addons-path and the upgrade one in the upgrade-path - create an empty database - On 'Hair Salon', click 'Activate' - On the 'Install an App' popup window, click 'Install' - Wait for the Hair Salon Industry to install > Once finished, go to the Website - Click 'Edit' to open the website editor - Click 'Theme' - Next to the 'Theme' field under the 'Website' section, click 'Switch Theme' - Click 'Ok' on the Confirmation popup window - Click 'Use this theme' for the BEAUTY them - The 'Building your website...' animation begins ``` An error is thrown File "/home/odoo/src/odoo/17.0/odoo/addons/base/maintenance/migrations/theme_common/9.saas~13.1.1/pre-views.py", line 4, in <module> from openerp.addons.base.maintenance.migrations import util ModuleNotFoundError: No module named 'openerp' ``` opw-3589376 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#144393
This update significantly improves the speed of displaying list views with many records. The system was recalculating selection information for each row, causing slowdowns when viewing lists with hundreds of records. The fix calculates this information once per view load instead, reducing load time from 1.8 seconds to 0.25 seconds for a 600-record list.
Original PR description
The ListRenderer disables the checkbox of all lines corresponding to a record which cannot be selected. Unfortunately, because `canSelectRecord` is a getter, it is invoked once per line, and this getter in turns invokes the `editedRecord` getter which scans all record to find which record is selected. This operation is O(n²), so it's very slow when there are a lot of records. This commit fixes that by computing the value once per render. Time to render the list view of views (technical > User Interface > views) with 600 records visible: - before: ~1800ms - after: ~250ms