mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[IMP] - Add recurrence fields to product template and sale order line
This commit is contained in:
44
product_contract/views/product_template.xml
Normal file
44
product_contract/views/product_template.xml
Normal file
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2017 LasLabs Inc.
|
||||
Copyright 2018 ACSONE SA/NV.
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
-->
|
||||
|
||||
<odoo>
|
||||
|
||||
<record id="product_template_form_contract_view" model="ir.ui.view">
|
||||
<field name="name">account.invoice.select.contract</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id" ref="product.product_template_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='options']" position="inside">
|
||||
<div>
|
||||
<field name="is_contract"/>
|
||||
<label for="is_contract"/>
|
||||
</div>
|
||||
</xpath>
|
||||
<xpath expr="//group[@name='group_standard_price']"
|
||||
position="inside">
|
||||
<field name="contract_template_id"
|
||||
attrs="{'invisible': [('is_contract', '=', False)],
|
||||
'required':[('is_contract', '=', True)]}"/>
|
||||
<field name="recurring_invoicing_type"
|
||||
attrs="{'invisible': [('is_contract', '=', False)],
|
||||
'required':[('is_contract', '=', True)]}"/>
|
||||
|
||||
<label for="recurring_interval" attrs="{'invisible': [('is_contract', '=', False)],
|
||||
'required':[('is_contract', '=', True)]}"/>
|
||||
<div attrs="{'invisible': [('is_contract', '=', False)],
|
||||
'required':[('is_contract', '=', True)]}">
|
||||
<field name="recurring_interval"
|
||||
class="oe_inline" nolabel="1"/>
|
||||
<field name="recurring_rule_type"
|
||||
class="oe_inline" nolabel="1"/>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2017 LasLabs Inc.
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
-->
|
||||
|
||||
<odoo>
|
||||
|
||||
<record id="product_template_form_contract_view" model="ir.ui.view">
|
||||
<field name="name">account.invoice.select.contract</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id" ref="product.product_template_form_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='options']" position="inside">
|
||||
<div>
|
||||
<field name="is_contract" />
|
||||
<label for="is_contract" />
|
||||
</div>
|
||||
</xpath>
|
||||
<xpath expr="//group[@name='group_standard_price']" position="inside">
|
||||
<field name="contract_template_id"
|
||||
attrs="{'invisible': [('is_contract', '=', False)],
|
||||
'required':[('is_contract', '=', True)]}" />
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
63
product_contract/views/sale_order.xml
Normal file
63
product_contract/views/sale_order.xml
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Copyright 2018 ACSONE SA/NV.
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
-->
|
||||
|
||||
<odoo>
|
||||
|
||||
<record id="view_order_form" model="ir.ui.view">
|
||||
<field name="name">sale.order.form (in product_contract)</field>
|
||||
<field name="model">sale.order</field>
|
||||
<field name="inherit_id" ref="sale.view_order_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='order_line']" position="before">
|
||||
<field name="is_contract" invisible="1"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='order_line']/form//field[@name='tax_id']/parent::group"
|
||||
position="after">
|
||||
<separator colspan="4" string="Recurrence Invoicing"
|
||||
attrs="{'invisible': [('is_contract', '=', False)]}"/>
|
||||
<group attrs="{'invisible': [('is_contract', '=', False)]}">
|
||||
<field name="is_contract" invisible="1"/>
|
||||
<field name="recurring_invoicing_type"
|
||||
attrs="{'invisible': [('is_contract', '=', False)],
|
||||
'required':[('is_contract', '=', True)]}"/>
|
||||
</group>
|
||||
<group attrs="{'invisible': [('is_contract', '=', False)]}">
|
||||
<label for="recurring_interval"/>
|
||||
<div>
|
||||
<field name="recurring_interval"
|
||||
class="oe_inline" nolabel="1"
|
||||
attrs="{'required':[('is_contract', '=', True)]}"/>
|
||||
<field name="recurring_rule_type"
|
||||
class="oe_inline" nolabel="1"
|
||||
attrs="{'required':[('is_contract', '=', True)]}"/>
|
||||
</div>
|
||||
</group>
|
||||
<group attrs="{'invisible': [('is_contract', '=', False)]}">
|
||||
<field name="date_start"/>
|
||||
<field name="recurring_next_date"/>
|
||||
</group>
|
||||
<group attrs="{'invisible': [('is_contract', '=', False)]}">
|
||||
<field name="date_end"/>
|
||||
</group>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='order_line']/tree//field[@name='price_total']"
|
||||
position="after">
|
||||
<field name="date_start"
|
||||
attrs="{'column_invisible': [('parent.is_contract', '=', False)]}"/>
|
||||
<field name="date_end"
|
||||
attrs="{'column_invisible': [('parent.is_contract', '=', False)]}"/>
|
||||
<field name="recurring_next_date"
|
||||
attrs="{'column_invisible': [('parent.is_contract', '=', False)]}"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='order_line']/tree"
|
||||
position="attributes">
|
||||
<attribute name="editable"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user