Tuesday, December 3, 2024
11 changes · 18.0
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
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
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
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 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 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) ```