Tuesday, May 28, 2024
14 changes · 17.0
Resolved issues and error corrections
This update resolves a problem where imported French accounting charts of accounts were not properly translated into languages other than English. The fix ensures that translation data is correctly matched and applied during the import process, making multi-language accounting setups work as expected.
Original PR description
The issue: When importing a FEC file, the created COAs lack correct translation for languages other than English. This discrepancy arises because the xml_id generated during COA creation does not…
The issue:
When importing a FEC file, the created COAs lack correct translation for languages other than English. This discrepancy arises because the xml_id generated during COA creation does not match the xml_id produced by the _load_translations function. The new COAs' xml_id is a composite of the module ('l10n_fr_fec_import' in this case), company ID, prefix ('account' in this case), and a key derived from the account number code in the CSV file (not Odoo's default code). Consequently, when calling the _load_translations function, it attempts to update translations using a different xml_id, causing failure in locating records.
The fix:
Include the template_data, if available, during COA translation, as it is more efficient than loading and parsing the entire CSV file. This template data already contains the necessary information, including the correct xml_id. Additionally, introduce a key 'is_xml_generated' in the context to prevent the generation of an incorrect xml_id.
Community PR: https://github.com/odoo/odoo/pull/152090
opw-3646861This fix prevents manufacturing order components from being automatically re-reserved when opened in the barcode scanning app. Previously, unreserved components would still appear in the barcode module, causing confusion during warehouse operations. Now only actually reserved components are displayed, improving accuracy in the barcode workflow.
Original PR description
Issue: =============== When a manufacturing order (MO) is created, the default components are automatically reserved and are made visible in the barcode module. However, even if these components are…
Issue: =============== When a manufacturing order (MO) is created, the default components are automatically reserved and are made visible in the barcode module. However, even if these components are later unreserved, they will continue to be displayed in the barcode module. Resolution: ================ To address this issue, we've taken the step to avoid forcefully re-reserving the components when a component is unreserved. This resolves the persistent display of components in the barcode. Steps to Reproduce: ====================== 1. Create a manufacturing order (MO) and confirm it. 2. Navigate to the barcode module within the manufacturing order. 3. By default, the components are reserved, so they are visible in the barcode module. 4. Go to the form view of the MO in MRP and unreserve the components. 5. Check the barcode module again, and notice that the unreserved components are still visible. Expected Result: ================== After implementing the solution, When we opens the MO in the barcode module only reserved components should be visible. When a component is unreserved, it should no longer be visible in the barcode module for manufacturing order. task-3869731
This fix resolves an issue where clicking on a delivery picking from a rental order would cause an error. The problem occurred because the system was carrying over view settings from the rental schedule that didn't apply to the picking form. By clearing these settings, users can now successfully open and view delivery pickings from rental orders without encountering errors.
Original PR description
**Current behavior:** Using the Delivery smart button in a rental order and then clicking on a picking listed causes a traceback in some flows. **Expected behavior:** The picking form opens. **Steps to reproduce:** 1. Create a new rental order with some rental product and at least 2 storable products 2. Confirm the order and go to the Schedule overview 3. Click on the new order and then on the stock picking smart button (Delivery) 4. Click on any of the pickings listed in the tree view -> Traceback **Cause of the issue:** We load the rental order from the Schedule view with some "form_view_ref" context. We still have this context once we navigate to the picking tree view and it results in the incorrect view being loaded and model fields being accessed which don't exist. **Fix:** Override the smart button to clean the view_form_ref context value. opw-3813524
A fix in the core Kanban view system introduced an asynchronous timing change that affected how data loads. Web Studio tests have been updated to account for this new timing behavior, ensuring tests continue to work correctly with the improved Kanban functionality.
Original PR description
PR odoo/odoo#149626 fixes an issue in kanban views with progressbar by introducing a new hook in the RelationalModel, called before loading the root. This hook being async, it delays by at least a micro-tick the loading of the data. As a consequence, a studio tests had to be adapted, as it stepped all network calls, and two of them was done in // (so before the fix, the loading of the data was fired first, not it is not). Forward-Port-Of: odoo/enterprise#62746
This fix ensures that SEPA payment reports now properly include employee address information from HR records when a partner's contact details are incomplete. Previously, creditor addresses would be missing from exported SEPA reports if the employee had address information in their HR profile but not in their partner record. The system now intelligently uses the most complete address available, prioritizing employee records when applicable.
Original PR description
**Current behavior:** If you create a SEPA report for an employee that has address information in their `hr.employee` record but not their `res.partner` record, the creditor address will not use the…
**Current behavior:**
If you create a SEPA report for an employee that has address
information in their `hr.employee` record but not their
`res.partner` record, the creditor address will not use the
`hr.employee` information- the corresponding XML node will not
be included.
**Expected behavior:**
The employee address should be in the report if they have one
listed in their HR information.
**Steps to reproduce:**
1. Install the `test_l10n_be_hr_payroll` module, switch to
'My Belgian Company'
2. In the Employee application, go to an employee (e.g., Bernice
Jensen) and make sure their listed bank account is verified
to be able to receive payments
3. In the Payroll application, create a new `To Pay` record for
the employee from step 2, register it, then create the
payment report
4. In the Exported File notebook tab, you can see that there is
no Creditor Address listed in the XML Sepa Report
**Cause of the issue:**
The report builder constructs the creditor address only from
the `res.partner` record.
**Fix:**
Extend the postal address construction such that we get an
address from a partner's employee record (when applicable). The
information should not be mix-and-matched; we will use whichever
address has the most complete information.
opw-3716705
Forward-Port-Of: odoo/enterprise#58743A spelling error in the approvals module error message has been corrected. The message previously said "lease" instead of "least" when prompting users to attach documents. This fix ensures users see the correct, professional messaging when using the approvals feature.
Original PR description
There was a typo in the error message "You have to attach at **lease** one document.", where _lease_ should be _least_. This commit fixes that. We also export the latest version of the .pot file. Forward-Port-Of: odoo/enterprise#63069 Forward-Port-Of: odoo/enterprise#63051
This fix resolves an issue where credit note dates were not appearing in the journal report. Users will now see complete date information for all credit notes in their accounting reports, improving visibility and accuracy of financial records.
Original PR description
Before this commit, the journal report did not show the date for credit notes. opw-3939676
This fix resolves a critical bug in the Colombian electronic invoicing system that was preventing XML documents from being generated. The issue occurred when processing tax information, causing the system to crash on the second attempt. This fix ensures that electronic invoices can be successfully created without errors.
Original PR description
The issue: Inside the function _l10n_co_edi_generate_xml, the variable 'tax' at line 272 will be overridden by the 'account.tax' record which leads to a traceback in the second iteration, saying 'account.tax' object doesn't have a 'get' attribute Expected behavior: To not throw a traceback and generate the xml opw-3899575 Forward-Port-Of: odoo/enterprise#62290
Fixed a critical issue where payroll imports from Employment Hero would crash if a tax code didn't have a matching configuration in the system. The system now gracefully handles unmatched tax codes instead of throwing an error, allowing payroll data to be imported successfully even when tax code mappings are incomplete.
Original PR description
Issue : If a fetched payrun uses a taxCode and no employment_hero_tax_identifier has been configured on an account.tax to match it, it will raise an ValueError (iteration on an empty list). Solution : Give a default value to next() Version : 17.1
This update addresses a bug in the three-way invoice matching process that was causing system errors. A test case has been added to identify and prevent this issue from occurring in the future, ensuring more reliable invoice processing and payment workflows.
Original PR description
See the related community PR for the fix and more info. community PR: https://github.com/odoo/odoo/pull/167014
This update resolves recurring nightly test failures in the Peru electronic invoicing system. The fixes address timing issues with remote server processing and prevent duplicate invoice names. Tests have been improved to work reliably without requiring external API connections, ensuring consistent test results.
Original PR description
Currently, several l10n_pe_edi tests are failing every night. This is due to: - Error 98 meaning that not enough time is given to the remote sever to process cancellation requests -> wait and check…
Currently, several l10n_pe_edi tests are failing every night. This is due to: - Error 98 meaning that not enough time is given to the remote sever to process cancellation requests -> wait and check several times before asserting - Duplicated name: Sometimes, some invoices have duplicated names. We make sure it is not possible by 'incrementing' the name for each invoice we create. ----- 1. `test_send_delivery_guide` was failing because the picking vehicule was not set up properly in the test. After this was fix, another issue appeared: the company needed proper credential to connect to the SUNAT. Since those were not available, the function connecting to SUNAT has been patched to simulate a basic answer from SUNAT. 2. `test_generate_delivery_guide`'s expected document has been updated to include the vehicule set up in the previous step. 3. Since there is no more call to an external API. The `external` and `l10n_external` tags are not necessary anymore. This allows to group both tests under the same class. task-3718645 Forward-Port-Of: odoo/enterprise#63266 Forward-Port-Of: odoo/enterprise#62452
This update removes unused code from the stock module that was no longer being used. The change cleans up the codebase by eliminating a `next_serial` argument that was added in a previous update but is no longer needed, helping maintain code quality and reduce technical debt.
Original PR description
 This `next_serial` argument was added in https://github.com/odoo/odoo/pull/117513.
