Monday, March 4, 2024
23 changes · master
Enhancements to existing features
This change lets country-specific localization and payroll demo data reuse the same demo company instead of creating duplicate companies. It simplifies demo environments and reduces the need for extra bridge modules just to align sample data across related apps.
Original PR description
The use case is the following: l10n_xx (usually depending on account) creates a company demo data l10n_xx_hr_payroll (not depending on account) creates another company The goal is to allow defining the data to a foreign module (obvioulsy in the common dependencies) like "base", so that each module can easily define the same company and use it without having the create another bridge module that contains only demo data. TaskID: 3714759
Resolved issues and error corrections
Spreadsheet template validation now happens automatically when records are changed, rather than relying on a separate post-install check. This helps catch invalid data earlier and keeps spreadsheet-related features more reliable with minimal user-facing impact.
Original PR description
See community PR. The validation is now done with an `api.constrains` instead of a post-install test. Task: 3577092
Code cleanup and technical improvements
The Knowledge module’s article drag-and-drop test helper was updated to use modern browser and testing functions instead of older jQuery-based code. This is an internal cleanup that helps keep tests easier to maintain without changing the user-facing Knowledge experience.
Original PR description
In knowledge module, usages of jquery in dragAndDropArticle function are replaced by native or Hoot functions. task-3600484
Miscellaneous changes
In some cases, when the cron to fetch transaction is running, we first set the status of the connection to "fetching transactions" which is displayed on the dashboard. Once the process is over, status is changed to "done". If an error happen when contacting the provider, status is also reset in order to not display the "fetching status" message forever. However it can happen that an error occured when creating transaction in database (wrong configuration inside the journal, etc) and those errors
Original PR description
In some cases, when the cron to fetch transaction is running, we first set the status of the connection to "fetching transactions" which is displayed on the dashboard. Once the process is over, status is changed to "done". If an error happen when contacting the provider, status is also reset in order to not display the "fetching status" message forever. However it can happen that an error occured when creating transaction in database (wrong configuration inside the journal, etc) and those errors were not resetting the fetching_status flag. Hence leaving the customer with the impression that it was still loading transactions. This commit fixes the problem by resetting the flag in such cases. So if such an error happen during the cron, it won't fetch transactions and display will be clean. Error will still be raised to the customer if he clicks on manual refresh. Forward-Port-Of: odoo/enterprise#56380
Belgian payroll now avoids relying on salary-contract data unless that related feature is installed. This prevents errors for companies using payroll without the optional salary contract module, while keeping custom representation fee behavior where it belongs.
Original PR description
Before correction : The function _get_representation_fees_threshold used a field from hr_job. But this field exist only if l10n_be_hr_contract_salary is installed After correction : Put the behaviour of this function linked to this field in l10n_be_hr_contract_salary.
The Documents search panel had a small spacing problem caused by custom folder and delete icons. This fix removes the extra padding so the panel layout appears correctly for users.
Original PR description
Technical ==================== Due to a recent change here https://github.com/odoo/odoo/pull/149246 there is padding issue because in documents we are overriding the carets and trash icons and width of the "o_toggle_fold" is fixed so that's why it is causing the issue. After this PR ================== Removed the unnecessary padding. Task-3761896
This update reorganizes how Odoo stores and reuses language information so frequently used language details can be retrieved more efficiently. The change is internal, but it should reduce unnecessary work in areas like reports and payroll that rely on language settings.
Original PR description
[REF] base: refactor res.lang res.langs uses the ormcache a lot to cache language info These info are used frequently. This task groups up these info to avoid duplicated data and unnecessary cache miss when the ormcache is cold The PR is split to many small commits with small changes and explanations for reivew. https://github.com/odoo/odoo/pull/152496/
This update replaces older jQuery-based code in automated tours with native browser and Hoot query tools. It keeps the underlying business workflows unchanged while making the test code easier to maintain and better aligned with current development standards.
Original PR description
In this commit, jQuery usages are replaced by native usages. Some of jQUery querySelector are replaced by Hoot querySelector. task~3600484 https://github.com/odoo/odoo/pull/156225
When the detected skill belonged to a skill type for which none of the levels were marked as default, a validation error would occur as the level is a required field of `hr.applicant.skill`. Ticket #3673664 Forward-Port-Of: odoo/enterprise#57269
Original PR description
When the detected skill belonged to a skill type for which none of the levels were marked as default, a validation error would occur as the level is a required field of `hr.applicant.skill`. Ticket #3673664 Forward-Port-Of: odoo/enterprise#57269
- When trying to delete a record and receiving an OdooFinRedirectException(mode=link), allow record deletion. - When trying to link with a bank account and record is too old and has been deleted server side. Don't display traceback saying to reopen in link mode, instead delete record and create a new one. Forward-Port-Of: odoo/enterprise#57788
Original PR description
- When trying to delete a record and receiving an OdooFinRedirectException(mode=link), allow record deletion. - When trying to link with a bank account and record is too old and has been deleted server side. Don't display traceback saying to reopen in link mode, instead delete record and create a new one. Forward-Port-Of: odoo/enterprise#57788
Currently it's imposible to patch preparationDisplayService, so it's not possible to make any customizations and the only workaround is copying the whole service's functionality. By adding the export declaration the file can be imported and the service can be patched, which allows to make customizations to it's functionality. Forward-Port-Of: odoo/enterprise#56461
Original PR description
Currently it's imposible to patch preparationDisplayService, so it's not possible to make any customizations and the only workaround is copying the whole service's functionality. By adding the export declaration the file can be imported and the service can be patched, which allows to make customizations to it's functionality. Forward-Port-Of: odoo/enterprise#56461
**Description of the issue/feature this PR addresses:** In the kanban view of all applicants within the recruitment module, an issue arises when applicants attempt to upload documents, this functionality is currently malfunctioning. --- **Current behavior before PR:** Document uploads by applicants are failing. --- **Desired behavior after PR is merged:** Applicants should be able to successfully upload documents. ___ **Fix:** The PR addresses the problem by modifying the
Original PR description
**Description of the issue/feature this PR addresses:** In the kanban view of all applicants within the recruitment module, an issue arises when applicants attempt to upload documents, this functionality is currently malfunctioning. --- **Current behavior before PR:** Document uploads by applicants are failing. --- **Desired behavior after PR is merged:** Applicants should be able to successfully upload documents. ___ **Fix:** The PR addresses the problem by modifying the default_res_model in the context. This adjustment is crucial as the current setting results in an incorrect model name, preventing the display of uploaded documents in this model. task-3579833 Forward-Port-Of: odoo/enterprise#57840 Forward-Port-Of: odoo/enterprise#52029
UK users often request the option to create customer statements. Now that the customer statements module has been deployed in Odoo 17, UK users can benefit from it by default. Since this is needed in 17.0, this commit creates a bridge module. task-3764637 Forward-Port-Of: odoo/enterprise#57530
Original PR description
UK users often request the option to create customer statements. Now that the customer statements module has been deployed in Odoo 17, UK users can benefit from it by default. Since this is needed in 17.0, this commit creates a bridge module. task-3764637 Forward-Port-Of: odoo/enterprise#57530
In large database, the time to unlink sale.order or sale.order.line can be huge, because some index are needed. @rco-odoo @arj-odoo Forward-Port-Of: odoo/enterprise#57783 Forward-Port-Of: odoo/enterprise#39414
Original PR description
In large database, the time to unlink sale.order or sale.order.line can be huge, because some index are needed. @rco-odoo @arj-odoo Forward-Port-Of: odoo/enterprise#57783 Forward-Port-Of: odoo/enterprise#39414
Fix wrong value for crontract creation in test file test_payroll_ma.py. task : 3774041 Forward-Port-Of: odoo/enterprise#57721
Original PR description
Fix wrong value for crontract creation in test file test_payroll_ma.py. task : 3774041 Forward-Port-Of: odoo/enterprise#57721
…t in test Before this commit, the test /web_studio.test_export crash in single app testing because the model on which the test is done did not have a currency field. After this commit, there is no crash as we create a new currency field if necessary. runbot-error-57418 Forward-Port-Of: odoo/enterprise#57686
Original PR description
…t in test Before this commit, the test /web_studio.test_export crash in single app testing because the model on which the test is done did not have a currency field. After this commit, there is no crash as we create a new currency field if necessary. runbot-error-57418 Forward-Port-Of: odoo/enterprise#57686
Steps to reproduce: - Create a storable product invoice on delivered qty MTO enabled - Create a subscription for a service product and invoice it - Create an upsell and add on it the storable product Bug: PO line and delivery quantities are doubled Fix: only trigger stock rules on the upsell not from the parent SO opw-3696134 Forward-Port-Of: odoo/enterprise#57590
Original PR description
Steps to reproduce: - Create a storable product invoice on delivered qty MTO enabled - Create a subscription for a service product and invoice it - Create an upsell and add on it the storable product Bug: PO line and delivery quantities are doubled Fix: only trigger stock rules on the upsell not from the parent SO opw-3696134 Forward-Port-Of: odoo/enterprise#57590
Before this commit, the taskGanttView object was not exported and so if someone would like to override that object, he will have to get that object in the views registry. This commit allows to export taskGanttView from that file to easily use it to create another Gantt JS based on that one instead of getting the object from the registry. task-3776786 Forward-Port-Of: odoo/enterprise#57893
Original PR description
Before this commit, the taskGanttView object was not exported and so if someone would like to override that object, he will have to get that object in the views registry. This commit allows to export taskGanttView from that file to easily use it to create another Gantt JS based on that one instead of getting the object from the registry. task-3776786 Forward-Port-Of: odoo/enterprise#57893
In the HTML used for the message, we have used multiples "p" html balise which made huge spaces in the chatter or the pdf. By simply putting them in a single "p" and use "br", the extra spaces are gone. task: 3708071 Forward-Port-Of: odoo/enterprise#57519 Forward-Port-Of: odoo/enterprise#55497
Original PR description
In the HTML used for the message, we have used multiples "p" html balise which made huge spaces in the chatter or the pdf. By simply putting them in a single "p" and use "br", the extra spaces are gone. task: 3708071 Forward-Port-Of: odoo/enterprise#57519 Forward-Port-Of: odoo/enterprise#55497
**Current behavior:** Creating an EDI document from an invoice does not have fields for currency (moneda) in some places where it is expected. **Expected behavior:** Creating an EDI document from an invoice will include these fields in all their expected places. **Steps to reproduce:** 0. Install the l10n_ec_edi accounting module; switch current company to 'EC Company' 1. Duplicate an existing invoice and validate it 2. Process the invoice to receive an XML edi document
Original PR description
**Current behavior:**
Creating an EDI document from an invoice does not have fields
for currency (moneda) in some places where it is expected.
**Expected behavior:**
Creating an EDI document from an invoice will include these
fields in all their expected places.
**Steps to reproduce:**
0. Install the l10n_ec_edi accounting module; switch current
company to 'EC Company'
1. Duplicate an existing invoice and validate it
2. Process the invoice to receive an XML edi document
3. This form is purportedly missing expected fields
**Cause of the issue:**
The currency information is not set in a manner to be
accessed in all the places it is needed in edi_document.xml.
**Fix:**
Currency information is passed to the requisite scope via
methods in the l10n_ec_edi account.move class.
opw-3669363
Forward-Port-Of: odoo/enterprise#54687… the time Have a rule with no responsible but with some users to notify. Have a user who cannot validate the rule execute the action. Before this commit, the users to notify were not pinged. After this commit, those users are pinged, even though there is no responsible. opw-3752133 Forward-Port-Of: odoo/enterprise#57684
Original PR description
… the time Have a rule with no responsible but with some users to notify. Have a user who cannot validate the rule execute the action. Before this commit, the users to notify were not pinged. After this commit, those users are pinged, even though there is no responsible. opw-3752133 Forward-Port-Of: odoo/enterprise#57684
Fix wrong computation of displayed exchange difference in the bank rec widget. 1. We are adding twice the debit side and not the credit one. 2. In the bank rec widget you can have an `account.move.line` with multiple partials, thus multiple `matched_debit/credit_ids` and we are acting as if there is only one. Forward-Port-Of: odoo/enterprise#57758 Forward-Port-Of: odoo/enterprise#57709
Original PR description
Fix wrong computation of displayed exchange difference in the bank rec widget. 1. We are adding twice the debit side and not the credit one. 2. In the bank rec widget you can have an `account.move.line` with multiple partials, thus multiple `matched_debit/credit_ids` and we are acting as if there is only one. Forward-Port-Of: odoo/enterprise#57758 Forward-Port-Of: odoo/enterprise#57709
### Steps to reproduce: - Install **Manufacturing** app. - Open Shop Floor app and select work centers **Assembly Line 1** and **Drill Station 1** -This is not actually the only way to recreate the bug but the most forward-. - Open Manufacturing app. In the Work Centers Overview, open **Assembly Line 2** by clicking on the **desktop icon**. Notice how there's only one button on the top bar **Assembly Line 2** **_although_** we should have 3 buttons by now **Assembly Line 1**, **Drill Station
Original PR description
### Steps to reproduce: - Install **Manufacturing** app. - Open Shop Floor app and select work centers **Assembly Line 1** and **Drill Station 1** -This is not actually the only way to recreate the…
### Steps to reproduce:
- Install **Manufacturing** app.
- Open Shop Floor app and select work centers **Assembly Line 1** and **Drill Station 1** -This is not actually the only way to recreate the bug but the most forward-.
- Open Manufacturing app. In the Work Centers Overview, open **Assembly Line 2** by clicking on the **desktop icon**. Notice how there's only one button on the top bar **Assembly Line 2** **_although_** we should have 3 buttons by now **Assembly Line 1**, **Drill Station 1** and **Assembly Line 2**.
### Discussion:
- This Solution extends upon this PR https://github.com/odoo/enterprise/pull/52886 making some improvements
- when the `activeWorkcenter` doesn't exist on the array of the `workcenters`, add it to the array instead of reassigning the array with only the `activeWorkcenter`, That way we avoid the weird behavior of having the work center you selected get unselected implicitly https://github.com/odoo/enterprise/blob/adfe96612cfd0a0b29c8af7d03b19e87ed14155d/mrp_workorder/static/src/mrp_display/mrp_display.js#L108-L111
- U can select work centers inside the shop floor overview, using the **plus** icon. so an improvement was made to switch to the **All MO** tab if the user de-selected the _active_ work center in order:
- not to create inconsistency between the view of the work orders shown and the select buttons above.
- to prevent the error happening due to the inconsistency between the `activeWorkcenter` and the array of `workcenters` not including the `activeWorkcenter` anymore as it was de-selected.
opw-3638276
Forward-Port-Of: odoo/enterprise#57813
Forward-Port-Of: odoo/enterprise#53024