From c76c93a9ac7d13b8dd20be03133662f3e8b458ca Mon Sep 17 00:00:00 2001 From: Prakash Prajapati Date: Wed, 23 Jan 2019 06:04:04 +0000 Subject: [PATCH] [IMP] sale, website_sale, *: Improve the sale order form. Relabel placeholder of terms & conditions. Restructure tab "Other Information". Improve the tooltips. TaskID: 1920476 closes odoo/odoo#30550 --- addons/sale/models/sale.py | 10 +++--- addons/sale/views/sale_views.xml | 32 +++++++++++-------- addons/sale_crm/views/sale_order_views.xml | 4 +-- .../views/sale_management_views.xml | 2 +- addons/sale_stock/models/sale_order.py | 2 +- .../website_sale/views/sale_order_views.xml | 2 +- .../views/sale_order_views.xml | 2 +- 7 files changed, 29 insertions(+), 25 deletions(-) diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index ad1362bd58d..d74dc58412b 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -134,7 +134,7 @@ class SaleOrder(models.Model): ], string='Status', readonly=True, copy=False, index=True, tracking=3, default='draft') date_order = fields.Datetime(string='Order Date', required=True, readonly=True, index=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, copy=False, default=fields.Datetime.now) validity_date = fields.Date(string='Expiration', readonly=True, copy=False, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, - help="Expiration date of the quotation, after this date, the customer won't be able to validate the quotation online.", default=_default_validity_date) + help="Beyond this date, the customer is no longer able to accept the quotation from the portal.", default=_default_validity_date) is_expired = fields.Boolean(compute='_compute_is_expired', string="Is expired") require_signature = fields.Boolean('Online Signature', default=_get_default_require_signature, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, @@ -146,11 +146,11 @@ class SaleOrder(models.Model): create_date = fields.Datetime(string='Creation Date', readonly=True, index=True, help="Date on which sales order is created.") confirmation_date = fields.Datetime(string='Confirmation Date', readonly=True, index=True, help="Date on which the sales order is confirmed.", oldname="date_confirm", copy=False) user_id = fields.Many2one('res.users', string='Salesperson', index=True, tracking=2, default=lambda self: self.env.user) - partner_id = fields.Many2one('res.partner', string='Customer', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, required=True, change_default=True, index=True, tracking=1, help="You can find a customer by its Name, TIN, Email or Internal Reference.") + partner_id = fields.Many2one('res.partner', string='Customer', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, required=True, change_default=True, index=True, tracking=1, help="You can find a customer from their name, email, tax ID or reference.") partner_invoice_id = fields.Many2one('res.partner', string='Invoice Address', readonly=True, required=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)], 'sale': [('readonly', False)]}, help="Invoice address for current sales order.") partner_shipping_id = fields.Many2one('res.partner', string='Delivery Address', readonly=True, required=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)], 'sale': [('readonly', False)]}, help="Delivery address for current sales order.") - pricelist_id = fields.Many2one('product.pricelist', string='Pricelist', required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="Pricelist for current sales order.") + pricelist_id = fields.Many2one('product.pricelist', string='Pricelist', required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="Pricelist for current order. If you change the pricelist, only new lines will consider this pricelist.") currency_id = fields.Many2one("res.currency", related='pricelist_id.currency_id', string="Currency", readonly=True, required=True) analytic_account_id = fields.Many2one('account.analytic.account', 'Analytic Account', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="The analytic account related to a sales order.", copy=False, oldname='project_id') @@ -173,8 +173,8 @@ class SaleOrder(models.Model): amount_total = fields.Monetary(string='Total', store=True, readonly=True, compute='_amount_all', tracking=4) currency_rate = fields.Float("Currency Rate", compute='_compute_currency_rate', compute_sudo=True, store=True, digits=(12, 6), readonly=True, help='The rate of the currency to the currency of rate 1 applicable at the date of the order') - payment_term_id = fields.Many2one('account.payment.term', string='Payment Terms', oldname='payment_term') - fiscal_position_id = fields.Many2one('account.fiscal.position', oldname='fiscal_position', string='Fiscal Position') + payment_term_id = fields.Many2one('account.payment.term', string='Payment Terms', oldname='payment_term', help="Payment terms applies to all invoices issued from this order.") + fiscal_position_id = fields.Many2one('account.fiscal.position', oldname='fiscal_position', string='Fiscal Position', help=" Fiscal positions are used to adapt taxes and accounts for particular customers or sales orders/invoices. The default value comes from the customer.") company_id = fields.Many2one('res.company', 'Company', default=lambda self: self.env['res.company']._company_default_get('sale.order')) team_id = fields.Many2one('crm.team', 'Sales Team', change_default=True, default=_get_default_team, oldname='section_id') diff --git a/addons/sale/views/sale_views.xml b/addons/sale/views/sale_views.xml index bee7433ca85..c32d1fe7af6 100644 --- a/addons/sale/views/sale_views.xml +++ b/addons/sale/views/sale_views.xml @@ -540,35 +540,39 @@ - +
- + - - - - - + + - + - - - + + - - + + + + + + + + + + + - diff --git a/addons/sale_crm/views/sale_order_views.xml b/addons/sale_crm/views/sale_order_views.xml index 32afdf3fc7e..61318da066b 100644 --- a/addons/sale_crm/views/sale_order_views.xml +++ b/addons/sale_crm/views/sale_order_views.xml @@ -35,11 +35,11 @@ sale.order - + - + diff --git a/addons/sale_management/views/sale_management_views.xml b/addons/sale_management/views/sale_management_views.xml index f81cd85dc7b..cd9a1cdd420 100644 --- a/addons/sale_management/views/sale_management_views.xml +++ b/addons/sale_management/views/sale_management_views.xml @@ -69,7 +69,7 @@ sale.order - + diff --git a/addons/sale_stock/models/sale_order.py b/addons/sale_stock/models/sale_order.py index 0b38a867a4a..e3de3e4c800 100644 --- a/addons/sale_stock/models/sale_order.py +++ b/addons/sale_stock/models/sale_order.py @@ -18,7 +18,7 @@ class SaleOrder(models.Model): return warehouse_ids incoterm = fields.Many2one( - 'account.incoterms', 'Incoterms', + 'account.incoterms', 'Incoterm', help="International Commercial Terms are a series of predefined commercial terms used in international transactions.") picking_policy = fields.Selection([ ('direct', 'As soon as possible'), diff --git a/addons/website_sale/views/sale_order_views.xml b/addons/website_sale/views/sale_order_views.xml index 07ee626c17d..840090a5d72 100644 --- a/addons/website_sale/views/sale_order_views.xml +++ b/addons/website_sale/views/sale_order_views.xml @@ -267,7 +267,7 @@ {'display_website': True} - + diff --git a/addons/website_sale_link_tracker/views/sale_order_views.xml b/addons/website_sale_link_tracker/views/sale_order_views.xml index c8923f33887..c9a8f09bb29 100644 --- a/addons/website_sale_link_tracker/views/sale_order_views.xml +++ b/addons/website_sale_link_tracker/views/sale_order_views.xml @@ -6,7 +6,7 @@ - +