summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authordip-odoo <dip@odoo.com>2017-08-03 17:33:06 +0200
committerRichard Mathot <rim@odoo.com>2017-08-04 14:58:03 +0200
commit9dafd7f47e8a1e7631093e85ed02803097dea6c0 (patch)
tree35ce718fb0cd32a5a4f631ed4b89fa400d924985 /addons
parent65e810269aa220176a703ffd6395021f8f7bd636 (diff)
[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
Diffstat (limited to 'addons')
-rw-r--r--addons/website_quote/data/website_quote_data.xml6
-rw-r--r--addons/website_quote/models/sale_order.py7
-rw-r--r--addons/website_quote/models/sale_quote.py3
-rw-r--r--addons/website_quote/views/sale_quote_views.xml16
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 @@
</section>
</field>
</record>
-
- <function id="ir_values_set_sale_order_default_template_id"
- model="ir.values" name="set_default"
- eval="('sale.order', 'template_id', ref('website_quote_template_default'))"/>
-
+
<record id="confirmation_mail" model="mail.template">
<field name="name">Online Quote: confirmation e-mail</field>
<field name="email_from">${(object.user_id.email or object.company_id.email or 'noreply@localhost')|safe}</field>
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 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
+ <record id="view_sale_quote_template_search" model="ir.ui.view">
+ <field name="name">sale.quote.template.search</field>
+ <field name="model">sale.quote.template</field>
+ <field name="arch" type="xml">
+ <search string="Search Quotation Template">
+ <filter string="Archived" name="inactive" domain="[('active','=', False)]"/>
+ </search>
+ </field>
+ </record>
<record model="ir.ui.view" id="view_sale_quote_template_form">
<field name="name">sale.quote.template.form</field>
<field name="model">sale.quote.template</field>
@@ -7,7 +16,12 @@
<field name="arch" type="xml">
<form string="Sale Quotation Template">
<sheet>
- <button string="Edit Template" type="object" name="open_template" class="oe_highlight oe_right"/>
+ <div class="oe_button_box" name="button_box">
+ <button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
+ <field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
+ </button>
+ <button string="Edit Template" type="object" name="open_template" class="oe_stat_button" icon="fa-pencil"/>
+ </div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1>