Tuesday, June 22, 2021
39 changes · master
Enhancements to existing features
Users can no longer manually create and post journal entries using purchase, sales, or bank journals from the wrong view. This reduces posting mistakes by ensuring these entries are handled through the appropriate dedicated journal workflow.
Original PR description
To avoid any unnecessary user errors when posting, we need to block the user from posting journal entries from any view that is not the dedicated one. This is done by blocking the selection of purchase/sale/bank journals when manually creating a journal entry. task id #2358954 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
When users schedule a new activity from a colored activity cell, the form now opens with the activity type matching the selected column instead of defaulting to To Do. This reduces manual correction and makes activity planning faster and more accurate.
Original PR description
**PURPOSE** In activity view, if there's already an activity scheduled of some Activity type, user clicks on the colored cell, and then click "+ Schedule an activity". In this case the pop up opens but the Activity type is always To do. **SPECIFICATION** If user clicks on the colored cell and then click "+ Schedule an activity", pop up will open with the activity type from the column where the user clicks. **Task**-2528111
The Project app now shows improved helper messages across several menus. This makes empty or guidance screens easier to understand, helping users know what to do next without needing technical knowledge.
Original PR description
Purpose of the commit is to improve the helper message content in various menu. So in this commit, updated the helper content in various menu TaskID: 2542382
The mail chatter interface has been refreshed to better align with recent web client design updates. This improves the look and feel of messages, composer controls, follower actions, and related chatter elements for a more consistent user experience.
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
Helpdesk sample data now shows clearer explanations when users hover over daily target values. The app tour also ends on ticket management steps, making the guided experience more focused and easier to follow.
Original PR description
Currently, *In the helpdesk module when the user hovers over the daily target sample data (in number and in percentage), the tip says "click to set" *In helpdesk app tour, tour ends with stage creation So in this commit did the below changes: *Removed the tip "click to set" in sample data (in number and in percentage) Instead, it shows the following tip: -first column "Tickets closed daily target" -second column "Success rate daily target" *Stoped the tour with ticket management and switched the two last remaining steps: -Pointed purple drop on star icon for before the last step -Pointed purple drop on ticket card for the last step Task ID: 2455720
Asset-related accounting entries will now default to posting on the first day of the month instead of the last. This helps keep entries in chronological order and supports cleaner accounting timelines.
Original PR description
For the moment, the dafault accounting date for auto-posting is the last date of the month. In order to help respecting chronological order for entries, we are changing this to post on the first of the month instead. Task id #2411154
The Field Service and Helpdesk apps now provide clearer helper text and onboarding tour messages. This makes it easier for new users to understand key menus and complete initial setup steps without extra support.
Original PR description
Purpose of the commit is to improve the onboarding tour and helper content of field service app. So in this commit, improve the helper content of the various menu and onboarding tour steps messages. Related Community PR: https://github.com/odoo/odoo/pull/71896 TaskID: 2542382
Report print previews now better match what users see after manually collapsing lines. When a user folds a line while “unfold all” is active, the system turns off that option so exported PDFs reflect the current view more accurately.
Original PR description
At the moment, printing the preview of a report as pdf while having the unfold all option active but having manually folded some lines print all the lines without taking into account the newly folded ones. This commit aims to make the behavior more consistent by automatically disabling the unfold all option when folding a report line while it is active. Task id #2381392
Resolved issues and error corrections
Fixes a problem in the debug menu where choosing to disable active guided tours could crash the page. The change sends the correct tour identifiers, making this developer/debug action work reliably without interrupting the user session.
Original PR description
In the debug menu, when there is at least a tour "alive", click on "Disable tours". Before this commit, it crashed because we sent the whole tour description as argument to the consume method. Issue reported on the wowl-bugs pad. Description of the issue/feature this PR addresses: Current behavior before PR: Desired behavior after PR is merged: -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr
Miscellaneous changes
PR #58523 did some changes in the definition of lines for the Belgian tax report which had has the side effect of causing them to not be exported in the xml anymore. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72260
Original PR description
PR #58523 did some changes in the definition of lines for the Belgian tax report which had has the side effect of causing them to not be exported in the xml anymore. -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72260
This fix prevents Odoo from crashing when certain actions contain an empty context value. It improves reliability for users opening areas such as eLearning course contents and Fleet odometer records.
Original PR description
Before this commit, calling "evaluateExpr" with the empty string as argument crashed. For instance, this happened with at least two actions in Odoo: - Elearning > Courses > Contents - Fleet > Vehicules > Odometers In both cases, the context in the action is the empty string. Issue spotted thanks to the clickEverywhere test.
Odoo now handles actions that have an empty context value without crashing. This fixes navigation problems in areas such as eLearning course contents and Fleet odometer views, improving reliability for users.
Original PR description
Before this commit, calling "makeContext" with an empty string as context description crashed. For instance, this happened with at least two actions in Odoo: Elearning > Courses > Contents Fleet > Vehicules > Odometers In both cases, the context in the action is the empty string. Issue spotted thanks to the clickEverywhere test. The crash was caused by the pyjs parser. This is correct (even though the error was not clear), since an empty list of token do not represent a valid python AST. So, the fix is to make the makeContext function more tolerant. 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
This fixes a delay in Odoo's web client when a new live update channel is added. Users should receive refreshed real-time updates immediately instead of waiting several seconds for polling to restart.
Original PR description
Previously, adding a new channel to the longpolling bus would abort the current longpolling request, and was supposed to immediately send a new longpolling request with the new channels, but didn't. This was caused by the fact that the code that restarts the longpolling when aborting a previous request relies on the error message of the aborted request. While rewriting the web client in owl in 0573aca, a new RPC service was written which did not reject the promise the the same error message, causing the longpoll to wait for a few seconds before sending the next request. This request fixes that by rejecting the promise with the expected error message.
This fixes a crash that could occur when users exported data to Excel from a form view. The export process now works as expected by removing an outdated leftover parameter from earlier cleanup work.
Original PR description
In commit adf34b9001eb34e, we remove unused token param. These token's parameters are still a leftover of the previous cleaning. This commit fixes the export in Xls in view form that crash with: TypeError: index() missing 1 required positional argument: 'token' 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
This fixes an issue where actions opened in pop-up dialogs could unexpectedly change the browser page title. The main page title now stays stable when users work in dialogs, reducing confusion and keeping navigation context clear.
Original PR description
Before this commit, all actions, even those executed in target "new" (i.e. in dialogs) updated the document's title. Actions in dialog should not do that. 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
The activities shortcut in the top menu now responds when users click it. This restores quick access to planned activities and prevents confusion from an unresponsive navigation item.
Original PR description
The activities systray item didn't work anymore. Nothing happened on click. It was because the do action event was never caught. The systray item logic had a different flow and didn't go through the ViewAdapter code. We fix this by factoring the do action code and adding a listener on window (through legacy service provider) to execute this code when the do_action bubbles up. Instead of using the legacy service provided, we could have done this in the SystrayItemAdapter, but we then have the legacy environment and would need more work for the same result.
This fixes the Odoo Studio option for adding a custom field from the optional fields menu in list views. Business users can now customize list views as expected without needing a workaround.
Original PR description
Before this commit, the "Add custom field" entry in the optional fields dropdown in list views didn't work. The code handling the "studio_icon_clicked" had been removed by the wowl refactoring [1]. This commit makes this work again. [1] https://github.com/odoo/enterprise/commit/6563c16c2b2786efdbf175ae8254e242c10a9be7
Before this commit, the operations for archived bills of materials are still displayed in the operations list view. This commit adds a domain on the action to hide them. task-2417937 Forward-Port-Of: odoo/odoo#63433
Original PR description
Before this commit, the operations for archived bills of materials are still displayed in the operations list view. This commit adds a domain on the action to hide them. task-2417937 Forward-Port-Of: odoo/odoo#63433
Description of the issue/feature this PR addresses: after the last update in 4/6/2021 the receipt printing not working in offline mode Current behavior before PR: printing receipt not working in offline mode Desired behavior after PR is merged: add exception for "XmlHttpRequestError", to make the receipt printing available for offline mode -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72240
Original PR description
Description of the issue/feature this PR addresses: after the last update in 4/6/2021 the receipt printing not working in offline mode Current behavior before PR: printing receipt not working in offline mode Desired behavior after PR is merged: add exception for "XmlHttpRequestError", to make the receipt printing available for offline mode -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72240
Issue - Install 'addons/website_crm_partner_assign' module - Create a partner X without a phone number (edit only name). - Save and click on "Opportunities" stat button - Create an opportunity Y and set X as customer - Edit it and set "Joel Willis" as assigned partner - Logout then login with portal user (Joel Willis) - Go to "My account" page and click on "Opportunities" - Select the opportunity Y and edit "Contact" - Change phone number then save Access error message.
Original PR description
Issue - Install 'addons/website_crm_partner_assign' module - Create a partner X without a phone number (edit only name). - Save and click on "Opportunities" stat button - Create an opportunity Y and…
Issue - Install 'addons/website_crm_partner_assign' module - Create a partner X without a phone number (edit only name). - Save and click on "Opportunities" stat button - Create an opportunity Y and set X as customer - Edit it and set "Joel Willis" as assigned partner - Logout then login with portal user (Joel Willis) - Go to "My account" page and click on "Opportunities" - Select the opportunity Y and edit "Contact" - Change phone number then save Access error message. Cause When editing the opportunity (OPP) phone (or email_from) field, if a partner is linked to the OPP and the phone is different, we will update also the phone of the partner. User portal is not allowed to edit phone partner. Solution Override `_inverse_phone` and `_inverse_email_from`: If assigned partner on opportunity is same as env.user commercial partner, then use sudo() on lead.partner_id to update phone or email_from. opw-2530744 Forward-Port-Of: odoo/odoo#71497
The tour bubble "animation" that makes it to bounce up and down can cause issues when its position is at the edge of the bottom of the screen. In the sale tour, this would make the window constantly resize to show a scrollbar and then resize to hide the scrollbar, creating quite a sickening effect visually. Task-Id: 2480195 Forward-Port-Of: odoo/odoo#68391
Original PR description
The tour bubble "animation" that makes it to bounce up and down can cause issues when its position is at the edge of the bottom of the screen. In the sale tour, this would make the window constantly resize to show a scrollbar and then resize to hide the scrollbar, creating quite a sickening effect visually. Task-Id: 2480195 Forward-Port-Of: odoo/odoo#68391
-- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72419
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#72419
The media modal from the description field of an exhibitor was missing its video tab. This is because it was disabled as a rule for field_html. This adds the possibility to restore it via node option, and sets that option on the exhibitor description field. Task: 2551345 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72295
Original PR description
The media modal from the description field of an exhibitor was missing its video tab. This is because it was disabled as a rule for field_html. This adds the possibility to restore it via node option, and sets that option on the exhibitor description field. Task: 2551345 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72295
PURPOSE When writing something in signture field in stock.picking and enable signature field in listview throws traceback. SPEC Remove boolean widget on signature field. TASK 2570929 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72276
Original PR description
PURPOSE When writing something in signture field in stock.picking and enable signature field in listview throws traceback. SPEC Remove boolean widget on signature field. TASK 2570929 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#72276
Purpose ======= Allow to upload the attachments of the email when logging it on the partner / lead / ticket. Technical ========= The attachments posted on this new endpoint are base 64 encoded and added in the JSON data in a list (name, encoded content). Links ===== Task 2545048 See odoo/mail-client-extensions/pull/11 Forward-Port-Of: odoo/odoo#71543
Original PR description
Purpose ======= Allow to upload the attachments of the email when logging it on the partner / lead / ticket. Technical ========= The attachments posted on this new endpoint are base 64 encoded and added in the JSON data in a list (name, encoded content). Links ===== Task 2545048 See odoo/mail-client-extensions/pull/11 Forward-Port-Of: odoo/odoo#71543
If a user has no accounting permission, when he opens/closes a POS session (without any sale), he will not be able to close the session To reproduce the error: (Use demo data) 1. Remove all Marc Demo's permissions for the Accounting module 2. Login with Marc Demo 3. Open a POS Session 4. Close the POS Session Error: "Sorry, you are not allowed to delete documents of type 'Journal Entries' (account.move) [...]" Note: if the user processes at least one order during the POS session,
Original PR description
If a user has no accounting permission, when he opens/closes a POS session (without any sale), he will not be able to close the session To reproduce the error: (Use demo data) 1. Remove all Marc Demo's permissions for the Accounting module 2. Login with Marc Demo 3. Open a POS Session 4. Close the POS Session Error: "Sorry, you are not allowed to delete documents of type 'Journal Entries' (account.move) [...]" Note: if the user processes at least one order during the POS session, he will be able to close it thanks to sudo mode: https://github.com/odoo/odoo/blob/369331dfdc144cf852c80c99d00ce8d5da843be1/addons/point_of_sale/models/pos_session.py#L302 OPW-2523187 Forward-Port-Of: odoo/odoo#72290 Forward-Port-Of: odoo/odoo#72032
The import logging (ish) assumes that if an exception has at least 2 args the second arg is metadata added by the callee. As it turns out, `UnicodeEncodeError` has *five* arguments, none of which is added by us. So if encoding something fails during the process (e.g. because the file contains a lone surrogate, which leads to the database insert failing when psycopg2 tries to encode the query to UTF8), then the `_log` function itself will fail, yielding a very unhelpful error of: diction
Original PR description
The import logging (ish) assumes that if an exception has at least 2 args the second arg is metadata added by the callee. As it turns out, `UnicodeEncodeError` has *five* arguments, none of which is…
The import logging (ish) assumes that if an exception has at least 2 args the second arg is metadata added by the callee. As it turns out, `UnicodeEncodeError` has *five* arguments, none of which is added by us. So if encoding something fails during the process (e.g. because the file contains a lone surrogate, which leads to the database insert failing when psycopg2 tries to encode the query to UTF8), then the `_log` function itself will fail, yielding a very unhelpful error of: dictionary update sequence element #0 has length 1; 2 is required (because we tried to update a dict using a string). This issue occurs only during *field conversion* and most fields have no need to interact with the database (so don't need to encode the value, which is what fails), however it is a problem when the invalid string is used as a record name to look for (e.g. an m2o). Further improve the experience by converting the UnicodeEncodeError to a ValueError using the stringified UEE: `_log` assumes the first argument to the exception is an error message of some sort, but for UnicodeError subclasses it's just the encoding involved in the error (here `utf-8`), which doesn't really serve as an error message. Stringifying the exception generates a complete error message which is quite a bit more helpful. Issue 2480064 Forward-Port-Of: odoo/odoo#72473 Forward-Port-Of: odoo/odoo#72352
Resupplying a product with a purchase order ask to choose the suitable supplier to put on the purchase order. Another search is perform on top of that to compute de date to order in order to respect the lead days promise by the supplier. The issue is that the first search is done with the orderpoint company into account but not the second one. This commit passes the company to _prepare_seller when computing the total lead days required for an order. opw : Description of the issue/f
Original PR description
Resupplying a product with a purchase order ask to choose the suitable supplier to put on the purchase order. Another search is perform on top of that to compute de date to order in order to respect the lead days promise by the supplier. The issue is that the first search is done with the orderpoint company into account but not the second one. This commit passes the company to _prepare_seller when computing the total lead days required for an order. opw : 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#72340
This commit fixes the multi_company access error when the user is attempting to see a record belonging to another company then the one he is logged in to from the plugins, it returns the company_id with the record so that the plugin uses it to make sure that the user is redirected to the record with the right company ticked. Task-2541205 PLUGIN-PR: odoo/mail-client-extensions#10 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of
Original PR description
This commit fixes the multi_company access error when the user is attempting to see a record belonging to another company then the one he is logged in to from the plugins, it returns the company_id with the record so that the plugin uses it to make sure that the user is redirected to the record with the right company ticked. Task-2541205 PLUGIN-PR: odoo/mail-client-extensions#10 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#71318
Purpose ======= In 14.3 we added the possibility to upload attachments when logging an email. In the commit, we add the translation for the corresponding error message. Task 2545048 See odoo/odoo/pull/71543 See odoo/mail-client-extensions/pull/11 Forward-Port-Of: odoo/odoo#72031
Original PR description
Purpose ======= In 14.3 we added the possibility to upload attachments when logging an email. In the commit, we add the translation for the corresponding error message. Task 2545048 See odoo/odoo/pull/71543 See odoo/mail-client-extensions/pull/11 Forward-Port-Of: odoo/odoo#72031
Introduced with 7fb016f9966b [0] access could crash, recordset could be empty after `filtered`. Step to reproduce: - Add admin group to website top level menu (Website > Debug > Menu) - Try to access frontend as non admin opw-2573763 task-2574346 Forward-Port-Of: odoo/odoo#72514 Forward-Port-Of: odoo/odoo#72359
Original PR description
Introduced with 7fb016f9966b [0] access could crash, recordset could be empty after `filtered`. Step to reproduce: - Add admin group to website top level menu (Website > Debug > Menu) - Try to access frontend as non admin opw-2573763 task-2574346 Forward-Port-Of: odoo/odoo#72514 Forward-Port-Of: odoo/odoo#72359
task-2522081 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#70893
Original PR description
task-2522081 -- I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr Forward-Port-Of: odoo/odoo#70893
all auth_* modules are sensitive and changes should be monitored more carefully Forward-Port-Of: odoo/odoo#72489 Forward-Port-Of: odoo/odoo#71127
Original PR description
all auth_* modules are sensitive and changes should be monitored more carefully Forward-Port-Of: odoo/odoo#72489 Forward-Port-Of: odoo/odoo#71127
In case we take the online appointment on a website belonging to company 1 and for another user that only have access to company 2, we are facing a 403 error "Access to unauthorized or invalid companies.". We should adapt the allowed_companies in the context to match those of the user linked to the employee for which we are creating the event. opw-2457536 Forward-Port-Of: odoo/enterprise#19120 Forward-Port-Of: odoo/enterprise#18795
Original PR description
In case we take the online appointment on a website belonging to company 1 and for another user that only have access to company 2, we are facing a 403 error "Access to unauthorized or invalid companies.". We should adapt the allowed_companies in the context to match those of the user linked to the employee for which we are creating the event. opw-2457536 Forward-Port-Of: odoo/enterprise#19120 Forward-Port-Of: odoo/enterprise#18795
Fixing a text overlap caused by the horizontal option when a wizard is open (smaller than the usual form of account.asset Form view) The example I encountered the account.account module form view. <img width="1108" alt="Screen Shot 2021-06-07 at 18 31 13" src="https://user-images.githubusercontent.com/19322270/121063756-a1f78900-c7be-11eb-9e8c-aca17878b00c.png"> opw-2550761 Forward-Port-Of: odoo/enterprise#18824
Original PR description
Fixing a text overlap caused by the horizontal option when a wizard is open (smaller than the usual form of account.asset Form view) The example I encountered the account.account module form view. <img width="1108" alt="Screen Shot 2021-06-07 at 18 31 13" src="https://user-images.githubusercontent.com/19322270/121063756-a1f78900-c7be-11eb-9e8c-aca17878b00c.png"> opw-2550761 Forward-Port-Of: odoo/enterprise#18824
Bug === When we post from Odoo to Facebook or Twitter, the social media will display a preview of the link (with the title, the description and the logo of the HTML page). But when we post from Social, this preview contains only "Redirecting..." for Facebook and nothing for Twitter. The reason is that we use link tracker to register clicks on our link. Here is what happen; 1. The social user write his post with an URL and click on post 2. The SQL transaction of the social user start
Original PR description
Bug === When we post from Odoo to Facebook or Twitter, the social media will display a preview of the link (with the title, the description and the logo of the HTML page). But when we post from…
Bug
===
When we post from Odoo to Facebook or Twitter, the social media will
display a preview of the link (with the title, the description and the
logo of the HTML page). But when we post from Social, this preview
contains only "Redirecting..." for Facebook and nothing for Twitter.
The reason is that we use link tracker to register clicks on our link.
Here is what happen;
1. The social user write his post with an URL and click on post
2. The SQL transaction of the social user start
3. The link tracker is created
4. A HTTP request is made to the Facebook API
5. Facebook fetch the URL we give (link tracker) to build the preview
6. The SQL transaction of Facebook start
7. We try to search the code related to the link tracker, we do not find
it because the SQL transaction of the social user is not yet
committed
8. End of the SQL transaction of Facebook
9. So Facebook / Twitter consider that the link redirect to nowhere
(Facebook show "Redirecting..." as title, Twitter nothing)
10. The Facebook API return the result to our HTTP request (point 4)
11. End of the transaction of the social user all changes are committed
So because Facebook / Twitter fetch our link tracker before we commit
the current transaction, the link tracker does not exist yet for them.
N.B. LinkedIn seems to fetch the link trackers after returning the
response, so there's no issue for this media.
Task 2294034
Forward-Port-Of: odoo/enterprise#19094As of now, the journal is not taken into account when calculating the columns of the account lines in the consolidation report. This can lead to wrong values when having two journals using a common account. Forward-Port-Of: odoo/enterprise#19102 Forward-Port-Of: odoo/enterprise#18916
Original PR description
As of now, the journal is not taken into account when calculating the columns of the account lines in the consolidation report. This can lead to wrong values when having two journals using a common account. Forward-Port-Of: odoo/enterprise#19102 Forward-Port-Of: odoo/enterprise#18916
A user could not import a pivot, edit some cell then try to undo both actions. task 2575478 Co-authored-by: Pierre Rousseau <pro@odoo.com> Forward-Port-Of: odoo/enterprise#19137
Original PR description
A user could not import a pivot, edit some cell then try to undo both actions. task 2575478 Co-authored-by: Pierre Rousseau <pro@odoo.com> Forward-Port-Of: odoo/enterprise#19137
The tour bubble "animation" that makes it to bounce up and down can cause issues when its position is at the edge of the bottom of the screen. In the sale tour, this would make the window constantly resize to show a scrollbar and then resize to hide the scrollbar, creating quite a sickening effect visually. Task-Id: 2480195 Forward-Port-Of: odoo/enterprise#17393
Original PR description
The tour bubble "animation" that makes it to bounce up and down can cause issues when its position is at the edge of the bottom of the screen. In the sale tour, this would make the window constantly resize to show a scrollbar and then resize to hide the scrollbar, creating quite a sickening effect visually. Task-Id: 2480195 Forward-Port-Of: odoo/enterprise#17393