Daily updates from Odoo
Navigate
Branch
Tuesday, December 3, 2024
34 changes
6 changes
Miscellaneous changes
Version: 17.0+ Issue: If there is no partner on the stock moves, the delivery address will not display on the delivery slip. Purpose of this PR: Change the logic to use the stock.picking partner so that the delivery address will be printed on the delivery slip. Steps to reproduce on runbot: 1) create a receipt transfer 2) return the receipt transfer 3) print the delivery slip for the return 4) view that there is no delivery address, only the warehouse address Notes: There are
Original PR description
Version: 17.0+ Issue: If there is no partner on the stock moves, the delivery address will not display on the delivery slip. Purpose of this PR: Change the logic to use the stock.picking partner so that the delivery address will be printed on the delivery slip. Steps to reproduce on runbot: 1) create a receipt transfer 2) return the receipt transfer 3) print the delivery slip for the return 4) view that there is no delivery address, only the warehouse address Notes: There are three conditions that must be met for the delivery address to be printed on the delivery slip. - there are stock moves - the first stock move has a partner - the picking type code is outgoing With the above workflow, the stock moves are not assigned a partner although a partner is assigned on the picking. opw-4177811 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#180677
Versions -------- - 17.0+ Enterprise: https://github.com/odoo/enterprise/pull/74626 >[!note] >Enterprise PR only adds a test. Steps ----- 1. Have a confirmed subscription; 2. go to subscription management in portal; 3. set or change payment method. Issue ----- The following email is sent: > A payment [...] amounting $ 0.00 for [...] has been confirmed. Cause ----- The `_reconcile_after_done` override in `sale` sends a payment succeeded mail for any sale order linked to
Original PR description
Versions -------- - 17.0+ Enterprise: https://github.com/odoo/enterprise/pull/74626 >[!note] >Enterprise PR only adds a test. Steps ----- 1. Have a confirmed subscription; 2. go to subscription…
Versions -------- - 17.0+ Enterprise: https://github.com/odoo/enterprise/pull/74626 >[!note] >Enterprise PR only adds a test. Steps ----- 1. Have a confirmed subscription; 2. go to subscription management in portal; 3. set or change payment method. Issue ----- The following email is sent: > A payment [...] amounting $ 0.00 for [...] has been confirmed. Cause ----- The `_reconcile_after_done` override in `sale` sends a payment succeeded mail for any sale order linked to a transaction that wasn't confirmed by that transaction. It currently assumes all the transactions in `self` are actual payment operations, as any `validation` gets filtered out in `_finalize_post_processing`, before `_reconcile_after_done` is called[^1]. This assumption no longer holds with `sale_subscription` installed, which also calls `_reconcile_after_done` on validation transactions to manage payment tokens linked to subscriptions[^2]. Solution -------- Filter out `validation` transactions before calling `_send_payment_succeeded_for_order_mail` on linked orders. opw-4169491 [^1]: https://github.com/odoo/odoo/blob/12de68d342b/addons/payment/models/payment_transaction.py#L998-L1003 [^2]: https://github.com/odoo/enterprise/blob/bbd1be56538/sale_subscription/models/payment_transaction.py#L135-L144 Forward-Port-Of: odoo/odoo#188440
Steps to reproduce: - Navigate to Website - Open the user dropdown menu and select "My Account". - On the right-hand side of the page, click on "Edit information". - Enter edit mode. - Drag and drop a form inside the existing form. - Save the changes. - Re-enter edit mode. - Click on any field within the newly added form. - A traceback is triggered. HTML5, as defined by the W3C, prohibits the use of nested \<form\> elements, as they are invalid and lead to undefined behavior in bro
Original PR description
Steps to reproduce: - Navigate to Website - Open the user dropdown menu and select "My Account". - On the right-hand side of the page, click on "Edit information". - Enter edit mode. - Drag and drop…
Steps to reproduce: - Navigate to Website - Open the user dropdown menu and select "My Account". - On the right-hand side of the page, click on "Edit information". - Enter edit mode. - Drag and drop a form inside the existing form. - Save the changes. - Re-enter edit mode. - Click on any field within the newly added form. - A traceback is triggered. HTML5, as defined by the W3C, prohibits the use of nested \<form\> elements, as they are invalid and lead to undefined behavior in browsers. To address this, the website_form snippet has been updated to prevent it from being dropped inside another form. This fix ensures compliance with HTML5 specifications and prevents invalid document structures from being created within the website builder. Due to this commit [1], buttons were added as inline building blocks. As a result, you could insert blocks either directly before or after the button. Since this wasn't the case before, we never encountered any issues in forms, as nothing could be inserted there. [1]: https://github.com/odoo/odoo/commit/507b80a12574c opw-4305352 Forward-Port-Of: odoo/odoo#188028
Right now, when a demo company is created, the demo products do not get taxes in that company. (even in the main company) It is because of https://github.com/odoo/odoo/pull/173803 It is treating however an exception case with tips that if a product does not have taxes in the initial company, we won't give it taxes in the new company. But this means that all demo data won't have taxes unless we put them explicitly at least in one company. That is why we explicitly put the taxes on demo da
Original PR description
Right now, when a demo company is created, the demo products do not get taxes in that company. (even in the main company) It is because of https://github.com/odoo/odoo/pull/173803 It is treating however an exception case with tips that if a product does not have taxes in the initial company, we won't give it taxes in the new company. But this means that all demo data won't have taxes unless we put them explicitly at least in one company. That is why we explicitly put the taxes on demo data, but provide some hooks for exception cases like tips (and combo products). 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#189039
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/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
21 changes
Security fixes and vulnerability patches
Odoo's code sandbox was redesigned to reduce security risks and improve compatibility with future Python versions. Several templates and payroll, appointment, localization, reporting, and Studio areas were updated so existing business flows continue working under the safer rules.
Original PR description
Context ======= `safe_eval` is Odoo's sandbox, this mechanism allows users and eveloppers to write templates, server actions, and more without worrying about the security risks associated with…
Context
=======
`safe_eval` is Odoo's sandbox, this mechanism allows users and
eveloppers to write templates, server actions, and more without
worrying about the security risks associated with arbitrary code execution.
The current version of the sandbox heavily relies on Python's bytecodes
and compile-time verifications. This causes 2 major problems:
1) In every release of Python, its bytecodes are updated or modified.
Which makes Odoo unusable until the security / framework team updates the
whitelist of bytecode.
2) Most sandboxing issues we have faced for the last years was due to a
lack of runtime checks (functions inputs (arguments) and outputs
(return values)). All most every times those kind of issues were
fixed with "dirty" hacks such as adding a list of
"unsafe attribute" or adding a wrapper for modules that are exposing
unsafe objects (such as the `sys` module)
Goal of the change
==================
During this rewrite we had a few goals:
1) Retain compatibility with the original version:
* Find a way to keep the old checks (deny dunders, attribute storing
and deleting)
* Keep the same exposed API, limiting the amount of code that needs
to be rewritten as much as possible
2) Add runtime checks to verify that every types passed and returns are
safe by checking their type. The way that the sandbox does it is by
using two set of types. One for the types we allow to instanciate
(the ones that we have absolute trust, most of them are primitive
types such as `str` and `int`) and the ones that we only allow as
instance, this means that you CANNOT instanciate them inside of the
sandbox (for example the sql cursor or the Odoo environement).
3) Eliminate the issues with the `.format` and `.format_map`.
This is a well known issue within the Python security community, if
you want more info : https://lucumr.pocoo.org/2016/12/29/careful-with-str-format/
Linked with https://github.com/odoo/odoo/pull/138611Enhancements to existing features
The recruitment analysis report has been renamed from Applicant Analysis to Application Analysis for clearer wording. Users can now filter out duplicate applications for the same job position, making reporting cleaner and easier to interpret.
Original PR description
`Applicant Analysis` report was renamed to `Application Analysis`. This PR also adds a filter which allows the user to filter out duplicate applications for a job position. A duplicate application is defined as an application to a job position where there is already another application with the same candidate_id. Task-4222501
The sales timesheet app's automated tests were moved to a newer testing framework. This helps keep future maintenance smoother and reduces reliance on older test tooling, with no expected change for end users.
Original PR description
Purpose of this commit is to convert the qunit testcases that depends on 'mail/../tests/helpers/test_utils' to hoot Part of: 3818666
General Ledger Excel exports now show both the foreign currency amount and the related currency code for multi-currency companies. This makes exported reports clearer for business users while leaving the on-screen report and PDF export unchanged.
Original PR description
The general ledger report has a column 'Currency' for multi-currency companies. This column includes the symbol of the currency in the view and in the PDF export. However in the Excel report, the column does not include the currency symbol, and the user has no information about what currency the column is in. This solution: - Renames the 'Currency' column to 'Amount Currency', which contains the amount as before - Adds a column 'Currency' with the currency code. - Adds an option 'show_currency' to ensure that the new column is only displayed in an excel report, by overriding export_to_xlsx. As a result of this commit, there are no changes to the view or PDF export, but in the Excel export, an additional column with the currency code is visible. task-4011008
Forecast reports now handle warehouse selections in a consistent way, whether users select one warehouse or several. This simplifies the underlying process and helps reduce maintenance complexity without changing the user-facing workflow.
Original PR description
In this PR
========================
1. For the forecast report, always pass warehouses as a list, regardless of whether it's one or more. This reduces unnecessary code and simplifies the logic.
The main goal is to clean this PR: https://github.com/odoo/enterprise/pull/69760
TaskId :4214109The Documents app test setup was updated by removing older mail testing helpers and replacing them with the newer approach. This is an internal maintenance improvement that helps keep automated tests easier to maintain without changing day-to-day user behavior.
Original PR description
This PR aims to remove legacy mail test_utils. Part of Task-3818666
The manufacturing work order screen was updated to align with a recent platform change that removed an older favorite-search deletion hook. This keeps favorite search editing behavior compatible and reduces maintenance risk without changing day-to-day workflows.
Original PR description
This commit deletes the deleteFavorite method extension from mrp_workorder because the original method is removed in https://github.com/odoo/odoo/pull/185954 task-4280784
The Documents chatter has been visually refreshed to feel more polished and easier to use. This improves the day-to-day experience for users reviewing document discussions and activity.
Original PR description
The chatter has been enhanced for a more polished and user-friendly experience, featuring updated text and design for improved functionality and appeal. **FROM** https://tinyurl.com/2752tz2d **TO** https://tinyurl.com/2bow4ade Task-4312893
Departure reason codes are now managed separately for each country where they are needed, instead of using one shared code field. This helps Belgian and Saudi payroll processes use the correct local codes and avoids confusion when different countries require different values.
Original PR description
Remove the `reason_code` from `hr.hr_departure_reason` because it is only relevant in certain localizations. Replace with one field per localization where it is relevant, this is needed because the code is not necessarily the same in every localization that uses it. task-4320913
Features or functions removed from Odoo
The Subscription app no longer includes built-in automation rules or depends on the automation module. This simplifies the app and removes the unused subscription health indicator from orders and reports; customers who need similar automations can still add them through other tools such as Studio.
Original PR description
This commits removes the dependency of 'base_automation' in the Subscription application and its derived code. The objective of this task is removing the code since it does not add much value and the customer can install automations from others modules if needed (such as Studio). In addition, we are also removing the 'health' field from sale orders and its reports, as it will be no longer used. task-4181465
Code cleanup and technical improvements
This change updates several enterprise messaging-related apps to use a more generic internal data preparation approach. It helps keep approvals, VoIP, and WhatsApp integrations aligned with the main Odoo platform, reducing future maintenance work without changing day-to-day user workflows.
Original PR description
Enterprise counter-part. Part of task-3605717 https://github.com/odoo/odoo/pull/183014
Documents and Studio were updated to stay compatible with recent Kanban view changes in the core platform. This is an internal cleanup that helps keep document and view editing screens working consistently without changing business workflows.
Original PR description
Adaptation of the code of documents/web_studio to the changes brought by https://github.com/odoo/odoo/pull/189109
Miscellaneous changes
Add some hooks and tweaks to improve the experience to customize/improve on top of this module. Info: @wt-io-it Forward-Port-Of: odoo/enterprise#72123
Original PR description
Add some hooks and tweaks to improve the experience to customize/improve on top of this module. Info: @wt-io-it Forward-Port-Of: odoo/enterprise#72123
**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
Problem ---------- Since 1st October, the SHIF replace the NHIF, the only difference is the computation of the amount. All payslip before and on the 9 October use the NHIF and all new payslip from the 9 October use the SHIF Objective ---------- Adapt the salary rules to compute the good rule. Adapt the NHIF Report to make NHIF or SHIF reports. Solution ---------- Create new SHIF rule parameter with a min amount and rate computation. Create a new report wizard to manage the 2 differe
Original PR description
Problem ---------- Since 1st October, the SHIF replace the NHIF, the only difference is the computation of the amount. All payslip before and on the 9 October use the NHIF and all new payslip from the 9 October use the SHIF Objective ---------- Adapt the salary rules to compute the good rule. Adapt the NHIF Report to make NHIF or SHIF reports. Solution ---------- Create new SHIF rule parameter with a min amount and rate computation. Create a new report wizard to manage the 2 different rules NHIF and SHIF task-4294419 Forward-Port-Of: odoo/enterprise#74242
Commit 1: Reproduce: 1. Open a project's settings as Admin/Demo (project managers) 2. Make sure "Use Documents" is checked 3. Try quick creating a folder 4. Access Error This occurs because you are not allowed to create in the restricted "Projects" folder. This commit adapts demo data so that flows can easily be demonstrated and tested without requiring extra configuration steps for a common flow. Commit 2: Quick create folders instead of requests to centralize projects' docum
Original PR description
Commit 1: Reproduce: 1. Open a project's settings as Admin/Demo (project managers) 2. Make sure "Use Documents" is checked 3. Try quick creating a folder 4. Access Error This occurs because you are not allowed to create in the restricted "Projects" folder. This commit adapts demo data so that flows can easily be demonstrated and tested without requiring extra configuration steps for a common flow. Commit 2: Quick create folders instead of requests to centralize projects' documents. Also, the `documents_folder_many2one` widgets links to the documents kanban view of the folder instead of the less useful form view, as it is done in the other apps and bridges. Task-4344434 Forward-Port-Of: odoo/enterprise#74076
4 news appraisals templates have been added to improve their understanding for users. task-4206744 Forward-Port-Of: odoo/enterprise#70708
Original PR description
4 news appraisals templates have been added to improve their understanding for users. task-4206744 Forward-Port-Of: odoo/enterprise#70708
In this commit, we fix sign_resend_expired_link_tour tour by doing click in step action instead of doing nothing. Forward-Port-Of: odoo/enterprise#74977 Forward-Port-Of: odoo/enterprise#74767
Original PR description
In this commit, we fix sign_resend_expired_link_tour tour by doing click in step action instead of doing nothing. Forward-Port-Of: odoo/enterprise#74977 Forward-Port-Of: odoo/enterprise#74767
Purpose ======= The field was introduced when the overtime generation mechanism was already existing. But was included into the decision process to generate overtime work entries. Forward-Port-Of: odoo/enterprise#74562
Original PR description
Purpose ======= The field was introduced when the overtime generation mechanism was already existing. But was included into the decision process to generate overtime work entries. Forward-Port-Of: odoo/enterprise#74562
Version: - saas-17.4 Steps to reproduce: 1. Install sale_subscription. 2. Create a Sales Order and invoice it. 3. Click on upsell. 4. Duplicate the upsell. 5. Change the start date. Issue: - When duplicating the upsell and changing the start date, an error occurs due to a missing next_invoice_date value. Solution: - Added a condition to retrieve next_invoice_date if it's missing, preventing the error. task:4325916 Forward-Port-Of: odoo/enterprise#73371
Original PR description
Version: - saas-17.4 Steps to reproduce: 1. Install sale_subscription. 2. Create a Sales Order and invoice it. 3. Click on upsell. 4. Duplicate the upsell. 5. Change the start date. Issue: - When duplicating the upsell and changing the start date, an error occurs due to a missing next_invoice_date value. Solution: - Added a condition to retrieve next_invoice_date if it's missing, preventing the error. task:4325916 Forward-Port-Of: odoo/enterprise#73371
Follow-up of https://github.com/odoo/enterprise/pull/74131 PR above attempts to solve an issue of every-growing unpinned whatsapp conversations that make it harder to use Discuss for performance reasons, due to reaching the technical limit of around 2000 pinned conversations. To do so, it automatically forces unpinning whatsapp conversation after 2 weeks of inactivity, even if the conversation was unread. While this is an improvement, if there are around 150 whatsapp new whatsapp conversat
Original PR description
Follow-up of https://github.com/odoo/enterprise/pull/74131 PR above attempts to solve an issue of every-growing unpinned whatsapp conversations that make it harder to use Discuss for performance reasons, due to reaching the technical limit of around 2000 pinned conversations. To do so, it automatically forces unpinning whatsapp conversation after 2 weeks of inactivity, even if the conversation was unread. While this is an improvement, if there are around 150 whatsapp new whatsapp conversations made every day, then the 2 week force unpin is not enough, because the 2000 pinned conversation limit is reached. This commit fixes the problem by reducing the force unpin of whatsapp conversation to 5 days. The architecture of Discuss should scale better, but this is hardly achievable in short manner, hence why the current solution to this problem is prevent reaching a high amount of pinned conversations. opw-4330847 Forward-Port-Of: odoo/enterprise#74703
7 changes
New functionality added to Odoo
This update adds key financial columns – 'Note,' 'Gross,' and 'Depreciation' – to the Balance Sheet and Profit & Loss reports for the Syscohada localization. The 'Note' column facilitates cross-referencing with a future report, and the new columns provide more detailed financial data for analysis.
Original PR description
The Profit&Loss and Balance Sheet have now a "Note" column, that contains a code that will help cross reference the Note Report (currently not implemented in odoo). Also, "Gross" and "Depreciation" columns are added to the Balance Sheet. Community PR: https://github.com/odoo/odoo/pull/163380 task-3848455
This update incorporates new parameter values for the CP200 salary scale, specifically for the 2024 tax year. This ensures accurate payroll calculations and compliance with Belgian tax regulations within the Enterprise module.
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
Resolved issues and error corrections
This update resolves a problem where email layouts for sign requests weren't correctly translated into the recipient's language. Previously, emails used the sender's language for all content, regardless of the recipient's preferences. Now, emails will consistently use the language specified in the request, ensuring accurate translations and a better user experience.
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
This update corrects a problem where the system incorrectly interpreted warehouse context information, leading to potential errors in product forecasting. The change ensures that the system properly handles different warehouse context types, improving the reliability of quantity calculations and reporting.
Original PR description
### Steps to reproduce: - Inventory > Configuration > Warehouse Management > Warehouses - Create a second warehouse - Go to Inventory > Products > Products - In the search bar type `foo` string >…
### Steps to reproduce: - Inventory > Configuration > Warehouse Management > Warehouses - Create a second warehouse - Go to Inventory > Products > Products - In the search bar type `foo` string > Search Warehouse for `foo` - Click on any product Kandan record - Click on the Forecast smart button of the product #### > Traceback ### Cause of the issue: Thanks to the dummy `warehouse_id` field of the `product.template` model a `warehouse` context key can be set in the context from the search bar: https://github.com/odoo/odoo/blob/a72763acfc4d83ae2aadad2e807547c5b1819002/addons/stock/models/product.py#L685 https://github.com/odoo/odoo/blob/a72763acfc4d83ae2aadad2e807547c5b1819002/addons/stock/views/product_views.xml#L78 This trick is notably used in order to take the warehouse into account in the computation of the various quantity fields associated to products by generating custom location domains: https://github.com/odoo/odoo/blob/a72763acfc4d83ae2aadad2e807547c5b1819002/addons/stock/models/product.py#L136-L137 https://github.com/odoo/odoo/blob/a72763acfc4d83ae2aadad2e807547c5b1819002/addons/stock/models/product.py#L250-L255 However, since that context key was added via the search bar, it type might be: a string, an integerId or a list of either/both other types. (E.g. to create a list of a string and integer type and select a string and then type a string allowing you to find a real warehouse id that you can select after clicking on the dropdown arrow). Therefore, in order to be properly used, this context key needs to be parsed to be used properly as done in the `_get_domain_locations` for instance. However, the `warehouse` context key is used at many other places in the code, each time expecting a single integer id, and since the warehouse context key is not cleaned from one action to an other you are technically able to provide a string where the code is expecting a an integer. ### Fix: The proper fix of this use case would be to change the context key name used by the search view to only match flows expecting such a context. However, this change is not stable as it requires to modify a view and hence can't be applied before master (18.1). As such, in prior versions, we add a context parser for to extract a single integer id from the `warehouse` context key where it is used but unexpected to match something else. ### Note: This patch will improve other fixes and hopefully prevent yet unoticed error raised by this issue: 903d8beeea5d332e556ef81e231a3b8b4c51cd45 and afa7c6bf25c9de5fc0c878faa29e1cc35bc11805 Community: https://github.com/odoo/odoo/pull/187808 opw-4290818 X-original-commit: 856409a1fb35c6c49fe4c404931587a95d99d370
This update fixes an issue where branch companies couldn't select accounts from their parent company when creating assets. Now, users can choose accounts from the parent company, streamlining the asset creation process and ensuring accurate accounting across the organization. This improves efficiency and data consistency.
Original PR description
**Steps to reproduce:** - Install Accounting - Create a Branch company without COA - Switch to the Branch company - Go to "Accounting / Accounting / Management / Assets" - Create an asset - Try to select an account for "Fixed Asset Account", "Depreciation Account" or "Expense Account" **Issue:** The list is empty. The accounts from the parent company should be proposed. opw-4368887
This update fixes a bug that prevented users from editing the justification field within employee skill assessments. By adding a simple setting, the system now correctly allows editing of this field, ensuring accurate and up-to-date skill evaluations. This improves the usability of the appraisal process.
Original PR description
Added `editable="bottom"` to the tree view of `skill_ids` in the `Skills` tab of the `hr.appraisal` form. This ensures the `justification` field and other tree fields are editable when allowed. Resolves an issue where the `justification` field was rendered as read-only. Steps to reproduce: 1. Go to Appraisal 2. 3. Chose any employee and go to their skills 4. Try to edit the justification field opw-4334153
This update resolves a bug that caused a traceback when updating planning slots without recurrence settings. The fix adds a check to handle cases where recurrence information is missing, preventing errors and ensuring smooth slot updates. This improves the reliability of the planning module.
Original PR description
Currently, a traceback occurs when the user tries to update the planning slot but has no recurrence. To reproduce this issue: 1) Install planning 2) Open any existing Open Shift planning slot 3)…
Currently, a traceback occurs when the user tries to update the planning slot but has no recurrence. To reproduce this issue: 1) Install planning 2) Open any existing Open Shift planning slot 3) Enable the `repeat` and update the start and end date 4) Give the edit value as `All shifts` and make sure the resource be empty 5) Save the record. Error:- ``` IndexError: tuple index out of range ``` Here the `resource` is not required in planning slot. So, when the user tries to update an open shift with the `repeat` enabled and `resource_update` as `all`, it leads to a traceback from the below line. https://github.com/odoo/enterprise/blob/64fc38a80520cfeeb81c0bb329c6b24c3e9454e1/planning/models/planning.py#L866-L871 This is because when there is no `recurrence_slots` in the slot, we get an empty recordset for the `recurrence_slots`, which leads to the above traceback when trying to extract a value from the recurrency_slots. We can resolve this issue by adding an extra check of `recurrence_slots` which makes the code more robust. sentry-6096445646