Daily updates from Odoo
Tuesday, December 3, 2024
47 changes · 18.0
New functionality added to Odoo
This adds a new Paymob Accept payment provider module, allowing businesses to configure and accept payments through Paymob in Odoo. It includes setup screens, API integration, and customer-facing payment components so merchants can offer an additional payment method.
Original PR description
Added a new module to support a new payment provider. This module includes the necessary configurations, API integrations, and user interface components to facilitate payments through the new provider. 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
Odoo now supports Belvo as a payment provider, allowing customers to create and confirm payment methods through Belvo before using them for future payments. This expands payment options and supports a reusable token-based payment flow for subsequent transactions.
Original PR description
Adds Belvo as payment provider. The flow of using Belvo as payment provider is the following: A payment method is created, which created a payment.token in Odoo. The user agrees to Belvo's terms and conditions. Belvo confirms or cancels the payment method. When confirmed, a payment request is created with the token. The standard flow of payment.transactions is followed with each succesive payment request made with a vaidated token.
Odoo now includes a new Kueski Pay payment provider for Mexican e-commerce businesses. This lets merchants offer Kueski Pay at checkout through Odoo's payment flow, expanding local payment options for customers.
Original PR description
This commit adds new module for Mexican Localization to allow integrate Kueski Pay payment provider into Odoo's payment engine for e-commerce sales Odoo community PR: https://github.com/odoo/odoo/pull/186702 task-3907297
Enhancements to existing features
The IoT homepage now presents connected devices grouped by type with icons, readable names, identifiers, and recent values where available. This makes it easier for users to understand connected hardware at a glance, while also keeping the page updated when devices or pairing information changes.
Original PR description
Before this PR, the device list only showed the identifiers of each device, which aren't very readable. After this PR, the devices are grouped by device type, with each device type having an icon. Each device then shows it's name and identifier, as well as the last sent value if applicable. This PR also contains some small fixes (see commit messages). task-4364479   --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Odoo Studio now includes more standard business data models automatically when preparing exports. This reduces the chance of missing related information during Studio customizations, making exports more complete by default.
Original PR description
In this commit we add several models to the PRESET_MODELS_DEFAULTS list such that the exporter includes necessary models by default. Task-4205813
Resolved issues and error corrections
Course editors can no longer insert embedded components, such as videos, into slide descriptions where they cannot display correctly on the website. This prevents users from saving content that appears valid in editing but is missing for learners.
Original PR description
Steps to reproduce ================== - Install website_slides - Go to eLearning > Basics of Gardening - Click on a line - Switch to the description tab - Type /video - Insert a video - Save - Click on the "Go to Website" action button - Click on the line that has just been edited => The video does not appear Cause of the issue ================== The new web_editor has a plugin system, and one option that is enabled by default is `embedded_components`. This option has been introduced in: https://github.com/odoo/odoo/commit/03f495c696030214c17e6479076571823513f60e According to the description, > It is forcibly set to `false` in HtmlMailField since embedded > components can only be rendered inside Odoo. Solution ======== Disable the embedded components opw-4329734
This update keeps the company assigned to a job applicant and the related candidate record in sync. It prevents access issues that could occur when those records belonged to different companies, especially in multi-company recruitment workflows.
Original PR description
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
Worldline payment references are now kept within the provider's 30-character limit. This prevents hosted checkout requests from being rejected because the order reference is too long, improving payment reliability for affected transactions.
Original PR description
The hostedcheckout param `order.references.merchantReference` is limited to 30 characters [^1], so we must not exceed that size for wordline's payment.transaction reference. [^1]: https://apireference.connect.worldline-solutions.com/s2sapi/v1/en_US/go/hostedcheckouts/create.html?paymentPlatform=ALL --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Argentina withholding tax setup form now hides withholding-specific tax computation details when they do not apply. It also avoids forcing users to fill in a withholding tax field for regular customer or supplier taxes, reducing confusion and setup errors.
Original PR description
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
Opening another internal user's profile no longer triggers an access error related to calendar privacy settings. This keeps user administration smoother while preserving the existing privacy configuration behavior.
Original PR description
Before this commit, an access error was being triggered when opening the user form of different internal users than self. This happened because of the `compute_sudo` flag in the calendar_default_privacy computation function. The sudo flag was introduced for allowing the read of the ResUsersSettings configuration during the computation of calendar_default_privacy. Turns out that this flag is not needed, since the sudo() flags in the inverse function is already sufficient. Thus, we're removing it from the computation. Issue-from: odoo/odoo#183887
This fix prevents Odoo's web tour testing tool from listening for browser errors after a tour has already ended. It reduces false error reports in automated test runs, helping teams get clearer test results.
Original PR description
In this commit, we stop listening for errors that might occur asynchronously after the browser is stopped. This avoids having errors like: Exception received after termination: Uncaught (in promise)Event(isTrusted=true, type='error', target=null, currentTarget=null, eventPhase=0) runbot-error-id~70404 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
Portal users can now use the “log out from all devices” option without encountering an error page. This fixes a broken account security action caused by the page calling an internal function that had been removed.
Original PR description
Currently, a traceback occurs when the portal user tries to `log out from all devices`. To reproduce this issue: 1) Login as a portal user 2) In connection & security click logout from all devices Error:- ``` The method 'revoke_all_devices' does not exist on the model 'res.users.identitycheck' ``` This error is occurring because the method `revoke_all_devices` is removed from the below commit https://github.com/odoo/odoo/commit/0b5ea8e3b5321f4bbfc07651c6a8f666767904f8#diff-16e37db365c1ea1f2e6c79aeb60c80f68f1a5c75970e8e3f198eb18af56278ddL2138 But still, it is referenced in the orm call from the below line, which leads to the above traceback. https://github.com/odoo/odoo/blob/640698c025d329d87467ef5c77a53b98c3590be8/addons/portal/static/src/js/portal_security.js#L139-L143 sentry-5662496036
The Human Resources department organization chart now opens the employee list correctly when users click the employee-count button. This prevents an error in the department form and keeps navigation to department employees working as expected.
Original PR description
Step to reproduce: 1) Install the hr Application and open the form view of department 2) Clicking the gray button that shows the employee number in the department organization chart will result in an error Cause: The argument in the doAction function is incorrect; it should be an action record, not a Python function Solution: First, we retrieve the action using the ORM and then pass it to the doAction function as an argument. Task-4337876
This fixes an issue in the website editor where the image cropping preview could appear outside the visible window after placing content above an image. Users can now crop images without needing to scroll around to find the preview, making page editing smoother.
Original PR description
Following commit [https://github.com/odoo/odoo/commit/189a7c96e6e26825dc05c0c6466576fe63aa091e] which removed the scroll from the `#wrapwrap` element, the cropper offsets were wrongly calculated. Steps to reproduce: - Drop a random snippet - Drop an image snippet below the other one - Crop the image of the image snippet => The cropper preview is outside of the window, you have to scroll to reach it. [https://github.com/odoo/odoo/commit/189a7c96e6e26825dc05c0c6466576fe63aa091e]: https://github.com/odoo/odoo/commit/189a7c96e6e26825dc05c0c6466576fe63aa091e task-4190506 opw-4333004
This fix prevents the web interface from freezing when users configure a custom embedded action to open first. It ensures the intended custom view loads safely, improving reliability for users working with embedded actions such as project task views.
Original PR description
Before this commit, when the current user goes to an action with embedded actions and create a custom embedded action to load the main one with custom filters, for instance, and then sorts the…
Before this commit, when the current user goes to an action with embedded actions and create a custom embedded action to load the main one with custom filters, for instance, and then sorts the embedded actions displayed in the top bar to first load his own embedded action instead of the main one. When the user will try to load the main action to load his custom one by default, the UI will be blocked because of a infinite recursion. This is because the condition "action.embedded_actions_ids && !this.currentController?.config.currentEmbeddedActionId" is wrong, since this.currentController is the same object between recursions ; this can cause an infinite recursive call in some cases. To fix this, the condition was changed to use flag recently introduced to know when it is embedded actions calling `doActionButton` to make sure we will no longer have any infinite recursions inside that function. Steps to reproduce the issue: ============================ 1. Install project app (with demo data) 2. Go to project app 3. Select `Office design` project to see the tasks linked to that project. 4. Click on the button to see the top bar containing the embedded actions. 5. Remove the `Open tasks` filter and create a custom embedded action. 6. Sort the embedded actions inside the top bar to have the custom one first. 7. Go back to the project dashboard. 8. Select again `Office design` project. Expected behavior: ----------------- The custom embedded action should be loaded instead of the main one without any issues. Current Behavior: ----------------- The UI completely freezes because of an infinite recursions in the JS code. task-4283994
This change removes a recently added test optimization that was using too much memory and could cause test runs to crash. It helps keep the web test suite reliable, reducing disruption for development and release validation.
Original PR description
This reverts commit 14b37d5871c97d93723dc925419fa93fa2fb8250. This is due to performance issues likely caused by the added template cache taking way too much memory and occasionnally crashing the test suite. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The Planning kanban view now displays date ranges on a single line when users group or filter records. This makes schedules easier to read and avoids confusing split date information in planning cards.
Original PR description
Current Behaviour: - when grouping or filtering records in the planning kanban view, the daterange looks like displayed on two columns Expected Behaviour: - the daterange should be displayed as a single line Task-4273653
The payment form now shows the ISO 20022 reference field in a consistent position regardless of which bank account option is displayed. This reduces confusion for users reviewing or entering payment details.
Original PR description
The position of the `iso20022_uetr` field was defined as being after the `partner_bank_id` field in the view. However multiple of these fields were defined in the view using if/else conditions, and the former field was put after the first occurrence of the latter. So depending on which `partner_bank_id` field was shown, the `iso20022_uetr` field would be either before or after it. This commit makes it consistent and puts it after the last occurrence of `partner_bank_id`.
This fix keeps the company assigned to recruitment applicants and candidates in sync. It helps prevent access problems when records are updated or created across companies, reducing disruption for HR recruitment workflows.
Original PR description
Since applicants are aggregated into a candidate and the field company_id is not related between these two models. If the company is modified on a records, it won't match the one of the other model and so will create access right issues. To avoid this to hapend, we synchronize the company id between these tow models when we modify one and we use/create a candidate with the same company of the applicant on creation We also propagate the company from the applicant to the candidate, when the candidate is manually created from the backend. task-4350838
The Documents app now consistently shows the activity button when users open the chatter from Kanban or list views. This makes it easier to plan and track follow-up actions on documents without switching views or missing activity options.
Original PR description
Before this PR: In the Kanban view, when selecting request documents and opening the chatter, the activity button does not appear. Similarly, in the list view, when selecting any documents and opening the chatter, the activity button is not displayed. Technical: For request documents, we get an empty res_model, so a condition was added to handle this. In the documents_list_renderer, the 'res_model' cannot be retrieved, since active fields are calculated from the 'arch info'. Therefore, we added the field in the list view. After this PR: The activity button will now be visible for all documents in both the Kanban and list views. Task-4341409
Indian payroll payment advice reports now correctly use the selected payslips instead of only looking for payslips in a batch. This prevents empty PDF reports and spreadsheet errors when generating payment advice from an individual employee payslip.
Original PR description
Steps to reproduce: 1) Install l10n_in_hr_payroll module 2) open payslip of an Indian employee 3) click on the Create Report button and select the Payment Advice option 4) creating Pdf report prints an empty report Cause: Payment advice only refers to the batch's payslip Fix: Now the Payment advice can apply directly to the payslips Task-4220378
The Cancel button is now shown correctly on renewal quotations, even when related invoices exist on the original subscription. This helps sales teams manage renewal quotes without confusion while existing safeguards still prevent invalid subscription cancellations.
Original PR description
Vestion: - 18.0 Steps to reproduce: - Create sale order and confirm it. - Invoice it. - Create renew order. Issue: - The "Cancel" button is not visible on the renewal quotation. Cause: - Condition to make button invisible is checking the invoice count should be greater than 1 but in renew order it is also considering invoice count of parent order and due to that it makes button invisible. Solution: - Remove the condition that checks the invoice count. The "Cancel" button will now be displayed even if an invoice exists. Since the system already prevents users from canceling subscriptions with invoices, this change will not lead to any functional issues.
The Planning onboarding guide now prompts users to click the right controls when launched manually. It also handles the publish action more appropriately on mobile, reducing confusion during setup.
The loan schedule option to skip entries until a chosen date now behaves as intended. This prevents future loan lines from being skipped by mistake and helps keep loan accounting schedules accurate.
Original PR description
### Steps to reproduce: - Create a new Loan at a date several months in the past - Add a "Skip until" date after the date of the loan but before the current date - Compute the draft lines - Confirm - The lines skipped are those after the "Skip until" date and not the ones before ### Cause: It seems there was a typo in how the "Skip until" option is handled. When we add a skip until date, we are actually doing the reverse behavior. We are skipping everything after the skip until and not what's before. ### Solution: Correct the typo. opw-4342085
New companies using Documents and Sign now get the correct default Sign folder automatically. This prevents an error when saving company settings, helping administrators configure multi-company setups without interruption.
Original PR description
Issue: ------ When saving the changes made in the settings, after creating a new company and installing the 'Sign' module will cause Invalid fields 'Sign Base Folder' error. Solution: -----------…
Issue: ------ When saving the changes made in the settings, after creating a new company and installing the 'Sign' module will cause Invalid fields 'Sign Base Folder' error. Solution: ----------- Updated the default record id in the field 'documents_sign_folder_id' as per standard. Steps to reproduce: ------------------------ 1. Create a database in 18.0 with 'Documents' module installed. 2. Create a new company/companies and install 'Sign' module. 3. Go to settings and make changes in the created company/companies. 4. While saving the changes will cause Invalid Fields Error 'Sign Base Folder'. **Reference Screenshot:**  **After the PR:** 1. https://github.com/odoo/enterprise/commit/a32825ee00f2b330d99113f4d8c1488903fe744e#diff-478d2ca433e66687d14803ca4f3a2e7040cfeced0d4b4158e1bc8c4b39184faeR9 2. https://github.com/odoo/enterprise/commit/a32825ee00f2b330d99113f4d8c1488903fe744e#diff-a18eb8f9cbf54c0029e69761c6bbd7c4962ed53c72bc33afda71e994abdab9b8R9 **Queries**: **Before Fix:** ```sql select id, name, documents_sign_folder_id from res_company; id | name | documents_sign_folder_id ----+------------+-------------------------- 2 | Comp | 3 | Odoooo | 1 | My Company | 10 (3 rows) ``` **After Fix**: ```sql select id, name, documents_sign_folder_id from res_company; id | name | documents_sign_folder_id ----+------------+-------------------------- 1 | My Company | 12 2 | Comp | 12 3 | Odoooo | 12 (3 rows) ```
Documentation and clarification updates
This pull request adds a signed Contributor License Agreement record for an individual contributor. It supports Odoo's legal contribution process and does not change product functionality or user workflows.
Original PR description
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
Miscellaneous changes
When uploading invoices in EFFF format taxes were not applied even though the XML file correctly defined them. The issue came from not taking the `<cbc:Percent>` tag into account when outside of `{*}TaxCategory` tag. This commit adds support both structures by checking for the `<cbc:Percent>` tag within `<cac:TaxSubtotal>` and outside of it. task-4348339 Forward-Port-Of: odoo/odoo#188965 Forward-Port-Of: odoo/odoo#188062
Original PR description
When uploading invoices in EFFF format taxes were not applied even though the XML file correctly defined them.
The issue came from not taking the `<cbc:Percent>` tag into account when outside of `{*}TaxCategory` tag.
This commit adds support both structures by
checking for the `<cbc:Percent>`
tag within `<cac:TaxSubtotal>` and outside of it.
task-4348339
Forward-Port-Of: odoo/odoo#188965
Forward-Port-Of: odoo/odoo#188062When you try to ship your products to a pick-up point on the website, you encounter a dialog to choose the exact location of the pick-up point that has the following strings untranslated: "Choose a pick-up point", "Choose this location", and "Closed" (if the pick-up location is closed on someday). This happens because these strings are defined in `delivery` module, which is not a frontend module. This commit redefines those strings in `website_sale` module, which is a fronend module. Task-432
Original PR description
When you try to ship your products to a pick-up point on the website, you encounter a dialog to choose the exact location of the pick-up point that has the following strings untranslated: "Choose a pick-up point", "Choose this location", and "Closed" (if the pick-up location is closed on someday). This happens because these strings are defined in `delivery` module, which is not a frontend module. This commit redefines those strings in `website_sale` module, which is a fronend module. Task-4328208 OPW-4326840 Forward-Port-Of: odoo/odoo#188771
Steps to reproduce: 1. Login as `Mitchell Admin`. 2. Select Indian Company (without selecting any other company). 1. Open `Time Off` app. 3. Click on any day on the calendar. 4. Confirm the time off. 5. An error will occur. In order take a time off from the dashboard, the logged in user must have an employee in the selected company. `Mitchell Admin` doesn't have an employee in the `Indian Company` which causes the bug. This problem is general and happens when any user tries
Original PR description
Steps to reproduce: 1. Login as `Mitchell Admin`. 2. Select Indian Company (without selecting any other company). 1. Open `Time Off` app. 3. Click on any day on the calendar. 4. Confirm the time off. 5. An error will occur. In order take a time off from the dashboard, the logged in user must have an employee in the selected company. `Mitchell Admin` doesn't have an employee in the `Indian Company` which causes the bug. This problem is general and happens when any user tries to take a time off from the dashboard without having an employee in the selected company. To solve the issue, an error message will appear to the user if they try to take a time off without having an employee in the selected company. task-4034228 Forward-Port-Of: odoo/odoo#187601
To reproduce, sign a new contract in the salary configurator with a different home to work distance. Check the employee's private info and the distance is not updated. The issue happens because the salary configurator works on the field `km_home_work` while there is also `distance_home_work` that works with either miles or kilometers. An inverse was introduced in: https://github.com/odoo/odoo/pull/178160 but it used the wrong field when computing `distance_from_work`. task-4306551 ---
Original PR description
To reproduce, sign a new contract in the salary configurator with a different home to work distance. Check the employee's private info and the distance is not updated. The issue happens because the salary configurator works on the field `km_home_work` while there is also `distance_home_work` that works with either miles or kilometers. An inverse was introduced in: https://github.com/odoo/odoo/pull/178160 but it used the wrong field when computing `distance_from_work`. task-4306551 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186480
Before this commit, splitting a floating order would cause an error. opw-4348537 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#188211
Original PR description
Before this commit, splitting a floating order would cause an error. opw-4348537 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#188211
In acf78c27b12cf014cd80d20ea5853e63ab9ca03f we completely refactored the customer display into it's own owl app, but failed to remove part of the old code. In this commit we fix the issue. Task: 4367166 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#189276
Original PR description
In acf78c27b12cf014cd80d20ea5853e63ab9ca03f we completely refactored the customer display into it's own owl app, but failed to remove part of the old code. In this commit we fix the issue. Task: 4367166 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#189276
When we click on a many2one field we want to open the dropdown with or without a query input. The use of the query input is determined by a simple heuristic `savedValue !== inputValue`. The issue here is that we could have extra spaces either in the saved value or in the input value. These extra spaces can influence the search results so we need to trim them. opw-4146031 Forward-Port-Of: odoo/odoo#189125 Forward-Port-Of: odoo/odoo#188933
Original PR description
When we click on a many2one field we want to open the dropdown with or without a query input. The use of the query input is determined by a simple heuristic `savedValue !== inputValue`. The issue here is that we could have extra spaces either in the saved value or in the input value. These extra spaces can influence the search results so we need to trim them. opw-4146031 Forward-Port-Of: odoo/odoo#189125 Forward-Port-Of: odoo/odoo#188933
**Description of the issue/feature this PR addresses:** Improve job posting structured data with modifying remote job specific XML tags when the job is a remote job, in order to match the requirements from [Google Search results Job Posting structured data document](https://developers.google.com/search/docs/appearance/structured-data/job-posting) Currently Odoo website's job detail page with remote job is not passing the rich results test from [Google search rich result test](https://search.
Original PR description
**Description of the issue/feature this PR addresses:** Improve job posting structured data with modifying remote job specific XML tags when the job is a remote job, in order to match the…
**Description of the issue/feature this PR addresses:** Improve job posting structured data with modifying remote job specific XML tags when the job is a remote job, in order to match the requirements from [Google Search results Job Posting structured data document](https://developers.google.com/search/docs/appearance/structured-data/job-posting) Currently Odoo website's job detail page with remote job is not passing the rich results test from [Google search rich result test](https://search.google.com/test/rich-results), as jobLocation will be empty content when it is a remote job. In order to be eligible in appear in google's enriched search result, jobLocation should not be used in a remote job, instead jobLocationtype & applicantLocationRequirements should be applied. **Current behavior before PR:** Empty jobLocation content when the job is a remote job. No jobLocationType & applicantLocationsRequirement tag for remote job which not matching with google search result's requirement. **Desired behavior after PR is merged:** jobLocation tag will be removed if the job is a remote job. jobLocationType will be appeared and the content will be TELECOMMUTE, and applicantLocationRequirements will be company's country. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186706
The demo failure stores the latest traceback when a failure happens. This does not always work well, for example when installing a chart template. In such cases, the only error given will be a generic parsing error pointing to the xml file triggering the call to try_loading, making it difficult to understand the exact issue. As this notification is intended for a developer in order to help investigating the error, a complete traceback would be better. This small change will instead use t
Original PR description
The demo failure stores the latest traceback when a failure happens. This does not always work well, for example when installing a chart template. In such cases, the only error given will be a generic parsing error pointing to the xml file triggering the call to try_loading, making it difficult to understand the exact issue. As this notification is intended for a developer in order to help investigating the error, a complete traceback would be better. This small change will instead use the traceback module to format the exception stored in the demo failure todo, which will give information about the exact cause of the issue. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#189259
Description of the issue this PR addresses: Current behavior before PR: When pasting content containing `<div>` elements with inline child nodes, the `<div>` tags were unwrapped, causing all inline content within multiple `<div>` elements to merge into a single line. Desired behavior after PR is merged: `<div>` elements are now converted to `<p>` tags. This preserves the block structure and ensures inline content within each `<div>` remains in original format. task-4309745 ---
Original PR description
Description of the issue this PR addresses: Current behavior before PR: When pasting content containing `<div>` elements with inline child nodes, the `<div>` tags were unwrapped, causing all inline content within multiple `<div>` elements to merge into a single line. Desired behavior after PR is merged: `<div>` elements are now converted to `<p>` tags. This preserves the block structure and ensures inline content within each `<div>` remains in original format. task-4309745 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#186862
Adhoc-task: 40503 Description of the issue/feature this PR addresses: 1- We removed the following taxes to avoid duplication: "ex_tax_retencion_suss_sufrida", "WTH SUSS I", which is already located here(https://github.com/odoo/odoo/pull/184976/files#diff-4bca1b8ca406e3c79fa6697dcb06168a41e3a1a031fcfc467322ae0d78483523R2) "ex_tax_retencion_ganancias_sufrida", "WTH Earnings I", which is already located here (https://github.com/odoo/odoo/pull/184976/files#diff-4bca1b8ca406e3c79f
Original PR description
Adhoc-task: 40503 Description of the issue/feature this PR addresses: 1- We removed the following taxes to avoid duplication: "ex_tax_retencion_suss_sufrida", "WTH SUSS I", which is already located…
Adhoc-task: 40503 Description of the issue/feature this PR addresses: 1- We removed the following taxes to avoid duplication: "ex_tax_retencion_suss_sufrida", "WTH SUSS I", which is already located here(https://github.com/odoo/odoo/pull/184976/files#diff-4bca1b8ca406e3c79fa6697dcb06168a41e3a1a031fcfc467322ae0d78483523R2) "ex_tax_retencion_ganancias_sufrida", "WTH Earnings I", which is already located here (https://github.com/odoo/odoo/pull/184976/files#diff-4bca1b8ca406e3c79fa6697dcb06168a41e3a1a031fcfc467322ae0d78483523R7) and here (https://github.com/odoo/odoo/pull/184976/files#diff-4bca1b8ca406e3c79fa6697dcb06168a41e3a1a031fcfc467322ae0d78483523R12) 2- We moved the taxes from files to match the same structure as l10n_ar Current behavior before PR: After downloading l10n_ar_withholding and checking the taxes, we realized some duplicates. [[FIX]l10n_ar_withholding: repeated taxes in chart of accounts.webm](https://github.com/odoo/odoo/assets/109111493/56776d61-86f1-4632-98a4-c9e192cc5f3a) Desired behavior after PR is merged: The taxes are no longer duplicated. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Currently, when the IoT Box doesn't have a valid SSL certificate yet when the user is trying to open the Point of Sale customer display it triggers a request error related to invalid SSL certificate in a loop. The screen gets darker and darker and the user needs to connect a mouse to the IoT Box and click on "see the details" to see a non comprehensive error message "ERR_CERT_AUTH_INVALID". This is usually linked to the absence of the IoT subscribtion for this particular database. After this PR
Original PR description
Currently, when the IoT Box doesn't have a valid SSL certificate yet when the user is trying to open the Point of Sale customer display it triggers a request error related to invalid SSL certificate in a loop. The screen gets darker and darker and the user needs to connect a mouse to the IoT Box and click on "see the details" to see a non comprehensive error message "ERR_CERT_AUTH_INVALID". This is usually linked to the absence of the IoT subscribtion for this particular database. After this PR the user will see an error on screen once (and not in a 1s loop) suggesting to check the SSL certificate status which will help functional support to solve related tickets more easily. ticket-4175902 Forward-Port-Of: odoo/odoo#187195
In previous commit [1] we added text at the bottom of email sent when sending invoices, this doesn't work well for translation to have <a> tags in the middle of sentences, in particular in Dutch and German. We move the cliquable URL at the end of the sentence in an icon. [1]: https://github.com/odoo/odoo/commit/42cc1ea713aa977794231897b2f04758e30d8e19 task-no  Forward-Port-Of: odoo/odoo#189214 Forwar
Original PR description
In previous commit [1] we added text at the bottom of email sent when sending invoices, this doesn't work well for translation to have <a> tags in the middle of sentences, in particular in Dutch and German. We move the cliquable URL at the end of the sentence in an icon. [1]: https://github.com/odoo/odoo/commit/42cc1ea713aa977794231897b2f04758e30d8e19 task-no  Forward-Port-Of: odoo/odoo#189214 Forward-Port-Of: odoo/odoo#189157
In this commit, we fix this tour that failed each hour at minute 31 when the tour is runned at this time. The goal is to check the message text content and not the hour it was sent. runbot-error-id~108435 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#189266
Original PR description
In this commit, we fix this tour that failed each hour at minute 31 when the tour is runned at this time. The goal is to check the message text content and not the hour it was sent. runbot-error-id~108435 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#189266
As the previous 'embed_viewer' was also (wrongly) used in maintenance, make it available globally. Runbot issue: https://runbot.odoo.com/web#id=105095&view_type=form&model=runbot.build.error&menu_id=405&cids=1 Forward-Port-Of: odoo/odoo#189174 Forward-Port-Of: odoo/odoo#187035
Original PR description
As the previous 'embed_viewer' was also (wrongly) used in maintenance, make it available globally. Runbot issue: https://runbot.odoo.com/web#id=105095&view_type=form&model=runbot.build.error&menu_id=405&cids=1 Forward-Port-Of: odoo/odoo#189174 Forward-Port-Of: odoo/odoo#187035
### Steps to reproduce: - In the settings: enable multi-steps route - Inventory > Configuration > Warehouse Management > Routes - Unarchive MTO - Create a storable prodcut with MTO, buy routes and a set vendor - Create and confirm a sale order for 3 units of your product - Confirm the purchase order and the associated reciept - Go to the barcode app on you delivery - set the quantity to 1/3 and leave the barcode app - Go back to the the delivery ### > only one line 1/1 appears ###
Original PR description
### Steps to reproduce: - In the settings: enable multi-steps route - Inventory > Configuration > Warehouse Management > Routes - Unarchive MTO - Create a storable prodcut with MTO, buy routes and a…
### Steps to reproduce: - In the settings: enable multi-steps route - Inventory > Configuration > Warehouse Management > Routes - Unarchive MTO - Create a storable prodcut with MTO, buy routes and a set vendor - Create and confirm a sale order for 3 units of your product - Confirm the purchase order and the associated reciept - Go to the barcode app on you delivery - set the quantity to 1/3 and leave the barcode app - Go back to the the delivery ### > only one line 1/1 appears ### Cause of the issue: The barcode app relies on stock move lines to work properly. These move lines are even in correspondance with the barcode lines. When you update a line in the barcode to be 1/3 and then leave the app, to keep track of the demand, the app split the moves in 2: https://github.com/odoo/enterprise/blob/69338098f5407a01b4ddcb8b18bc82cf9d7cb4d5/stock_barcode/models/stock_move.py#L9-L11 To create the new barcode lines, it is therefore expected that new move lines will be created by this call for the splitted move. which is the purpose of this line: https://github.com/odoo/enterprise/blob/69338098f5407a01b4ddcb8b18bc82cf9d7cb4d5/stock_barcode/models/stock_move.py#L37 However, this will only work for moves whose procure method is not MTO because mto moves are not confirmed but flaged as waiting and hence not assigned by the `_action_confirm`: https://github.com/odoo/odoo/blob/e7b269206fa125532c9e3ab6ed2b632198199cd8/addons/stock/models/stock_move.py#L1356-L1362 https://github.com/odoo/odoo/blob/e7b269206fa125532c9e3ab6ed2b632198199cd8/addons/stock/models/stock_move.py#L1380 https://github.com/odoo/odoo/blob/e7b269206fa125532c9e3ab6ed2b632198199cd8/addons/stock/models/stock_move.py#L1418-L1422 As a result no move line will be generated for these splitted mto moves and there will be no stock move line for the barcode to rely on. opw-4232106 --- Forward-Port-Of: odoo/enterprise#73940 Forward-Port-Of: odoo/enterprise#73773
At the moment, when `l10n_ke_edi_oscu_stock` is installed, the purchase order view is broken for users that don't belong to the `account.group_account_invoice` group, because they don't have access to the `l10n_ke_edi.customs.import` model. This commit restricts the `l10n_ke_customs_import_ids` field on the `purchase.order` view to the `account.group_account_invoice` so that this error no longer occurs. runbot-70725 Forward-Port-Of: odoo/enterprise#74893
Original PR description
At the moment, when `l10n_ke_edi_oscu_stock` is installed, the purchase order view is broken for users that don't belong to the `account.group_account_invoice` group, because they don't have access to the `l10n_ke_edi.customs.import` model. This commit restricts the `l10n_ke_customs_import_ids` field on the `purchase.order` view to the `account.group_account_invoice` so that this error no longer occurs. runbot-70725 Forward-Port-Of: odoo/enterprise#74893
This will add new rule parameter values for 2024 for the CP200 salary scales. Task: 4274766 Forward-Port-Of: odoo/enterprise#73080
Original PR description
This will add new rule parameter values for 2024 for the CP200 salary scales. Task: 4274766 Forward-Port-Of: odoo/enterprise#73080
Forward-Port-Of: odoo/enterprise#74889
Original PR description
Forward-Port-Of: odoo/enterprise#74889
**Email layout is not translated to targeted sender's language with Sign mails** Impacted versions: - 16.0 - 17.0 - 18.0 Steps to reproduce: 1. Create a partner with language other than the current user's language. 2. Create a sign request and send the request to the created partner. 3. The strings from the email layout like Odoo's `Powered By` and `Your Document` (Your Signature Request) are not translated to the partner's language, but translated with the user's language. This
Original PR description
**Email layout is not translated to targeted sender's language with Sign mails** Impacted versions: - 16.0 - 17.0 - 18.0 Steps to reproduce: 1. Create a partner with language other than the current…
**Email layout is not translated to targeted sender's language with Sign mails** Impacted versions: - 16.0 - 17.0 - 18.0 Steps to reproduce: 1. Create a partner with language other than the current user's language. 2. Create a sign request and send the request to the created partner. 3. The strings from the email layout like Odoo's `Powered By` and `Your Document` (Your Signature Request) are not translated to the partner's language, but translated with the user's language. This differs from the language in the body. Current behavior: Before this commit, the language of the logged in user and the language given in kwargs would be used to translate the content. The email layout would translate to the user language and the body content would use the kwarg's language. This lead to translation discrepancies. Expected behavior: After this commit, only the language given in the kwargs is used and therefore fixing the translations issues. Forward-Port-Of: odoo/enterprise#73784
When synchronizing orders from Amazon with Avatax enabled, sales order lines currently show no taxes and incorrectly set the tax included price as being the subtotal. This occurs because the fiscal position used does not include any tax, which is the expected behavior for Avatax. The recomputation then uses the full amount of the line (which is tax included), and in the absence of tax, consider this is also the subtotal. We now intentionally do not consider the tax amount from Amazon
Original PR description
When synchronizing orders from Amazon with Avatax enabled, sales order lines currently show no taxes and incorrectly set the tax included price as being the subtotal. This occurs because the fiscal position used does not include any tax, which is the expected behavior for Avatax. The recomputation then uses the full amount of the line (which is tax included), and in the absence of tax, consider this is also the subtotal. We now intentionally do not consider the tax amount from Amazon on the order lines, because the distribution of the Amazon's given tax amount is unknown. The multiple real taxes across that line is not an information that Amazon gives us, and needs to be seen from Avatax. This setup ensures that the subtotal on sales order lines remain accurate. opw-4214775 Forward-Port-Of: odoo/enterprise#74995 Forward-Port-Of: odoo/enterprise#74007