Friday, November 3, 2023
81 changes · master
Enhancements to existing features
The employee list view now avoids showing the work location twice when the homeworking module is installed. This makes the employee overview clearer and reduces confusion for HR users.
Original PR description
The installation of the 'hr_homeworking' module results in the 'name_work_location_display' field being added to the list view with the employee's work location. As a result, both the 'work_location_id' and 'name_work_location_display' fields are shown. In this PR, 'work_location_id' is removed from the list view of an employee. task-3544592
This update adds helpful explanatory text for the option that controls report sections in accounting reports. It makes the setting easier to understand, reducing confusion when configuring composite financial reports.
Original PR description
The goal of this pr is to add a tooltip to the use_sections field. task: 3569038 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Payroll rule labels using “Gross” are updated to “Taxable Salary” based on French feedback. This makes Belgian payroll terminology clearer and better aligned with expected business language without changing payroll calculations.
Original PR description
From french feedback GROSS rules should be named Taxable Salary and not Gross Before this commit: GROSS code refer to the name Gross After this commit: GROSS code refer to the name Taxable Salary
Resolved issues and error corrections
The product form no longer shows an empty Accounting tab when there is no accounting-related content available. This reduces confusion for users by only displaying the tab in situations where it contains useful information.
Original PR description
*: account --- Description of the issue/feature this commit addresses: When going on a product form view, a page "Accouting" is displayed at all times. This page should only be visible if there is content to be displayed which is not the case in certain scenarios. --- Desired behavior after this commit is merged: This commit removes a group from the attributes of the page that could lead to user seeing the page but empty and the group is then added back for the cases in which it was necessary. Adding this pair of commit, the Accounting page on the product form view is only visible when there is content to be viewed inside it. --- Enterprise PR : https://github.com/odoo/enterprise/pull/48843 task-3525878 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
This PR adjusts the size of the icons used for the employee presence status. Prior to this PR, these icons were using a rule to define if they should be diplayed in large or not, by checking the html tag of the element they are in. These icons were also styled with custom CSS to adjust their size, while classes like `fa-lg` could eventually provide a workaround. This approach was causing issues especially in kanban cards, were these icons would appear massive and cause visual clutt
Original PR description
This PR adjusts the size of the icons used for the employee presence status. Prior to this PR, these icons were using a rule to define if they should be diplayed in large or not, by checking the html tag of the element they are in. These icons were also styled with custom CSS to adjust their size, while classes like `fa-lg` could eventually provide a workaround. This approach was causing issues especially in kanban cards, were these icons would appear massive and cause visual cluttering. To improve the render of these inside cards, we simply remove the custom styling applied to these icons. | 17.0 | 17.0-fix-presence-status-icon-size-chgo | | ------------- | ------------- | | <img alt="image" src="https://github.com/odoo/odoo/assets/128030743/53a380d0-10af-495a-9008-1e80c0bd0119"> | <img alt="image" src="https://github.com/odoo/odoo/assets/128030743/6402d4d9-4552-4c51-b2fc-8af3b01d456c"> task-3573702 Forward-Port-Of: odoo/odoo#140139
The attendance planning view now shows hours correctly in its progress bar. This helps managers read attendance progress more accurately and avoids confusion when reviewing schedules.
Original PR description
task-3582107
The product form now shows the Accounting tab only to the right user groups when the accounting app is installed. This prevents users from seeing accounting-related sections they should not need or be allowed to access, keeping product screens cleaner and permissions consistent.
Original PR description
*: account_accountant --- Description of the issue/feature this commit addresses: Wrong visibility assignment of the "Accounting" page of a product's form view. --- Desired behavior after this commit is merged: This commit adds a group necessary for the view of specific content inside the said page after it was removed from the default groups of the page in the account module's version of the page. Adding this commit, the right groups are set on the Accounting page of the product form view when account_accountant is installed. --- Community PR : https://github.com/odoo/odoo/pull/138483 task-3525878
The Gantt view now avoids unnecessarily refreshing progress bars when users move across cells within the same row. This reduces needless screen updates and should make planning views feel smoother and more responsive.
Original PR description
This commit fixes an issue with the gantt progress bars which were re-rendering every time the user would hover a different cell in the gantt view even if the cell is on the same row as the one before. The progress bar component will now only be re-rendered when different rows are being hovered.
The timesheet Kanban view now has more padding above its cards, making the layout feel less cramped. This small visual fix improves readability and comfort when reviewing timesheet entries.
Original PR description
**Prior to this commit:** In the Kanban view of the timesheet, there is a bit less padding above Kanban cards. **Post this commit:** We have a generous amount of padding above Kanban cards. **Task:** 3429428
This commit fixes an accessibility issue about a link which does not provide any visual feedback to the user who would hover it. Prior to this commit, this link did not provide any visual feedback, due to the lack of `cursor-pointer` BS class or `btn-link` styling. The easiest way to fix this is to add a `cursor-pointer` class to the link. We could have turned the link into a button with `btn btn-link` classes but this would requires more layout and design adjustments. task-3573737 For
Original PR description
This commit fixes an accessibility issue about a link which does not provide any visual feedback to the user who would hover it. Prior to this commit, this link did not provide any visual feedback, due to the lack of `cursor-pointer` BS class or `btn-link` styling. The easiest way to fix this is to add a `cursor-pointer` class to the link. We could have turned the link into a button with `btn btn-link` classes but this would requires more layout and design adjustments. task-3573737 Forward-Port-Of: odoo/odoo#140148
We need to filter out records without `request_date_from` and `request_date_to` to avoid the error: ``` File "/tmp/tmpiaelju95/odoo/17.0/addons/hr_work_entry_holidays/models/hr_leave.py", line 180, in write stop = datetime.combine(max(stop_dates) + relativedelta(days=1), time.max) TypeError: '>' not supported between instances of 'datetime.date' and 'bool' ``` Issue observed in test upgrades of `l10n_hk_hr_payroll` ```tests upgrade 17.0: l10n_hk_hr_payroll ``` Forward-Port-O
Original PR description
We need to filter out records without `request_date_from` and `request_date_to` to avoid the error:
```
File "/tmp/tmpiaelju95/odoo/17.0/addons/hr_work_entry_holidays/models/hr_leave.py", line 180, in write
stop = datetime.combine(max(stop_dates) + relativedelta(days=1), time.max)
TypeError: '>' not supported between instances of 'datetime.date' and 'bool'
```
Issue observed in test upgrades of `l10n_hk_hr_payroll`
```tests
upgrade 17.0: l10n_hk_hr_payroll
```
Forward-Port-Of: odoo/odoo#140286To reproduce ======== - having eCommerce installed - let's take a product with price 1 000$ - for simplicity let's say 1$ = 0.5€ - make two orders for the product in € and $ - first order will be 1 000$ - second one will be 500€ - send the digest email - the email shows total eCom sales = 1 500$ Problem ======= - the total amount is a sum between $ and € which gives a wrong value Solution ======== convert all orders amount to the currency of the company opw-3518064 Forward-P
Original PR description
To reproduce ======== - having eCommerce installed - let's take a product with price 1 000$ - for simplicity let's say 1$ = 0.5€ - make two orders for the product in € and $ - first order will be 1 000$ - second one will be 500€ - send the digest email - the email shows total eCom sales = 1 500$ Problem ======= - the total amount is a sum between $ and € which gives a wrong value Solution ======== convert all orders amount to the currency of the company opw-3518064 Forward-Port-Of: odoo/odoo#140549 Forward-Port-Of: odoo/odoo#139599
Scenario: - go to a model in technical - create a new field and set "Related Field" to id => error "Unknown field name 'id' in related field 'id'" because we get the field in self.model which is not present in the form view. Fallback to self.model_id.model as was the case before 16.0 commit: 76f699ca0be5ccb2167f856b6358e48da03e24eb opw-3138440 closes #112495 Forward-Port-Of: odoo/odoo#140583 Forward-Port-Of: odoo/odoo#139927
Original PR description
Scenario: - go to a model in technical - create a new field and set "Related Field" to id => error "Unknown field name 'id' in related field 'id'" because we get the field in self.model which is not present in the form view. Fallback to self.model_id.model as was the case before 16.0 commit: 76f699ca0be5ccb2167f856b6358e48da03e24eb opw-3138440 closes #112495 Forward-Port-Of: odoo/odoo#140583 Forward-Port-Of: odoo/odoo#139927
Forward-Port-Of: odoo/odoo#140702
Original PR description
Forward-Port-Of: odoo/odoo#140702
When creating a sub company with l10n_ar, we get a ValidationError due to the check on existing accounting entries on parent company. Steps: - Create a new company with l10n_ar, and create some moves - Create a branch for the company and save -> ValidationError: "Could not change the AFIP Responsibility of this company because there are already accounting entries." In `account.res_company._existing_accounting`, we check if there are existing move lines in both parent and child compani
Original PR description
When creating a sub company with l10n_ar, we
get a ValidationError due to the check on
existing accounting entries on parent company.
Steps:
- Create a new company with l10n_ar, and
create some moves
- Create a branch for the company and save
-> ValidationError: "Could not change the AFIP
Responsibility of this company because there
are already accounting entries."
In `account.res_company._existing_accounting`,
we check if there are existing move lines in
both parent and child companies, while we would
like to check only new company when it is calling
from `l10n_ar.res_company._check_accounting_info`.
With this commit, we change the return value of
`_existing_accounting` from bool to a mapping
{'company_id': bool} in order to be able to check
either existing entries from a specific company
or from all companies like we did before, by
checking whether the returned value is truthy
or not.
opw-3572926
Forward-Port-Of: odoo/odoo#140637Incoming picking should almost never be in a waiting ('confirmed') state. So we check if the location bypasses reservation and that no move is in MTO. Changing the main_flow_tour because removing the "Waiting" status from incoming picking forms makes it unable to find "Ready" in Mobile UI. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140180
Original PR description
Incoming picking should almost never be in a waiting ('confirmed') state. So we check if the location bypasses reservation and that no move is in MTO.
Changing the main_flow_tour because removing the "Waiting" status from incoming picking forms makes it unable to find "Ready" in Mobile UI.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#140180[IMP] mail: add/modify activity client tests We add a test that checks the rendering of the activity view and the activity popover with activities done. We also add a test that marks as done an activity and verify that the activity view is updated accordingly. And we do a correction in the test "activity menu widget: activity menu with 2 models" (assert.ok(selectContaining... was always true as an array is always returned and [] is true in javascript). [FIX] mail: fix invalid dat
Original PR description
[IMP] mail: add/modify activity client tests We add a test that checks the rendering of the activity view and the activity popover with activities done. We also add a test that marks as done an activity and verify that the activity view is updated accordingly. And we do a correction in the test "activity menu widget: activity menu with 2 models" (assert.ok(selectContaining... was always true as an array is always returned and [] is true in javascript). [FIX] mail: fix invalid date done in the activity list popover Date done field was in camel case instead of snake case leading to undefined value and "Invalid date" in the interface. Task-3558929 Forward-Port-Of: odoo/odoo#139373
task-3568588 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139421
Original PR description
task-3568588 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139421
Problem --------- When creating and editing a bank account, a creation model pops-up to edit the bank account information. The previously entered bank account must be entered again which isn't user-friendly. Examples of models where I noticed the issue: - account.journal - account.payment - bacs.ddi - sdd.mandate - hr.employee Objective --------- The data entered on the bank account bank account should pre-fill acc_number on partner bank pop-up. Solution --------- When crea
Original PR description
Problem --------- When creating and editing a bank account, a creation model pops-up to edit the bank account information. The previously entered bank account must be entered again which isn't user-friendly. Examples of models where I noticed the issue: - account.journal - account.payment - bacs.ddi - sdd.mandate - hr.employee Objective --------- The data entered on the bank account bank account should pre-fill acc_number on partner bank pop-up. Solution --------- When create & edit, `name` could be used to pass (in the context) the value input by the user. However, we want to set the default value of `acc_number` variable instead. By overriding the default_get method, we can get modify the context to do just that. task-3557753 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140606 Forward-Port-Of: odoo/odoo#139211
Before this commit, the install prompt was half shifted out of screen. After this commit, the install prompt is not shifted anymore. 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#140659
Original PR description
Before this commit, the install prompt was half shifted out of screen. After this commit, the install prompt is not shifted anymore. 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#140659
Since https://github.com/odoo/odoo/pull/104741, `Field.states` is no longer supported, remove this attribute and the documentation associated. Forward-Port-Of: odoo/odoo#140694
Original PR description
Since https://github.com/odoo/odoo/pull/104741, `Field.states` is no longer supported, remove this attribute and the documentation associated. Forward-Port-Of: odoo/odoo#140694
1. `searchPartnerSuggestions` uses`authorizedGroupFullName` to see if the channel is public or not 2. `filteredThreads` and `getThreads` uses `hasSelfAsMember` and `is_pinned` along with the channel type 3. search should use `displayName` otherwise the search on the group with a default empty name will fail 4. fix tests. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140495 Forward-Port-Of: odoo/odoo#140065
Original PR description
1. `searchPartnerSuggestions` uses`authorizedGroupFullName` to see if the channel is public or not 2. `filteredThreads` and `getThreads` uses `hasSelfAsMember` and `is_pinned` along with the channel type 3. search should use `displayName` otherwise the search on the group with a default empty name will fail 4. fix tests. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140495 Forward-Port-Of: odoo/odoo#140065
**Current behavior before PR:** The logic used to count the number of RTC Sessions was incorrect. Which led to multiple sounds being played sometimes. Etc, on start a meeting **Desired behavior after PR is merged:** Corrected the RTC Sessions counting logic. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140628
Original PR description
**Current behavior before PR:** The logic used to count the number of RTC Sessions was incorrect. Which led to multiple sounds being played sometimes. Etc, on start a meeting **Desired behavior after PR is merged:** Corrected the RTC Sessions counting logic. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140628
Issue is translation of view which doesn't have website_id and website module is installed in thast case will be lost after upgrade due to this commit: https://github.com/odoo/odoo/pull/129518/commits/85940335216de8a4225793095ee2d9a165e3ef71 OPW: 3496112, 3478348 Forward-Port-Of: odoo/odoo#140620
Original PR description
Issue is translation of view which doesn't have website_id and website module is installed in thast case will be lost after upgrade due to this commit: https://github.com/odoo/odoo/pull/129518/commits/85940335216de8a4225793095ee2d9a165e3ef71 OPW: 3496112, 3478348 Forward-Port-Of: odoo/odoo#140620
Task Adhoc: 32844 Task Latam: 1053 Description of the issue/feature this PR addresses: 1. If the date is changed in the payment wizard don't update the check amount. 2. Payment currency should be the same as the check currency. 3. Warning in the payment register for example if the currency of the check is different than the currency of the payment. 4. Check on companies without country. Company without country should not use checks. 5. Not possible pay with a check with a date that is
Original PR description
Task Adhoc: 32844 Task Latam: 1053 Description of the issue/feature this PR addresses: 1. If the date is changed in the payment wizard don't update the check amount. 2. Payment currency should be the…
Task Adhoc: 32844 Task Latam: 1053 Description of the issue/feature this PR addresses: 1. If the date is changed in the payment wizard don't update the check amount. 2. Payment currency should be the same as the check currency. 3. Warning in the payment register for example if the currency of the check is different than the currency of the payment. 4. Check on companies without country. Company without country should not use checks. 5. Not possible pay with a check with a date that is prior to the check creation date (vendor bill payment date should be after the Customer Invoice payment date when the check was created). 6. If the payment amount is changed and it does not match the check amount then a warning pops up. Current behavior before PR: 1. If the date is changed in the payment wizard is updated the check amount. 2. Payment currency can be different than the check currency. 3. No warning in the payment register for example if the currency of the check is different than the currency of the payment. 4. Check on companies without country. Company without country can use checks. 5. Possible to pay with a check with a date that is prior to the check creation date (vendor bill payment date should be after the Customer Invoice payment date when the check was created). 6. If the payment amount is changed and it does not match the check amount then a warning not pops up. Desired behavior after PR is merged: 1. If the date is changed in the payment wizard the check amount is not updated. 2. Payment currency should be the same as the check currency. 3. Warning in the payment register for example if the currency of the check is different than the currency of the payment. 4. Check on companies without country. Company with country can`t use checks. 5. Not possible to pay with a check with a date that is prior to the check creation date (vendor bill payment date should be after the Customer Invoice payment date when the check was created). 6. If the payment amount is changed and it does not match the check amount then a warning pops up. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139869
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#139209
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 Forward-Port-Of: odoo/odoo#139209
Steps to reproduce the bug: - Open the Menu Editor. - Add a menu item. - Type a URL (which will trigger the autocomplete). - Bug: You can't select the last URLs in the autocomplete dropdown because it goes off screen and can't be scrolled. This bug was introduced by the commit [1]. Since this commit, all modal dialogs are vertically centered, which is why the bug fixed in this commit occurred. [1]: https://github.com/odoo/odoo/commit/dd141a22f44ea88af18448c4a6089252daeba8cc task-3
Original PR description
Steps to reproduce the bug: - Open the Menu Editor. - Add a menu item. - Type a URL (which will trigger the autocomplete). - Bug: You can't select the last URLs in the autocomplete dropdown because it goes off screen and can't be scrolled. This bug was introduced by the commit [1]. Since this commit, all modal dialogs are vertically centered, which is why the bug fixed in this commit occurred. [1]: https://github.com/odoo/odoo/commit/dd141a22f44ea88af18448c4a6089252daeba8cc task-3580373 Forward-Port-Of: odoo/odoo#140729
**Current behavior before PR:** When we try to click on element contenteditable=false then it is switch to nearest editable area. **Desired behavior after PR is merged:** When we try to click on element contenteditable=false then it will not switch to nearest editable area. Task-2977246 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139662 Forward-Port-Of: odoo/odoo#125180
Original PR description
**Current behavior before PR:** When we try to click on element contenteditable=false then it is switch to nearest editable area. **Desired behavior after PR is merged:** When we try to click on element contenteditable=false then it will not switch to nearest editable area. Task-2977246 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139662 Forward-Port-Of: odoo/odoo#125180
Steps to reproduce: 1. Install Inventory app. 2. Enable "Storage Locations" in Inventory settings. 3. Create a new product known as "X". Set it's tracking to "By Unique Serial Number". 4. In Inventory -> Configuration -> Operation Types -> Receipts, set "Use Existing Ones" to true. 5. Create a new Receipt, add a new line of product X. 6. In the "Details" page of the X line, click "Import Serials/Lots". 7. Enter at least two lines of two serial numbers and import. Bug: Notice that the
Original PR description
Steps to reproduce: 1. Install Inventory app. 2. Enable "Storage Locations" in Inventory settings. 3. Create a new product known as "X". Set it's tracking to "By Unique Serial Number". 4. In…
Steps to reproduce: 1. Install Inventory app. 2. Enable "Storage Locations" in Inventory settings. 3. Create a new product known as "X". Set it's tracking to "By Unique Serial Number". 4. In Inventory -> Configuration -> Operation Types -> Receipts, set "Use Existing Ones" to true. 5. Create a new Receipt, add a new line of product X. 6. In the "Details" page of the X line, click "Import Serials/Lots". 7. Enter at least two lines of two serial numbers and import. Bug: Notice that the "Lot/Serial Number" column on each row are blank. This is happening because the view used for stock move lines here will display either the lot_id field of a sml, or the lot_name field, based on varying conditions. In this case, setting "Use Existing Ones" to true will cause the lot_id field to be displayed (and the lot_name field to be invisible). When importing lots, only the lot_name is set with the user's input but the lot_id is left blank. So because lot_id is empty, the column is empty. But this works as expected when "Use Existing Ones" is false because it displays the correctly set lot_name. When the receipt is validated, the lot is created and lot_id for each of the smls is set, so now it displays properly. Fix: when "Use Existing Ones" is set first check if lot exists and set it in that case, otherwise create and set a new lot at that moment opw-3498812 Forward-Port-Of: odoo/odoo#140400 Forward-Port-Of: odoo/odoo#139247
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#139191
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 Forward-Port-Of: odoo/odoo#139191
[CLA] signature for harshbhatt --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140643
Original PR description
[CLA] signature for harshbhatt --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140643
Prior to this commit, there was no space between tags and the label. This commit adapts the label margin to maintain layout consistency. task-3575796 | Before | After | |--------|--------| |  |  | --- I confirm I have signed the CLA
Original PR description
Prior to this commit, there was no space between tags and the label. This commit adapts the label margin to maintain layout consistency. task-3575796 | Before | After | |--------|--------| |  |  | --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140325
### Fixes - Sometimes, ChatGPT includes a little intro text (eg, "Sure, here are some alternatives:") to its answer. This avoids that as much as possible by improving the system prompt and asking to wrap the answer in tags that we then remove. - A way to abort the generation of a batch of alternatives by the AI Copywriter was needed because if a batch was being generated when the user clicked one of the buttons to select a mode, it continued to be generated and to update the state while the n
Original PR description
### Fixes - Sometimes, ChatGPT includes a little intro text (eg, "Sure, here are some alternatives:") to its answer. This avoids that as much as possible by improving the system prompt and asking to…
### Fixes - Sometimes, ChatGPT includes a little intro text (eg, "Sure, here are some alternatives:") to its answer. This avoids that as much as possible by improving the system prompt and asking to wrap the answer in tags that we then remove. - A way to abort the generation of a batch of alternatives by the AI Copywriter was needed because if a batch was being generated when the user clicked one of the buttons to select a mode, it continued to be generated and to update the state while the new batch was in the making, resulting in a potential total of more alternatives than requested. - When inserting generated content in the editor, a frame is added around the content to highlight it for a moment. This frame was not properly positioned in the website builder. This also restyles it to match the style of the "DRAG BUILDING BLOCKS HERE" frame. ### Improvements With this, opening the ChatGPT alternatives dialog still generates three alternatives, but whenever the user clicks on one of the buttons: 1. one new version is generated (rather than three) 2. this new version is added at the top of the list (rather than replacing everything) 3. older versions are showed in grey so as to differenciate them from the new one 4. a badge next to each version shows which instruction was used to generate it (shorten, lengthen, etc.) Since we add new versions from bottom to top, the spinner is now shown above the existing versions. Since a badge is added, it's not necessary to keep the last used button green anymore so once the AI is done generating the new version, the button returns to its blue state. Finally, this rearranges the non-floating toolbar buttons so that the AI, animate and highlight buttons are grouped together at the bottom and take up the full width of the toolbar, and so that the options appear below them. task-3572397 task-3572337 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139857
Forward-Port-Of: odoo/odoo#140681
Original PR description
Forward-Port-Of: odoo/odoo#140681
Current behavior: if the user has no access to crm.lead, it shows the error ``` You are not allowed to access 'Lead/Opportunity' (crm.lead) records. This operation is allowed for the following groups: - Extra Rights/Contact Creation - Sales/Administrator - Sales/User: Own Documents Only - User types/Portal Contact your administrator to request access if necessary.' ``` With this fix, First check the access to the model to count the records or assign zero. **Error:**  Related ticket #3546713 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#139404
Steps to reproduce: (ETA API credentials required) - Install l10n_eg_edi_eta - Switch to an Egyptian company - Configure ETA API Integration - Create a tax with "Fixed" as "Tax Computation" - Create an invoice with the created fixed tax - Send the invoice to ETA => The invoice is rejected by ETA. Cause: The generated EDI document contains an entry looking like this: `"taxableItems": [{"taxType": "T1", "amount": 28.0, "subType": "V009", "rate": 14.0}]` where each element of "taxableI
Original PR description
Steps to reproduce: (ETA API credentials required)
- Install l10n_eg_edi_eta
- Switch to an Egyptian company
- Configure ETA API Integration
- Create a tax with "Fixed" as "Tax Computation"
- Create an invoice with the created fixed tax
- Send the invoice to ETA
=> The invoice is rejected by ETA.
Cause:
The generated EDI document contains an entry looking like this:
`"taxableItems": [{"taxType": "T1", "amount": 28.0, "subType": "V009", "rate": 14.0}]`
where each element of "taxableItems" is a dict with the details of each applied tax.
However, for fixed taxes, the "rate" key should not be there.
Solution:
Only populate the "rate" key if the tax is not a fixed one.
opw-3436422
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#140736
Forward-Port-Of: odoo/odoo#139306When we add a smart button on a contact tag related to contacts, the button adds a default search filter that hides the related records Steps to reproduce: 1. Install Contacts and Studio 2. Go to Contacts > Configuration > Contact Tags 3. Open tag "Vendor / Desk Manufacturers" 4. Toggle Studio 5. Add a button (at the top right of the form) related to field "Tags (Contact)" 6. Close Studio 7. Click on the button 8. A list view of the related contacts opens but there is a filter that hi
Original PR description
When we add a smart button on a contact tag related to contacts, the button adds a default search filter that hides the related records Steps to reproduce: 1. Install Contacts and Studio 2. Go to Contacts > Configuration > Contact Tags 3. Open tag "Vendor / Desk Manufacturers" 4. Toggle Studio 5. Add a button (at the top right of the form) related to field "Tags (Contact)" 6. Close Studio 7. Click on the button 8. A list view of the related contacts opens but there is a filter that hides the records Solution: Remove the `filter_domain` attribute on the field category_id and replace it by the `operator` attribute in order to use the raw value in the domain Problem: In `_getFieldDomain`, we replace the `self` in the domain by the stringified id which essentially checks for a category that has a name containing the id opw-3471959 Forward-Port-Of: odoo/odoo#140333
This commit resolves the issue that arises when a widget contains a reload attribute but lacks a no-preview attribute. The bug leads to an "Uncaught Promise" error. With this update, when a reload attribute is detected, the no-preview attribute is now automatically added, preventing the error from occurring. The problem arisen with [this other commit]. [this other commit]: https://github.com/odoo/odoo/commit/fcb16a3b1bd373726ffb54f0fbe41fb6d1784769 task-3572334 Forward-Port-Of: odoo/
Original PR description
This commit resolves the issue that arises when a widget contains a reload attribute but lacks a no-preview attribute. The bug leads to an "Uncaught Promise" error. With this update, when a reload attribute is detected, the no-preview attribute is now automatically added, preventing the error from occurring. The problem arisen with [this other commit]. [this other commit]: https://github.com/odoo/odoo/commit/fcb16a3b1bd373726ffb54f0fbe41fb6d1784769 task-3572334 Forward-Port-Of: odoo/odoo#139909
This commit fixes the issues related to the category selector. The issues are very obvious when switching browser (e.g. Firefox or Safari). The width of the container containing the category image thinks that its width should be the original width of the contained image. This is a quick fix which sets a max-width of 100px on the container (which is approximately 75% of the image width matching the 75% height set on the image). Additionally, we hide the image when the category panel becom
Original PR description
This commit fixes the issues related to the category selector. The issues are very obvious when switching browser (e.g. Firefox or Safari). The width of the container containing the category image…
This commit fixes the issues related to the category selector. The issues are very obvious when switching browser (e.g. Firefox or Safari). The width of the container containing the category image thinks that its width should be the original width of the contained image. This is a quick fix which sets a max-width of 100px on the container (which is approximately 75% of the image width matching the 75% height set on the image). Additionally, we hide the image when the category panel becomes to thin. **BEFORE**    **AFTER**    Forward-Port-Of: odoo/odoo#140720
Steps to reproduce: - Enable locations in Inventory settings - Edit Delivery on operation types - Set a default return location - Create and confirm an SO and its delivery - Create a return - default return location is ignored Bug: since commit[1] returns have been redesigned and the default location was not considered opw-3517921 [1]: https://github.com/odoo/odoo/pull/118568 Forward-Port-Of: odoo/odoo#140154 Forward-Port-Of: odoo/odoo#138046
Original PR description
Steps to reproduce: - Enable locations in Inventory settings - Edit Delivery on operation types - Set a default return location - Create and confirm an SO and its delivery - Create a return - default return location is ignored Bug: since commit[1] returns have been redesigned and the default location was not considered opw-3517921 [1]: https://github.com/odoo/odoo/pull/118568 Forward-Port-Of: odoo/odoo#140154 Forward-Port-Of: odoo/odoo#138046
Fixes on removal strategies : - Pick the right quant on 'Closest location' strategy - Avoid a traceback when trying to create a new quant on products using the 'Closest location' strategy - Pick the right quant in 'First Expiry First Out' stragegy --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140175
Original PR description
Fixes on removal strategies : - Pick the right quant on 'Closest location' strategy - Avoid a traceback when trying to create a new quant on products using the 'Closest location' strategy - Pick the right quant in 'First Expiry First Out' stragegy --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140175
Before this commit, the domain on ``employee_id`` and ``employee_ids`` would be computed in a computed method ``_compute_allowed_employee_ids``. However, due this compute method not triggering for new records, the domain was not correctly set. Additionally, this way of computing the domain was not very efficient. With this change, the domain is computed correctly and efficiently. Forward-Port-Of: odoo/odoo#140146
Original PR description
Before this commit, the domain on ``employee_id`` and ``employee_ids`` would be computed in a computed method ``_compute_allowed_employee_ids``. However, due this compute method not triggering for new records, the domain was not correctly set. Additionally, this way of computing the domain was not very efficient. With this change, the domain is computed correctly and efficiently. Forward-Port-Of: odoo/odoo#140146
The live chat relies on `session.origin` to send its requests to the server when its embed in an external page. `web.base.url` is only set when a user authenticates and is wrong when no user connected yet. This results in a crash when opening the website with live chat enabled on a fresh instance of odoo. This commit removes the use of `session.origin` in the frontend code since it is useless anyway. Steps to reproduce: - Create a new odoo database with website_livechat installed - Go to th
Original PR description
The live chat relies on `session.origin` to send its requests to the server when its embed in an external page. `web.base.url` is only set when a user authenticates and is wrong when no user connected yet. This results in a crash when opening the website with live chat enabled on a fresh instance of odoo. This commit removes the use of `session.origin` in the frontend code since it is useless anyway. Steps to reproduce: - Create a new odoo database with website_livechat installed - Go to the log in page - A crash occurs Forward-Port-Of: odoo/odoo#140156 Forward-Port-Of: odoo/odoo#140077
The express checkout form template could not be rendered when no payment provider supporting express checkout was passed. Forward-Port-Of: odoo/odoo#140415
Original PR description
The express checkout form template could not be rendered when no payment provider supporting express checkout was passed. Forward-Port-Of: odoo/odoo#140415
If one edits an input value in a dialog and click on the dialog header, the blur event is prevented because the dialog is draggable and the pointer down native behaviour is prevented by the draggable hook builder. This can cause data losses or the dialog content to not be render correctly. For instance, this happens with the debug input of the domain selector dialog. We fix that by triggering the blur event programatically. Forward-Port-Of: odoo/odoo#140436
Original PR description
If one edits an input value in a dialog and click on the dialog header, the blur event is prevented because the dialog is draggable and the pointer down native behaviour is prevented by the draggable hook builder. This can cause data losses or the dialog content to not be render correctly. For instance, this happens with the debug input of the domain selector dialog. We fix that by triggering the blur event programatically. Forward-Port-Of: odoo/odoo#140436
We now have the possbility to publish modules that only contains XML on apps.odoo.com and we want to display in the apps of the database to ease the installation. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140245
Original PR description
We now have the possbility to publish modules that only contains XML on apps.odoo.com and we want to display in the apps of the database to ease the installation. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140245
When validating a draft transfer. Currently it says that we don't have quantity. So when validating a draft, set the quantity to initial demand and validate 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#140578
Original PR description
When validating a draft transfer. Currently it says that we don't have quantity. So when validating a draft, set the quantity to initial demand and validate 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#140578
In this PR we solve some bugs in 3 commits pos*: point_of_sale, pos_discount, pos_restaurant, pos_sale --- 1.[IMP] point_of_sale, pos_self_order: adapt buttons backend In this commit, we align text in the buttons with other buttons (first letter capital only). --- 2.[IMP] pos*: add special product list to pos_config In this commit, we add the special product list to pos_config. This is done so that we can see if the db has any product other than the special ones to display
Original PR description
In this PR we solve some bugs in 3 commits pos*: point_of_sale, pos_discount, pos_restaurant, pos_sale --- 1.[IMP] point_of_sale, pos_self_order: adapt buttons backend In this commit, we align text…
In this PR we solve some bugs in 3 commits pos*: point_of_sale, pos_discount, pos_restaurant, pos_sale --- 1.[IMP] point_of_sale, pos_self_order: adapt buttons backend In this commit, we align text in the buttons with other buttons (first letter capital only). --- 2.[IMP] pos*: add special product list to pos_config In this commit, we add the special product list to pos_config. This is done so that we can see if the db has any product other than the special ones to display the message to the user to create product or not in the PoS. --- 3.[FIX] point_of_sale: tracking_number not showing on ticket_screen In this commit, we solve the issue that the tracking_number was not showed on the ticket_screen when the order was in an other state than paid. This is solved by computing the tracking number in the frontend as we have all the information needed for that. Enterprise PR: odoo/enterprise#49997 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140650
This commit sets `s_text_cover` default color preset to `o_cc4` to make it look more like the header of "Anelusia" theme that was the initial reference for the design of this snippet It also fixes a typo in `o_ccx` class introduced in commit [1] [1]45c4a2f66661e560359d30b67321475c2c8a9844 task-3568868 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140721 Forward-Port-Of: odoo/odoo#139624
Original PR description
This commit sets `s_text_cover` default color preset to `o_cc4` to make it look more like the header of "Anelusia" theme that was the initial reference for the design of this snippet It also fixes a typo in `o_ccx` class introduced in commit [1] [1]45c4a2f66661e560359d30b67321475c2c8a9844 task-3568868 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140721 Forward-Port-Of: odoo/odoo#139624
Do not send the web_push notificaiton if the channel is muted. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140285
Original PR description
Do not send the web_push notificaiton if the channel is muted. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140285
In this commit, we added a barcode for manufacturing operation. task-3455363 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#140779
Original PR description
In this commit, we added a barcode for manufacturing operation. task-3455363 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#140779
[FIX] mail: allow translating self authored messages [FIX] mail: show translations for emails Forward-Port-Of: odoo/odoo#140847
Original PR description
[FIX] mail: allow translating self authored messages [FIX] mail: show translations for emails Forward-Port-Of: odoo/odoo#140847
Before this commit, there was an issue with the dropdowns in the editor panel. When the selector was at the bottom of the panel, the dropdown opened outside the viewport, requiring the user to scroll the editor panel to see it. After this commit, the dropdowns in the editor panel open above the selector if there is not enough space below for it to be visible without scrolling. task-3500768 Forward-Port-Of: odoo/odoo#135788
Original PR description
Before this commit, there was an issue with the dropdowns in the editor panel. When the selector was at the bottom of the panel, the dropdown opened outside the viewport, requiring the user to scroll the editor panel to see it. After this commit, the dropdowns in the editor panel open above the selector if there is not enough space below for it to be visible without scrolling. task-3500768 Forward-Port-Of: odoo/odoo#135788
Add export to 'getDifferentParents' and 'triggerPointerEvent'. It is useful for creating a custom drag and drop for example. Task-id 3419214 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140542
Original PR description
Add export to 'getDifferentParents' and 'triggerPointerEvent'. It is useful for creating a custom drag and drop for example. Task-id 3419214 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140542
If the web client gets into a bad state and piles on errors (or exceptions) this leads to a mess with hundreds of kilobytes of warnings being logged as we try to set an already failed tour to failed (and also take screenshots), as in http://runbot142.odoo.com/runbot/static/build/53098209-master/logs/test_only.txt Also update `has_failure` to directly depend on an exception being set, as that should be a more reliable indicator. And much like the case of an error log skip trying to set the to
Original PR description
If the web client gets into a bad state and piles on errors (or exceptions) this leads to a mess with hundreds of kilobytes of warnings being logged as we try to set an already failed tour to failed (and also take screenshots), as in http://runbot142.odoo.com/runbot/static/build/53098209-master/logs/test_only.txt Also update `has_failure` to directly depend on an exception being set, as that should be a more reliable indicator. And much like the case of an error log skip trying to set the tour to failed in `_set_exception` if it's already failed. Although in that case do log the traceback as an `error`. Forward-Port-Of: odoo/odoo#140759 Forward-Port-Of: odoo/odoo#140464
Since [1] when the layout of the theme options was reorganized, the button's font-family option was not displayed anymore. This commit restores the button's font-family inside the "Button" section, before the button "Padding" options. [1]: https://github.com/odoo/odoo/commit/388e4bb2bfcaebdd4ff30277fb49a034592d7086 task-3478355 Forward-Port-Of: odoo/odoo#140692 Forward-Port-Of: odoo/odoo#136521
Original PR description
Since [1] when the layout of the theme options was reorganized, the button's font-family option was not displayed anymore. This commit restores the button's font-family inside the "Button" section, before the button "Padding" options. [1]: https://github.com/odoo/odoo/commit/388e4bb2bfcaebdd4ff30277fb49a034592d7086 task-3478355 Forward-Port-Of: odoo/odoo#140692 Forward-Port-Of: odoo/odoo#136521
To reproduce: - Install studio and account. - Invoicing/Accounting, menu Customer > Invoices - Activate kanban view - Put filter "My Invoices" - Enter studio mode => There is a traceback in the logs, even if not shown in the view. When entering studio in kanban, a card with default values is created. The problem was that the journal wasn't computed, and so, broke the onchange_partner_id function It was because move_type, while being in the default, wasn't in the view, and so wasn't i
Original PR description
To reproduce: - Install studio and account. - Invoicing/Accounting, menu Customer > Invoices - Activate kanban view - Put filter "My Invoices" - Enter studio mode => There is a traceback in the logs, even if not shown in the view. When entering studio in kanban, a card with default values is created. The problem was that the journal wasn't computed, and so, broke the onchange_partner_id function It was because move_type, while being in the default, wasn't in the view, and so wasn't in the values given by the js. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#140890
Make quality checks to register byproducts effective. Show them in Shop Floor. Show workorder related byproducts in Shop Floor. Mark them as picked when marking workorder as done (like raw materials). Forward-Port-Of: odoo/enterprise#50024
Original PR description
Make quality checks to register byproducts effective. Show them in Shop Floor. Show workorder related byproducts in Shop Floor. Mark them as picked when marking workorder as done (like raw materials). Forward-Port-Of: odoo/enterprise#50024
The goal of this task is to make the creation and edition of reports easier. Now, the report edition page: * show the lines with hierarchy * allows the user to drag and drop a parent line and all its children at the same time * allows the user to delete a parent line and all its children at the same time To do that we created a new widget 'account_report_x2many' that overrides the x2ManyFiled used in the view. Task-id 3419214 Forward-Port-Of: odoo/enterprise#49926
Original PR description
The goal of this task is to make the creation and edition of reports easier. Now, the report edition page: * show the lines with hierarchy * allows the user to drag and drop a parent line and all its children at the same time * allows the user to delete a parent line and all its children at the same time To do that we created a new widget 'account_report_x2many' that overrides the x2ManyFiled used in the view. Task-id 3419214 Forward-Port-Of: odoo/enterprise#49926
It wasn't clear which lines were timesheeted or not, to fix this we've reduced the opacity of non-timesheeted lines. task-3538286 Forward-Port-Of: odoo/enterprise#49846 Forward-Port-Of: odoo/enterprise#48406
Original PR description
It wasn't clear which lines were timesheeted or not, to fix this we've reduced the opacity of non-timesheeted lines. task-3538286 Forward-Port-Of: odoo/enterprise#49846 Forward-Port-Of: odoo/enterprise#48406
**Steps:** - Open Project - Select any project - Add a milestone in a task - Switch to its Gantt View - Now in the view, change from month to year - on the mouseover, the error appears **Issue:** - On the hover of the mouse, an error appears when we are viewing in 'year', but it's working perfectly fine when it is displayed in days, 'week', or 'month'. **Cause:** - The 'deadline' is having the string data type hence we do not get the output. **Fix:** - Formatting the data type
Original PR description
**Steps:** - Open Project - Select any project - Add a milestone in a task - Switch to its Gantt View - Now in the view, change from month to year - on the mouseover, the error appears **Issue:** - On the hover of the mouse, an error appears when we are viewing in 'year', but it's working perfectly fine when it is displayed in days, 'week', or 'month'. **Cause:** - The 'deadline' is having the string data type hence we do not get the output. **Fix:** - Formatting the data type of 'deadline' correctly and converting it to DateTime. **Task:** 3422009 Forward-Port-Of: odoo/enterprise#44251
Before this commit ================== barcodes were not available for the MRP when clicking on 'print barcode command' After this commit ================= In this commit we added barcodes for MRP, so now the user can download barcodes from MRP settings. Also added actions that can fulfil scanned barcode requests. task - 3455363 Forward-Port-Of: odoo/enterprise#50067
Original PR description
Before this commit ================== barcodes were not available for the MRP when clicking on 'print barcode command' After this commit ================= In this commit we added barcodes for MRP, so now the user can download barcodes from MRP settings. Also added actions that can fulfil scanned barcode requests. task - 3455363 Forward-Port-Of: odoo/enterprise#50067
In planning, avatar can be displayed for resource.resource, hr.employee and hr.employee.public records. Avatar of resource.resource records is a computed field that return the avatar of the hr.employee record linked to the resource if any. The problem is that not all user of planning have access to hr.employee records. This was not a problem in versions <16.0 but since, https://github.com/odoo/odoo/commit/85bd6e62a59fef3086a9ae2138209cc73f086227, access rights are checked when accessing an im
Original PR description
In planning, avatar can be displayed for resource.resource, hr.employee and hr.employee.public records. Avatar of resource.resource records is a computed field that return the avatar of the hr.employee record linked to the resource if any. The problem is that not all user of planning have access to hr.employee records. This was not a problem in versions <16.0 but since, https://github.com/odoo/odoo/commit/85bd6e62a59fef3086a9ae2138209cc73f086227, access rights are checked when accessing an image through the route /web/images/<model>/<id>/<field>. This commit avoids empty avatar for employees by falling back on hr.employee.public avatar if the current user has no access to hr.employee model. Forward-Port-Of: odoo/enterprise#50006 Forward-Port-Of: odoo/enterprise#49560
pos*: pos_blackbox_be, pos_preparation_display In this commit, we add the special product list to pos_config. This is done so that we can see if the db has any product other than the special ones to display the message to the user to create product or not in the PoS. Community PR: odoo/odoo#140650 Forward-Port-Of: odoo/enterprise#49997
Original PR description
pos*: pos_blackbox_be, pos_preparation_display In this commit, we add the special product list to pos_config. This is done so that we can see if the db has any product other than the special ones to display the message to the user to create product or not in the PoS. Community PR: odoo/odoo#140650 Forward-Port-Of: odoo/enterprise#49997
When a user changes product type of a service type product which is used in a sale order and then try to access helpdesk ticket linked to that sale order, the error is generated. Steps to reproduce: - Install helpdesk_sale_timesheet module. - Create a sale order by selecting a customer and adding product 'Customer Care (Prepaid Hours)' (which is a service type product) and click on confirm button. - Now create a helpdesk ticket in VIP SUPPORT and select the same customer and sale order whi
Original PR description
When a user changes product type of a service type product which is used in a sale order and then try to access helpdesk ticket linked to that sale order, the error is generated. Steps to reproduce:…
When a user changes product type of a service type product which is used in a sale order and then try to access helpdesk ticket linked to that sale order, the error is generated.
Steps to reproduce:
- Install helpdesk_sale_timesheet module.
- Create a sale order by selecting a customer and adding product 'Customer Care (Prepaid Hours)' (which is a service type product) and click on confirm button.
- Now create a helpdesk ticket in VIP SUPPORT and select the same customer and sale order which you have created.
- Now again go to same sale order and click on 'Customer Care (Prepaid Hours)' product and change its type to 'consumable' from 'service', a warning will occur close it and click on save button.
- Now click on helpdesk ticket smart button, the error will occur.
Error:
```
File "odoo/http.py", line 2139, in __call__
response = request._serve_db()
File "odoo/http.py", line 1715, in _serve_db
return service_model.retrying(self._serve_ir_http, self.env)
File "odoo/service/model.py", line 133, in retrying
result = func()
File "odoo/http.py", line 1742, in _serve_ir_http
response = self.dispatcher.dispatch(rule.endpoint, args)
File "odoo/http.py", line 1943, in dispatch
result = self.request.registry['ir.http']._dispatch(endpoint)
File "odoo/addons/base/models/ir_http.py", line 191, in _dispatch
result = endpoint(**request.params)
File "odoo/http.py", line 717, in route_wrapper
result = endpoint(self, *args, **params_ok)
File "addons/web/controllers/dataset.py", line 34, in call_button
action = self._call_kw(model, method, args, kwargs)
File "addons/web/controllers/dataset.py", line 26, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "odoo/api.py", line 466, in call_kw
result = _call_kw_multi(method, model, args, kwargs)
File "odoo/api.py", line 453, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "home/odoo/src/enterprise/saas-16.4/helpdesk_sale_timesheet/models/sale_order.py", line 37, in action_view_tickets
default_sale_line = next(sol for sol in sorted_line if sol.product_id.detailed_type == 'service')
StopIteration: null
```
The error is occurring because the iterable has reached to its end in next function when condition in it is getting False over here - https://github.com/odoo/enterprise/blob/1188db8cba436b887331bef8e07f6f1fafbe1982/helpdesk_sale_timesheet/models/sale_order.py#L37
To solve this error we are giving default value to next function.
sentry-4560590481
Forward-Port-Of: odoo/enterprise#49593[FIX] stock: no backorder for return pickings in barcode To reproduce: 1. Open picking OUT/0002 in barcode and click return products 2. Set the amount to 10 manually 3. Click validate Existing behavior: When trying to confirm a return picking in barcode, depending on the settings on the specific picking type, the user would sometimes be asked to create a backorder. For returns, this is not necessary as another return for the same picking could always be generated instead of creatin
Original PR description
[FIX] stock: no backorder for return pickings in barcode To reproduce: 1. Open picking OUT/0002 in barcode and click return products 2. Set the amount to 10 manually 3. Click validate Existing behavior: When trying to confirm a return picking in barcode, depending on the settings on the specific picking type, the user would sometimes be asked to create a backorder. For returns, this is not necessary as another return for the same picking could always be generated instead of creating the backorder. Expected behavior: This commit ignores the setting of the 'create_backorder' option on the picking type when confirming a return picking in barcode and never generates or asks for a backorder in this case. Task: 3548962 Forward-Port-Of: odoo/enterprise#48788
before this commit, on opening payment link whatsapp template, a traceback is shown to end user. * install account_avatax and whatsapp modules * whatsapp-> templates -> whatsapp templates * open payment link whatsapp template * traceback is shown  after this commit, no traceback is shown on opening payment link whatsapp template Forward-Port-Of: odoo/enter
Original PR description
before this commit, on opening payment link whatsapp template, a traceback is shown to end user. * install account_avatax and whatsapp modules * whatsapp-> templates -> whatsapp templates * open payment link whatsapp template * traceback is shown  after this commit, no traceback is shown on opening payment link whatsapp template Forward-Port-Of: odoo/enterprise#47565
Forward-Port-Of: odoo/enterprise#49931
Original PR description
Forward-Port-Of: odoo/enterprise#49931
Current behavior before PR: In the Aged Payable report, the total column display the totals for every line. On move lines, the coluwn shows a "0" which does not make sense. --- Desired behavior after PR is merged: This commit makes it now so that there is no value displayed in that column for moves but only for total lines like partner lines or totals. Forward-Port-Of: odoo/enterprise#49763
Original PR description
Current behavior before PR: In the Aged Payable report, the total column display the totals for every line. On move lines, the coluwn shows a "0" which does not make sense. --- Desired behavior after PR is merged: This commit makes it now so that there is no value displayed in that column for moves but only for total lines like partner lines or totals. Forward-Port-Of: odoo/enterprise#49763
Forward-Port-Of: odoo/enterprise#49204
Original PR description
Forward-Port-Of: odoo/enterprise#49204
In this commit, we made a few fixes on the carry over: - the tooltip was not aligned in the middle and was too far to the right. - the button for viewing the carry over lines in the popover had no css classes. - When clicking the button, the popover didn't close and stayed on the new page. task: 3438422 Forward-Port-Of: odoo/enterprise#49918
Original PR description
In this commit, we made a few fixes on the carry over: - the tooltip was not aligned in the middle and was too far to the right. - the button for viewing the carry over lines in the popover had no css classes. - When clicking the button, the popover didn't close and stayed on the new page. task: 3438422 Forward-Port-Of: odoo/enterprise#49918
When activating the "Total Below" section feature, the total line will adopt the attributes of the section line. More over, in the report settings we have the option to define a page break attribute for a line. Now if the section's line possesses the page break attribute, this causes the total line to also have it, which is not the desired behavior. This commit aims to separate the "Total Below" sections from the "print_on_new_page" field. task: 3566903 Forward-Port-Of: odoo/enterprise#49
Original PR description
When activating the "Total Below" section feature, the total line will adopt the attributes of the section line. More over, in the report settings we have the option to define a page break attribute for a line. Now if the section's line possesses the page break attribute, this causes the total line to also have it, which is not the desired behavior. This commit aims to separate the "Total Below" sections from the "print_on_new_page" field. task: 3566903 Forward-Port-Of: odoo/enterprise#49544
When the `failure_reason` comes from `webhookpost` then it adds an extra `f` to the message. Steps to produce: - Send a WhatsApp template to the phone number whose WhatsApp account has not been created to date - Check `whatsapp.message` record - failure_reason will have an extra f at starting Problem: `webhookpost` calls `_process_statuses` which calls `_handle_error` if status is failed. `_process_statuses` sends an extra `f` while sending `error_message` to `_handle_error`. Like
Original PR description
When the `failure_reason` comes from `webhookpost` then it adds an extra `f` to the message.
Steps to produce:
- Send a WhatsApp template to the phone number whose WhatsApp account has not been created to date
- Check `whatsapp.message` record
- failure_reason will have an extra f at starting
Problem:
`webhookpost` calls `_process_statuses` which calls `_handle_error` if status is failed. `_process_statuses` sends an extra `f` while sending `error_message` to `_handle_error`. Like `error_message=f"{error['code']} : f{error['title']}"`
Solution:
Extra `f` is removed. `f{error['title']}` is changed to `{error['title']}`
Task - 3576925
Forward-Port-Of: odoo/enterprise#50000
Forward-Port-Of: odoo/enterprise#49916Forward-Port-Of: odoo/enterprise#49220
Original PR description
Forward-Port-Of: odoo/enterprise#49220
Steps: - Install Planning module - Open the Planning module - Create the new resource - Then go to the Configuration's Employees - There is not created employee through the resource Before this commit, At the time of creating the new resource , shouldn't creating a human resource should automatically create an employee for that resource. This commit ensure that : Creating the human type resource will automatically creates an employee Task-3508241 Forward-Port-Of: odoo/enterprise#
Original PR description
Steps: - Install Planning module - Open the Planning module - Create the new resource - Then go to the Configuration's Employees - There is not created employee through the resource Before this commit, At the time of creating the new resource , shouldn't creating a human resource should automatically create an employee for that resource. This commit ensure that : Creating the human type resource will automatically creates an employee Task-3508241 Forward-Port-Of: odoo/enterprise#47589
Create a test account journal group Go to Accounting -> Reporting -> Trial Balance Ensure the journal group is selected Click on the PDF export button Error will raise TypeError: Object of type set is not JSON serializable” This occurs because in the process of gathering options initializer the system add a `set` to the options, which is not json serializable opw-3564632 Forward-Port-Of: odoo/enterprise#49876
Original PR description
Create a test account journal group Go to Accounting -> Reporting -> Trial Balance Ensure the journal group is selected Click on the PDF export button Error will raise TypeError: Object of type set is not JSON serializable” This occurs because in the process of gathering options initializer the system add a `set` to the options, which is not json serializable opw-3564632 Forward-Port-Of: odoo/enterprise#49876
Forward-Port-Of: odoo/enterprise#49736
Original PR description
Forward-Port-Of: odoo/enterprise#49736
Steps: - In helpdesk ticket click on share on forum - click on create and view post - it will redirect to website - click back and see the chatter of the helpdesk ticket Issue: - missing space between name of the post and forum post created Fix: - we have added a space from the place where the message is posted task-3463622 Forward-Port-Of: odoo/enterprise#46224
Original PR description
Steps: - In helpdesk ticket click on share on forum - click on create and view post - it will redirect to website - click back and see the chatter of the helpdesk ticket Issue: - missing space between name of the post and forum post created Fix: - we have added a space from the place where the message is posted task-3463622 Forward-Port-Of: odoo/enterprise#46224
In [1], the `CopyButton` was introduced in the `/clipboard` block of `Knowledge` to replace `ClipboardJS`, but the content to copy is dynamic in edition so the content to copy should be given by a function and not a static value. [1]: https://github.com/odoo/enterprise/pull/47154 task-3571973 Forward-Port-Of: odoo/enterprise#49619
Original PR description
In [1], the `CopyButton` was introduced in the `/clipboard` block of `Knowledge` to replace `ClipboardJS`, but the content to copy is dynamic in edition so the content to copy should be given by a function and not a static value. [1]: https://github.com/odoo/enterprise/pull/47154 task-3571973 Forward-Port-Of: odoo/enterprise#49619
### Frontdesk UI review : This PR reviews and enhances the user interface of the new Frontdesk app, focusing on the following points: - Optimizing the app icon files - Adding frontend bundle in `assets_frontdesk` to able to use Bootstrap SCSS variables and the Odoo UI icons. - Reviewing the design and structure to make it more user-friendly. --- ### Issue 1 : blank page when using lang. switcher Prior to this PR, switching to another language returned a blank page. This PR rem
Original PR description
### Frontdesk UI review : This PR reviews and enhances the user interface of the new Frontdesk app, focusing on the following points: - Optimizing the app icon files - Adding frontend bundle in…
### Frontdesk UI review : This PR reviews and enhances the user interface of the new Frontdesk app, focusing on the following points: - Optimizing the app icon files - Adding frontend bundle in `assets_frontdesk` to able to use Bootstrap SCSS variables and the Odoo UI icons. - Reviewing the design and structure to make it more user-friendly. --- ### Issue 1 : blank page when using lang. switcher Prior to this PR, switching to another language returned a blank page. This PR removes the `;` at the end of the url, which created the error. --- ### Issue 2 : hide empty description sidebar Steps to reproduce: - Add content in the sidebar description. - Save - Remove the content - Save again The sidebar description is still displayed but is empty. This is because even if you remove all the content in the input, it still leaves at least `<p><br></p>`. This PR adapts the condition to take this case into account. --- task-3511096 Forward-Port-Of: odoo/enterprise#49307
This PR changes the timesheets menuitems order and groups so that the tips menu is available to timesheets managers, which was not the case before. task-3579920 Forward-Port-Of: odoo/enterprise#49985
Original PR description
This PR changes the timesheets menuitems order and groups so that the tips menu is available to timesheets managers, which was not the case before. task-3579920 Forward-Port-Of: odoo/enterprise#49985