Thursday, January 25, 2024
50 changes · saas-17.1
Resolved issues and error corrections
A test for the email marketing editor was updated to look for the code view button in the right place after a layout change. This helps keep automated checks reliable and reduces the risk of future editor issues slipping through.
Original PR description
Since commit [1], the sidebar is no longer in an iframe. Yet, the codeview tour was still trying to target sidebar buttons in the iframe. This updates the tour to target the buttons in the main document. [1]: https://github.com/odoo/odoo/commit/5623c858d06e77011680ef0a5e04da5fa5f207e5 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
This update ensures editor click-handling events are properly cleaned up when used outside website pages, including mass mailing scenarios. It helps prevent lingering interactions or unexpected behavior after using the editor, while also removing unused code.
Original PR description
After [1], because mass_mailing also had a SnippetsMenu outside an iframe, the code that was handling clicks was moved from website to web_editor. However, not all of the code was moved, and the code which unbind events from the $body was still only available for website. This commit fixes that and also removes some useless code present in the same file. [1]: https://github.com/odoo/odoo/commit/5623c858d06e77011680ef0a5e04da5fa5f207e5 Related to task-3630716
The chatbot test page now closes older test chat sessions before opening a new one. This prevents outdated conversations from interfering with current tests, making live chat chatbot validation more reliable.
Original PR description
Since [1], every opened live chat channel is returned by `init_messaging`. Every time the chatbot test page is accessed, a new channel is created but the outdated test channels are kept as is. We should ensure previous test channels are properly closed so that they don't interfere with the current one. [1]: https://github.com/odoo/odoo/pull/147917
This update fixes an internal automated test for project task workflows so it works consistently whether or not timesheet features are installed. It helps maintain product quality without changing the user experience.
Original PR description
This PR fixes a test that relies on the field `allocated_hours` being present in the task form view, which is true with `hr_timesheet` but not without.
Miscellaneous changes
Since the Bootstrap5 migration (odoo/odoo#95450), the reports' table cell were centered vertically. This was due to the fact that the property "vertical-align" which was set on the table itself by BS5 doesn't play nice in wkhtmltopdf, namely, it seems to not get inherited by the table's children. This commit adapts the css by reproducing what was done in BS4 for tables. After this commit, the table cells have their text aligned at the top by default. opw-3670533 Description of the is
Original PR description
Since the Bootstrap5 migration (odoo/odoo#95450), the reports' table cell were centered vertically. This was due to the fact that the property "vertical-align" which was set on the table itself by BS5 doesn't play nice in wkhtmltopdf, namely, it seems to not get inherited by the table's children. This commit adapts the css by reproducing what was done in BS4 for tables. After this commit, the table cells have their text aligned at the top by default. opw-3670533 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#151011
Versions -------- - 17.0+ Steps ----- 1. Go to Employees app as admin; 2. clear the "Working Hours" field & save; 3. go to Time Off app. Issue ----- Odoo Server Error. Cause ----- Commit 8f87e102a95412aa7dd1b0ce07365d9d3bbdba6a added the `_get_consumed_leaves` method to `hr.employee` and the `get_allocation_data` to `hr.leave.type`, both call on `resource.calendar` methods with `ensure_one()` enabled. The `resource_calendar_id` field is not required for employees, so an error
Original PR description
Versions -------- - 17.0+ Steps ----- 1. Go to Employees app as admin; 2. clear the "Working Hours" field & save; 3. go to Time Off app. Issue ----- Odoo Server Error. Cause ----- Commit 8f87e102a95412aa7dd1b0ce07365d9d3bbdba6a added the `_get_consumed_leaves` method to `hr.employee` and the `get_allocation_data` to `hr.leave.type`, both call on `resource.calendar` methods with `ensure_one()` enabled. The `resource_calendar_id` field is not required for employees, so an error occurs when these methods are used on an employee with undefined working hours. Solution -------- Default to `company_id.resource_calendar_id` where a calendar is expected. Also fixes a potential issue in `hr_contract` when getting attendances between a time interval that includes multiple contracts using different calendars. opw-3665412 Forward-Port-Of: odoo/odoo#149908
Prior to this PR, there were displays and design issues with the both desktop and mobile filters on the `website_event` list of events. - Prior to the first commit(686d4e04c960538b484717dd908dc50d85c274a3): The `countries dropdown` filter was still a `li` on desktop. The spacing between the `dropdowns` was also wrong. The `countries filter` was showing after the `searchbar`, so the template position is modified. `IsActive` value is set to ease classes conditions on the dropdowns link
Original PR description
Prior to this PR, there were displays and design issues with the both desktop and mobile filters on the `website_event` list of events. - Prior to the first…
Prior to this PR, there were displays and design issues with the both desktop and mobile filters on the `website_event` list of events. - Prior to the first commit(686d4e04c960538b484717dd908dc50d85c274a3): The `countries dropdown` filter was still a `li` on desktop. The spacing between the `dropdowns` was also wrong. The `countries filter` was showing after the `searchbar`, so the template position is modified. `IsActive` value is set to ease classes conditions on the dropdowns links. - Prior to the second commit(c40dcc2d29e5d0c97dbdc3db154f9153ed0868ea): The `countries` filter was not appearing in the off-canvas filters on mobile. The `date` filter was also appearing all the time in the off-canvas, even when it was not supposed to. - Prior to the 3rd commit(2d348d58cfa227fa84dc1581d80e81ec58e4cd23): The position of the `<li>` and `t-foreach` was not correct. They needed to be swapped, because we had single `<li>` with multiples `<a>` inside, instead of multiples `<li>` with a single `<a>`. - Prior to the 4th commit(10116a1aa4a430eb86099cc463d4376294e662ad): The design of all the `off-canvas filters` was wrong. It was `list-group` with a `dropdown-item` class on the elements inside. Also there was a wrong `border-top` class on the `accordion button`, causing display issues on `hover. `Aria-control` was also missing from the `categories filters`. - Prior to the 5th commit(37cff6b9bfeb940f0dfc3d729d547518ea6a360a): There was no `title` attributes in the accordions of the filters. They are also added in the `website_event.pot` file Checkboxes and radio buttons are also added to increases the usability. task-3626957 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145064
Description of the issue/feature this PR addresses: Update CLA of ForgeFLow in order to add Joan Sisquella in order to be able to do a PR in odoo/enterprise https://github.com/odoo/enterprise/pull/54996 Current behavior before PR: Joan Sisquella can't do a PR in enterprise repository Desired behavior after PR is merged: Joan Sisquella is able to add PR in enterprise respository --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port
Original PR description
Description of the issue/feature this PR addresses: Update CLA of ForgeFLow in order to add Joan Sisquella in order to be able to do a PR in odoo/enterprise https://github.com/odoo/enterprise/pull/54996 Current behavior before PR: Joan Sisquella can't do a PR in enterprise repository Desired behavior after PR is merged: Joan Sisquella is able to add PR in enterprise respository --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#150795
*: account, l10n_account_edi_ubl_cii_tests There is the following problem when editing the tax amounts on an invoice (in quick-edit mode or via the journal item): The changed amounts are displayed correctly on the PDF but not in the EDI XMLs (e.g. the embedded factur-x). This commit corrects this. Reproduce 1. Create a new invoice 2. In tab "Invoice Lines" add 2 lines with taxes from different tax group 3. Go to tab "Journal Items" and change the tax amounts (or use quick-edit
Original PR description
*: account, l10n_account_edi_ubl_cii_tests There is the following problem when editing the tax amounts on an invoice (in quick-edit mode or via the journal item): The changed amounts are displayed…
*: account, l10n_account_edi_ubl_cii_tests There is the following problem when editing the tax amounts on an invoice (in quick-edit mode or via the journal item): The changed amounts are displayed correctly on the PDF but not in the EDI XMLs (e.g. the embedded factur-x). This commit corrects this. Reproduce 1. Create a new invoice 2. In tab "Invoice Lines" add 2 lines with taxes from different tax group 3. Go to tab "Journal Items" and change the tax amounts (or use quick-edit mode; needs to be enabled in the settings) 4. Go back to tab "Invoice Lines" and notice the tax amounts of the groups were changed. 5. Generate a PDF: Here the tax amounts are correct (the changed amounts) 6. Look at the embedded XML: Here the tax amounts are wrong (initial / unchanged amounts). The same issue applies to multiple other EDI exports. To activate the EDIs go to: Accounting -> Configuration -> Journals -> Customer Invoices -> Advanced Settings tab -> Electronic Data Interchange The EDIs can then be found as attachment in the chatter after confirming and/or printing an invoice. Technically the change was adapted from (a part of) _prepare_tax_totals (from account.tax). That function handles the same problem (and i.e. makes the amounts correct on the move / PDF). task-3535411 Forward-Port-Of: odoo/odoo#150953 Forward-Port-Of: odoo/odoo#142144
After https://github.com/odoo/odoo/pull/109736, we started rendering all day events in the all day slot. However, some calendar views don't have an all day slot, so these events weren't being shown. Therefore, this commit adds an all day slot to the hr_holidays module to show multiple day events. Therefore, we add a new last_several_days computed field in hr leave. task-3566710 Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR i
Original PR description
After https://github.com/odoo/odoo/pull/109736, we started rendering all day events in the all day slot. However, some calendar views don't have an all day slot, so these events weren't being shown. Therefore, this commit adds an all day slot to the hr_holidays module to show multiple day events. Therefore, we add a new last_several_days computed field in hr leave. task-3566710 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#150980 Forward-Port-Of: odoo/odoo#140359
Before this PR, a race condition could occur when restarting the chatbot: if the rpc returned before the restart message reception on the bus, the chat would not restart. This was due to the message being inserted twice. Since the id is used as an unique `t-key` in the thread template, any duplicate would lead to an error. This PR fixes the issue by checking that the message is not already present before adding it to the thread messages. Steps to reproduce the issue: - Go to the cont
Original PR description
Before this PR, a race condition could occur when restarting the chatbot: if the rpc returned before the restart message reception on the bus, the chat would not restart. This was due to the message being inserted twice. Since the id is used as an unique `t-key` in the thread template, any duplicate would lead to an error. This PR fixes the issue by checking that the message is not already present before adding it to the thread messages. Steps to reproduce the issue: - Go to the contact us page - Start a chat with the bot and proceed until the end - Put your network in slow 3g mode - Click on the restart button - The chatbot is not restarting as expected Forward-Port-Of: odoo/odoo#150975 Forward-Port-Of: odoo/odoo#150811
Steps to Reproduce: - Activate packaging - Create a storable product update on hand qty 1 package: "PACK6" - Create a sale order with the product qty 1 - Confirm the order, picking will have a package already assigned - Edit the sale order and set the product quantity to 0 Bug: a new move will be created with negtaive quantity and merged with original (correct behaviour) but when the picking is confirmed an extra move will be created due to the picking still having a package level set
Original PR description
Steps to Reproduce: - Activate packaging - Create a storable product update on hand qty 1 package: "PACK6" - Create a sale order with the product qty 1 - Confirm the order, picking will have a package already assigned - Edit the sale order and set the product quantity to 0 Bug: a new move will be created with negtaive quantity and merged with original (correct behaviour) but when the picking is confirmed an extra move will be created due to the picking still having a package level set Fix: unlink the package level when its last linked SML is unlinked opw-3597188 Forward-Port-Of: odoo/odoo#150939 Forward-Port-Of: odoo/odoo#147458
If the user selects a branch and deactivates the parent company, he will not be able to create any LC. Explanations: Since the company field is a related one that targets the company of the journal, and since the journal belongs to the parent company, the LC created in the branch actually belongs to the parent company, which triggers an access error. Asking users to create branch-specific journals would just cancel all the benefits of the company branch feature. OPW-3651022 Forwar
Original PR description
If the user selects a branch and deactivates the parent company, he will not be able to create any LC. Explanations: Since the company field is a related one that targets the company of the journal, and since the journal belongs to the parent company, the LC created in the branch actually belongs to the parent company, which triggers an access error. Asking users to create branch-specific journals would just cancel all the benefits of the company branch feature. OPW-3651022 Forward-Port-Of: odoo/odoo#150972 Forward-Port-Of: odoo/odoo#150621
The utm parameters i-e utm_source, utm_campaign, utm_medium, are only set when a sale order is generated against an event and not set if there is no sale against an event registration that is done through a tracked linked. This functionality was missing for the event registration part. Steps to reproduce: 1. Create an event and copy its website link. 2. Go to link tracker and create a tracked link with utm values filled. 3. Use this tracked link in incognito preferably to register for the
Original PR description
The utm parameters i-e utm_source, utm_campaign, utm_medium, are only set when a sale order is generated against an event and not set if there is no sale against an event registration that is done…
The utm parameters i-e utm_source, utm_campaign, utm_medium, are only set when a sale order is generated against an event and not set if there is no sale against an event registration that is done through a tracked linked. This functionality was missing for the event registration part. Steps to reproduce: 1. Create an event and copy its website link. 2. Go to link tracker and create a tracked link with utm values filled. 3. Use this tracked link in incognito preferably to register for the event. 4. Check the attendees of the event and check the marketing utm values. Current Behavior: The marketing values are not filled, because they are not set. The utm values are computed using sale order and if there is no flow to set these values. Expected Behavior: The utm marketing values should be set. OPW-3222179 task-3458877 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#150977 Forward-Port-Of: odoo/odoo#141660
This commit does 2 things: - It prevents saving the parallax bg css properties which does not makes sense as those properties are related to the current screen scroll position. Each scroll position has its own css properties. Saving those did no harm tho, as on start those were recomputed. - It prevents flagging that parallax bg css properties change as a dirty change by stopping the observer while changing those properties. This is not really helping much apart from being right, since when di
Original PR description
This commit does 2 things: - It prevents saving the parallax bg css properties which does not makes sense as those properties are related to the current screen scroll position. Each scroll position…
This commit does 2 things:
- It prevents saving the parallax bg css properties which does not makes sense as those properties are related to the current screen scroll position. Each scroll position has its own css properties. Saving those did no harm tho, as on start those were recomputed.
- It prevents flagging that parallax bg css properties change as a dirty change by stopping the observer while changing those properties. This is not really helping much apart from being right, since when discarding, to know if something is dirty, it's not considering the `o_dirty` class but doing some DOM comparison before/after, so:
- In this case, the css options are most likely still not the same.
- There is still some stuff that will get in the way and make the before/after DOM not the same:
- Scrolling a few px will hide the navbar and reveal the other one, flagging it as a dom diff
- When having a few menu end entering edit mode, some will end up in the "extra menu area" (grouped inside the "+" menu entry), which will also be considered as dom diff
Step to reproduce:
- Enter edit mode and drag & drop a parallax snippet
- Update its "Parallax" sub-option from "Fixed" to "Bottom to Top"
- This option change adds some css properties to the `s_parallax_bg`: top, bottom and transform. Each time you scroll, those are updated.
- Save and then inspect the source code of the page (CTRL-U)
- BUG 1: The `s_parallax_bg` was saved with those css properties set to the values related to where the scroll was when saved.
- BUG 2: Now enter edit mode again and check that the `#wrap` is automatically and directly set as `o_dirty`.
Related PR about mitigating dirty issues: https://github.com/odoo/odoo/pull/144121
opw-3672851
Forward-Port-Of: odoo/odoo#150474
Forward-Port-Of: odoo/odoo#148690Current behavior before PR: On clicking the same paragraph while emoji-picker is open, it doesn't close, resulting in multiple emoji-picker being opened at the same time. Desired behavior after PR is merged: Now on-click away from emoji-picker on the same paragraph emoji-picker closes. task-3555717 Forward-Port-Of: odoo/odoo#138827
Original PR description
Current behavior before PR: On clicking the same paragraph while emoji-picker is open, it doesn't close, resulting in multiple emoji-picker being opened at the same time. Desired behavior after PR is merged: Now on-click away from emoji-picker on the same paragraph emoji-picker closes. task-3555717 Forward-Port-Of: odoo/odoo#138827
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#150765
Original PR description
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#150765
When a 'scheduled_date' is given to posting API notifications are delayed. They are send using a cron running on a schedule model. However SMS are not respecting this parameter. This is now fixed. Forward-Port-Of: odoo/odoo#150911
Original PR description
When a 'scheduled_date' is given to posting API notifications are delayed. They are send using a cron running on a schedule model. However SMS are not respecting this parameter. This is now fixed. Forward-Port-Of: odoo/odoo#150911
For the indian case, when facing two percent price-included taxes having the same percentage, both need to produce the same tax amounts. task_id: 3410529 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#150466 Forward-Port-Of: odoo/odoo#149399
Original PR description
For the indian case, when facing two percent price-included taxes having the same percentage, both need to produce the same tax amounts. task_id: 3410529 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#150466 Forward-Port-Of: odoo/odoo#149399
Steps to reproduce: - Create the following subkits boms F-> SK1 -> A -> B SK2 -> C -> D - Set all these products to be available in pos and have AVCO automated valuation with A,B,C and D having a cost of 5$ - Sell F in pos creating an invoice - In accounting check the expense account (cost of goods) wrong cost Bug: ´comp[1]['product']´ refers to the kit product of the last children boms (SK1 and SK2 in this case) which would then each be counted twic
Original PR description
Steps to reproduce:
- Create the following subkits boms
F-> SK1 -> A
-> B
SK2 -> C
-> D
- Set all these products to be available in pos and have AVCO automated valuation with A,B,C and D having a cost of 5$
- Sell F in pos creating an invoice
- In accounting check the expense account (cost of goods) wrong cost
Bug:
´comp[1]['product']´ refers to the kit product of the last children boms (SK1 and SK2 in this case) which would then each be counted twice instead use ´comp[0].product_id´ (the components of the child boms)
also fixed total_cost computation for pos lines which would filter out all the subkits moves
opw-3676642
Forward-Port-Of: odoo/odoo#144268Description 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#150857
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#150857
**Description of the issue/feature this PR addresses:** sale mrp accounting for anglosaxon accounting companies **Current behavior before PR:** The BOM may suffer variances from the SO is confirmed till it is invoiced. The BOM associated to the stock moves is more reliable because the cost used in the stock journal is based on that BOM. In order to reproduce the bug you have to have: - Confirm and deliver a SO with KIT BOM - Archive the BOM and create and updated version - Invo
Original PR description
**Description of the issue/feature this PR addresses:** sale mrp accounting for anglosaxon accounting companies **Current behavior before PR:** The BOM may suffer variances from the SO is confirmed till it is invoiced. The BOM associated to the stock moves is more reliable because the cost used in the stock journal is based on that BOM. In order to reproduce the bug you have to have: - Confirm and deliver a SO with KIT BOM - Archive the BOM and create and updated version - Invoice the SO **Desired behavior after PR is merged:** The fix is giving preference to the bom of the stock moves of the sale line, which makes more sense. Because BOMS for the products can change since the sale order was confirmed, not only being archived. It can be also a second version of the BOM which takes over with higher priority. Forward-Port-Of: odoo/odoo#150506 Forward-Port-Of: odoo/odoo#146118
With this commit the kiosk will now print the kitchen tickets. Task: 3553947 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#149353
Original PR description
With this commit the kiosk will now print the kitchen tickets. Task: 3553947 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#149353
# Portal layout fixes This PR fixes some issues within Portal, mainly about spacing, layout, and font-size. **Requires**: https://github.com/odoo/enterprise/pull/53383 ## Why do we introduce these changes We recently merged the portal redesign. While the redesign is almost done for every screen, we needed to fine tune some spacing or fix some layout issues. ## List of the different changes ### portal: - [x] Review the unconsistent use of hr tag - [x] Improve information archi
Original PR description
# Portal layout fixes This PR fixes some issues within Portal, mainly about spacing, layout, and font-size. **Requires**: https://github.com/odoo/enterprise/pull/53383 ## Why do we introduce these changes We recently merged the portal redesign. While the redesign is almost done for every screen, we needed to fine tune some spacing or fix some layout issues. ## List of the different changes ### portal: - [x] Review the unconsistent use of hr tag - [x] Improve information architecture by fixing the typescale of the subtitles - [x] Remove the subtitle above the products table, improving the design of the invoice - [x] Fix an issue about the number of messages in the chatter missing a space task-3651084 Forward-Port-Of: odoo/odoo#147496
**[FIX] mail: stop the bubbling of various click events** Technical Reason: - The events bound to the specific elements inside the `FileViewer` are propagating/bubbling up and are triggering the [`onGlobalClick`](https://github.com/odoo/enterprise/blob/eaf40edbbacfc6a8eb9e0137c20e7f94b1f5d723/documents/static/src/views/kanban/documents_kanban_renderer.js#L36-L42) event bound on the [`DocumentsKanbanRenderer`](https://github.com/odoo/enterprise/blob/71dbc617d6fe533c4d0153361f9711bd4c9e48
Original PR description
**[FIX] mail: stop the bubbling of various click events** Technical Reason: - The events bound to the specific elements inside the `FileViewer` are propagating/bubbling up and are triggering the…
**[FIX] mail: stop the bubbling of various click events** Technical Reason: - The events bound to the specific elements inside the `FileViewer` are propagating/bubbling up and are triggering the [`onGlobalClick`](https://github.com/odoo/enterprise/blob/eaf40edbbacfc6a8eb9e0137c20e7f94b1f5d723/documents/static/src/views/kanban/documents_kanban_renderer.js#L36-L42) event bound on the [`DocumentsKanbanRenderer`](https://github.com/odoo/enterprise/blob/71dbc617d6fe533c4d0153361f9711bd4c9e4885/documents/static/src/views/kanban/documents_kanban_renderer.xml#L6) After this commit: - Only the events bound to the specific HTMLElements are now triggered. - We successfully prevent the unnecessary call of the `onGlobalClick` method mentioned above. link to the related enterprise PR (contains the test case for this fix)- https://github.com/odoo/enterprise/pull/54969 Task-3489455 Forward-Port-Of: odoo/odoo#150257 Forward-Port-Of: odoo/odoo#142807 --- The issue of the `DocumentsInspector` losing focus on the selected document is not observed in versions saas-16.4 and above because - **Previously (i.e. in versions 16.3 and below),** - The document we click to preview used to get selected, it was then passed to the `DocumentsInspector` as the `selection` prop. - The inspector relied on the [`nbPreviews`](https://github.com/odoo/enterprise/pull/40441/files#diff-2d135414449d55788e2e9449cab08f4d30f006fa009824bb1d17afa00c63d810R19) i.e. `props.selection.length` to evaluate which template to render for the `DocumnetsInspector`. - It is this line --> `this.props.list.selection.forEach(el => el.toggleSelection(false));` inside [`onGlobalClick`](https://github.com/odoo/enterprise/blob/saas-16.3/documents/static/src/views/kanban/documents_kanban_renderer.js#L36-L42) method, which toggles the selection to `false` and now when the inspector appears to lose focus and paints itself with the template when no document is selected. **Now (saas-16.4 and above)** - We use the [`documents`](https://github.com/odoo/enterprise/pull/40441/files#diff-2d135414449d55788e2e9449cab08f4d30f006fa009824bb1d17afa00c63d810R7) prop as a condition to render the inspector. [`documents` prop initiallisation](https://github.com/odoo/enterprise/pull/40441/files#diff-0011f60b4981cbcd7e4c5f6fbee6c682ce7187f8f85d3beb3fac0bb4f07a6c01R101). - The inspector no longer relies on the actual selection of the documents for deciding on which template to render. And hence it doesn't lose focus even if the `onGlobalClick` deselect the selected documents. - Also, the props passed to the inspector are only reset when we close the FileViewer. ref - https://github.com/odoo/enterprise/blob/saas-16.4/documents/static/src/views/hooks.js#L317 PR that introduced the above changes - https://github.com/odoo/enterprise/pull/40441
Before this commit, if the user tried to settle a sale order in PoS restaurant, then went back to floor and then returned to the table, the sale order reference will disappear. The problem is that the `sale_order_origin_id` is not loaded. opw-3550351 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145428
Original PR description
Before this commit, if the user tried to settle a sale order in PoS restaurant, then went back to floor and then returned to the table, the sale order reference will disappear. The problem is that the `sale_order_origin_id` is not loaded. opw-3550351 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145428
Since 1be6866b15ebf76e197d9135a7b737640cdf14f6, when VAT can't be edited, the country_id select field is disabled. Disabled fields aren't submitted in the POST query, which causes an error `Some required fields are empty`, with the Country field being highlighted even if a value is selected. With this commit, when the user cannot edit their country, the value is forced into the POST data so that it is found. Forward-Port-Of: odoo/odoo#150909
Original PR description
Since 1be6866b15ebf76e197d9135a7b737640cdf14f6, when VAT can't be edited, the country_id select field is disabled. Disabled fields aren't submitted in the POST query, which causes an error `Some required fields are empty`, with the Country field being highlighted even if a value is selected. With this commit, when the user cannot edit their country, the value is forced into the POST data so that it is found. Forward-Port-Of: odoo/odoo#150909
**How to reproduce:** - Create a new quotation. - Add a product 'Event Booth'. - Select an Event, and select any available booth category. - From the available booths, select some of them. - Click 'Ok' and manually save the quotation. - Now, edit the same SO line, and select 'Event Booth' again(similar or different). - Confirm the SO. **Current behavior before PR:** Users can now see the incorrect total event booth count as 'Booths' on the stat-button. **Issue:** While editing
Original PR description
**How to reproduce:** - Create a new quotation. - Add a product 'Event Booth'. - Select an Event, and select any available booth category. - From the available booths, select some of them. - Click 'Ok' and manually save the quotation. - Now, edit the same SO line, and select 'Event Booth' again(similar or different). - Confirm the SO. **Current behavior before PR:** Users can now see the incorrect total event booth count as 'Booths' on the stat-button. **Issue:** While editing the booths in the configurator, the new selection does not get updated in the 'event_booth_registration' table. **Desired behavior after PR is merged:** The records in the 'event_booth_registration' table are updated with the user selection of event booths. Users can now see the correct event booth count in the stat-button. **Task**-3309218 Forward-Port-Of: odoo/odoo#150747 Forward-Port-Of: odoo/odoo#127379
Steps to reproduce: - install timesheets module - install all related timesheets bridge modules - open timesheets module - click on configuration - click on settings - under the timeoff, create a new project and click on create and edit Issue: - the current company is not set by default on the newly created record Cause: - the project id did not have any default company id attribute Solution: - if we gave a default attribute to the project id field then the issue will be solve
Original PR description
Steps to reproduce: - install timesheets module - install all related timesheets bridge modules - open timesheets module - click on configuration - click on settings - under the timeoff, create a new project and click on create and edit Issue: - the current company is not set by default on the newly created record Cause: - the project id did not have any default company id attribute Solution: - if we gave a default attribute to the project id field then the issue will be solved task-3607053 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#144479
Generate a new password at launch for security reasons 3696215 Forward-Port-Of: odoo/odoo#150640
Original PR description
Generate a new password at launch for security reasons 3696215 Forward-Port-Of: odoo/odoo#150640
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#150904 Forward-Port-Of: odoo/odoo#150384
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#150904 Forward-Port-Of: odoo/odoo#150384
**Steps:** - Open Field Service > Tasks - Select any task and start timer - Now stop the timer and change the duration from the wizard - On saving, observe the value of timesheet entered in the Timesheet tab **Issue:** - the timesheet entry shows the round up value instead of edited value. **Cause:** - Due to the round up function used, the time duration entered will always be rounded up **Fix:** - Discarding the use of the function in order to get the edited unit amount. **T
Original PR description
**Steps:** - Open Field Service > Tasks - Select any task and start timer - Now stop the timer and change the duration from the wizard - On saving, observe the value of timesheet entered in the Timesheet tab **Issue:** - the timesheet entry shows the round up value instead of edited value. **Cause:** - Due to the round up function used, the time duration entered will always be rounded up **Fix:** - Discarding the use of the function in order to get the edited unit amount. **Task**-3631383 Forward-Port-Of: odoo/enterprise#54948 Forward-Port-Of: odoo/enterprise#52755
An internal transfer must not be signed in the SAT. Odoo does not allow generating a EDI document in that process, but shows all the MX fields to EDI documents. Now, the fields are not in the view for internal transfers. Forward-Port-Of: odoo/enterprise#49680 Forward-Port-Of: odoo/enterprise#42569
Original PR description
An internal transfer must not be signed in the SAT. Odoo does not allow generating a EDI document in that process, but shows all the MX fields to EDI documents. Now, the fields are not in the view for internal transfers. Forward-Port-Of: odoo/enterprise#49680 Forward-Port-Of: odoo/enterprise#42569
Before this fix, when clicking "Unfold All" on the General Ledger, the "Load More Limit" assigned to the report (80 by default) was not applied, and all the lines were always loaded in the UI. This caused performance issues on large databases, where the high number of move lines do display can overload the browser, slow it down a lot, or even freeze it (due to the high number of elements needing to be rendered). This was due to the fact the General Ledger's _custom_batch_data_generator needed
Original PR description
Before this fix, when clicking "Unfold All" on the General Ledger, the "Load More Limit" assigned to the report (80 by default) was not applied, and all the lines were always loaded in the UI. This caused performance issues on large databases, where the high number of move lines do display can overload the browser, slow it down a lot, or even freeze it (due to the high number of elements needing to be rendered). This was due to the fact the General Ledger's _custom_batch_data_generator needed to filter the additional elements it loads. We cannot filter directly in SQL because we get everything in a single batched query, but we can restrict the number of elements we return after getting them from the db. OPW 3672271 Forward-Port-Of: odoo/enterprise#54760 Forward-Port-Of: odoo/enterprise#54384
On a CRM lead in studio, activate the rainbow man on the "Won" button. Change the image. Before this commit, there was a crash, because activating the rainbow man put the effect attribute on the button to "true". Adding an image on top of that crashed because the code expected an object. Given the empirical specs at action_service.js:doActionButton and in effect_service.js, the "effect" attribute doesn't have the expected effect if it is "true". We choose then to set the "effect" attribut
Original PR description
On a CRM lead in studio, activate the rainbow man on the "Won" button. Change the image.
Before this commit, there was a crash, because activating the rainbow man put the effect attribute on the button to "true".
Adding an image on top of that crashed because the code expected an object.
Given the empirical specs at action_service.js:doActionButton and in effect_service.js, the "effect" attribute doesn't have the expected effect if it is "true". We choose then to set the "effect" attribute on a node
- to "False" when it is supposed to be deactivated,
- a empty object "{}" if it is to be truthy, but displaying defaults. This object is enriched when customizing details in studio.
After this commit, there is no crash anymore and one can customize the image in the rainbow man.
opw-3692982
Forward-Port-Of: odoo/enterprise#55086
Forward-Port-Of: odoo/enterprise#55045Nothing big, just fixing a recent commit while fixing a related bug in community about delayed notifications. Forward-Port-Of: odoo/enterprise#55052
Original PR description
Nothing big, just fixing a recent commit while fixing a related bug in community about delayed notifications. Forward-Port-Of: odoo/enterprise#55052
Current behaviour: --- When generating the QR code url or the xml document of an invoice, the arguments are, in order: re supplier_rfc rr customer_rfc tt amount_total id uuid Expected behaviour: --- Should be id, re, rr, tt Source: http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/Documentacion_tecnica.pdf (Pages 67-68) Steps to reproduce: --- 1. Set up l10n_mx 2. Head to Invoicing 3. Sign an invoice 4. Print the invoice 5. Scan the QR code 6. URL is wrong
Original PR description
Current behaviour: --- When generating the QR code url or the xml document of an invoice, the arguments are, in order: re supplier_rfc rr customer_rfc tt amount_total id uuid Expected behaviour: --- Should be id, re, rr, tt Source: http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/Documentacion_tecnica.pdf (Pages 67-68) Steps to reproduce: --- 1. Set up l10n_mx 2. Head to Invoicing 3. Sign an invoice 4. Print the invoice 5. Scan the QR code 6. URL is wrong Task link: http://www.odoo.com/web#id=3650556&model=project.task opw-3650556 Forward-Port-Of: odoo/enterprise#54671 Forward-Port-Of: odoo/enterprise#53613
We are not accessing the amount in the rule, resulting in an error. Forward-Port-Of: odoo/enterprise#55031
Original PR description
We are not accessing the amount in the rule, resulting in an error. Forward-Port-Of: odoo/enterprise#55031
With this commit the kiosk will now print the kitchen tickets. Task: 3553947 Forward-Port-Of: odoo/enterprise#54288
Original PR description
With this commit the kiosk will now print the kitchen tickets. Task: 3553947 Forward-Port-Of: odoo/enterprise#54288
# Portal layout fixes This PR fixes some issues within Portal, mainly about spacing, layout, and font-size. - **Requires**: https://github.com/odoo/odoo/pull/147496 - task-3651084 ## Why do we introduce these changes We recently merged the portal redesign. While the redesign is almost done for every screen, we needed to fine tune some spacing or fix some layout issues. ## List of the different changes ### sale_subscription: - [x] Add the expiration date - [x] Fix unconsisten
Original PR description
# Portal layout fixes This PR fixes some issues within Portal, mainly about spacing, layout, and font-size. - **Requires**: https://github.com/odoo/odoo/pull/147496 - task-3651084 ## Why do we introduce these changes We recently merged the portal redesign. While the redesign is almost done for every screen, we needed to fine tune some spacing or fix some layout issues. ## List of the different changes ### sale_subscription: - [x] Add the expiration date - [x] Fix unconsistent layout for the display of the date - [x] Put the delivery column on the right of the invoice one - [x] Fix minor wording issues Forward-Port-Of: odoo/enterprise#53383
**[FIX] documents: validate document existence using `datapoint_id`** Issue: - The existing condition inside the `insert()` method incorrectly identifies the incoming new record (data) as an already existing record inside `this.store.Document.records` Reason: - It uses `id` to check for a new document, but the `id` remains the same in the following cases. - In case of replacing a document with a new document. - Replacing the requested document with the new document. - As a
Original PR description
**[FIX] documents: validate document existence using `datapoint_id`** Issue: - The existing condition inside the `insert()` method incorrectly identifies the incoming new record (data) as an already…
**[FIX] documents: validate document existence using `datapoint_id`** Issue: - The existing condition inside the `insert()` method incorrectly identifies the incoming new record (data) as an already existing record inside `this.store.Document.records` Reason: - It uses `id` to check for a new document, but the `id` remains the same in the following cases. - In case of replacing a document with a new document. - Replacing the requested document with the new document. - As a result, the records inside the `this.store.Document` remains inconsistent with the records present in the database. After this commit: - We use the `id` of the record (ex- `datapoint_32`) to check for the presence of a new document. link to the issue being tested by the test case in this commit (also the related community PR - https://github.com/odoo/odoo/pull/150754) Task-3489455 Forward-Port-Of: odoo/enterprise#54752 Forward-Port-Of: odoo/enterprise#50098 --- - The test case in this forward port PR is different from its predecessor in the [v16.3 PR](https://github.com/odoo/enterprise/pull/50098) because - It was based on checking the resultant UI changes caused by the call of the `onGlobalClick` method (inside the `DocumentsKanbanRenderer`). - But, the test case here directly checks if the method is called, and does not rely on the UI changes. - Reason to change the test case - - **The functional issue of the inspector losing the focus (as mentioned in https://github.com/odoo/odoo/pull/142807) is not observed for versions 16.4 and above.** - Please take a look at the related community PR for more information.
### Steps to reproduce: - install **ecommerce** app - install **pos_pricer** module - Open any product from the backend - Click on **Go to Website** - Notice on the top right corner, next to the edit button how the button text is `Model adding the necessary fields to products to use with Pricer electronic tags` instead of the expected `Product` ### Investigation - The name displayed is rendered at https://github.com/odoo/odoo/blob/94052e51ac6654b1915e9d89834e40be16da3eec/addons/website/
Original PR description
### Steps to reproduce: - install **ecommerce** app - install **pos_pricer** module - Open any product from the backend - Click on **Go to Website** - Notice on the top right corner, next to the edit button how the button text is `Model adding the necessary fields to products to use with Pricer electronic tags` instead of the expected `Product` ### Investigation - The name displayed is rendered at https://github.com/odoo/odoo/blob/94052e51ac6654b1915e9d89834e40be16da3eec/addons/website/static/src/systray_items/edit_in_backend.xml#L7 - Which comes from https://github.com/odoo/odoo/blob/94052e51ac6654b1915e9d89834e40be16da3eec/addons/website/static/src/systray_items/edit_in_backend.js#L30-L32 - The `display_name` is related to the model description https://github.com/odoo/odoo/blob/94052e51ac6654b1915e9d89834e40be16da3eec/addons/website/static/src/services/website_service.js#L264-L266 opw-3691349 Forward-Port-Of: odoo/enterprise#54693
This PR adds a missing translation string that was incorrectly not exported Forward-Port-Of: odoo/enterprise#55054
Original PR description
This PR adds a missing translation string that was incorrectly not exported Forward-Port-Of: odoo/enterprise#55054
After odoo/enterprise#54811, the upgrade[^1] of this module fails to validate the `hr_contract_salary.hr_contract_view_form_contract_templates` view because the field `work_time_rate` is "restricted to the group(s) hr.group_hr_manager". Move the (hidden) field above the button that use it to avoid this view validation error. [^1]: For some reasons, it only happen during upgrade and not during normal install. Forward-Port-Of: odoo/enterprise#55050
Original PR description
After odoo/enterprise#54811, the upgrade[^1] of this module fails to validate the `hr_contract_salary.hr_contract_view_form_contract_templates` view because the field `work_time_rate` is "restricted to the group(s) hr.group_hr_manager". Move the (hidden) field above the button that use it to avoid this view validation error. [^1]: For some reasons, it only happen during upgrade and not during normal install. Forward-Port-Of: odoo/enterprise#55050
A generic work entry type is used for India's public holidays, which results in the amount being deducted and displayed on the payslip. Therefore, we must remove it. task-3668569 Forward-Port-Of: odoo/enterprise#53651
Original PR description
A generic work entry type is used for India's public holidays, which results in the amount being deducted and displayed on the payslip. Therefore, we must remove it. task-3668569 Forward-Port-Of: odoo/enterprise#53651
Issue: ====== Creating a new deduplication rule will raise a traceback. Steps to reproduce the issue: ============================= - Install data_recycle - Go to Data cleaning/configuration/deduplication - Create a new deduplication rule and save Origin of the issue: ==================== We are querying the data using sql without flushing the model first. opw-3658414 Forward-Port-Of: odoo/enterprise#53579
Original PR description
Issue: ====== Creating a new deduplication rule will raise a traceback. Steps to reproduce the issue: ============================= - Install data_recycle - Go to Data cleaning/configuration/deduplication - Create a new deduplication rule and save Origin of the issue: ==================== We are querying the data using sql without flushing the model first. opw-3658414 Forward-Port-Of: odoo/enterprise#53579
Versions: --------- - 17.0 Steps to reproduce: ------------------- - Install Helpdesk - In Tickets kanaban view - The 'canceled' stage is not folded by default Issue: ------ - The 'canceled' stage in the tickets kanaban view is not folded by default. Cause: ------ - The 'canceled' stage is not set to be foldable by default. Solution: --------- - By set the 'canceled' stage by default foldable the issue is resolved. task-3610483 Forward-Port-Of: odoo/enterprise#52310
Original PR description
Versions: --------- - 17.0 Steps to reproduce: ------------------- - Install Helpdesk - In Tickets kanaban view - The 'canceled' stage is not folded by default Issue: ------ - The 'canceled' stage in the tickets kanaban view is not folded by default. Cause: ------ - The 'canceled' stage is not set to be foldable by default. Solution: --------- - By set the 'canceled' stage by default foldable the issue is resolved. task-3610483 Forward-Port-Of: odoo/enterprise#52310
Steps: - In mobile install project - Project.project form view - Go to the project settings - Documents & Analytics - The fields are not correctly aligned with their labels in mobile view Issue: - The description of the 'documents' feature overflows and the inputs of the 'workspace' and 'default tags' fields are not correctly aligned with their labels in mobile view Cause: - Missing some of the bootstrap classes , So that's why the problem will be raised in mobile view Fix: - By A
Original PR description
Steps: - In mobile install project - Project.project form view - Go to the project settings - Documents & Analytics - The fields are not correctly aligned with their labels in mobile view Issue: - The description of the 'documents' feature overflows and the inputs of the 'workspace' and 'default tags' fields are not correctly aligned with their labels in mobile view Cause: - Missing some of the bootstrap classes , So that's why the problem will be raised in mobile view Fix: - By Adding some of the bootstrap classes ,the problem will be solved task-3550702 Forward-Port-Of: odoo/enterprise#54800 Forward-Port-Of: odoo/enterprise#50125
When clicking on "schedules" from the BoM view, the domain in the search bar is correctly set, but the product/components displayed are not filtered. The empty domain from the props was set as the domain because an empty array is true in js. This fix checks is the length of the props domain array is greater than 0, else set its value to the SearchModel domain. opw-3548470 Forward-Port-Of: odoo/enterprise#51528 Forward-Port-Of: odoo/enterprise#51365
Original PR description
When clicking on "schedules" from the BoM view, the domain in the search bar is correctly set, but the product/components displayed are not filtered. The empty domain from the props was set as the domain because an empty array is true in js. This fix checks is the length of the props domain array is greater than 0, else set its value to the SearchModel domain. opw-3548470 Forward-Port-Of: odoo/enterprise#51528 Forward-Port-Of: odoo/enterprise#51365
Before this commit, spawning the cropping tool from the Wysiwyg's toolbar made it appear within the iframe, without any coherence whatsoever regarding the display or usability. After this commit, we manually spawn the image crop tool in an overlay of the main window. IT is much clearer UX wise and cleaner technically. Forward-Port-Of: odoo/enterprise#55049 Forward-Port-Of: odoo/enterprise#54813
Original PR description
Before this commit, spawning the cropping tool from the Wysiwyg's toolbar made it appear within the iframe, without any coherence whatsoever regarding the display or usability. After this commit, we manually spawn the image crop tool in an overlay of the main window. IT is much clearer UX wise and cleaner technically. Forward-Port-Of: odoo/enterprise#55049 Forward-Port-Of: odoo/enterprise#54813