diff --git a/addons/website_quote/data/website_quote_data.xml b/addons/website_quote/data/website_quote_data.xml index 1cec27e2d34..63e7c685b9d 100644 --- a/addons/website_quote/data/website_quote_data.xml +++ b/addons/website_quote/data/website_quote_data.xml @@ -92,6 +92,10 @@ + + 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/__init__.py b/addons/website_quote/models/__init__.py index edf4a481a61..87c70f6e984 100644 --- a/addons/website_quote/models/__init__.py +++ b/addons/website_quote/models/__init__.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from . import sale_order -from . import sale_quote -from . import product_template +from .import sale_order +from .import sale_quote +from .import product_template +from .import sale_config_settings diff --git a/addons/website_quote/models/sale_config_settings.py b/addons/website_quote/models/sale_config_settings.py new file mode 100644 index 00000000000..7039581f453 --- /dev/null +++ b/addons/website_quote/models/sale_config_settings.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, fields, models + + +class SaleConfiguration(models.TransientModel): + _inherit = 'sale.config.settings' + + default_template_id = fields.Many2one('sale.quote.template', default_model='sale.order', string='Default Template') diff --git a/addons/website_quote/models/sale_order.py b/addons/website_quote/models/sale_order.py index 1737b109f67..eedc90b2a40 100644 --- a/addons/website_quote/models/sale_order.py +++ b/addons/website_quote/models/sale_order.py @@ -52,15 +52,12 @@ class SaleOrder(models.Model): if so.state not in ['sale', 'done']: so.website_url = '/quote/%s' % (so.id) - def _get_default_template_id(self): - return self.env.ref('website_quote.website_quote_template_default', raise_if_not_found=False) - access_token = fields.Char( 'Security Token', copy=False, default=lambda self: str(uuid.uuid4()), required=True) template_id = fields.Many2one( 'sale.quote.template', 'Quotation Template', - default=_get_default_template_id, readonly=True, + readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}) website_description = fields.Html('Description', sanitize_attributes=False, translate=html_translate) options = fields.One2many( diff --git a/addons/website_quote/models/sale_quote.py b/addons/website_quote/models/sale_quote.py index e65f6ed905f..42cfefe475b 100644 --- a/addons/website_quote/models/sale_quote.py +++ b/addons/website_quote/models/sale_quote.py @@ -22,7 +22,9 @@ class SaleQuoteTemplate(models.Model): (1, 'Immediate after website order validation'), (2, 'Immediate after website order validation and save a token'), ], 'Payment', help="Require immediate payment by the customer when validating the order from the website quote") - mail_template_id = fields.Many2one('mail.template', 'Confirmation Mail', + mail_template_id = fields.Many2one( + 'mail.template', 'Confirmation Mail', + domain=[('model', '=', 'sale.order')], help="This e-mail template will be sent on confirmation. Leave empty to send nothing.") @api.multi diff --git a/addons/website_quote/views/sale_config_settings_views.xml b/addons/website_quote/views/sale_config_settings_views.xml index 8b455433f47..bdb1da250f6 100644 --- a/addons/website_quote/views/sale_config_settings_views.xml +++ b/addons/website_quote/views/sale_config_settings_views.xml @@ -2,12 +2,16 @@ - sale.config.settings.inherit.website.quote + sale.config.settings.view.form.inherit.website.quote sale.config.settings
+
+