Friday, November 29, 2024
39 changes · 18.0
Enhancements to existing features
When a refund credit note is created from a sales order in a straightforward delivered-products flow, it is now connected to the invoice it reverses. This makes refund records clearer for users and improves traceability between invoices and credit notes without changing other refund scenarios.
Original PR description
In the context of a sale order with products invoiced on delivery, if there's a refund, it is possible to create a credit note from the sale order (by clicking "Create Invoice" button). From a user perspective, it would be logic if you created an invoice, to have the credit note being the reversal of this invoice. Here the goal is to set when a `reversed_entry_id` for this simple case, and nothing otherwise. task-3862316
Resolved issues and error corrections
Purchase order reports now display tax descriptions correctly when they include formatting. This prevents confusing or incorrectly shown tax information on documents sent to vendors.
Original PR description
Changed the tax display in the purchase order template from `t-esc` to `t-out` to ensure proper HTML rendering of tax labels. This adjustment is necessary to display the tax descriptions correctly without escaping HTML content, which was causing display issues in the rendered document. This change addresses the need for accurate representation of tax information in purchase orders, improving the clarity and correctness of the document output. opw-4313981 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
Code cleanup and technical improvements
This change slightly reduces the default waiting time between automated tour checks, helping test flows complete faster when no custom delay is set. It is an internal performance improvement for Odoo's website and web tour testing and should not change the customer-facing experience.
Original PR description
By default, the checkdelay is 500ms when it is not stipulated in a tour. For performance reasons, we reduce this delay to 400ms. 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
Documentation and clarification updates
This pull request records that the contributor has signed Odoo's Contributor License Agreement. It is an administrative legal step that helps ensure contributions can be accepted under the project's rules, with no expected product or user-facing changes.
Original PR description
[CLA] Signature for Kripal K Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
When the write is called with multiple companies (like the test TestAccountComposerPerformance), the values are updated with the values of the very first company. This will write a new peppol_endpoint on all companies. However, in this test, the very first company is a BE one but another is FR. Then, this write makes an inconsistency between the original FR EAS and the new BE endpoint. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of:
Original PR description
When the write is called with multiple companies (like the test TestAccountComposerPerformance), the values are updated with the values of the very first company. This will write a new peppol_endpoint on all companies. However, in this test, the very first company is a BE one but another is FR. Then, this write makes an inconsistency between the original FR EAS and the new BE endpoint. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#188985
This fix ensures Stripe payment forms can open properly from customer payment links by providing an initial amount. Customers can still choose installment or early payment options afterward, reducing failed payment starts.
Original PR description
Stripe (inline payment form) expect to have a default `amount` value because it need to initialize a payment "intent" when opening the payment form, so before the user will be able to choose between one of the different installment/epd payment options. This commit set that default amount to the total due amount, so that Stripe can successfully create the initial payment intent, the amount being then updated JS side when user choose any of the available option. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The HTML editor now keeps the displayed font name in sync when users undo or redo formatting changes. This prevents confusing toolbar information after editing formatted content, such as in todo notes.
Original PR description
Steps to reproduce the issue: ============================= - Create a new todo - Add some content - Select it and choose a font - Press `ctrl+z` - The display name doesn't get updated Origin of the issue: ==================== We don't update the state of the font_selector after redo/undo. Solution: ========= We need to lift the state from font_selector to the font_plugin so we can detect commands and events and upate the displayName accordingly task-4243952
This update improves the reliability and clarity of Odoo's automated test tools, especially around timing, simulated user actions, form submissions, and reporting. It helps teams catch issues more consistently while reducing false failures and confusing test output, with little direct impact on day-to-day users.
Original PR description
## Pull Request HOOT (PRHOOT) - part 27 Part 1: https://github.com/odoo/odoo/pull/152930 Part 2: https://github.com/odoo/odoo/pull/153018 Part 3: https://github.com/odoo/odoo/pull/153023 Part 4:…
## Pull Request HOOT (PRHOOT) - part 27 Part 1: https://github.com/odoo/odoo/pull/152930 Part 2: https://github.com/odoo/odoo/pull/153018 Part 3: https://github.com/odoo/odoo/pull/153023 Part 4: https://github.com/odoo/odoo/pull/153203 Part 5: https://github.com/odoo/odoo/pull/153425 Part 6: https://github.com/odoo/odoo/pull/153700 Part 7: https://github.com/odoo/odoo/pull/154054 Part 8: https://github.com/odoo/odoo/pull/154579 Part 9: https://github.com/odoo/odoo/pull/155073 Part 10: https://github.com/odoo/odoo/pull/155639 Part 11: https://github.com/odoo/odoo/pull/156255 / https://github.com/odoo/enterprise/pull/58135 Part 12: https://github.com/odoo/odoo/pull/156869 Part 13: https://github.com/odoo/odoo/pull/158384 / https://github.com/odoo/enterprise/pull/59019 Part 14: https://github.com/odoo/odoo/pull/158916 Part 15: https://github.com/odoo/odoo/pull/160292 / https://github.com/odoo/enterprise/pull/59971 Part 15.5: https://github.com/odoo/odoo/pull/166463 Part 16: https://github.com/odoo/odoo/pull/166311 Part 17: https://github.com/odoo/odoo/pull/168328 Part 18: https://github.com/odoo/odoo/pull/171004 / https://github.com/odoo/enterprise/pull/65657 Part 19: https://github.com/odoo/odoo/pull/171242 / https://github.com/odoo/enterprise/pull/65767 Part 20: https://github.com/odoo/odoo/pull/173332 / https://github.com/odoo/enterprise/pull/66895 Part 21: https://github.com/odoo/odoo/pull/174337 Part 22: https://github.com/odoo/odoo/pull/176777 / https://github.com/odoo/enterprise/pull/68721 Part 23: https://github.com/odoo/odoo/pull/179660 / https://github.com/odoo/enterprise/pull/69728 Part 24: https://github.com/odoo/odoo/pull/181971 Part 25: https://github.com/odoo/odoo/pull/183358 Part 26: https://github.com/odoo/odoo/pull/186403 / https://github.com/odoo/enterprise/pull/73361 Enterprise: https://github.com/odoo/enterprise/pull/74093 This pull requests brings various improvements and fixes to Hoot and the Odoo unit test ecosystem. See the different commit messages for more details. Note: these changes are made in stable to avoid having to support multiple versions of the HOOT API. As such, these changes are intended to be strictly limited to unit tests as to not put the rest of the code base at risk. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The point of sale cash move popup now keeps the confirm button disabled when the reason field contains only spaces. This prevents blank or meaningless cash movement reasons from being submitted, improving data quality for store operations.
Original PR description
Description of the issue/feature this PR addresses: In the cash move popup of the point of sale, the confirm button is currently enabled when the reason input field contains only whitespace, allowing submission with invalid input. Current behavior before PR: The confirm button is active even when the reason input field only contains empty spaces, which can lead to erroneous or empty reason entries. Desired behavior after PR is merged: The confirm button will only be enabled when the reason input field contains valid, non-whitespace characters, ensuring that only meaningful input allows confirmation. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
The withholding wizard now automatically fills in the TDS journal configured in settings. This prevents users from having to manually select the journal and helps ensure Indian withholding tax entries are created with the correct accounting setup.
Original PR description
Before This Commit: - The TDS journal is set in the settings, but when opening the withhold wizard, the journal is not populated in the wizard. After This Commit: - The TDS journal now correctly populates in the withhold wizard. Reason: - The compute method `_compute_journal` depends on `company_id`. The compute method of `company_id` depends on `related_move_id` and `related_payment_id`, but these two fields are not defined in the view. As a result, `company_id` is not computed. Since `company_id` is not set, `_compute_journal` cannot retrieve the journal from the settings. - The fields `related_move_id` and `related_payment_id` were mistakenly removed in this PR: https://github.com/odoo/odoo/pull/178572 Task-4366374
This fix makes automated checks for the website editor's link popover behave consistently. It reduces random test failures, helping development teams validate changes with more confidence and less wasted investigation time.
Original PR description
Before this commit: Tests involving the opening and closing of the link popover by clicking the link button could fail unpredictably After this commit: They are updated to ensure deterministic behavior --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This fixes an issue on Odoo IoT devices where restarting the Odoo service could also stop the remote debugging connection. The remote debugging tunnel now continues running independently, reducing interruptions during support and troubleshooting.
Original PR description
In IoT image 24.10, the Odoo service was changed to a systemd service (rather than init). A side effect of this change is that all subprocesses are killed when the service is stopped. This causes the `ngrok` to be killed while remote debugging if you restart the Odoo service. This PR changes `ngrok` to run as a service, which is then started by Odoo. This means it now keeps running when Odoo is stopped. task-4363825 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes an editor issue where inserting a dynamic field next to existing text placed it on the next line. This keeps edited content formatted as expected and reduces manual cleanup for users.
Original PR description
**Current behavior before PR:** - When adding a dynamic field next to text nodes, the dynamic field would be inserted on the following line. **Desired behavior after PR is merged:** - The dynamic field is now added on the same line as the text. task:4220919
Fixes an issue where signing an employee contract could fail if the signing request was connected to more than one contract. The system now uses the newest related contract, helping users complete contract signing without interruption.
Original PR description
while signing a contract, it may happen that we end up with a sign request linked to multiple contracts. This will lead to an error when trying to call `_get_sign_request_folder` that has `ensure_one` on the contract. to avoid that we take the newest contract linked to the sign request. opw-4348211
Fixed an automated website rental shopping test that could fail after 11pm because the selected rental time accidentally rolled into the next day. The test now uses a stable future date, improving reliability of validation for the rental purchase flow.
Original PR description
The tour would fail after 11pm as the smallest rental interval for the item is 1 hours leading to default dates leaking into the next day leading to more hours than planned being encoded. By forcing the date to be the first day of the next month we can ensure the date is always valid. Runbot Error 108371
Spreadsheet document imports no longer run a production data validation step that is no longer needed. This keeps the feature aligned with current usage while moving that validation responsibility into tests, reducing unnecessary processing in normal operations.
Original PR description
The data validation will be moved in the test modules as its use in production was diminished following https://github.com/odoo/odoo/pull/184846 Task: 4363803
Fixed a display issue in appraisal forms where placeholder text could overlap when users clicked into an input field. This improves readability and makes the form easier to complete.
Original PR description
Steps: - Open the appraisal form. - Click on the input field with the placeholder text. - The placeholder text was overlapping. Cause of the issue: - The input field was not displaying properly due to layout constraints. Fix: - Adjusted the layout to allow proper display of the input field and placeholder. task-4316840
This update improves and simplifies Odoo's automated test infrastructure across accounting, appointments, CRM, documents, and spreadsheets. It helps test suites run more consistently and efficiently, reducing the risk of regressions reaching users without changing day-to-day product behavior.
Original PR description
## Pull Request HOOT (PRHOOT) - part 27 Part 1: https://github.com/odoo/odoo/pull/152930 Part 2: https://github.com/odoo/odoo/pull/153018 Part 3: https://github.com/odoo/odoo/pull/153023 Part 4:…
## Pull Request HOOT (PRHOOT) - part 27 Part 1: https://github.com/odoo/odoo/pull/152930 Part 2: https://github.com/odoo/odoo/pull/153018 Part 3: https://github.com/odoo/odoo/pull/153023 Part 4: https://github.com/odoo/odoo/pull/153203 Part 5: https://github.com/odoo/odoo/pull/153425 Part 6: https://github.com/odoo/odoo/pull/153700 Part 7: https://github.com/odoo/odoo/pull/154054 Part 8: https://github.com/odoo/odoo/pull/154579 Part 9: https://github.com/odoo/odoo/pull/155073 Part 10: https://github.com/odoo/odoo/pull/155639 Part 11: https://github.com/odoo/odoo/pull/156255 / https://github.com/odoo/enterprise/pull/58135 Part 12: https://github.com/odoo/odoo/pull/156869 Part 13: https://github.com/odoo/odoo/pull/158384 / https://github.com/odoo/enterprise/pull/59019 Part 14: https://github.com/odoo/odoo/pull/158916 Part 15: https://github.com/odoo/odoo/pull/160292 / https://github.com/odoo/enterprise/pull/59971 Part 15.5: https://github.com/odoo/odoo/pull/166463 Part 16: https://github.com/odoo/odoo/pull/166311 Part 17: https://github.com/odoo/odoo/pull/168328 Part 18: https://github.com/odoo/odoo/pull/171004 / https://github.com/odoo/enterprise/pull/65657 Part 19: https://github.com/odoo/odoo/pull/171242 / https://github.com/odoo/enterprise/pull/65767 Part 20: https://github.com/odoo/odoo/pull/173332 / https://github.com/odoo/enterprise/pull/66895 Part 21: https://github.com/odoo/odoo/pull/174337 Part 22: https://github.com/odoo/odoo/pull/176777 / https://github.com/odoo/enterprise/pull/68721 Part 23: https://github.com/odoo/odoo/pull/179660 / https://github.com/odoo/enterprise/pull/69728 Part 24: https://github.com/odoo/odoo/pull/181971 Part 25: https://github.com/odoo/odoo/pull/183358 Part 26: https://github.com/odoo/odoo/pull/186403 / https://github.com/odoo/enterprise/pull/73361 Community: https://github.com/odoo/odoo/pull/187034 This pull requests brings various improvements and fixes to Hoot and the Odoo unit test ecosystem. See the different commit messages for more details. Note: these changes are made in stable to avoid having to support multiple versions of the HOOT API. As such, these changes are intended to be strictly limited to unit tests as to not put the rest of the code base at risk. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
### Steps to reproduce: - In the settings enable Multi-Steps Routes - Inventory > Configuration > Warehouse Management > Warehouses - Put you warehouse in delivery in 2 steps - Create 4 storable products: Kit 1, Kit 2, content, foo - Create 2 boms of type kit: one for Kit 1 and one for Kit 2, both with: - 1 x content - Create and confirm a sale order with two lines: - 1 x Kit 1 - 1 x Kit 2 > On the associated pick, you can see 2 distinct moves: one per kit - On the SO add a li
Original PR description
### Steps to reproduce: - In the settings enable Multi-Steps Routes - Inventory > Configuration > Warehouse Management > Warehouses - Put you warehouse in delivery in 2 steps - Create 4 storable…
### Steps to reproduce: - In the settings enable Multi-Steps Routes - Inventory > Configuration > Warehouse Management > Warehouses - Put you warehouse in delivery in 2 steps - Create 4 storable products: Kit 1, Kit 2, content, foo - Create 2 boms of type kit: one for Kit 1 and one for Kit 2, both with: - 1 x content - Create and confirm a sale order with two lines: - 1 x Kit 1 - 1 x Kit 2 > On the associated pick, you can see 2 distinct moves: one per kit - On the SO add a line for 1 unit of foo and save the SO #### > On the associated pick both kit moves were merged. ### Cause of the issue: When you add 1 unit of foo, the `_action_launch_stock_rule` will be called in order to create and confirm the associated stock moves. During the `_action_confirm` of this move a `_merge_moves` will be called to determine if the move can be merged with any other already existing one. However, this merge operation will actually be performed on each of the move present in the "candidate_move_set" which includes all the moves of the already existing picking: https://github.com/odoo/odoo/blob/8c5ad7621fe8370da4c28d42a51ba06e15ce42ee/addons/stock/models/stock_move.py#L1015-L1027 https://github.com/odoo/odoo/blob/8c5ad7621fe8370da4c28d42a51ba06e15ce42ee/addons/stock/models/stock_move.py#L1011-L1013 This is problematic since the `disting_fields` used as a merging criterion are based solely on the records present in self and not on the candidates on which the merging might be performed: https://github.com/odoo/odoo/blob/8c5ad7621fe8370da4c28d42a51ba06e15ce42ee/addons/stock/models/stock_move.py#L1021 In our case, the reason why the two kit moves where not merged the first time that they were confirmed was because the `bom_line_id` was added to the distinct fields by: https://github.com/odoo/odoo/blob/8c5ad7621fe8370da4c28d42a51ba06e15ce42ee/addons/mrp/models/stock_move.py#L605-L609 But on the action confirm of the foo move and since this move is not assocaited with a `bom_line_id` of phantom type, it will not and the two kit moves will be considered as good condidates to merge into one an other. ### Fix: The `distinct_fields` used as a merging criterion should be based on the set of all moves that are considered to be merged rather than to the moves that we initially wanted to merge. opw-4337128 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#188101
Steps to reproduce ================== - Create a product with many variants - Go to the form view - Switch to the french language so that the text is long enough or edit the button label with studio => The button box goes outside the main view Solution ======== - Set a max width on the control panel - Set a min-width on stat buttons so they can reduce their size - Hide the overflow as when a text is truncated, it goes outside opw-4056439 Forward-Port-Of: odoo/odoo#188986
Original PR description
Steps to reproduce ================== - Create a product with many variants - Go to the form view - Switch to the french language so that the text is long enough or edit the button label with studio => The button box goes outside the main view Solution ======== - Set a max width on the control panel - Set a min-width on stat buttons so they can reduce their size - Hide the overflow as when a text is truncated, it goes outside opw-4056439 Forward-Port-Of: odoo/odoo#188986
Before this commit, when the user wants to create a SO via the stat button displayed in the project form view when the project is billable without any SO created. The SO to create should have at least one service product to be able to timesheet on it inside the project. To make sure a service product will be in the lines of the newest SO, an user error should be displayed once no service product is inside lines of the SO created to avoid letting the user to create the SO until there is no servic
Original PR description
Before this commit, when the user wants to create a SO via the stat button displayed in the project form view when the project is billable without any SO created. The SO to create should have at…
Before this commit, when the user wants to create a SO via the stat button displayed in the project form view when the project is billable without any SO created. The SO to create should have at least one service product to be able to timesheet on it inside the project. To make sure a service product will be in the lines of the newest SO, an user error should be displayed once no service product is inside lines of the SO created to avoid letting the user to create the SO until there is no service product. This commit makes sure the context is correctly passed to the action to be able to trigger the warning once it is needed. Steps to reproduce the issue: ============================ 1. install `sale_project` module 2. create new billable project 3. go to the form view of that new project 4. set a customer to that project 5. click on `0 Sales Order\nMake Billable` stat button to create a new SO linked to that project 6. Create/Confirm the SO without any service products in its lines Expected behavior ----------------- The user error should be displayed since no service product is inside the lines of new SO. Actual Behavior --------------- The SO is created/confirmed without any errors. task-4291437 Forward-Port-Of: odoo/odoo#185533
In a prior commit [1], a jQuery call was replaced with a vanilla JS implementation, inadvertently introducing an issue where unencoded URLs in background-image caused rendering or validation errors, such as "Invalid property value." The `style.backgroundImage` property in vanilla JavaScript returns the raw value of the attribute, unlike jQuery's `.css('background-image')`, which automatically encodes URLs. This fix ensures that URLs extracted are properly encoded using `getComputedStyle`.
Original PR description
In a prior commit [1], a jQuery call was replaced with a vanilla JS implementation, inadvertently introducing an issue where unencoded URLs in background-image caused rendering or validation errors,…
In a prior commit [1], a jQuery call was replaced with a vanilla JS implementation, inadvertently introducing an issue where unencoded URLs in background-image caused rendering or validation errors, such as "Invalid property value."
The `style.backgroundImage` property in vanilla JavaScript returns the raw value of the attribute, unlike jQuery's `.css('background-image')`, which automatically encodes URLs.
This fix ensures that URLs extracted are properly encoded using `getComputedStyle`.
Steps to reproduce:
- Install the Blog module.
- Configure your credentials in the Unsplash settings.
- Create a new post within a blog.
- Change the background of the post by searching for "electrical wire" on Unsplash. Select the first image in the results, noting that its filename contains a space.
- Click the "Add" button to set the background image.
- Save the changes.
- Observe that the background image is not applied. Inspect the style attribute of the div, and you will find: background-image: url(/unsplash/hokONTrHIAQ/electrical wire.jpg?unique=6015d8d5); This value is invalid for the background-image property due to the unencoded space in the URL.
[1]: https://github.com/odoo/odoo/commit/f9c9d6c4058086849b7e87174afd7f97d514baad
opw-4233483
opw-4271093
Forward-Port-Of: odoo/odoo#187932In the domain selector (and expression editor), using autocompletion to build conditions for X2many fields will use their domains. Note that it cannot be done for a field many2one since values can be created outside of the field domain in that case. Forward-Port-Of: odoo/odoo#188873 Forward-Port-Of: odoo/odoo#187740
Original PR description
In the domain selector (and expression editor), using autocompletion to build conditions for X2many fields will use their domains. Note that it cannot be done for a field many2one since values can be created outside of the field domain in that case. Forward-Port-Of: odoo/odoo#188873 Forward-Port-Of: odoo/odoo#187740
This is needed so that the variable can be reused in overrides opw-4232114 Forward-Port-Of: odoo/odoo#189014
Original PR description
This is needed so that the variable can be reused in overrides opw-4232114 Forward-Port-Of: odoo/odoo#189014
This commit will correct the fact that the siret and APE number must be displayed also when the country code is from the DOM-TOM task:4290323 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#188579 Forward-Port-Of: odoo/odoo#185862
Original PR description
This commit will correct the fact that the siret and APE number must be displayed also when the country code is from the DOM-TOM task:4290323 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#188579 Forward-Port-Of: odoo/odoo#185862
With this PR [1], unfortunately an extra parameter `isCheck` was introduced in the tour. This commit removes that unusual parameter. [1]: https://github.com/odoo/odoo/pull/168474 runbot-107873 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#188556
Original PR description
With this PR [1], unfortunately an extra parameter `isCheck` was introduced in the tour. This commit removes that unusual parameter. [1]: https://github.com/odoo/odoo/pull/168474 runbot-107873 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#188556
Before this commit, we are not following this rule, causing warning at validation. https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/UBL-CR-600/ task-no Forward-Port-Of: odoo/odoo#188844
Original PR description
Before this commit, we are not following this rule, causing warning at validation. https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/UBL-CR-600/ task-no Forward-Port-Of: odoo/odoo#188844
### Steps to reproduce the issue: 1. Make sure you are in a company that is not a branch 2. Create a branch company 3. In the parent company, create an account group 4. In the branch company, create an account that should be set in the account group 5. The branch account is not set in the account group ### Explanation: When creating an account, we will enter `_adapt_accounts_for_account_groups` with a value for `account_ids`. As can be seen, `company_ids` is then assigned `account_i
Original PR description
### Steps to reproduce the issue: 1. Make sure you are in a company that is not a branch 2. Create a branch company 3. In the parent company, create an account group 4. In the branch company, create an account that should be set in the account group 5. The branch account is not set in the account group ### Explanation: When creating an account, we will enter `_adapt_accounts_for_account_groups` with a value for `account_ids`. As can be seen, `company_ids` is then assigned `account_ids.company_id.root_id.ids` which only corresponds to the id of the root company, not its branches. ### Fix reasoning: As asked by TSB, `account.group.company_id` can not have a `parent_id`, redirecting default value to `root_id`. `_accessible_branches` is only looking for active companies, the objective is to retrieve all children of `root_companies` (recursively). opw-4192988 Forward-Port-Of: odoo/odoo#182109
before this commit: ============== - Products with attributes in instant mode appeared duplicated in the product list for each combination.  after this commit: ============== - The product list now shows only the main product for variants, similar to POS. Clicking on the product opens the configuration page. - Disabled attribute values associated with archived combinations are on the product c
Original PR description
before this commit: ============== - Products with attributes in instant mode appeared duplicated in the product list for each combination.  after this commit: ============== - The product list now shows only the main product for variants, similar to POS. Clicking on the product opens the configuration page. - Disabled attribute values associated with archived combinations are on the product configuration page.  Task-4269189 Forward-Port-Of: odoo/odoo#185224
Currently, an error occurs when the user attempts to preview an invoice, and invoice date is not available. Step to produce: - Install the ```account``` module. - Create a new invoice, add a customer name and invoice line, and add a 'Payment Terms' which have an 'Early Discount' available. - 'Cancel' this invoice. - Click on the 'Preview' button (ensure that the invoice has no date). ```TypeError: unsupported operand type(s) for +: 'bool' and 'relativedelta'``` An error occurs whe
Original PR description
Currently, an error occurs when the user attempts to preview an invoice, and invoice date is not available. Step to produce: - Install the ```account``` module. - Create a new invoice, add a customer name and invoice line, and add a 'Payment Terms' which have an 'Early Discount' available. - 'Cancel' this invoice. - Click on the 'Preview' button (ensure that the invoice has no date). ```TypeError: unsupported operand type(s) for +: 'bool' and 'relativedelta'``` An error occurs when the system attempts to calculate the discount days with the invoice date, but the invoice date is not available there. To resolve this issue, we hide the preview button on canceled invoices. Sentry-6006569495 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#188765 Forward-Port-Of: odoo/odoo#184817
Currently, a logger error is occurring when the user tries to change the Chart of Account to India with Indian company having no state. Clearly, it's related to demo data and it's not breaking the flow. Error:- ``` Message Error while loading Indian-Accounting demo data in the company "odoo".State is not set in the company. ``` So we can change the logger error to a warning to reduce the noise in the sentry sentry-5610804086 Forward-Port-Of: odoo/odoo#173485
Original PR description
Currently, a logger error is occurring when the user tries to change the Chart of Account to India with Indian company having no state. Clearly, it's related to demo data and it's not breaking the flow. Error:- ``` Message Error while loading Indian-Accounting demo data in the company "odoo".State is not set in the company. ``` So we can change the logger error to a warning to reduce the noise in the sentry sentry-5610804086 Forward-Port-Of: odoo/odoo#173485
This PR fixes multiple issues related to the mass_mailing_html_field used in `marketing_automation` and in `mass_mailing` modules. 1) The iframe scrollbar is hidden behind the snippets sidebar in fullscreen mode - concerns: mass_mailing, marketing_automation 2) In fullscreen mode, the iframe is not scrollable while dragging a snippet from the sidebar - concerns: mass_Mailing, marketing_automation 3) The snippets sidebar overlaps with the content - concerns: mass_mailing, marketing
Original PR description
This PR fixes multiple issues related to the mass_mailing_html_field used in `marketing_automation` and in `mass_mailing` modules. 1) The iframe scrollbar is hidden behind the snippets sidebar in fullscreen mode - concerns: mass_mailing, marketing_automation 2) In fullscreen mode, the iframe is not scrollable while dragging a snippet from the sidebar - concerns: mass_Mailing, marketing_automation 3) The snippets sidebar overlaps with the content - concerns: mass_mailing, marketing_automation 4) The snippets sidebar height in a dialog is too big - concerns: marketing_automation See individual commits for further explanation. task-4178640 Co-authored-by: Astik Singh <assi@odoo.com> Co-authored-by: Damien Abeloos <abd@odoo.com> Co-authored-by: Mahdi Cheikh Rouhou <macr@odoo.com> Co-authored-by: Shubham Thanki <shut@odoo.com> Forward-Port-Of: odoo/odoo#188833 Forward-Port-Of: odoo/odoo#187134
The attribute scales of the gantt view specifies which scales are available in the view. This means that for instance "year" or "month" can be absent from scales. If that happens and that "year" or "month" is the selected range, a crash occurs when rendering the GanttRendererControls component: TypeError: Cannot read properties of undefined (reading 'groupHeaderFormatter') Here we assign to each range a function groupHeaderFormatter so that we can call it independently from the available
Original PR description
The attribute scales of the gantt view specifies which scales are available in the view. This means that for instance "year" or "month" can be absent from scales. If that happens and that "year" or "month" is the selected range, a crash occurs when rendering the GanttRendererControls component:
TypeError: Cannot read properties of undefined (reading 'groupHeaderFormatter')
Here we assign to each range a function groupHeaderFormatter so that we can call it independently from the available scales.
Forward-Port-Of: odoo/enterprise#74689At the moment, the SOAP call in `_l10n_ec_get_client_service_response` catches `ConnectionError`, but some exceptions raised by zeep (such as `Timeout`) are not caught and will cause a traceback for the user. We catch `RequestException` to make sure that these are caught. task-none Forward-Port-Of: odoo/enterprise#74266
Original PR description
At the moment, the SOAP call in `_l10n_ec_get_client_service_response` catches `ConnectionError`, but some exceptions raised by zeep (such as `Timeout`) are not caught and will cause a traceback for the user. We catch `RequestException` to make sure that these are caught. task-none Forward-Port-Of: odoo/enterprise#74266
### Steps to reproduce: - In Accounting Dashboard, click on "import file" in the Bank kanban box - Select a CSV file with two missing values on a line, for example: ``` Transaction Type,Bank Reference,Narrative,Debit Amount,Credit Amount TRANSFER,bank_ref_1,bank_statement_line_1,,1000 TRANSFER,,bank_statement_line_2,,3500 ``` (missing `bank_ref_2`) - Complete the Odoo fields: Transaction Type, Reference, Label, Debit, Credit - Import - Go in Accounting Dashboard > Bank Reconciliation
Original PR description
### Steps to reproduce: - In Accounting Dashboard, click on "import file" in the Bank kanban box - Select a CSV file with two missing values on a line, for example: ``` Transaction Type,Bank…
### Steps to reproduce: - In Accounting Dashboard, click on "import file" in the Bank kanban box - Select a CSV file with two missing values on a line, for example: ``` Transaction Type,Bank Reference,Narrative,Debit Amount,Credit Amount TRANSFER,bank_ref_1,bank_statement_line_1,,1000 TRANSFER,,bank_statement_line_2,,3500 ``` (missing `bank_ref_2`) - Complete the Odoo fields: Transaction Type, Reference, Label, Debit, Credit - Import - Go in Accounting Dashboard > Bank Reconciliation and select the list view - `bank_statement_line_2` appears in Reference instead of Label ### Cause: In `_parse_import_data` some line values are added and some are expected to be removed. The values expected to be removed are stored by index but they are removed by value. In this case the index supposed to be removed is 3 but its value is empty like index 1. On the line `line.remove(line[index])` the first occurrence is removed, so index 1 is removed instead of 3. ### Solution: Use `del` to remove by index. opw-4319464 Forward-Port-Of: odoo/enterprise#74512
…ing ReferenceNumber to the request opw-4358458 Forward-Port-Of: odoo/enterprise#74751
Original PR description
…ing ReferenceNumber to the request opw-4358458 Forward-Port-Of: odoo/enterprise#74751
Steps to reproduce ================== - Use a small viewport - Open the Shop Floor - Click on the dropdown toggle next to the search bar => The dropdown goes outside the viewport Cause of the issue ================== In the shopfloor, the search view has a max width of 65%. Solution ======== We can set the max-width of the search bar menu as the minimum between the initial value and 65% opw-4232114 Forward-Port-Of: odoo/enterprise#74801
Original PR description
Steps to reproduce ================== - Use a small viewport - Open the Shop Floor - Click on the dropdown toggle next to the search bar => The dropdown goes outside the viewport Cause of the issue ================== In the shopfloor, the search view has a max width of 65%. Solution ======== We can set the max-width of the search bar menu as the minimum between the initial value and 65% opw-4232114 Forward-Port-Of: odoo/enterprise#74801
Steps to reproduce: ------------------ 1. Create a fresh database of version 17.0 or earlier. 2. Install website_event and website_enterprise modules. 3. Migrate the database to version saas~17.4. 4. Open the website and click on the `Edit` button, Will encounter Traceback Error. Cause: ------ In this [PR](https://github.com/odoo/enterprise/commit/eedf84b093f6c4803f53d7dc0021830c0c7b84cf) there have been changes made using an xpath where the node 'event_upcoming_snippet_hook' is being
Original PR description
Steps to reproduce: ------------------ 1. Create a fresh database of version 17.0 or earlier. 2. Install website_event and website_enterprise modules. 3. Migrate the database to version saas~17.4. 4.…
Steps to reproduce: ------------------ 1. Create a fresh database of version 17.0 or earlier. 2. Install website_event and website_enterprise modules. 3. Migrate the database to version saas~17.4. 4. Open the website and click on the `Edit` button, Will encounter Traceback Error. Cause: ------ In this [PR](https://github.com/odoo/enterprise/commit/eedf84b093f6c4803f53d7dc0021830c0c7b84cf) there have been changes made using an xpath where the node 'event_upcoming_snippet_hook' is being used. But there exists a view called 'website_event.snippets', where that particular node 'event_upcoming_snippet_hook' is being replaced with some other element/node. >File(FYR): website_enterprise/views/snippets/snippets.xml As the view 'website_event.snippets' has same priority [i.e; 16 default] as the 'website_enterprise.external_snipppets' view, the 'website_event.snippets' is being executed before than 'website_enterprise. external_snippets' which in result, the node 'event_upcoming_snippet_hook' will get replaced first and will not found for the view 'website_enterprise.external_snippets' when it tries to find that node for making changes and causes the error. Note: The view 'website_event.snippets' will have smaller id than the view 'website_enterprise.external_snippets' cause it exists before than 'website_enterprise.external_snippets'. Solution: --------- Reset the priority of view 'website_enterprise.external_snippets' to 15 so that it will get executed first for finding the node and then gets replaced by the other view 'website_event.snippets'. Forward-Port-Of: odoo/enterprise#69384
In this PR: - Updated `_cron_send_gstr1_data` to ignore entries with `gstr1_blocking_level` set. - Ensures only unblocked GSTR1 entries are processed by the cron job. Forward-Port-Of: odoo/enterprise#74564
Original PR description
In this PR: - Updated `_cron_send_gstr1_data` to ignore entries with `gstr1_blocking_level` set. - Ensures only unblocked GSTR1 entries are processed by the cron job. Forward-Port-Of: odoo/enterprise#74564