Wednesday, October 9, 2024
20 changes · 18.0
Resolved issues and error corrections
This update fixes an issue that prevented Saudi Arabia and United Arab Emirates invoice reports from being printed. It updates the GCC invoice report to work with the latest tax total structure in Odoo 18, restoring reliable invoice generation for affected businesses.
Original PR description
**Description of the issue/feature this PR addresses:** l10n_gcc_invoice which is used for l10n_sa & l10n_ae had an issue with tax totals which did not allow the reports to be printed in v18. Link to task: [#4231808](https://www.odoo.com/web#model=project.task&id=4231808) **Current behavior before PR:** l10n_sa & l10n_ae cannot be printed due to an error. **Desired behavior after PR is merged:** Fixes the issue with l10n_gcc_invoice by adapting to the new changes for tax_totals in v18. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix lets Odoo 18 IoT boxes accept connection tokens created by Odoo 17 databases. It prevents connection failures during upgrades or mixed-version setups, helping businesses keep existing IoT hardware working without manual token changes.
Original PR description
In v18, a new format was given to the connection token as shown below: v17: `http://1.2.3.4|12345678|aaaa-bbbb-cccc|M123` v18: `http://1.2.3.4?token=12345678&db_uuid=aaaa-bbbb-cccc&enterprise_code=M123` However these formats are not compatible. Currently you cannot connect a v17 database to a v18 IoT box. After this PR both formats are compatible. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents an automated test for public Discuss call pages from failing unpredictably when background updates arrive before the join response. It improves test stability without changing the user-facing calling experience.
Original PR description
Before this commit, it was possible that a bus message containing a `mail.message.rtc.session` record update reached the client before the response to the `/mail/rtc/channel/join_call` route. Since the condition for the test step is that there is a call (triggered by the presence of a rtc session) while the condition for the error thrown is that there is no `selfSession` (which is obtained as the response of the http request), one condition could be satisfied without the other.
This fixes a problem where Odoo's data population process could stop after encountering limited database permissions. The process now recovers cleanly and continues, improving reliability for environments with restricted database privileges.
Original PR description
## Bug Following ba17d5df1cc6b360598d492046d06a66e0d11dda, a try/except was added to handle the lack of privileges to switch the replication mode of the database to ignore the check on Fkey during the bulk insertion. This fix ignored the fact that when Postgres throws an exception, the cursor is in an aborted state and is closed. Therefor the cursor needs to be reset/rollback to usable state to continue with the `populate` as intended by the user. ## Fix On the first model we try to `populate`, if an exception is raised due to `InsufficientPrivilege`, we rollback the cursor and update a flag so we skip on subsequent models. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update makes automated website sale loyalty tests run faster and more reliably by checking that page elements are ready before continuing. It helps reduce false test failures without changing the customer-facing shopping experience.
Original PR description
In this commit, we decrease checkDelay to make the tours faster. We add intermediate steps to ensure elements are in DOM before to continue the tour. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
New lots or serial numbers for serial-tracked products are now initialized with the product's cost. This helps keep stock valuation accurate from the moment a lot is created, reducing accounting discrepancies.
Original PR description
Creating a new lot/serial of a product tracked by serial should be initialised with the product cost. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Restaurant tables are now marked as available once an order has been fully paid and completed. This prevents tables from incorrectly staying occupied, helping staff reuse tables without manual correction.
Original PR description
Before this commit: ==================== The table remained occupied after the order was completed (payment done) After this commit: =================== Tables are now released once the order is fully completed, ensuring they are available for future use. Task- 4228671
The Peppol registration flow now shows a clear user-facing error if a required phone number validation component is not installed. This prevents confusing technical crash messages and helps administrators understand what needs to be installed to continue.
Original PR description
Before this commit, when we tried to import the module phonenumbers which might not be installed on the computer. We got a traceback. Now we raise an error if it could not be imported informing the user to import it --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The dashboard edit shortcut now opens the specific dashboard the user selected, instead of always editing the currently active one. This prevents users from accidentally changing the wrong dashboard and makes dashboard management more reliable.
Original PR description
The newly added button shortcut to edit a dashboard would only always open the active dashboard edition and not the one we clicked on. Task-4236307 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix moves a self-ordering point of sale demo file into the proper demo data section. It helps ensure demo content is handled only as sample data, reducing the chance of it being loaded in regular installations.
Original PR description
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update fixes automated website checks that were occasionally failing for timing-related reasons. It helps keep website editing and navigation features stable by ensuring tests wait for changes to apply before continuing.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When the user tries to activate Portuguese (BR) language, a traceback will appear. Traceback: ``` OSError: Syntax error in po file (line 340): unescaped double quote found File "odoo/tools/translate.py", line 1757, in _get_code_translations p = CodeTranslations._read_code_translations_file(fileobj, filter_func) File "odoo/tools/translate.py", line 1744, in _read_code_translations_file reader = TranslationFileReader(fileobj, fileformat='po') File "odoo/tools/translate.py"
Original PR description
When the user tries to activate Portuguese (BR) language, a traceback will appear. Traceback: ``` OSError: Syntax error in po file (line 340): unescaped double quote found File…
When the user tries to activate Portuguese (BR) language,
a traceback will appear.
Traceback:
```
OSError: Syntax error in po file (line 340): unescaped double quote found
File "odoo/tools/translate.py", line 1757, in _get_code_translations
p = CodeTranslations._read_code_translations_file(fileobj, filter_func)
File "odoo/tools/translate.py", line 1744, in _read_code_translations_file
reader = TranslationFileReader(fileobj, fileformat='po')
File "odoo/tools/translate.py", line 735, in TranslationFileReader
return PoFileReader(source)
File "odoo/tools/translate.py", line 790, in __init__
self.pofile = polib.pofile(source.read().decode())
File "polib.py", line 130, in pofile
return _pofile_or_mofile(pofile, 'pofile', **kwargs)
File "polib.py", line 78, in _pofile_or_mofile
instance = parser.parse()
File "polib.py", line 1348, in parse
raise IOError('Syntax error in po file %s(line %s): '
```
https://github.com/odoo/odoo/blob/11cbd44ada7526849f884b5b16c52a8965d10708/addons/l10n_br/i18n/pt.po#L340
Here, ``"Alagoin"Alagoinha"`` is used instead of ``"Alagoinha"`` as msgstr.
So, it will lead to the above traceback.
sentry-5963927752
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prSpreadsheet unit tests now correctly recognize messages written by the current user. This improves confidence in spreadsheet-related messaging features, especially editing messages authored by the signed-in user.
Original PR description
self-authored messages were not properly detected in spreadsheet unit tests, due to lack of `@web/session` data for the current user. `@web/session` in unit test require explicit patch in order to retrieve the `store.self` data for the good working of Discuss code, especially for features that are conditionally enabled based on the currently authenticated user, like message edition that works on self authored messages. <img width="457" alt="Screenshot 2024-10-09 at 11 33 13" src="https://github.com/user-attachments/assets/e3eff763-e58b-45fe-98c5-58374dd576d6">
This update fixes several point-of-sale issues that could cause errors when deleting demo orders, prevent customer counts from saving correctly, and make table transfer instructions hard to read on mobile. It improves cashier reliability and usability, especially for restaurants using POS on smaller screens.
Original PR description
pos*: l10n_in_pos, point_of_sale, pos_restaurant This commit solves multiple tracebacks and bugs in the POS. 1. Fix traceback when deleting demo records in POS. When deleting some demo orders in the…
pos*: l10n_in_pos, point_of_sale, pos_restaurant
This commit solves multiple tracebacks and bugs in the POS.
1.
Fix traceback when deleting demo records in POS.
When deleting some demo orders in the POS, a traceback was
raised because the lines of the orders did not had an order
linked to it. This was because they did not have an uuid.
We now have default uuid values for orders, order lines and
pos payments.
2.
Fix customer count not update.
When changing the customer count on an order in the POS, the
customer count was not updated in the backend. This was because
the customer count was not correctly updated in the frontend
leading to a customer count of 0 in the backend.
3.
Fix "Select table to transfer order" not visible on mobile.
When transfering an order in mobile, the text "Select table to
transfer order" was not visible because the text was too big.
We now display "Transferring" when in mobile. We also stop
showing the floating orders tab when transferring an order as it
makes no sense to show it.
Enterprise PR: https://github.com/odoo/enterprise/pull/70357
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prThe website editor now shows the correct left and right move arrows when repositioning showcase block columns. This removes confusion for editors and makes arranging showcase content behave as expected.
Original PR description
Since [1] when the layout of the `s_showcase` block has been revamped, the selectors of the `SnippetMove` option wrongly match the new external column layout of the block. Because of this, up/down arrows appear instead of left/right arrows. This commit restores the horizontal `SnippetMove` on the external columns of the `s_showcase` block. [1]: https://github.com/odoo/odoo/commit/fe52cb6780ab253e45f40607b1a192aab19fb3a2 task-4206919
The planning calendar now correctly reflects an employee's contract end date without showing an additional shaded day. This prevents managers from mistakenly thinking an employee is still covered by a contract for an extra day when planning shifts.
Original PR description
Steps to reproduce:
- Create a employee with running contract.
- Open planning app.
- Create a planning for him.
- Move through gantt date to employee' contract end date.
Issue:
- You can see there there as extra date being shown white which means he is
contract for visual indication but not in backend.
Fix:
- Handling timezone issues.
task-3815229This fixes an issue in Odoo Studio that prevented users from creating related fields pointing to one-to-many records. The correction restores expected Studio customization behavior, helping users configure forms and data relationships without workarounds.
Original PR description
Because of odoo/enterprise@aba680d65ae22f829f7e21e85df1dc86995ec460 it was not possible anymore to create related fields to one2many's in studio. It was just a little mistake in the way the in-expression assignation was written task-4150539
The dashboard edit shortcut now opens the specific dashboard the user selected, rather than always opening the currently active dashboard. This prevents confusion and ensures users can edit the intended dashboard directly.
Original PR description
The newly added button shortcut to edit a dashboard would only always open the active dashboard edition and not the one we clicked on. Task-4236307
Asset groups opened from Assets or Loans now receive safe default counts when linked records are not available. This prevents error screens and lets users continue working with asset and loan records normally.
Original PR description
Currently, multiple tracebacks occur when the user tries to access the asset group through the internal link from the assets and the loans form view. To reproduce these issues: Traceback 1: 1)…
Currently, multiple tracebacks occur when the user tries to access
the asset group through the internal link from the assets and the loans form view.
To reproduce these issues:
Traceback 1:
1) Install Accounting
2) Create a new loans record from Accounting/Loans
3) Create a new asset group and open the group record through an internal link
```
ValueError: Compute method failed to assign account.asset.group(2,).count_linked_assets
```
Traceback 2:
1) Create a new assets record from Accounting/assets
2) Create a new asset group and open the group record through an internal link
```
ValueError: Compute method failed to assign account.asset.group(2,).count_linked_loans
```
When a user creates an asset group record from loans, the `count_linked_asset` value is not assigned.
Conversely, when creating a group from assets, the `count_linked_loan` field remains unassigned.
Both of these fields are compute fields, and the compute methods have failed to assign values,
resulting in the tracebacks mentioned above.
Giving a fallback value will resolve this issue.
sentry-5967765739Fixes improve commission plan behavior when switching a plan from achievement-based rules to target-based rules after returning it to draft. Subscription sales based on monthly recurring revenue should also now appear correctly in the user's commission view, helping sales teams track expected earnings more accurately.
Original PR description
- When you select based on achievement save, then draft again and change it into based on achievement to based on targets - When I try commission plan based on MRR and try to sell sub, I don't see my commission in "my commission"