Monday, June 24, 2024
51 changes
22 changes
Enhancements to existing features
This update ensures data cleanup actions added by bridge modules are tied to the modules that create them. When those modules are uninstalled, the related actions are removed automatically, reducing leftover menu options and keeping the system tidy.
Original PR description
Bind contextual action to bridge module to delete action on module uninstallation. task-id: 3275043
Referral recruiters can now access the points menu without needing developer mode. This makes it easier for the right users to review referral points while keeping the change limited to the HR Referral area.
Original PR description
The points menu was visible only in developper mode but it should be visible for referral recruiter too. (I also made the two menuitem respect the 120c width) task-3863980
This update improves the precision of rounding utilities used across several business workflows. It helps financial, payroll, field service, and asset-related tests better reflect expected calculation results, reducing the risk of small rounding inconsistencies.
Original PR description
Updated tests for improved float rounding. Community branch: https://github.com/odoo/odoo/pull/152709
The salary attachment amount is now described as a payslip amount instead of a monthly amount. This better reflects employees who are paid on schedules other than monthly, reducing confusion in payroll records and screens.
Original PR description
In the salary attachment, the field 'monthly_amount' should be named 'payslip_amount' since the employee could be receiving payslips at another frequency than monthly. Task: 3947494
Resolved issues and error corrections
New Belgian payroll contracts now show CP200 before PFI by default. This helps HR teams select the expected structure more easily and reduces the chance of choosing the wrong option.
Original PR description
Purpose ======= Make CP200 come before PFI by default on new contracts.
Code cleanup and technical improvements
WhatsApp chat member information is now sent to the client in a simpler, flatter format. This reduces duplicated data transfer and client-side processing, helping conversations load more efficiently without changing user-facing behavior.
Original PR description
This will reduce data transferred to the client and processed in JS when the same persona was appearing multiple times in members. This also makes more clear what is transferred by avoiding nested values. This is part 3, focusing on channel member and related persona. Formatting code eventually becomes simpler too, by always adding data to the store rather than updating pre-existing dict manually. Part of task-3605717 https://github.com/odoo/odoo/pull/170330
Miscellaneous changes
When trying to create a custom slot of 15min in the calendar, two slots were created. This was because the fullcalendar library was detecting two events: a date selection and a date click. The date selection is correct but the size of the event (15 min) is the minimal size which execute a click using the default time. To prevent this behaviour, we use preventDefault to ignore the second event and so the creation of the second slot. task-3976122 Forward-Port-Of: odoo/enterprise#64000
Original PR description
When trying to create a custom slot of 15min in the calendar, two slots were created. This was because the fullcalendar library was detecting two events: a date selection and a date click. The date selection is correct but the size of the event (15 min) is the minimal size which execute a click using the default time. To prevent this behaviour, we use preventDefault to ignore the second event and so the creation of the second slot. task-3976122 Forward-Port-Of: odoo/enterprise#64000
3 changes
Resolved issues and error corrections
This update fixes a test in the Luxembourg tax reporting module that was not properly respecting tax lock date restrictions. The fix ensures the test will continue to work correctly after an upstream improvement to tax lock date validation. This is a maintenance update that prevents test failures and ensures the tax reporting system functions as intended.
Original PR description
Currently the tax lock date is not checked correctly in a test when posting a move. This problem is solved in the related community PR. This commit ensures the test does not fail after the community fix. To do this we just remove and re-introduce the tax lock date. community PR: https://github.com/odoo/odoo/pull/170475
After [this commit], when we allowed credit card accounts on bank journals, we changed the domain of the manual bank reconciliation widget to also make credit card accounts not selectable anymore. However, people are currently reconciling their bank journal entries with a credit card account, which is not possible anymore after this change. This commit fixes that by only preventing to reconcile with the same account as the one set on the journal. [this commit]: https://github.com/odoo/e
Original PR description
After [this commit], when we allowed credit card accounts on bank journals, we changed the domain of the manual bank reconciliation widget to also make credit card accounts not selectable anymore. However, people are currently reconciling their bank journal entries with a credit card account, which is not possible anymore after this change. This commit fixes that by only preventing to reconcile with the same account as the one set on the journal. [this commit]: https://github.com/odoo/enterprise/commit/4f84a260e515cc5d52d7aa2d9ba0dca7d77a101c Forward-Port-Of: odoo/enterprise#65176 Forward-Port-Of: odoo/enterprise#64877
When settling a sale order with recurring product, the qty invoiced is not correctly update on the sale order. Steps to reproduce: ------------------- * Install Point of Sale and Sale Subscription * Create a recurring product A * Create a sale order with the product A and select any subscription plan * Open a PoS session, settle the order, validate it and invoice it * Go back to the sale order > Observation: The invoiced quantity is still 0 Why the fix: ------------ Before this fi
Original PR description
When settling a sale order with recurring product, the qty invoiced is not correctly update on the sale order. Steps to reproduce: ------------------- * Install Point of Sale and Sale Subscription * Create a recurring product A * Create a sale order with the product A and select any subscription plan * Open a PoS session, settle the order, validate it and invoice it * Go back to the sale order > Observation: The invoiced quantity is still 0 Why the fix: ------------ Before this fix the `_get_subscription_qty_invoiced` method was not considering the pos_order_lines linked to the order_lines. It was happening because here https://github.com/odoo/enterprise/blob/77c76fecda9b63e2fc17431a4cd3623650f93724/sale_subscription/models/sale_order_line.py#L189-L196 The order lines with recurring product where not considered in the normal invoiced quantity computation. opw-3992577 Forward-Port-Of: odoo/enterprise#65202 Forward-Port-Of: odoo/enterprise#64891
**Before this PR:** Some fields are associated with groups in XML files, but they are visible even though the groups are disabled. (Recurring Revenue is not ticked in settings, i.e., the feature is not activated). **After this PR:** recurring_revenue fields in the measure will only be visible when it is ticked in settings, i.e., only when the feature is activated. Task-3810415 Forward-Port-Of: odoo/enterprise#65186 Forward-Port-Of: odoo/enterprise#60228
Original PR description
**Before this PR:** Some fields are associated with groups in XML files, but they are visible even though the groups are disabled. (Recurring Revenue is not ticked in settings, i.e., the feature is not activated). **After this PR:** recurring_revenue fields in the measure will only be visible when it is ticked in settings, i.e., only when the feature is activated. Task-3810415 Forward-Port-Of: odoo/enterprise#65186 Forward-Port-Of: odoo/enterprise#60228
Before, the end date of salary attachment was computed using today's date as a starting point. It really should be the salary attachment's starting date. Also, this will add a computed field to see the duration of the attachment. Task: 3947494 Forward-Port-Of: odoo/enterprise#63361
Original PR description
Before, the end date of salary attachment was computed using today's date as a starting point. It really should be the salary attachment's starting date. Also, this will add a computed field to see the duration of the attachment. Task: 3947494 Forward-Port-Of: odoo/enterprise#63361
Currently when we look at lunch times, we do not take leaves into account, resulting in lunch-time being computed when you have public holidays or time off Forward-Port-Of: odoo/enterprise#64916
Original PR description
Currently when we look at lunch times, we do not take leaves into account, resulting in lunch-time being computed when you have public holidays or time off Forward-Port-Of: odoo/enterprise#64916
Purpose ======= Fix the modal buttons which were badly displayed on mobile. Happening on the appointment type "Share" modal and the appointment type on-boarding step 2 "Preview" button modal. Specification ============= Usual modal buttons are direct children of the footer tag. However in these 2 cases, we're using a custom widget to add a modal button. The widgets are encapsulated into a "o_widget" div which messes up the button display. Restoring a good display for these widgets button
Original PR description
Purpose ======= Fix the modal buttons which were badly displayed on mobile. Happening on the appointment type "Share" modal and the appointment type on-boarding step 2 "Preview" button modal. Specification ============= Usual modal buttons are direct children of the footer tag. However in these 2 cases, we're using a custom widget to add a modal button. The widgets are encapsulated into a "o_widget" div which messes up the button display. Restoring a good display for these widgets buttons by making them take all the available space on mobile view and only the necessary space on higher screen sizes. Task-3981072 Forward-Port-Of: odoo/enterprise#64924 Forward-Port-Of: odoo/enterprise#64235
**Current behavior:** A picking with a move for a product with kit BOM that also has some product packaging can be un-openable in Barcode. **Expected behavior:** Any picking should be able to be processed in Barcode. **Steps to reproduce:** *Enable product packagings* 1. Create a storable product with a kit BOM and a product packaging 2. Make some picking that has a move for the new product, confirm it so the moves for the kit components are created 3. Add stock move lines for
Original PR description
**Current behavior:** A picking with a move for a product with kit BOM that also has some product packaging can be un-openable in Barcode. **Expected behavior:** Any picking should be able to be…
**Current behavior:** A picking with a move for a product with kit BOM that also has some product packaging can be un-openable in Barcode. **Expected behavior:** Any picking should be able to be processed in Barcode. **Steps to reproduce:** *Enable product packagings* 1. Create a storable product with a kit BOM and a product packaging 2. Make some picking that has a move for the new product, confirm it so the moves for the kit components are created 3. Add stock move lines for each of the moves, fill out their `qty_done` field with the required amount 4. Save the picking record, go into Barcode 5. Try to open the picking -> trace back **Cause of the issue:** The Barcode client tries to read the package record of the BOM product/product template but it was never fetched into the barcode cache. **Fix:** Ensure any packaging record that could have an attempted access is fetched by the barcode client `onWillStart()`. opw-3895426 Forward-Port-Of: odoo/enterprise#65179 Forward-Port-Of: odoo/enterprise#64024
Since Persona model properly determines `avatarUrl` it makes sense to invoke its method, that way we make sure that proper partner avatar is fetched. X-original-commit: 706259bc1177b22ee66c70062d8cb8f750bf0f02 fixes original pr of the task-3908710 Forward-Port-Of: odoo/enterprise#65069
Original PR description
Since Persona model properly determines `avatarUrl` it makes sense to invoke its method, that way we make sure that proper partner avatar is fetched. X-original-commit: 706259bc1177b22ee66c70062d8cb8f750bf0f02 fixes original pr of the task-3908710 Forward-Port-Of: odoo/enterprise#65069
Add the studio.approval.rule models in the default models to studio export. Task-3748219 Forward-Port-Of: odoo/enterprise#57038
Original PR description
Add the studio.approval.rule models in the default models to studio export. Task-3748219 Forward-Port-Of: odoo/enterprise#57038
In fc84a6e a fix was added to prevent deleting EDI documents as they're sent to the government. This is not the case for vendor bills and vendor bill refunds. This commit allows the deletion of the documents for those move types. task-3999152 Forward-Port-Of: odoo/enterprise#64974
Original PR description
In fc84a6e a fix was added to prevent deleting EDI documents as they're sent to the government. This is not the case for vendor bills and vendor bill refunds. This commit allows the deletion of the documents for those move types. task-3999152 Forward-Port-Of: odoo/enterprise#64974
Forward-Port-Of: odoo/enterprise#65016 Forward-Port-Of: odoo/enterprise#62136
Original PR description
Forward-Port-Of: odoo/enterprise#65016 Forward-Port-Of: odoo/enterprise#62136
In 17.0, a protection was added to the 281.50 tags on the partners (commit: 09439b46cbb8b6ef2447d67e1647cbc284d0e192). The code was forward ported but the function `user_has_groups` has been removed in saas-17.2 (in https://github.com/odoo/odoo/commit/cb31d4352c741a5f8a927a65debb8e027e87df22), causing a traceback. In this commit, we rather use the `has_group` function. task-3955109 Forward-Port-Of: odoo/enterprise#64971
Original PR description
In 17.0, a protection was added to the 281.50 tags on the partners (commit: 09439b46cbb8b6ef2447d67e1647cbc284d0e192). The code was forward ported but the function `user_has_groups` has been removed in saas-17.2 (in https://github.com/odoo/odoo/commit/cb31d4352c741a5f8a927a65debb8e027e87df22), causing a traceback. In this commit, we rather use the `has_group` function. task-3955109 Forward-Port-Of: odoo/enterprise#64971
…efined Steps to reproduce: - Have a company A - Have a company B - Have a Product A defined only for Company A - Activate intercompany and automatic invoice/bills in both Company A and Company B - In Company A, create an invoice with Product A and Company B as the customer - Confirm Issue: An access error is raised Cause: Because of the new access rules introduced by branches, `account.move.line` have `_check_company_auto = True` https://github.com/odoo/odoo/blob/14db39961c445
Original PR description
…efined Steps to reproduce: - Have a company A - Have a company B - Have a Product A defined only for Company A - Activate intercompany and automatic invoice/bills in both Company A and Company B -…
…efined Steps to reproduce: - Have a company A - Have a company B - Have a Product A defined only for Company A - Activate intercompany and automatic invoice/bills in both Company A and Company B - In Company A, create an invoice with Product A and Company B as the customer - Confirm Issue: An access error is raised Cause: Because of the new access rules introduced by branches, `account.move.line` have `_check_company_auto = True` https://github.com/odoo/odoo/blob/14db39961c445a8243c2cc7af44132320a655594/addons/account/models/account_move_line.py#L23 Triggering the check at https://github.com/odoo/odoo/blob/e30853b9fbde28cd4b1dc9948e12fe2be0b03abc/odoo/models.py#L4324-L4325 Creating inconsistencies at https://github.com/odoo/odoo/blob/e30853b9fbde28cd4b1dc9948e12fe2be0b03abc/odoo/models.py#L3745-L3750 Solution: Set the product on the bill only it has no company_id set on it opw-3875354 Forward-Port-Of: odoo/enterprise#64625 Forward-Port-Of: odoo/enterprise#63086
"Switch audio input" test failed in an undeterminitic manner on this line: https://github.com/odoo/enterprise/blob/e808e583e9d406735a05dab42bf24f8b89899b67/voip/static/tests/softphone/device_selection_dialog.test.js#L54 After clicking the "Call" button, func `makeCall` has asynchronous call before setTimeout: https://github.com/odoo/enterprise/blob/e808e583e9d406735a05dab42bf24f8b89899b67/voip/static/src/core/user_agent_service.js#L268 https://github.com/odoo/enterprise/blob/e808e583e9d406735a
Original PR description
"Switch audio input" test failed in an undeterminitic manner on this line: https://github.com/odoo/enterprise/blob/e808e583e9d406735a05dab42bf24f8b89899b67/voip/static/tests/softphone/device_selection_dialog.test.js#L54 After clicking the "Call" button, func `makeCall` has asynchronous call before setTimeout: https://github.com/odoo/enterprise/blob/e808e583e9d406735a05dab42bf24f8b89899b67/voip/static/src/core/user_agent_service.js#L268 https://github.com/odoo/enterprise/blob/e808e583e9d406735a05dab42bf24f8b89899b67/voip/static/src/core/user_agent_service.js#L284 It may happen that because of the asynchronous call, our `advanceTime(5000)` is executed before we call `setTimeout` in `makeCall`. To avoid this, we check the dom change to make sure the asynchronous call has finished before we continue. Forward-Port-Of: odoo/enterprise#64908
reverts [1] as [2] was reverted and it is no longer needed. As some side effects were noticed and there may be more too subtle to find during manual tour testing. task-3983664 1: a187b096ceca1e0335f86f23469894c11f9b983b 2: e6c55e1683d679efd12e7d1cfca85b736fcbea01 Forward-Port-Of: odoo/enterprise#65106 Forward-Port-Of: odoo/enterprise#64478
Original PR description
reverts [1] as [2] was reverted and it is no longer needed. As some side effects were noticed and there may be more too subtle to find during manual tour testing. task-3983664 1: a187b096ceca1e0335f86f23469894c11f9b983b 2: e6c55e1683d679efd12e7d1cfca85b736fcbea01 Forward-Port-Of: odoo/enterprise#65106 Forward-Port-Of: odoo/enterprise#64478
This update fixes a button contrast issue in the Sign module that was making text difficult to read. By removing an unnecessary styling class, the button now displays with proper contrast in both light and dark modes, improving the user experience without requiring any action from users.
Original PR description
This PR fixes a contrast issue on a primary button within the sign module due to a `text-white` class applied. The default button utility classes already provide a good contrast, meaning that adding extra class is not useful. To fix the issue, we simply remove the class from the button. task-3692048 | Light mode (`:focus` state) | Dark mode | |--------|--------| | <img alt="image" src="https://github.com/odoo/enterprise/assets/128030743/b73a2fe7-f802-4461-9015-16a2f4b46d92"> | <img alt="image" src="https://github.com/odoo/enterprise/assets/128030743/8354c78f-6525-4aef-9057-fdb706b3cd0d"> |
A recent system update automatically assigns a country to companies based on their chart template. This caused Peru sales tests to fail because document validation rules were unexpectedly triggered. This fix updates the tests to properly handle the new document requirement validation.
Original PR description
With this commit: https://github.com/odoo/odoo/pull/166896/commits/90088bd97ec096fa8c360868e3a1addef91bd4ce We automatically add the country of the chart template to the company if the company does not have one by default. This change had a side effect that in the context of the test "TestPeSales," the boolean field l10n_latam_use_documents on the journal was now set to True. The consequence of that was that the constraint _check_l10n_latam_documents was breaking since this constraint checks that for the posted moves that use documents, the move must have a document type and a document number. task: 3945833