Tuesday, December 31, 2024
10 changes · saas-18.1
Resolved issues and error corrections
The employee payroll page now hides the Belgian Payroll section unless the active company is based in Belgium. This prevents irrelevant Belgian payroll options from appearing for employees in other countries and keeps the form clearer for users.
Original PR description
in hr.employee form inside the payroll page the group `Belgian Payroll` was always visible if the `l10n_be_hr_payroll` is installed regradless the active company - add `invisible="company_country_code != 'BE'"` to the group to be only visible when `BE` company is selected Task: 4434600
Fixed an issue where opening contracts outside Luxembourg could fail when the Luxembourg payroll module was installed. The change ensures Luxembourg-specific meal voucher settings are only required when relevant, preventing unnecessary errors for other countries.
Original PR description
When you try to open a non-LU contract while the `l10n_lu_hr_payroll` is installed it raise error as `l10n_lu_meal_voucher_max_value` parameter is not presented in the rule parameter - add `raise_if_not_found=self.country_code == 'LU'` to only raise the error when the contract is LU - add the `or 0` to give a value as it used in the function and None whould raise an error Task: 4420371
Miscellaneous changes
Issue: ====== We can't insert a link with `/url` in mass mailing Steps to reproduce the issue: ============================= - Install website and email marketing - Create a new mass mailing - Add a button using `/button` - Add a label - Write `/` in url and choose any option make sure to click on it using the mouse - Save - The link isn't inserted Origin of the issue: ==================== When we click to select an item, the event `mousedown` is triggered on the document which
Original PR description
Issue: ====== We can't insert a link with `/url` in mass mailing Steps to reproduce the issue: ============================= - Install website and email marketing - Create a new mass mailing - Add a button using `/button` - Add a label - Write `/` in url and choose any option make sure to click on it using the mouse - Save - The link isn't inserted Origin of the issue: ==================== When we click to select an item, the event `mousedown` is triggered on the document which will force a wysiwyg blur. So the selection is no more in the editable and we can't insert the link. Solution: ========= To avoid the blur, we add the selector of the autocomplete to the selectors that delay the blur. opw-4283325 Forward-Port-Of: odoo/odoo#192041 Forward-Port-Of: odoo/odoo#186638
Before this commit, when loading a partner, it was possible to load programs that were not available. opw-4339514 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#191704
Original PR description
Before this commit, when loading a partner, it was possible to load programs that were not available. opw-4339514 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#191704
Since [1], the filed `l10n_in_edi_production_env` has been moved from module `l10n_in_edi` to `l10n_in`. `l10n_in_gstin_status` needs to be neutralized to not hit the production servers, but it does not depend on the `l1on_in_edi` module which holds the neutralization script. Even if the `l10n_in_gstin_status` does not end up performing operation that require a strict neutralization, future modules that also depend solely on `l10n_in` might not be so lucky, rendering this change absolut
Original PR description
Since [1], the filed `l10n_in_edi_production_env` has been moved from module `l10n_in_edi` to `l10n_in`. `l10n_in_gstin_status` needs to be neutralized to not hit the production servers, but it does…
Since [1], the filed `l10n_in_edi_production_env` has been moved from module `l10n_in_edi` to `l10n_in`. `l10n_in_gstin_status` needs to be neutralized to not hit the production servers, but it does not depend on the `l1on_in_edi` module which holds the neutralization script. Even if the `l10n_in_gstin_status` does not end up performing operation that require a strict neutralization, future modules that also depend solely on `l10n_in` might not be so lucky, rendering this change absolutely necessary. The purpose of the standard neutralization framework is to allow us to create database copies that will not interact with external systems in ways that could impact the production database (or if it is not possible to prevent the interactions, make sure that they are benign or won't result in actual changes), or impact the customers of the operator of the production database. This is mainly useful to allow safe support investigation on database duplicates. [1] https://github.com/odoo/odoo/pull/175290 Forward-Port-Of: odoo/odoo#191913
**Problem**: In saas-17.2, the new URL structure no longer includes `menu_id`, which was previously used to set the current menu upon page refresh: https://github.com/odoo/odoo/blob/1443e5503c7396512a078f9f52fd4cb31b62e202/addons/web/static/src/webclient/webclient.js#L76 This change causes issues for actions like `action_orderpoint_replenish`, which are not directly tied to any `ir.ui.menu` and lack a `menu_id` in the URL: https://github.com/odoo/odoo/blob/535a02565f9e9142f0ef1fe9f44d1935f
Original PR description
**Problem**: In saas-17.2, the new URL structure no longer includes `menu_id`, which was previously used to set the current menu upon page refresh: https://github.com/odoo/odoo/blob/1443e5503c7396512a078f9f52fd4cb31b62e202/addons/web/static/src/webclient/webclient.js#L76 This change causes issues for actions like `action_orderpoint_replenish`, which are not directly tied to any `ir.ui.menu` and lack a `menu_id` in the URL: https://github.com/odoo/odoo/blob/535a02565f9e9142f0ef1fe9f44d1935f7b42075/addons/web/static/src/webclient/webclient.js#L59-L65 As a result, the menuId becomes `undefined`, leading to the top menu not being loaded properly. **Solution**: Add a path to action to ensure that it is properly reloaded. **Steps to reproduce**: 1. Navigate to *Inventory > Replenishment*. 2. Refresh the page. 3. Observe that the top menu disappears. opw-4350871 Forward-Port-Of: odoo/odoo#189402
### Issue: Certain carrier's API processes validity checks and parcels generation one picking at a time so that on our end we are forced to send requests one at a time at the end of the the `_action_done`: https://github.com/odoo/odoo/blob/e4f68fc6eb2a666a07b6627b9dc0ec575b79d1e3/addons/stock/models/stock_picking.py#L918 https://github.com/odoo/odoo/blob/e4f68fc6eb2a666a07b6627b9dc0ec575b79d1e3/addons/delivery/models/stock_picking.py#L192-L196 However, since a UserError of any of the picking
Original PR description
### Issue: Certain carrier's API processes validity checks and parcels generation one picking at a time so that on our end we are forced to send requests one at a time at the end of the the…
### Issue: Certain carrier's API processes validity checks and parcels generation one picking at a time so that on our end we are forced to send requests one at a time at the end of the the `_action_done`: https://github.com/odoo/odoo/blob/e4f68fc6eb2a666a07b6627b9dc0ec575b79d1e3/addons/stock/models/stock_picking.py#L918 https://github.com/odoo/odoo/blob/e4f68fc6eb2a666a07b6627b9dc0ec575b79d1e3/addons/delivery/models/stock_picking.py#L192-L196 However, since a UserError of any of the picking will cause a rollback of the entire batch on Odoo's side, pikcings might end up being processed on the carrier side but non validated on Odoo's side during batch validation. ### Steps to reproduce: - Configure sendcloud shipping method + website + payment providers - In your sendcloud configuration select sendcloud shipping product to not be able to handle products with a weight exceeding 10 kg e.g; bpost @home (0-10kg). - Create 2 storable products with respective weigth 1 and 100 kg. - Publish them on the website for sale. - Open a private window, make an order via the website for the 1kg product by filling your cart and use sendcloud as carrier. - Repeat the operation with the other product to generate a seconde SO. - Back to your main window > Inventory Overview > Delivery Orders - Select both deliveries > Action > Validate (in batch) #### > While the first delivery order was processed on carrier side (can be checked on sendcloud's website) #### > the UserError of the second DO rollbacked its validation in Odoo. ### Fix: As such, and since the carrier requests needs to happen after we have validated the pickings in Odoo, we should avoid any rollback of the transaction once any requests has already been successfully treated on the carrier side. ### Note: It is not possible restructure the code to use `senf.env.cr.savepoint` in a loop in order to reset the validation of pickings that are not valid on the carrier side because savepoints can't be used more than 64 times before the server crashes and hence can't be used in record loops. enterprise: https://github.com/odoo/enterprise/pull/75502 opw-4357325 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#191882 Forward-Port-Of: odoo/odoo#190320
**Behavior before PR:** In web_studio video command is not allowed in report. However, user can still upload video from media dialog using video tab. **Behavior after PR is merged:** This commit aims to remove videos tab from media dialog if video command is disabled. task-4285231 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#187251
Original PR description
**Behavior before PR:** In web_studio video command is not allowed in report. However, user can still upload video from media dialog using video tab. **Behavior after PR is merged:** This commit aims to remove videos tab from media dialog if video command is disabled. task-4285231 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#187251
### Issue: Certain carrier's API processes validity checks and parcels generation one picking at a time so that on our end we are forced to send requests one at a time at the end of the the `_action_done`: https://github.com/odoo/odoo/blob/e4f68fc6eb2a666a07b6627b9dc0ec575b79d1e3/addons/stock/models/stock_picking.py#L918 https://github.com/odoo/odoo/blob/e4f68fc6eb2a666a07b6627b9dc0ec575b79d1e3/addons/delivery/models/stock_picking.py#L192-L196 However, since a UserError of any of the picking
Original PR description
### Issue: Certain carrier's API processes validity checks and parcels generation one picking at a time so that on our end we are forced to send requests one at a time at the end of the the…
### Issue: Certain carrier's API processes validity checks and parcels generation one picking at a time so that on our end we are forced to send requests one at a time at the end of the the `_action_done`: https://github.com/odoo/odoo/blob/e4f68fc6eb2a666a07b6627b9dc0ec575b79d1e3/addons/stock/models/stock_picking.py#L918 https://github.com/odoo/odoo/blob/e4f68fc6eb2a666a07b6627b9dc0ec575b79d1e3/addons/delivery/models/stock_picking.py#L192-L196 However, since a UserError of any of the picking will cause a rollback of the entire batch on Odoo's side, pikcings might end up being processed on the carrier side but non validated on Odoo's side during batch validation. ### Steps to reproduce: - Configure sendcloud shipping method + website + payment providers - In your sendcloud configuration select sendcloud shipping product to not be able to handle products with a weight exceeding 10 kg e.g; bpost @home (0-10kg). - Create 2 storable products with respective weigth 1 and 100 kg. - Publish them on the website for sale. - Open a private window, make an order via the website for the 1kg product by filling your cart and use sendcloud as carrier. - Repeat the operation with the other product to generate a seconde SO. - Back to your main window > Inventory Overview > Delivery Orders - Select both deliveries > Action > Validate (in batch) #### > While the first delivery order was processed on carrier side (can be checked on sendcloud's website) #### > the UserError of the second DO rollbacked its validation in Odoo. ### Fix: As such, and since the carrier requests needs to happen after we have validated the pickings in Odoo, we should avoid any rollback of the transaction once any requests has already been successfully treated on the carrier side. ### Note: It is not possible restructure the code to use `senf.env.cr.savepoint` in a loop in order to reset the validation of pickings that are not valid on the carrier side because savepoints can't be used more than 64 times before the server crashes and hence can't be used in record loops. community: https://github.com/odoo/odoo/pull/190320 opw-4357325 Forward-Port-Of: odoo/enterprise#76244 Forward-Port-Of: odoo/enterprise#75502
Issue: After posting content through Social Marketing on Instagram, the generated link redirects to a non-existent post or page. Steps to Reproduce: 1. Install the Social Marketing tool. 3. Set up an Instagram account connection. 3. Create a post and attempt to click on the generated link for redirection to the post on Instagram. Solution: The issue stems from using Instagram's internal post_id, which does not work for direct URL access to the post. To resolve this, we need to requ
Original PR description
Issue: After posting content through Social Marketing on Instagram, the generated link redirects to a non-existent post or page. Steps to Reproduce: 1. Install the Social Marketing tool. 3. Set up an Instagram account connection. 3. Create a post and attempt to click on the generated link for redirection to the post on Instagram. Solution: The issue stems from using Instagram's internal post_id, which does not work for direct URL access to the post. To resolve this, we need to request the permalink associated with the post rather than relying on the internal link. This will ensure accurate redirection. While using the shortcode is an alternative, requesting the permalink directly is a more reliable approach. opw-4243329 Forward-Port-Of: odoo/enterprise#72725