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
+
+
+
+