Thursday, December 14, 2023
61 changes · master
Enhancements to existing features
Unhelpful tooltip text was removed from access rights settings in Project, Timesheets, and related base configuration. This makes the permissions screens cleaner and reduces clutter without changing how access rights work.
Original PR description
This commit removes the tooltips in the uses access rights for the project, hr_timesheet and helpdesk modules as they don't give valuable informations. taskid:3277206
This update makes Odoo load interface templates more efficiently by delaying some processing until a template is actually needed. Users should experience faster initial loading, especially in areas with many interface elements, without a change in functionality.
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
Users can now see who reacted to a message by hovering over the reaction icon, rather than opening a separate message action menu. This makes reactions easier to review and helps conversations feel faster and more transparent.
Original PR description
**Before this commit:** To view the users who reacted to a message, users had to access the "view reaction" menu through the message actions. **After this commit:** With this update, users can easily see who reacted to a message by simply hovering over the reaction icon and clicking on the "x others" link that appears. **task-3390326**
Odoo calls now show a banner explaining that push-to-talk only works while the Odoo browser tab is focused. The banner helps users understand this limitation and points them toward the browser extension for a more reliable experience.
Original PR description
The push-to-talk feature only works within tab focus. This can be surprising for users that expect this feature to work even when odoo is not focused. This commit adds a banner to warn the user about this limitation and suggest to download the ptt extension. task-2664868
The mail testing tools now include an option to hide simulated browser tabs and show the test results clearly. This helps developers debug automated tests faster without extra manual browser steps, improving maintenance efficiency.
Original PR description
An helper that allows Qunit to simulate tests on multiple browser tabs already exists. While the debug mode of Qunit is enabled, the helper render tabs over the default layout and display a dropdown to select which tab should be displayed. It makes it harder to debug a specific test because it is currently not possible to browse test results without manual interaction with the browser developer tools. This developement adds a new item in the dropdown created by the helper. The new item named "Qunit" is created by default and its purpose is to hide all tabs so that test results are readable.
Website forms can now include property fields, making it easier to collect more flexible business-specific information from visitors. This improvement applies to forms used across website CRM, project, and recruitment flows, helping teams capture the right details without custom workarounds.
Original PR description
*: website_crm, website_form_project This commits makes it possible to use property fields inside the form snippet. See also https://github.com/odoo/enterprise/pull/51494 task-3278975
Embedded live chat now retrieves only the guest's latest active conversation instead of all previous chat channels. This reduces unnecessary data loading and keeps the live chat experience focused on the single conversation customers can use at a time.
Original PR description
*: mail. The embed live chat uses the `init_messaging` route in order to retrieve the data linked to the live chat channel. Before this PR, every channel of the guest was returned by this route even if the embed live chat only needs to get the data related to the latest one: every other channel is irrelevant as only one conversation at a time is allowed in this context. This PR adapts the code in order to only return what is needed i.e. the current live chat channel. part of task-3488100
This change improves how Odoo handles broad text search filters that effectively match everything. By simplifying these filters before querying the database, it avoids unnecessary heavy scans and can improve performance without changing expected search results.
Original PR description
Given the following domain
`[('my_field', 'ilike', False)]`
expression.py will produce the following
`SQL ("my_model"."my_field"::text ilike '%%') OR
("my_model"."my_field" IS NULL)`
which will trigger an unneeded full seq scan because the SQL expression is always TRUE
this task remedies this issue by replacing `ilike '%%'` by `TRUE` whenever possible
task-3131123
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-prLive chat will now remember whether a chat window was folded using server-side state instead of relying only on the browser. This makes the experience more consistent after page reloads and reduces maintenance complexity by aligning live chat behavior with Odoo's Discuss system.
Original PR description
Currently, the live chat state is saved locally and restored when the page reloads. Doing so has several drawbacks: - hard to maintain - can be outdated when updating formatters on the server side - highly specific to live chat code while it should be integrated as part of the discuss code to ease maintenance Since live chat uses discuss guests, most of the data can be retrieved from the `init_messaging` call. This PR is a first step towards relying entirely on the server state. In order to do so, the code is adapted to save the chat window fold state on the server. part of task-3488100 enterprise: https://github.com/odoo/enterprise/pull/52794
The Argentine localization connection test now checks all available AFIP web services instead of only a limited set. This gives users a more complete view of service availability when configuring electronic invoicing, helping identify connectivity issues earlier.
Original PR description
Task Adhoc: 31784 Task latam: 1131 Description of the issue/feature this PR addresses: It is necessary to make the connection test of all the webservices available in AFIP. In runbot Odoo 17.0 with module l10n_ar_edi installed and taking position in company "(AR) Responsable Inscripto" go to "Accounting / Configuration / Settings" and in section "Argentinean Localization" click on "Test Connections" (in "AFIP Web Services"). Then a pop up will show the status of the connection of the webservices wsfe, wsfex, wsbfe, wscdc but is needed to show the status of the connection of all webservices available. Current behavior before PR: It is shown the status of the connection of the webservices wsfe, wsfex, wsbfe, wscdc. Desired behavior after PR is merged: Show the status of the connection of all webservices available.
This update keeps the enterprise live chat behavior aligned with related platform changes, so chat windows can continue remembering whether they were folded or expanded. The change is small and mostly internal, reducing the risk of disruption while preserving the expected user experience.
Original PR description
In the community counterpart of this PR, the `channel_fold` method of the `discuss.channel` model was changed to a protected method. This PR adapts the call sites of this method to its new name. part of task-3488100 community: https://github.com/odoo/odoo/pull/145905
Website forms for creating helpdesk tickets can now include the custom property fields configured for the selected helpdesk team. This helps businesses collect team-specific information from customers upfront, improving ticket routing and handling.
Original PR description
This commit makes the property fields defined on an helpdesk ticket's team available when building a website form to create tickets for that team. See: https://github.com/odoo/odoo/pull/119834 task-3278975
Resolved issues and error corrections
This change makes an automated business flow test wait for product details to fully update before continuing. It helps prevent false test failures and improves confidence that core product selection workflows remain reliable.
Original PR description
Before this commit, since changes made in odoo/odoo#131680, the step checking the name field correctly contains the name of the product selected in the `data-tooltip` has been replaced by a step checking the same tooltip but on `product_id` or `product_template_id` field because the tooltip data attribute has been removed on text field. Because of that changes, we no longer wait the onchange execution since the tooltip in `product_id` or `product_template_id` field is directly filled in when the user selects the product, compared to the one in the name field which is filled in when the oncahnge rpc is done. This commit adds an extra step to wait the execution of the onchange when it is needed. To do that, the step will check the `product_uom_id` field is correctly set. By doing that, we can be sure the next steps will be correctly executed and will not be altered when the Framework JS will get the result of the onchange to reload its components. runbot-52609
Miscellaneous changes
When using a loyalty program reward with a discount on a specific product category in PoS, it was not being applied correctly. The reward contained a discount_product_domain with the category ids. However in PoS the many2one fields are replaced with the corresponding values https://github.com/odoo/odoo/commit/e7632a3bcfa60fa416fff5e2e9daaf2571c5f7f1. To fix this, I replace the ids in the discount_product_domain with the category name values before sending to the PoS. opw-3502703 ---
Original PR description
When using a loyalty program reward with a discount on a specific product category in PoS, it was not being applied correctly. The reward contained a discount_product_domain with the category ids. However in PoS the many2one fields are replaced with the corresponding values https://github.com/odoo/odoo/commit/e7632a3bcfa60fa416fff5e2e9daaf2571c5f7f1. To fix this, I replace the ids in the discount_product_domain with the category name values before sending to the PoS. opw-3502703 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145016 Forward-Port-Of: odoo/odoo#135868
This fixes an issue where loading demo data could create a new country-specific company but leave users working in the original company. After the change, Odoo automatically switches to the newly created company that matches the selected country, helping demo environments reflect the intended setup.
Original PR description
Description of the issue/feature this commit addresses: When initializing a database without demo data then setting a country on the company that is being used. If demo data are loaded, a new company is created with the demo data of the country that was set on the initial company. The issue lies in the fact that once that demo data is done loading, the used company is still the initial one while we would want to use the new one. --- Desired behavior after the commit is merged: Adding this commit, a new operation is done after the demo data is loaded. When demo data are done loading, we switch to the company that uses the country which was set on the initial company before loading the demo data. --- task-3600521 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Resume line type names in the Skills app can now be shown in the user's language instead of always appearing in English. This improves localization for employees and HR teams using Odoo in non-English languages.
Original PR description
Without the translate=True, the names of these types cannot be translated so they will always appear in English regardless of the user's language. Because translation of Char fields requires a db change, we only add this fix into master. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Manufacturing users can now mass produce serialized products by pasting a list of serial numbers without being blocked by the separate "First Serial Number" field. This fixes an unnecessary validation issue and makes serial-number assignment smoother during production.
Original PR description
Steps to reproduce: - Create an MO for a product that requires a SN for example 2 units - Click on massproduce - paste your SNs in "Produced serial numbers" Bug: "First SN" field is required Fix: use python constraint to check that either field is filled opw-3634341
Mail notification preference changes are now handled by the server instead of relying on the browser form logic. This prevents errors when creating users or changing notification settings and keeps the preference update consistent across open tabs and affected users.
Original PR description
There is a traceback each time we create a new user or changes related to "notificaiton_type" in the form. The bug is in the 'onRecordSaved', 'this.mailStore?.user.user.id' will problematic because the this.mailStore.user is undefined. The fix is to make the change of notification_preference be sent on the bus from the python instead. So that it works on all tabs and for all users. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Fixes an error that could appear when opening the Field Service task Gantt view grouped by assigned users. The view now correctly considers skill-based searches when showing available users, helping dispatchers plan work without interruptions.
Original PR description
Before this commit, when the user goes to the gantt view of task in Field Service, the user got an error because of a wrong usage of the domain in the group expand of user_ids. This commit fixes the issue and also make sure the group_expand of user_ids first take into account the search on skills to add users in the gantt view of tasks when the group by is `user_ids` field. task-3349411
The Planning app no longer crashes when opened in a database without demo data. This ensures users can access scheduling features even when no working interval information is available yet.
Original PR description
Steps to reproduce: ------------------- - install planning without demo data - try to open planning module Issue: ------ When trying to open the planning module, a traceback occurs. Cause: ------ The issue arises when attempting to get a row from workIntervals, even when it is undefined. Solution: --------- Ensure workIntervals is available before attempting to retrieve rows from it.
Description of the issue/feature this PR addresses: When selecting the "group by date" option in the timesheet portal view, a traceback error occurs. Fix: This PR addresses the traceback error by improving the handling of recordsets when grouping by date. task:3468392 Forward-Port-Of: odoo/odoo#145854 Forward-Port-Of: odoo/odoo#135005
Original PR description
Description of the issue/feature this PR addresses: When selecting the "group by date" option in the timesheet portal view, a traceback error occurs. Fix: This PR addresses the traceback error by improving the handling of recordsets when grouping by date. task:3468392 Forward-Port-Of: odoo/odoo#145854 Forward-Port-Of: odoo/odoo#135005
In the commit 7675905 a t-for loop was introduced in the `ActionpadWidget` override from `pos_restaurant` where the t-key value was undefined. This commit fixes the issue by giving a proper value to the t-key. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145919
Original PR description
In the commit 7675905 a t-for loop was introduced in the `ActionpadWidget` override from `pos_restaurant` where the t-key value was undefined. This commit fixes the issue by giving a proper value to the t-key. --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145919
Steps to reproduce ================== - Go to users - Open the export dialog - Expand the Groups field - Add the Groups > Groups/Access Controls field - Check the import compatibility option - Expand the Groups field again => `TypeError: this.knownFields[id] is undefined` Solution ======== The expandedFields were not reset. We also need to update the t-key to take the compatibility state into account. opw-3378834 Forward-Port-Of: odoo/odoo#145901
Original PR description
Steps to reproduce ================== - Go to users - Open the export dialog - Expand the Groups field - Add the Groups > Groups/Access Controls field - Check the import compatibility option - Expand the Groups field again => `TypeError: this.knownFields[id] is undefined` Solution ======== The expandedFields were not reset. We also need to update the t-key to take the compatibility state into account. opw-3378834 Forward-Port-Of: odoo/odoo#145901
Commit [1] removed the `email_from` field from the `project.task` model but forgot to adapt/delete some field occurences. One of those is related to the form in the website builder which allows to create task when the form is sent. Two errors were detected: - Non critical: The field is still passed to the form field whitelisting process. Since the whitelisting is done in raw SQL, it didn't crash or log anything even if the column did not exist anymore. - Critical: The field
Original PR description
Commit [1] removed the `email_from` field from the `project.task` model but forgot to adapt/delete some field occurences. One of those is related to the form in the website builder which allows to…
Commit [1] removed the `email_from` field from the `project.task` model but forgot to adapt/delete some field occurences.
One of those is related to the form in the website builder which allows to create task when the form is sent.
Two errors were detected:
- Non critical:
The field is still passed to the form field whitelisting process. Since the whitelisting is done in raw SQL, it didn't crash or log anything even if the column did not exist anymore.
- Critical:
The field was still marked as model required in the form JS registry, altering the form builder behaviors. One of those is that when the form input related to this field was re-created (eg when changing / hovering an option in the right panel), it would lose it's "name" attribute. Two possible issues from that point:
1. When a visitor submit the form, the email is not send anymore and is just lost, you have no way to reach back to him.
2. (Minor) The auto-fill behavior of the form was not working anymore
Probably more issues were introduced but only those ones got detected as of today.
Step to reproduce:
- Drop a website form, choose "Create a Task"
- Focus the default "Email" field
- Hover the mouse on the "eye" icon ("Invisible") next to the Position attribute. If you inspect the DOM, the the input has now lost the `name` attribute.
- If you save, you will face the issues reported above.
- If you thenreopen the editor and focus the email field again, the tooltip will now say that the "null" field is required.
[1]: https://github.com/odoo/odoo/commit/a424cf481c676a230beeb6102fc67bedf472a882
opw-3626573
Forward-Port-Of: odoo/odoo#145559Issue: ====== Front camera doesn't open even if we set it in the configuration. Steps to reproduce the issue: ============================= - Install attendance - Go to attendance/ configuration and put front camera in barcode source - Use mobile : Go to kiosk mode and start scanning Origin of the issue: ==================== There was a typo in the props values where we assigned `employee` to `barcodeSource` opw-3621239 opw-3608019 Forward-Port-Of: odoo/odoo#145880
Original PR description
Issue: ====== Front camera doesn't open even if we set it in the configuration. Steps to reproduce the issue: ============================= - Install attendance - Go to attendance/ configuration and put front camera in barcode source - Use mobile : Go to kiosk mode and start scanning Origin of the issue: ==================== There was a typo in the props values where we assigned `employee` to `barcodeSource` opw-3621239 opw-3608019 Forward-Port-Of: odoo/odoo#145880
Lacking a flush to database before the query used to compute the gap-in-sequence warning, the gap-in-sequence warning would stay active even when the all-users lock-date was set. Which is confusing for the user as they can't do anything about it. This - adds the required flushes - adds a tooltip explaining the warning in more details as it was deemed confusing - Adds all the moves that took a sequence number in the query Task-3613058 Description of the issue/feature this PR addres
Original PR description
Lacking a flush to database before the query used to compute the gap-in-sequence warning, the gap-in-sequence warning would stay active even when the all-users lock-date was set. Which is confusing for the user as they can't do anything about it. This - adds the required flushes - adds a tooltip explaining the warning in more details as it was deemed confusing - Adds all the moves that took a sequence number in the query Task-3613058 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#146160 Forward-Port-Of: odoo/odoo#144567
Currently, when a peppol document is received, we log a success message regardless of whether the account_move has been created properly or not. This commit changes to only show the message if everything went well. A follow-up to a fix for opw-3628030 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146202
Original PR description
Currently, when a peppol document is received, we log a success message regardless of whether the account_move has been created properly or not. This commit changes to only show the message if everything went well. A follow-up to a fix for opw-3628030 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146202
Before this commit, when browsing the "Events" part of website on Safari (both macOS and iOS/ipadOS), the page could be loaded only once and returns a "FetchEvent.respondWith received an error: NotSupportedError: The operation is not supported." error message on afterward, completely blocking access to everything under the `/event` path. This error is actually thrown from the ServiceWorker's `fetch` event's listener, and more specifically, from the storage availablity check. Since Saf
Original PR description
Before this commit, when browsing the "Events" part of website on Safari (both macOS and iOS/ipadOS), the page could be loaded only once and returns a "FetchEvent.respondWith received an error:…
Before this commit, when browsing the "Events" part of website on Safari (both macOS and iOS/ipadOS), the page could be loaded only once and returns a "FetchEvent.respondWith received an error: NotSupportedError: The operation is not supported." error message on afterward, completely blocking access to everything under the `/event` path. This error is actually thrown from the ServiceWorker's `fetch` event's listener, and more specifically, from the storage availablity check. Since Safari 17.0, the Storage API - and in this case its `estimate()` function - has been enabled in WebKit's builds for Apple platforms (see WebKit PR [1]). But even if this feature should be available in Web Workers (cf. MDN [2] and the spec [3]), it returns a NotSupportedError error when called from the ServiceWorker on Safari 17.0+ (but works fine in the global scope). This commit works around that issue by wrapping this call in a try/catch, acting as if not supported when an error happens. Steps to reproduce (on Safari iOS): - Install website_event_track module - Navigate to the `/event` page - Reload the page => Browser level error page "FetchEvent.respondWith received an error..." Note: due to the browser's engine restriction on iOS/ipadOS, this issue also affects all browsers on these platforms. [1]: https://github.com/WebKit/WebKit/pull/10973 [2]: https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/estimate [3]: https://storage.spec.whatwg.org/#ref-for-dom-storagemanager-estimate opw-3553880 opw-3570730 opw-3610167 opw-3629039 opw-3547759 Forward-Port-Of: odoo/odoo#145731
Before this commit, clickall was clicking on an app that redirect to a tablet mode view. The issue with this is that clickall don't know how to exit the view, so it was stuck in the view. This commit adds that view on the blacklist of clickall. Also, this commit adds an error message when clickall is stuck in a view. Forward-Port-Of: odoo/odoo#146174
Original PR description
Before this commit, clickall was clicking on an app that redirect to a tablet mode view. The issue with this is that clickall don't know how to exit the view, so it was stuck in the view. This commit adds that view on the blacklist of clickall. Also, this commit adds an error message when clickall is stuck in a view. Forward-Port-Of: odoo/odoo#146174
This commit fixes a nondeterministic runbot issue during the survey session management tour suite (that actually contains multiple tours). It turns out that the first tour is so short that it does not let enough time to the web framework to correctly initialize everything before it gets killed (as the tour steps are completed almost instantly). It's hard to say exactly where the issue comes from, as the error does not mention anything (we only know that it's a rejected promise): """ Error
Original PR description
This commit fixes a nondeterministic runbot issue during the survey session management tour suite (that actually contains multiple tours). It turns out that the first tour is so short that it does…
This commit fixes a nondeterministic runbot issue during the survey session management tour suite (that actually contains multiple tours).
It turns out that the first tour is so short that it does not let enough time to the web framework to correctly initialize everything before it gets killed (as the tour steps are completed almost instantly).
It's hard to say exactly where the issue comes from, as the error does not mention anything (we only know that it's a rejected promise): """
Error received after termination:
PromiseRejectionEvent(
isTrusted=true,
reason=Event,
type='unhandledrejection',
target=Window,
currentTarget=Window)"
"""
Removing this first tour also removes the nondeterministic issue.
It seems like an acceptable compromise as this tour was not really testing anything anyway, we now directly start the session from the python code.
(Note: this issue only started occurring in v17).
Task-3637591
Forward-Port-Of: odoo/odoo#146107The issue of the start date appearing before the task name in the project task list view is caused by a duplication of the company_id in the list view definition. Consequently, this problem is linked to the task with ID 3213526. task-3468392 Forward-Port-Of: odoo/odoo#145856 Forward-Port-Of: odoo/odoo#130231
Original PR description
The issue of the start date appearing before the task name in the project task list view is caused by a duplication of the company_id in the list view definition. Consequently, this problem is linked to the task with ID 3213526. task-3468392 Forward-Port-Of: odoo/odoo#145856 Forward-Port-Of: odoo/odoo#130231
…cts' twice Steps to Reproduce: - install service apps and website - install website related bridge modules - install quality and related mrp_subcontracting bridge module - click on website , click on My account - click on project ,or timesheet,or tasks,or tickets Issue: - after clicking,we will notice that breadcrumb indicates 'title' twice Cause: - this is because,in mrp_subcontracting , the title for productions is given without checking the page_name , so that will affect al
Original PR description
…cts' twice Steps to Reproduce: - install service apps and website - install website related bridge modules - install quality and related mrp_subcontracting bridge module - click on website , click on My account - click on project ,or timesheet,or tasks,or tickets Issue: - after clicking,we will notice that breadcrumb indicates 'title' twice Cause: - this is because,in mrp_subcontracting , the title for productions is given without checking the page_name , so that will affect all the titles. Solution: - if we gave condition to check the page name for production this issue is 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#144477
This issue has been introduced in Odoo 14.0. Description of the issue/feature this PR addresses: The view set a domain with `share = False` but the model search for users with group `group_mrp_user` ``` user_id = fields.Many2one( 'res.users', 'Responsible', default=lambda self: self.env.user, states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}, domain=lambda self: [('groups_id', 'in', self.env.ref('mrp.group_mrp_user').id)]) ``` Curren
Original PR description
This issue has been introduced in Odoo 14.0.
Description of the issue/feature this PR addresses:
The view set a domain with `share = False` but the model search for users with group `group_mrp_user`
```
user_id = fields.Many2one(
'res.users', 'Responsible', default=lambda self: self.env.user,
states={'done': [('readonly', True)], 'cancel': [('readonly', True)]},
domain=lambda self: [('groups_id', 'in', self.env.ref('mrp.group_mrp_user').id)])
```
Current behavior before PR:
All internal users can be Responsible of a production order.
Desired behavior after PR is merged:
Only users owned by group `group_mrp_user` will be selectable as Responsible.
---
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Forward-Port-Of: odoo/odoo#146167
Forward-Port-Of: odoo/odoo#144722Before this commit and since [1] when the website builder was moved from the "frontend" to the "backend" of Odoo in Odoo 16, the option to enable URL redirect when updating a page URL was "compressed": - The toggle/switch element has not enough room to be displayed entirely if there were too many dependencies - The toggle/switch label was split in multiple lines, words could even be split in 2. Step to reproduce: - Go to / in the website builder (so the / finds a lot of dependencies) - Op
Original PR description
Before this commit and since [1] when the website builder was moved from the "frontend" to the "backend" of Odoo in Odoo 16, the option to enable URL redirect when updating a page URL was…
Before this commit and since [1] when the website builder was moved from the "frontend" to the "backend" of Odoo in Odoo 16, the option to enable URL redirect when updating a page URL was "compressed": - The toggle/switch element has not enough room to be displayed entirely if there were too many dependencies - The toggle/switch label was split in multiple lines, words could even be split in 2. Step to reproduce: - Go to / in the website builder (so the / finds a lot of dependencies) - Open page property - Change the URL field, you see the redirect url field appear with the mentioned issues. [1]: https://github.com/odoo/odoo/commit/2ef7e788263b4742a8e0788f47673b7b31da3726 | | before |after | | -- | -- | -- | | few dep. |  |  | | lot of dep. |  |  | Forward-Port-Of: odoo/odoo#145729
Before this commit, multiple toolbar instances would be created when switching between records via the form view pager. This commit fixes the issue by using and properly setting up the existing Toolbar child component, without the need to instantiate a new one. It also removes this module's dependency on the legacy ComponentWrapper. task-3495685 Forward-Port-Of: odoo/odoo#144802 Forward-Port-Of: odoo/odoo#143387
Original PR description
Before this commit, multiple toolbar instances would be created when switching between records via the form view pager. This commit fixes the issue by using and properly setting up the existing Toolbar child component, without the need to instantiate a new one. It also removes this module's dependency on the legacy ComponentWrapper. task-3495685 Forward-Port-Of: odoo/odoo#144802 Forward-Port-Of: odoo/odoo#143387
Steps: --------- - installed mrp_account and hr_timesheet - Got to timesheet > my timesheet list view - Select multi timesheet - Click on print action - Print WIP report - Issue: ------- When mrp_account is installed, the WIP report is shown in the print action of the timesheet.throw the traceback when we select multi timesheet line and print the WIP report. Fixed: ------- we fixed traceback when we select multiple analytic line and print the WIP Report. t
Original PR description
Steps: --------- - installed mrp_account and hr_timesheet - Got to timesheet > my timesheet list view - Select multi timesheet - Click on print action - Print WIP report - Issue: ------- When mrp_account is installed, the WIP report is shown in the print action of the timesheet.throw the traceback when we select multi timesheet line and print the WIP report. Fixed: ------- we fixed traceback when we select multiple analytic line and print the WIP Report. task-3465424 Forward-Port-Of: odoo/odoo#145597 Forward-Port-Of: odoo/odoo#132005
Issue: Invoice move lines' quantities reset to 1 on the second page when the customer is changed after pagination. Steps to Reproduce: 1. Create an invoice with over 40 move lines (requiring pagination). 2. Navigate to the second page of move lines and observe quantities. 3. Change the Partner (e.g., Azure -> My Company). 4. Save changes. 5. Notice that quantities on the second page are reset to 1. Solution: Identified the issue as stemming from the `flush_model` method, which is ca
Original PR description
Issue: Invoice move lines' quantities reset to 1 on the second page when the customer is changed after pagination. Steps to Reproduce: 1. Create an invoice with over 40 move lines (requiring…
Issue: Invoice move lines' quantities reset to 1 on the second page when the customer is changed after pagination. Steps to Reproduce: 1. Create an invoice with over 40 move lines (requiring pagination). 2. Navigate to the second page of move lines and observe quantities. 3. Change the Partner (e.g., Azure -> My Company). 4. Save changes. 5. Notice that quantities on the second page are reset to 1. Solution: Identified the issue as stemming from the `flush_model` method, which is called on creation and triggers re-computation. This process calls the `compute` method for the quantity field, leading to an erroneous reset of quantities to 1. Modified the compute method to only reset values to 1 if they are initially 0 or False, thereby resolving the issue of unwanted quantity reset during pagination when customer details are updated. opw-3483851 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#143812
Since #122569, we now try to import the migrations sub-package of each module to find upgrade tests. However, this badly written regex match the OCA module base_maintenance, which generate a RecursionError. It was partially fixed on #136282 but some collateral damages where raised on tests 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
Original PR description
Since #122569, we now try to import the migrations sub-package of each module to find upgrade tests. However, this badly written regex match the OCA module base_maintenance, which generate a RecursionError. It was partially fixed on #136282 but some collateral damages where raised on tests 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#145842 Forward-Port-Of: odoo/odoo#145800
Current behaviour: --- QR code is squished, it's 77x21 px Expected behaviour: --- QR code should be 100x100 px Steps to reproduce: --- 1. Go Email Templates 2. Find 'Event: Registration Confirmation' 3. Click on preview 4. QR code is squished opw-3625701 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145963
Original PR description
Current behaviour: --- QR code is squished, it's 77x21 px Expected behaviour: --- QR code should be 100x100 px Steps to reproduce: --- 1. Go Email Templates 2. Find 'Event: Registration Confirmation' 3. Click on preview 4. QR code is squished opw-3625701 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145963
## Description Indexes on a Selection field are never used in a `NOT IN` where clause, as PostgreSQL doesn't have the complementary values (in DB a Selection field is just a VarChar) to make use of an index on the field. The ORM currently doesn't invert `not in <selection>` -> `in <complement of selection>`. ## Benchmark Positive impact in the project modules all around, specially for long running projects where the proportion of "done" tasks are >90% of the project's task. On a populated
Original PR description
## Description Indexes on a Selection field are never used in a `NOT IN` where clause, as PostgreSQL doesn't have the complementary values (in DB a Selection field is just a VarChar) to make use of an index on the field. The ORM currently doesn't invert `not in <selection>` -> `in <complement of selection>`. ## Benchmark Positive impact in the project modules all around, specially for long running projects where the proportion of "done" tasks are >90% of the project's task. On a populated project with 10k tasks, 200 of those are open, there were around 10x improvement on the requests linked to rendering the kanban view of the project. More elaborate benchmarks are available in the referenced task. ## Reference task-3576802 ## Related PR https://github.com/odoo/enterprise/pull/52689 --- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#146168 Forward-Port-Of: odoo/odoo#146120
The aim of this commit is to correct the date of the payment. Context: When creating a PoS session and a PoS order on date X The customer gets its invoice on date Y the payment date is printed on the invoice Before this commit: The payment date will always be the date of the invoice After this commit: The payment date will always be the date of the order, the date at which is was really paid. Corner case not taken care of in this commit: Claiming the invoice after the `fiscalyea
Original PR description
The aim of this commit is to correct the date of the payment. Context: When creating a PoS session and a PoS order on date X The customer gets its invoice on date Y the payment date is printed on the invoice Before this commit: The payment date will always be the date of the invoice After this commit: The payment date will always be the date of the order, the date at which is was really paid. Corner case not taken care of in this commit: Claiming the invoice after the `fiscalyear_lock_date`. In such a case, the payment date will be set to today (the invoice_date) again. This should be really rare as setting that lock date in short time frame is quite unusual. task-id: 3629054 Forward-Port-Of: odoo/odoo#146259 Forward-Port-Of: odoo/odoo#145771
How to reprodruce: 1) Go to product.template view form 2) Open Studio 3) Go to tab 'Purchase' tab 4) Edit list/form view of the seller_ids (supplierinfo) Before this commit, the domain on product_id of supplierinfo was using 'parent' as if already doing the filter on the view. Because of the complex domain in the string, a traceback was throw when editing supplierinfo view with studio on the product.template. After this commit, the domain on the python side is simpler. The domain for t
Original PR description
How to reprodruce: 1) Go to product.template view form 2) Open Studio 3) Go to tab 'Purchase' tab 4) Edit list/form view of the seller_ids (supplierinfo) Before this commit, the domain on product_id of supplierinfo was using 'parent' as if already doing the filter on the view. Because of the complex domain in the string, a traceback was throw when editing supplierinfo view with studio on the product.template. After this commit, the domain on the python side is simpler. The domain for the view has been changed to not be dependent of the parent view, but of the context. Bugfix Task-ID: 3615851 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#145586
Previously, when updating and re-sending a snailmail through the chatter, it would re-send every snailmail letters with an error status in the DB. This behavior lead to users mistakenly sending dozens of unwanted snailmails, expecting to be re-sending the one they were currently on. This commit fixes that by only sending the relevant letter(s). Forward-Port-Of: odoo/odoo#145988
Original PR description
Previously, when updating and re-sending a snailmail through the chatter, it would re-send every snailmail letters with an error status in the DB. This behavior lead to users mistakenly sending dozens of unwanted snailmails, expecting to be re-sending the one they were currently on. This commit fixes that by only sending the relevant letter(s). Forward-Port-Of: odoo/odoo#145988
Overflowing search facets do not wrap making them disappear from view when too long. This can happen when searching a single field for multiple values (as they are bundled in the same facet). The problem is fixed by adding actual breakable spaces around the "or" instead of recreating the spacing with margins (which visually looks OK but is actually unreadable as every terms are glued together). Steps to reproduce: * Open a view with a search (kanban, list, ...) * Add many, many long terms
Original PR description
Overflowing search facets do not wrap making them disappear from view when too long. This can happen when searching a single field for multiple values (as they are bundled in the same facet). The problem is fixed by adding actual breakable spaces around the "or" instead of recreating the spacing with margins (which visually looks OK but is actually unreadable as every terms are glued together). Steps to reproduce: * Open a view with a search (kanban, list, ...) * Add many, many long terms search for the same field => BUG the search overflow outside the search bar opw-3581553 Forward-Port-Of: odoo/odoo#146133 Forward-Port-Of: odoo/odoo#141449
--- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#145903
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#145903
Fix missing space in milestone name and SOL -------------- 1. Steps to reproduce: - Open Project - Go to project for which sale order item is created - By clicking on three dots, go to Project Updates - In right side panel, milestone section, there is no space between milestone name and the SOL 2. Issue: This lack of spacing between milestone name and SOL makes it difficult for users to read and understand milestone informatio
Original PR description
Fix missing space in milestone name and SOL
--------------
1. Steps to reproduce:
- Open Project
- Go to project for which sale order item is created
- By clicking on three dots, go to Project Updates
- In right side panel, milestone section, there is no space between milestone
name and the SOL
2. Issue:
This lack of spacing between milestone name and SOL makes it difficult for
users to read and understand milestone information.
3. Cause:
The project.update right-side panel was displaying milestone names and SOL
without a space, causing readability issues for users.
4. Solution:
added a space between the milestone name and SOL.
task-3545942
Forward-Port-Of: odoo/odoo#145727
Forward-Port-Of: odoo/odoo#138384Currently, off balance accounts are included in the prediction, even though they should be excluded to avoid errors in `_check_off_balance` when importing an invoice/bill. opw-3628030 Forward-Port-Of: odoo/enterprise#52747 Forward-Port-Of: odoo/enterprise#52704
Original PR description
Currently, off balance accounts are included in the prediction, even though they should be excluded to avoid errors in `_check_off_balance` when importing an invoice/bill. opw-3628030 Forward-Port-Of: odoo/enterprise#52747 Forward-Port-Of: odoo/enterprise#52704
Steps to reproduce: -------- - Open task portal list view - Group by project - projects for which there are documents is displayed in green Issue: ------- - In the tasks portal list view, projects with associated documents are displayed in green when tasks are grouped by project. This causes confusion, as the green highlighting implies a need for further attention, even when the projects are not in a critical state. Cause: ------ - The current code logic for highlighting projects i
Original PR description
Steps to reproduce: -------- - Open task portal list view - Group by project - projects for which there are documents is displayed in green Issue: ------- - In the tasks portal list view, projects with associated documents are displayed in green when tasks are grouped by project. This causes confusion, as the green highlighting implies a need for further attention, even when the projects are not in a critical state. Cause: ------ - The current code logic for highlighting projects in green is solely based on their grouping. Solution: ---- - This commit modifies the list view logic. Projects with documents will no longer be displayed in green. task-3545942 Forward-Port-Of: odoo/enterprise#52502 Forward-Port-Of: odoo/enterprise#52227
Task Adhoc: 32101 Task latam: 1121 #### Steps to reproduce: 1. Go to runbot Odoo 16 enterprise and install "l10n_ar_edi" module (Argentinean Electronic Invoicing). 2. Take position on Argentinian company (AR) (Responsable Inscripto). 3. Create a vendor bill with a journal that use documents and with "Accounting Date" one month after the "Bill Date". For example: "Bill Date" = "09/22/2023" and "Accounting Date" = "10/01/2023". Finally confirm the invoice. 4. Go to "Accounting / Reporti
Original PR description
Task Adhoc: 32101 Task latam: 1121 #### Steps to reproduce: 1. Go to runbot Odoo 16 enterprise and install "l10n_ar_edi" module (Argentinean Electronic Invoicing). 2. Take position on Argentinian…
Task Adhoc: 32101 Task latam: 1121 #### Steps to reproduce: 1. Go to runbot Odoo 16 enterprise and install "l10n_ar_edi" module (Argentinean Electronic Invoicing). 2. Take position on Argentinian company (AR) (Responsable Inscripto). 3. Create a vendor bill with a journal that use documents and with "Accounting Date" one month after the "Bill Date". For example: "Bill Date" = "09/22/2023" and "Accounting Date" = "10/01/2023". Finally confirm the invoice. 4. Go to "Accounting / Reporting / Statement Reports / Tax Report", select "Tax Type: Purchases" and filter by the same month of the "Accounting Date" mentioned in step 3 (in this case: October). 5. The column "Date" must show "Bill Date" instead of "Accounting Date" for each document. #### Current behavior: "Tax Report" with "Tax Type: Purchases" is showing on column "Date" the value of the "Accounting Date" instead of "Bill Date". #### Expected behavior: "Tax Report" with "Tax Type: Purchases" is showing on column "Date" the value of of "Bill Date". Forward-Port-Of: odoo/enterprise#50879 Forward-Port-Of: odoo/enterprise#50774
## Description Indexes on a Selection field are never used in a `NOT IN` where clause, as PostgreSQL doesn't have the complementary values (in DB a Selection field is just a VarChar) to make use of an index on the field. The ORM currently doesn't invert `not in <selection>` -> `in <complement of selection>`. ## Benchmark Positive impact in the project modules all around, specially for long running projects where the proportion of "done" tasks are >90% of the project's task. On a populated
Original PR description
## Description Indexes on a Selection field are never used in a `NOT IN` where clause, as PostgreSQL doesn't have the complementary values (in DB a Selection field is just a VarChar) to make use of an index on the field. The ORM currently doesn't invert `not in <selection>` -> `in <complement of selection>`. ## Benchmark Positive impact in the project modules all around, specially for long running projects where the proportion of "done" tasks are >90% of the project's task. On a populated project with 10k tasks, 200 of those are open, there were around 10x improvement on the requests linked to rendering the kanban view of the project. More elaborate benchmarks are available in the referenced task. ## Reference task-3576802 ## Related PR: https://github.com/odoo/odoo/pull/146120 Forward-Port-Of: odoo/enterprise#52708 Forward-Port-Of: odoo/enterprise#52689
The compute function '_compute_l10n_be_codabox_fiduciary_vat', depends on field 'account_representative_id' which is declared in the module account_report. There is no depends or transitive depends to this module, so it raises an 500 error when the module is not installed. This error has been introduced in https://github.com/odoo/enterprise/pull/49968 Forward-Port-Of: odoo/enterprise#52575
Original PR description
The compute function '_compute_l10n_be_codabox_fiduciary_vat', depends on field 'account_representative_id' which is declared in the module account_report. There is no depends or transitive depends to this module, so it raises an 500 error when the module is not installed. This error has been introduced in https://github.com/odoo/enterprise/pull/49968 Forward-Port-Of: odoo/enterprise#52575
Versions: --------- - saas-16.2 - saas-16.3 Steps to reproduce: ------------------- - create a new FSM project; - create a task in this project; - create a subtask for this task in the "Sub-tasks" tab. Issue: ------ The project of the subtask is the "Field Service" project. Cause: ------ If no project is found in the context, the first project found in the default database is used by default. Solution: --------- Add the project of the parent task (found via the context)
Original PR description
Versions: --------- - saas-16.2 - saas-16.3 Steps to reproduce: ------------------- - create a new FSM project; - create a task in this project; - create a subtask for this task in the "Sub-tasks" tab. Issue: ------ The project of the subtask is the "Field Service" project. Cause: ------ If no project is found in the context, the first project found in the default database is used by default. Solution: --------- Add the project of the parent task (found via the context) or fallback to the first fsm project in the company. Note: From version saas-16.4, no project is added. opw-3602334 Forward-Port-Of: odoo/enterprise#52531 Forward-Port-Of: odoo/enterprise#52025
Steps to reproduce: - Install MRP - Remove MRP rights for a user - Login as user Issues: Shop floor icon is still shown even though we don't have the rights. Solution: Blacklisting root menu items was not possible, therefore a method was added to allow it. opw-3592620 Forward-Port-Of: odoo/enterprise#52114
Original PR description
Steps to reproduce: - Install MRP - Remove MRP rights for a user - Login as user Issues: Shop floor icon is still shown even though we don't have the rights. Solution: Blacklisting root menu items was not possible, therefore a method was added to allow it. opw-3592620 Forward-Port-Of: odoo/enterprise#52114
Only the project default plan was taken into account. To reproduce: * create a budget using a plan that is not the project one * impossible to get something else than 0 for the practical amount [opw-3611855](https://www.odoo.com/web#id=3611855&model=project.task) [opw-3599827](https://www.odoo.com/web#id=3599827&model=project.task) [opw-3624641](https://www.odoo.com/web#id=3624641&model=project.task) [opw-3612305](https://www.odoo.com/web#id=3612305&model=project.task) [opw-3633650](
Original PR description
Only the project default plan was taken into account. To reproduce: * create a budget using a plan that is not the project one * impossible to get something else than 0 for the practical amount [opw-3611855](https://www.odoo.com/web#id=3611855&model=project.task) [opw-3599827](https://www.odoo.com/web#id=3599827&model=project.task) [opw-3624641](https://www.odoo.com/web#id=3624641&model=project.task) [opw-3612305](https://www.odoo.com/web#id=3612305&model=project.task) [opw-3633650](https://www.odoo.com/web#id=3633650&model=project.task) [task-3634231](https://www.odoo.com/web#id=3634231&model=project.task) Forward-Port-Of: odoo/enterprise#52532
Steps to reproduce: - Install Accounting and l10n_mx_edi - Switch to a Mexican company (e.g. ESCUELA KEMPER URGATE) - Configure MX PAC with SW sapien - Create an invoice, confirm it and process it by E-invoicing service - Once processed, request EDI cancellation => The invoice is directly set as cancelled without checking the returned code of the cancellation request. Solution: Only cancel the invoice if the cancellation request returns 201 or 202 code as it is done for "Quandrum" and "
Original PR description
Steps to reproduce: - Install Accounting and l10n_mx_edi - Switch to a Mexican company (e.g. ESCUELA KEMPER URGATE) - Configure MX PAC with SW sapien - Create an invoice, confirm it and process it by E-invoicing service - Once processed, request EDI cancellation => The invoice is directly set as cancelled without checking the returned code of the cancellation request. Solution: Only cancel the invoice if the cancellation request returns 201 or 202 code as it is done for "Quandrum" and "Solucion Factible" services. opw-3459442 Forward-Port-Of: odoo/enterprise#52696 Forward-Port-Of: odoo/enterprise#51367
There is an issue on some browsers where the name of a download file always has an `_` at the end of it. How to reproduce: - open Knowledge and insert a /file block - click on the file name and edit it (don't use the `_` character) - confirm with enter - click on Download Current Behavior: - the downloaded file name has an `_` at the end of it even though it should not Technical explanation: The pen icon that is displayed on hover contains a `zeroWidthSpace` character added by the
Original PR description
There is an issue on some browsers where the name of a download file always has an `_` at the end of it. How to reproduce: - open Knowledge and insert a /file block - click on the file name and edit it (don't use the `_` character) - confirm with enter - click on Download Current Behavior: - the downloaded file name has an `_` at the end of it even though it should not Technical explanation: The pen icon that is displayed on hover contains a `zeroWidthSpace` character added by the editor and that character was mistakenly appended to the name of the file since it was recovered with `textContent` applied on a `div` ancestor. The name will now be recovered directly from the `textContent` of the `span`, and a class is added to the `span` to ensure that it will not be sanitized by the editor (see [1]). [1]: https://github.com/odoo/odoo/commit/0f4914a1576108bb0843694a62d679bc78a8574a task-3627975 Forward-Port-Of: odoo/enterprise#52206
### Steps to reproduce * install `l10n_ca_check_printing` * switch the company to 'CA Company' * in the settings, select the top or middle check layout * create a vendor payment with the 'Checks' payment method * fill in the Vendor, Amount and Memo field. Make sure the vendor has all the address fields filled in, including 'Street 2' * confirm and print the check You should see that the memo overlaps with the country of the address. opw-3576240 Before:  After:  Forward-Port-Of: odoo/enterprise#52245
To reproduce ============ - In the chatter, click on "Activities" - Change the "Activity Type" to "Request a Signature", then "Schedule" it - For the newly created entry in the Chatter, "Request Signature", click on "Request Signature" - Select a "Template" for the Signature Request, then a "Customer" - "Send" the Signature Request -> Traceback Problem ======= in the patch of `Activity`, the `onClose` method of `requestSignature` is set to `onUpdate`, but `onUpdate` needs the `threa
Original PR description
To reproduce ============ - In the chatter, click on "Activities" - Change the "Activity Type" to "Request a Signature", then "Schedule" it - For the newly created entry in the Chatter, "Request Signature", click on "Request Signature" - Select a "Template" for the Signature Request, then a "Customer" - "Send" the Signature Request -> Traceback Problem ======= in the patch of `Activity`, the `onClose` method of `requestSignature` is set to `onUpdate`, but `onUpdate` needs the `thread` argument which is not given Solution ======== give `thread` argument opw-3626964 Forward-Port-Of: odoo/enterprise#52526
In the `_action_archive_articles` action, the `toggle_active` function is called to deactivate all articles intended for archiving. Internally, this function flips the active status of all records in the recordset. If a user attempts to archive an already inactive article, the `toggle_active` method inadvertently reactivates the article. Given the SQL constraint stipulating that archived articles should be inactive, users encounter a `CheckViolation` error when trying to archive an inactive a
Original PR description
In the `_action_archive_articles` action, the `toggle_active` function is called to deactivate all articles intended for archiving. Internally, this function flips the active status of all records in the recordset. If a user attempts to archive an already inactive article, the `toggle_active` method inadvertently reactivates the article. Given the SQL constraint stipulating that archived articles should be inactive, users encounter a `CheckViolation` error when trying to archive an inactive article. To address this issue, we will invoke the `toggle_active` method on the active records and disregard the inactive ones, ensuring that they are not mistakenly reactivated. task-3624569 Forward-Port-Of: odoo/enterprise#52061
Consider a field in a form view having a conditional invisible property. When toggling the invisible property (setting it to either true or false), the `onChangeModifier` method removes the invisible property from the `attrs` object. However, a bug occurs when this attrs object is now empty. Before this commit, the `attrs` attribute will now be removed from the attribute update operation. As a result the old value is kept, instead of the attribute being removed. To fix the bug, the `attrs` at
Original PR description
Consider a field in a form view having a conditional invisible property. When toggling the invisible property (setting it to either true or false), the `onChangeModifier` method removes the invisible property from the `attrs` object. However, a bug occurs when this attrs object is now empty. Before this commit, the `attrs` attribute will now be removed from the attribute update operation. As a result the old value is kept, instead of the attribute being removed. To fix the bug, the `attrs` attribute should be kept in the operation with an empty string value instead. opw-3497068 Forward-Port-Of: odoo/enterprise#52589 Forward-Port-Of: odoo/enterprise#47518
Before this commit: In Materials Tree view containing the some unnecessary fields (user,type,efficiency factor) After this commit: Hide the unnecessary fields in the tree view of materials (user,type,efficiency factor) task-3491748 Forward-Port-Of: odoo/enterprise#47353
Original PR description
Before this commit: In Materials Tree view containing the some unnecessary fields (user,type,efficiency factor) After this commit: Hide the unnecessary fields in the tree view of materials (user,type,efficiency factor) task-3491748 Forward-Port-Of: odoo/enterprise#47353