Monday, March 31, 2025
32 changes · 18.0
Resolved issues and error corrections
Odoo can now more reliably recognize quoted reply text from Outlook on macOS and iOS. This helps keep email conversations cleaner by separating new messages from previous quoted content.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Mail quotes replied by MacOS/ iOS Outlook cannot be detected Desired behavior after PR is merged: Mail quotes replied by MacOS/ iOS Outlook can be detected --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo now more reliably recognizes quoted text in replies sent from Outlook on macOS and iOS. This helps keep email conversations cleaner by separating new replies from previous message history more accurately.
Original PR description
Description of the issue/feature this PR addresses: Current behavior before PR: Mail quotes replied by MacOS/ iOS Outlook cannot be detected Desired behavior after PR is merged: Mail quotes replied by MacOS/ iOS Outlook can be detected --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix keeps the main customer rating setting visible in project settings when the Documents module is not installed. Only the related child options are hidden when appropriate, making the settings page clearer and preventing users from thinking the rating option is unavailable.
Original PR description
### Steps to reproduce: - Enable Customer Ratings in general settings - Uninstall Documents module - Navigate to any project's settings and customer rating option - Notice the whole option got disappeared instead of just hiding the child options ### Cause: This is happening because after this commit https://github.com/odoo-dev/odoo/commit/16ca5b73646749d1a9341bbc02c6ca048feb66c2#diff-54a713792b3dba141af5416c4b89973ddf662cfad2bb65c642ad4534dddec626 we removed allow_rating and we are using rating_active which is the setting field for each project separately for showing both divs or not https://github.com/odoo/odoo/blob/c68ec0aaed70973f65d46d75875c59f5bc10f23b/addons/project/views/project_project_views.xml#L129 https://github.com/odoo/odoo/blob/c68ec0aaed70973f65d46d75875c59f5bc10f23b/addons/project/views/project_project_views.xml#L134 ### Fix: For the parent div we will be using the groups attribute instead of invisible attribute opw-4633771
This fixes a small visual issue in the calendar event response window. Selected response buttons such as yes, no, or maybe now keep their full border visible when the user hovers over a neighboring button, making the interface clearer and more polished.
Original PR description
In the calendar application, when clicking on an event, a window opens. In this window, we can select “yes,” “no,” or “maybe.” When one of the buttons is selected and the mouse hovers over the button…
In the calendar application, when clicking on an event, a window opens. In this window, we can select “yes,” “no,” or “maybe.” When one of the buttons is selected and the mouse hovers over the button to its right, the border of the selected button disappears. This commit fixes this display issue to ensure that all four borders remain visible when hovering over the button adjacent to the selected one. Current behavior before PR: <img width="437" alt="420611023-a03e84be-1512-4b5a-8e3a-186058989bc2" src="https://github.com/user-attachments/assets/86c0ac93-1c1c-4127-8363-2edad1e1007a" /> <img width="439" alt="420628749-d2bf71dc-ba9a-48d6-b997-0e7f2b35b960" src="https://github.com/user-attachments/assets/01603215-957c-4e23-838e-47e03b0fa1cd" /> Desired behavior after PR is merged: <img width="437" alt="420611053-fdba2415-bf02-4829-81a9-9210dde9dedf" src="https://github.com/user-attachments/assets/be83c1ff-436b-4a9e-80fc-6e6de584e8fd" /> <img width="435" alt="420628766-5386e3a0-42e4-47ef-a277-d5590802d780" src="https://github.com/user-attachments/assets/366c0430-9460-4622-b5b7-063f2a3003ee" /> --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an internal test so it uses the correct accounting user access level when checking partner form fields. It helps keep automated validation reliable when the accounting add-on is installed, reducing false test failures without changing normal user behavior.
Original PR description
Description of the issue/feature this PR addresses: The test TestFormCreate.test_create_res_partner fails because the field 'res.partner.property_account_payable_id' cannot be found in the form view…
Description of the issue/feature this PR addresses: The test TestFormCreate.test_create_res_partner fails because the field 'res.partner.property_account_payable_id' cannot be found in the form view if the module account_accountant is installed in the database. This happens because the module includes a view which inherits from "account.view_partner_property_form" and restricts a group element only to members of the security group "account.group_account_user." Previously, the restriction was for the group "group_account_manager" but the test wasn't updated to reflect this change. Current behavior before PR: Before this commit, running the test in 18.0 throws an AssertionError because the field 'property_account_payable_id' can't be found in the form view. `AssertionError: 'property_account_payable_id' was not found in the view` Desired behavior after PR is merged: After this commit, the right group is added to the user during the test, and the field can now be found in the res.partner.form view. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update prevents automated code checks from failing because of a known issue in older versions of the checking tool. It helps keep development and testing reliable on supported Ubuntu environments without changing business functionality.
Original PR description
Pylint < 2.16.2 detects a variable referenced before assignment when the walrus operator is used in dictionary. As Jammy provides pylint 2.12.2 and our tests should work with this distribution, let's skip it. Fixed in pylint-dev/pylint#8176
Credit journals now require a bank statement source, matching the setup rules already used for bank journals. This helps ensure credit journal configuration is complete and avoids confusion or missing information during accounting setup.
Original PR description
In odoo/odoo/pull/175315, we added a new journal type: 'credit'. The `bank_statements_source` was meant to be required for credit journal the same way it is for bank journals. no-opw no-task --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fix prevents an error that could occur when creating or editing partner records if the commercial partner field is shown and electronic invoicing settings are recalculated before the record is saved. The electronic invoicing format is now only calculated when the needed partner information is available, improving reliability for users customizing partner forms.
Original PR description
Typically, the field commercial_partner_id on res.partner is not displayed on the Form view. However, adding it via Studio or other means will lead to an error if the following conditions are met.…
Typically, the field commercial_partner_id on res.partner is not displayed on the Form view. However, adding it via Studio or other means will lead to an error if the following conditions are met. Issue We click New to start creating a new record (still in NewId phase) We trigger an onchange that will lead to invoice_edi_format being computed When clicking New the commercial_partner_id is computed initially. However, this value isn't present on the Form view yet which leaves the field empty until we actually save (and create) the record. Prior to this, if another onchange is called we'll pass commercial_partner_id as False in the onchange, eventually erroring out when we try to call a method on the value's record. Solution: After multiple fixes and refactor, it looks like dependencies on the compute are no longer relevant. Indeed, `_get_suggested_invoice_edi_format` only depends on the commercial partner's country code now. Also only compute the edi format if the commercial partner is set. opw-4630096
This fix prevents an error when creating a new contact or customer record if the commercial partner field has been added to the form. It ensures the partner information is refreshed before account-related invoice settings are calculated, making customized forms more reliable.
Original PR description
Typically, the field `commercial_partner_id` on `res.partner` is not displayed on the Form view. However, adding it via Studio or other means will lead to an error if the following conditions are met. ### Issue - We click `New` to start creating a new record (still in `NewId` phase) - We trigger an onchange that will lead to `invoice_edi_format` being computed When clicking `New` the `commercial_partner_id` is computed initially. However, this value isn't present on the Form view yet which leaves the field empty until we actually save (and create) the record. Prior to this, if another onchange is called we'll pass `commercial_partner_id` as `False` in the onchange, eventually erroring out when we try to call a method on the value's record. ### Solution We can check for the case above and compute the field again, ensuring that it has a proper value prior to accessing it. opw-4630096
Fixes an issue that could cause an error when subscription amounts were compared and one value was missing. This helps customers and staff continue using subscription portal and order flows without unexpected interruptions.
Original PR description
Before this commit, compare_amount could be called with nonetype taskid: 4671141
This fix updates Belgian Partena payroll work entry codes to allow the required 5-character format instead of only 3 characters. It helps prevent incorrect or incomplete payroll export data for companies using Partena integration.
Original PR description
The partena code on work entry type should be 5 characters long and not 3. task-4658021
This fix updates the Documents Project screen setup so customer rating information follows a recent change in the related project view. It helps keep the interface consistent and prevents visibility rules from behaving incorrectly for users.
Original PR description
Since we are changing the parent view in https://github.com/odoo/odoo/pull/202946/commits/5430b209c6f968108e0e43f9ff7fc6166239833a we are gonna need to adjust the inherited view in documents_project to use the groups attribute instead of invisible attribute opw-4633771
This update makes several automated checks more stable by adding waits or avoiding test interactions that were causing inconsistent results. It helps reduce false failures in testing for German point of sale certification, manufacturing shop floor flows, and website rental sales.
Original PR description
- l10n_de_pos_res_cert/static/tests/tours/fiskaly_tour.js Add wait request steps (to fix undeterministic behavior). - mrp_workorder/tests/test_shopfloor.py Add a step_delay=500. This step delay will be removed from codebase soon. This is an intermediate fix. - website_sale_renting/static/tests/tours/website_sale_renting_select... Avoid the usage of datepicker interface that causes problems for now in tours.
This fixes an issue where company information was missing from the Italian Libro Giornale report. Businesses using the report will now see the expected company details, supporting clearer and more complete statutory reporting.
Original PR description
- Fix the problem of company information that was not diplayed in the libro giornale report task-4502158
This update fixes a project HR test so it no longer depends on timesheet behavior. It helps keep automated checks stable and reduces false failures during development and releases.
Original PR description
Same logic as: https://github.com/odoo/enterprise/pull/81763 https://github.com/odoo/enterprise/pull/79947 rb-145524
This fix prevents an error when staff update reserved capacity on multiple appointment bookings at once. It makes managing appointment availability more reliable and avoids interruptions during bulk edits.
Original PR description
Steps to reproduce ================== 1. Go to appointment 2. Pick an appointment having bookings > 1 3. Go to the list view of bookings. 4. Multi edit the capacity_reserved --> Traceback Issue ===== In the inverse function for capacity_reserved, we used self to access resource_total_capacity_reserved. Use event of self to access the attribute. Task- 4680286
Installing the Referrals module no longer fails when all recruitment stages have previously been deleted. This prevents an installation-blocking error and lets businesses enable referrals even after customizing recruitment setup.
Original PR description
Currently a ParseError is arising when the user installs the `hr_referral` module after deleting all Stages in Recruitment/Configuration. Steps to reproduce: --- - Install `hr_recruitment`…
Currently a ParseError is arising when the user installs the `hr_referral` module after deleting all Stages in Recruitment/Configuration.
Steps to reproduce:
---
- Install `hr_recruitment` application (without demo data).
- Delete all `Stages` in Recruitment > Configuration
- Now install `hr_referral` module
Traceback:
---
```
Exception: Cannot update missing record 'hr_recruitment.stage_job3'
ParseError
while parsing /home/odoo/src/enterprise/saas-18.1/hr_referral/data/data.xml:93, somewhere inside <record model="hr.recruitment.stage" id="hr_recruitment.stage_job3">
<field name="use_in_referral">True</field>
</record>
```
The error occurs because the user deleted all `Stages` in Recruitment, and then tried to install the other module.
This commit solves the above issue by using `forcecreate` False to bypass record creation if it violates checks.
https://github.com/odoo/odoo/blob/f5378fadf910d193cbb44a4d1c10a5a15d8b9a51/odoo/tools/convert.py#L364
sentry-5731062091Studio approval steps no longer fail when a condition uses dynamic date functions such as today or relative dates. This keeps invoice forms usable after configuring approval rules with more flexible date-based criteria.
Original PR description
Currently, an error occurs when using studio to add an approval step with a domain containing a function call, such as `context_today()` or `relativedelta()`. **Steps to produce:** - Install the…
Currently, an error occurs when using studio to add an approval step with a domain containing a function call, such as `context_today()` or `relativedelta()`.
**Steps to produce:**
- Install the `account` and `web_studio` modules.
- Navigate `Invoicing > Customers > Invoices` and open an existing invoice form.
- Activate **Studio mode** and add an approval step on any button.
- In the Code Editor, set a domain like `['&', ('invoice_date', '>=', context_today().strftime('%Y-%m-%d')), ('invoice_date', '<=', (context_today() + relativedelta(months = 1)).strftime('%Y-%m-%d'))]`
- Close Studio mode and return to the invoice form.
- Observe the error.
`ValueError - malformed node or string on line 1: <ast.Call object at 0x7e34e619fd10>`
The error occurs because the `literal_eval` function evaluates literals (e.g., strings, numbers, lists, dicts, ). Function calls like `context_today()` and `relativedelta()` are not valid literals, leading to a `ValueError`.
This commit resolves the issue by wrapping the `literal_eval()` call at [1] in a `try-except` block to catch and bypass errors when the domain contains invalid expressions.
[1] - https://github.com/odoo/enterprise/blob/7fc55313cb25c7c228735ff8323af4177fa9a531/web_studio/models/studio_approval.py#L815
Sentry-6288127324Miscellaneous changes
Upgrade scripts are run only when there is an update of the module version. This is not flexible enough. After a major upgrade developers need to upgrade their custom modules. Unfortunately the tools in `upgrade-util` repo that modify modules (`merge_module`, `rename_module`, ...) should be done before loading base module. The latter is already upgraded after a major upgrade thus no upgrade scripts are run for it. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com
Original PR description
Upgrade scripts are run only when there is an update of the module version. This is not flexible enough. After a major upgrade developers need to upgrade their custom modules. Unfortunately the tools in `upgrade-util` repo that modify modules (`merge_module`, `rename_module`, ...) should be done before loading base module. The latter is already upgraded after a major upgrade thus no upgrade scripts are run for it. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#202720 Forward-Port-Of: odoo/odoo#202014
This PR addresses an access rights issue when an Inventory admin, specifically without POS access, tries to edit the variant attributes on a product template. In its current state, this user will witness an access error related to `pos.combo.line` records when they add or remove an attribute value. This PR fixes this by introducing `.sudo()` access when interacting with the `pos.combo.line` model during this process. opw-4553416 Forward-Port-Of: odoo/odoo#202144
Original PR description
This PR addresses an access rights issue when an Inventory admin, specifically without POS access, tries to edit the variant attributes on a product template. In its current state, this user will witness an access error related to `pos.combo.line` records when they add or remove an attribute value. This PR fixes this by introducing `.sudo()` access when interacting with the `pos.combo.line` model during this process. opw-4553416 Forward-Port-Of: odoo/odoo#202144
This update contains the following commits: [IMP] runtime/utils: export htmlEscape and add tests (https://github.com/odoo/owl/pull/1677) [FIX] utils: Correct validation of mount target in shadow DOM/iframe (https://github.com/odoo/owl/pull/1676) [IMP] runtime: add markup tag function (https://github.com/odoo/owl/pull/1670) Notes: https://github.com/odoo/owl/releases/tag/v2.7.0 Forward-Port-Of: odoo/odoo#203515
Original PR description
This update contains the following commits: [IMP] runtime/utils: export htmlEscape and add tests (https://github.com/odoo/owl/pull/1677) [FIX] utils: Correct validation of mount target in shadow DOM/iframe (https://github.com/odoo/owl/pull/1676) [IMP] runtime: add markup tag function (https://github.com/odoo/owl/pull/1670) Notes: https://github.com/odoo/owl/releases/tag/v2.7.0 Forward-Port-Of: odoo/odoo#203515
Forward-Port-Of: odoo/odoo#203874
Original PR description
Forward-Port-Of: odoo/odoo#203874
* follow markdown guidelines * add section for security reports --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#203813 Forward-Port-Of: odoo/odoo#143761
Original PR description
* follow markdown guidelines * add section for security reports --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#203813 Forward-Port-Of: odoo/odoo#143761
It's due to other module creating leaves on the 40h/week calendar. Since it's set on the workorder. During the productivity loss creation the duration could cost for 0 minutes if it's during the leave of a workcenter opw-moc 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 Forward-Port-Of: odoo/odoo#200545 Forward-Port
Original PR description
It's due to other module creating leaves on the 40h/week calendar. Since it's set on the workorder. During the productivity loss creation the duration could cost for 0 minutes if it's during the leave of a workcenter opw-moc 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 Forward-Port-Of: odoo/odoo#200545 Forward-Port-Of: odoo/odoo#197995
These commits fix two issues: - If a block that has an image selected as background is given a border, its background image will fit awkwardly in the surrounding border, and similarly if the background image is positioned all the way to any edge, it does not cover all the block. - If a video is selected as background for a block, the video does not always fill the block. Steps to reproduce: Bug 1 - Add a masonry block/big boxes block - Add a background image to an element o
Original PR description
These commits fix two issues: - If a block that has an image selected as background is given a border, its background image will fit awkwardly in the surrounding border, and similarly if the…
These commits fix two issues: - If a block that has an image selected as background is given a border, its background image will fit awkwardly in the surrounding border, and similarly if the background image is positioned all the way to any edge, it does not cover all the block. - If a video is selected as background for a block, the video does not always fill the block. Steps to reproduce: Bug 1 - Add a masonry block/big boxes block - Add a background image to an element of the masonry/big boxes - Add a big border - Make the border translucent if it isn't already to better see the bug => The background image overflows on the border randomly - Change the background position by shifting the image all the way to the left => The image does not cover all the border-box Bug 2 - Add a masonry block/big boxes block - Add a video background => The video does not always fill the box, especially when the window gets resized After the changes the image/video background completely covers its block, even when resized or when a border is applied. task-4174638 Forward-Port-Of: odoo/odoo#203571 Forward-Port-Of: odoo/odoo#201200
Currently there are two bugs: 1) Selling a kit product to another internal company (inter_company) and validating the delivery will not update the `qty_delivered` field on the corresponding `SaleOrderLine` * Currently the filters to capture moves which informs the delivered quantity of the line do not account for moves with `location_dest_id` pointing to the inter-company transit location (which should count towards the delivered value) 2) Receiving a kit product via inter_company whic
Original PR description
Currently there are two bugs: 1) Selling a kit product to another internal company (inter_company) and validating the delivery will not update the `qty_delivered` field on the corresponding…
Currently there are two bugs: 1) Selling a kit product to another internal company (inter_company) and validating the delivery will not update the `qty_delivered` field on the corresponding `SaleOrderLine` * Currently the filters to capture moves which informs the delivered quantity of the line do not account for moves with `location_dest_id` pointing to the inter-company transit location (which should count towards the delivered value) 2) Receiving a kit product via inter_company which has a `comp:final` ratio >1 will result in an inaccurate update on the `qty_received` field on the corresponding `PurchaseOrderLine` * The BoM of the sold kit-product belongs to the selling company, and in the purchase_mrp override of `_compute_qty_received` they fail to get marked as kit lines because the `bom_line_id` is hidden due to a company-precise domain constraint **Steps to reproduce:** *Having `sale_purchase_stock_inter_company_rules` and enabled synchronization of sale & purchase orders for both companies* 1. Create a kit product 2. Deliver it to another internal company 3. After validating the delivery, check the the sale order line and observe that the delivered qty is 0 **Cause of the issue:** When computing `qty_delivered`, we have the following filters to capture in/out move qty: https://github.com/odoo/odoo/blob/ef1be75601e7ce346d8e6b9367505cbf39b05101/addons/sale_mrp/models/sale_order_line.py#L69-L70 which don't account for moves to inter-company transit. When computing `qty_received`, we aggregate purchase lines: https://github.com/odoo/odoo/blob/b13e46f06c1d3166fd64fc72cacd8af1f3673ae6/addons/purchase_mrp/models/purchase.py#L56 however using the line's `company_id` means the BoM belonging to the delivering company isn't revealed. Then the `qty_received` is computed as though the line was an ordinary product, leading to the mismatch between product and qty. **Fix:** Modify the existing incoming/outgoing move filters in the qty received and delivered compute methods to account for inter-company moves. opw-4267210 Forward-Port-Of: odoo/odoo#195726
Currently, An error occurs when creating a resource time off. Step to produce: - Install the `hr_holidays` module. - Enable debug mode. - Go to Time Off / Configuration / Time Off Types, And delete `Sick Time Off`. - Go to Settings / Technical / Resource / Resource Time Off, and create a new record. - Add a Time Off Request with the following conditions: The start date is before today's date, end date is after today's date, And state is set to Draft. - Try to save a Resource Time Off
Original PR description
Currently, An error occurs when creating a resource time off. Step to produce: - Install the `hr_holidays` module. - Enable debug mode. - Go to Time Off / Configuration / Time Off Types, And delete…
Currently, An error occurs when creating a resource time off. Step to produce: - Install the `hr_holidays` module. - Enable debug mode. - Go to Time Off / Configuration / Time Off Types, And delete `Sick Time Off`. - Go to Settings / Technical / Resource / Resource Time Off, and create a new record. - Add a Time Off Request with the following conditions: The start date is before today's date, end date is after today's date, And state is set to Draft. - Try to save a Resource Time Off record. `ValueError: External ID not found in the system: hr_holidays.holiday_status_sl` An error occurs when the system tries to retrieve an external ID of the 'Sick Time Off' at [1], but it is not available. Link [1]: https://github.com/odoo/odoo/blob/1303193386665d120ccb5d0045ee984337af0826/addons/hr_holidays/models/resource.py#L67 To handle this issue, add 'raise_if_not_found=False' in ref() argument if the external ID of the 'Sick Time Off' is not available. Sentry-6320807644 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#199236
Forward-Port-Of: odoo/enterprise#82441 Forward-Port-Of: odoo/enterprise#82412
Original PR description
Forward-Port-Of: odoo/enterprise#82441 Forward-Port-Of: odoo/enterprise#82412
Forward-Port-Of: odoo/enterprise#82398
Original PR description
Forward-Port-Of: odoo/enterprise#82398
Certain reports were incorrectly referring to DIAN, even though the Industry and Commerce Tax (ICA) is administered at the district level. According to Colombian regulations (e.g., Decree 807 of 1993, Agreement 65 of 2002 for Bogotá), the collection and administration of ICA falls under the local Secretariat of Finance, not DIAN. This commit adds logic so that if the report is for ICA, it shows the correct reference to the Secretariat of Finance; otherwise, it preserves the reference to DIAN.
Original PR description
Certain reports were incorrectly referring to DIAN, even though the Industry and Commerce Tax (ICA) is administered at the district level. According to Colombian regulations (e.g., Decree 807 of 1993, Agreement 65 of 2002 for Bogotá), the collection and administration of ICA falls under the local Secretariat of Finance, not DIAN. This commit adds logic so that if the report is for ICA, it shows the correct reference to the Secretariat of Finance; otherwise, it preserves the reference to DIAN. Forward-Port-Of: odoo/enterprise#82218 Forward-Port-Of: odoo/enterprise#79630
Currently inter-company kit transactions aren't working: 1) Selling a kit product to another internal company (intercompany) and validating the delivery will not update the `qty_delivered` field on the corresponding `SaleOrderLine`: Currently the filters to capture moves which informs the delivered quantity of the line do not account for moves with `location_dest_id` pointing to the inter-company transit location (which should count towards the delivered value) 2) Receiving a kit pro
Original PR description
Currently inter-company kit transactions aren't working: 1) Selling a kit product to another internal company (intercompany) and validating the delivery will not update the `qty_delivered` field on the corresponding `SaleOrderLine`: Currently the filters to capture moves which informs the delivered quantity of the line do not account for moves with `location_dest_id` pointing to the inter-company transit location (which should count towards the delivered value) 2) Receiving a kit product via intercompany will result in an inaccurate update on the `qty_received` field on the corresponding `PurchaseOrderLine`: Tests added here due to inter-company rule modules being enterprise only. opw-4267210 Forward-Port-Of: odoo/enterprise#78170
This commit adds the possibility to access multiple attachment inside the salary rule while having the total amount of the recordset if amount is access directly task-4640076 Forward-Port-Of: odoo/enterprise#82226
Original PR description
This commit adds the possibility to access multiple attachment inside the salary rule while having the total amount of the recordset if amount is access directly task-4640076 Forward-Port-Of: odoo/enterprise#82226