From 9dafd7f47e8a1e7631093e85ed02803097dea6c0 Mon Sep 17 00:00:00 2001 From: dip-odoo Date: Thu, 3 Aug 2017 17:33:06 +0200 Subject: [PATCH] [IMP] website_quote: quote templates are now archivable We also: - reorder a bit the form view for quote templates - change the way default templates are selected for sales order (inactive quote templates are not selected) while keeping customizability through ir.values --- addons/website_quote/data/website_quote_data.xml | 6 +----- addons/website_quote/models/sale_order.py | 7 ++++++- addons/website_quote/models/sale_quote.py | 3 ++- addons/website_quote/views/sale_quote_views.xml | 16 +++++++++++++++- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/addons/website_quote/data/website_quote_data.xml b/addons/website_quote/data/website_quote_data.xml index 63e7c685b9d..b75d364cf95 100644 --- a/addons/website_quote/data/website_quote_data.xml +++ b/addons/website_quote/data/website_quote_data.xml @@ -91,11 +91,7 @@ - - - + Online Quote: confirmation e-mail ${(object.user_id.email or object.company_id.email or 'noreply@localhost')|safe} diff --git a/addons/website_quote/models/sale_order.py b/addons/website_quote/models/sale_order.py index 3bc3d37cc23..62e2142e798 100644 --- a/addons/website_quote/models/sale_order.py +++ b/addons/website_quote/models/sale_order.py @@ -47,10 +47,15 @@ class SaleOrderLine(models.Model): class SaleOrder(models.Model): _inherit = 'sale.order' + def _get_default_template(self): + template = self.env.ref('website_quote.website_quote_template_default', raise_if_not_found=False) + return template and template.active and template or False + template_id = fields.Many2one( 'sale.quote.template', 'Quotation Template', readonly=True, - states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}) + states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, + default=_get_default_template) website_description = fields.Html('Description', sanitize_attributes=False, translate=html_translate) options = fields.One2many( 'sale.order.option', 'order_id', 'Optional Products Lines', diff --git a/addons/website_quote/models/sale_quote.py b/addons/website_quote/models/sale_quote.py index ba021a4e481..b9daa7696fe 100644 --- a/addons/website_quote/models/sale_quote.py +++ b/addons/website_quote/models/sale_quote.py @@ -26,7 +26,8 @@ class SaleQuoteTemplate(models.Model): 'mail.template', 'Confirmation Mail', domain=[('model', '=', 'sale.order')], help="This e-mail template will be sent on confirmation. Leave empty to send nothing.") - + active = fields.Boolean(default=True, help="If unchecked, it will allow you to hide the quotation template without removing it.") + @api.multi def open_template(self): self.ensure_one() diff --git a/addons/website_quote/views/sale_quote_views.xml b/addons/website_quote/views/sale_quote_views.xml index e170a77d441..e0f2657e172 100644 --- a/addons/website_quote/views/sale_quote_views.xml +++ b/addons/website_quote/views/sale_quote_views.xml @@ -1,5 +1,14 @@ + + sale.quote.template.search + sale.quote.template + + + + + + sale.quote.template.form sale.quote.template @@ -7,7 +16,12 @@
- +