This fix resolves an issue where kanban view progress bars weren't updating correctly after the view was reloaded. The problem occurred because progress bar data and main data were loading simultaneously without proper synchronization. The fix ensures progress bars update reliably by loading their data after the main kanban data is ready, preventing display inconsistencies.
Original PR description
Before this commit, there was a race condition in the way kanban progressbar were handled: when the kanban view was reloaded, two (sequences of) rpcs were done: 1) by the model, to load the data…
Before this commit, there was a race condition in the way kanban
progressbar were handled: when the kanban view was reloaded, two
(sequences of) rpcs were done:
1) by the model, to load the data (e.g. 1 web_read_group followed
by n web_search_read)
2) by the progress bar hook, to load progressbar data.
1 and 2 weren't synchronized, and if 2 returned after 1, the view
wasn't re-rendered to reflect the new progressbar data. This issue
was caused by a misuse of owl reactivity: in the progressbar hook,
in onWillUpdateProps, we didn't call loadProgressBar on the reactive
version of the progressbar state, so changes in that state didn't
trigger a rendering.
Fixing this highlighted a bunch of other issues, all of them kind
of related to the fact that the model and the progressbar don't
synchronize when fetching their data. In particular, scenarios
where the progressbar data was loaded before the kanban data failed,
because the rendering triggered by the progressbar state mutation
(now that it is reactive) altered its caches (see `getGroupInfo`)
or even the groups (see `applyFilter`), with almost outdated
datapoints that were about to be replaced (as soon as the new root
would be loaded).
Properly fixing this isn't possible in stable versions as it might
require an in-depth rework of the way the progressbar interacts
with the model. This will be done in master.
For stable, we found a workaround that seems to be enough: instead
of hooking on `onWillUpdateProps` to reload the progressbar (i.e.
in parallel of the model), we hook on `onWillRender` (i.e. once
the model has loaded the data), and we only load the progressbar
data when the root changed (i.e. as often as before). But by doing
that sequentially, we ensure that the data are always loaded first,
and that the rendering produced by the mutations done on the
progressbar state is done with the correct datapoints.
Master task-3928143
opw-3634027
Forward-Port-Of: odoo/odoo#149626The notification settings dropdown menu was cutting off text in certain languages like Vietnamese due to a fixed width constraint. This fix changes the dropdown to use a minimum width instead of a fixed width, allowing it to expand as needed to display all text properly while maintaining a clean appearance.
Original PR description
### Before The dropdown notification settings was fixed by 150px that cause long text (i.e. the Vietnamese translated text) to be hidden. See below demonstration video: https://github.com/odoo/odoo/assets/7938973/085c210b-485b-4595-9483-b96546cfbb33 ### After Solution: - min-width 150px instead of fixed - add margin right to the text to make it good looking  --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr