This commit fixes a bug where the value of an autocomplete with autoselect could go into an undefined state where the model value doesn't match the input value but no change is detected. This would happen on escape press, scroll and more recently due to https://github.com/odoo/odoo/pull/159333 on click out. To fix this issue, the commit introduces some change in the autocomplete behavior so that it will no longer select the active option on click out (blur) when autoselect is active and instead it will revert the input value to the one stored into the model. Also applies this behavior on escape key press and scroll for the before mentioned reasons. Steps to reproduce: - Go to CRM form view - Edit the salesperson name to some non existant one and click out (or scroll or press escape) Before the fix, the name was stuck to the invalid one but no change was detected so we couldnt save it. Before https://github.com/odoo/odoo/pull/159333, click out would select the active option of the dropdown instead (and launch a dialog for quick create). This is removed because the behavior is neither intuitive nor practical. After the fix, the name is reset to its previous valid value instead. This applies to all autocomplete components with autoselect prop set to true. closes odoo/odoo#162040 X-original-commit: 9d9026ed0c7bb0af6cf910cc206cf8b55d1b7a36 Signed-off-by: Aaron Bohy (aab) <aab@odoo.com> Signed-off-by: Julien Carion (juca) <juca@odoo.com>
Sales Management Made Easy
From quotes to invoices, in just a few clicks with the Odoo Sales Management.
Drive your sales operations from quotes to invoices with all the information you need, easily accessible. Keep track of long term contracts, automate invoicing and notify sales when they have things to do.
Create Professional Quotations
Create quotations in a matter of seconds. Send quotes by email or get a professional PDF. Track quotations, and convert them to sales order in one click.
Spend the extra time focusing on selling, not recording data.
Fully Integrated
The information your need, where you need it.
Don't lose time looking for customers, products or contracts related information; they are all conveniently accessible when creating quotations.
Get access to stock availabilities in the different warehouses, to customer's specific prices, to the history of preceeding offers for this prospect, etc.
Your Address Book
So many features, so easy to use.
Assign tags to your prospects, manage relationships between contacts and store all customer's preferences including pricing, billing conditions, addresses, payment terms, etc.
Navigate through all the documents related to a customer with the powerfull breadcrumb: quotations, invoices, emails, meetings.
Fully Integrated Invoicing
Whether you invoice based on time and materials, on delivery orders or fixed price; Odoo supports all possible methods.
Get recurring invoices produced automatically, create advances in just a few clicks, re-invoices expenses easily, etc.
Keep track of your contracts
Get rid of wasted paper and record all your contracts in the application. Invoices are generated automatically based on your contract conditions. Your account managers get alerts before contracts have to be renewed.
Communicate Efficiently With Customers
The chatter feature enables you to communicate faster and more efficiently with your customer. This takes place directly on a quotation or sale order from within Odoo or via email.
Get all the negotiations and discussions attached to the right document and relevent managers notified on specific events.
Fully Extensible
By default, sales order are very simple, limited to a small number of features. Don't be confused by features you don't need.
But you can activate options to fit your specific need: multi-warehouses, multi unit of measures, manage customer specific prices with pricelists, control margins on quotations, use different addresses for shipping and billing, etc.
Built-in Customer Relationship Management
Activate the CRM application to manage your funnel of opportunities, attract leads, log calls, schedule meetings and launch marketing campaigns.
Opportunities can be converted into quotations in just one click.
Drive Engagement with Gamification
Align Sales Teams on clear targets. Define clear commission plans. Get real time statistics on the performance of individual sales or channels. Motivate your teams with challenges, rewards and leaderboards.
Have Clear Pricing Strategies
Use pricelists to record special conditions for a specific customer or to define prices for a segment of customers. Define promotions and have them applied automatically for all your Sales Teams.