mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[13.0][MIG] - migration product_contract
This commit is contained in:
@@ -1,23 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?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="contract_contract_customer_form_view"
|
||||
model="ir.ui.view">
|
||||
<record id="contract_contract_customer_form_view" model="ir.ui.view">
|
||||
<field name="model">contract.contract</field>
|
||||
<field name="inherit_id"
|
||||
ref="contract.contract_contract_customer_form_view"/>
|
||||
<field name="inherit_id" ref="contract.contract_contract_customer_form_view" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button class="oe_stat_button" name="action_view_sales_orders"
|
||||
type="object" icon="fa-edit"
|
||||
attrs="{'invisible': [('sale_order_count', '=', 0)]}">
|
||||
<button
|
||||
class="oe_stat_button"
|
||||
name="action_view_sales_orders"
|
||||
type="object"
|
||||
icon="fa-edit"
|
||||
attrs="{'invisible': [('sale_order_count', '=', 0)]}"
|
||||
>
|
||||
<div class="o_field_widget o_stat_info">
|
||||
<span class="o_stat_value">
|
||||
<field name="sale_order_count"/>
|
||||
<field name="sale_order_count" />
|
||||
</span>
|
||||
<span class="o_stat_text">Sale Orders</span>
|
||||
</div>
|
||||
@@ -25,5 +26,4 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,64 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<?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="inherit_id" ref="product.product_template_form_view" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='options']" position="inside">
|
||||
<div attrs="{'invisible': [('type', '!=', 'service')],}">
|
||||
<field name="is_contract"/>
|
||||
<label for="is_contract"/>
|
||||
<field name="is_contract" />
|
||||
<label for="is_contract" />
|
||||
</div>
|
||||
</xpath>
|
||||
<xpath expr="//notebook" position="inside">
|
||||
<page string="Contract"
|
||||
name="contract"
|
||||
attrs="{'invisible': [('is_contract', '=', False)],}">
|
||||
<page
|
||||
string="Contract"
|
||||
name="contract"
|
||||
attrs="{'invisible': [('is_contract', '=', False)],}"
|
||||
>
|
||||
<group>
|
||||
<field name="property_contract_template_id"/>
|
||||
<field name="property_contract_template_id" />
|
||||
</group>
|
||||
<group name="recurrence_info">
|
||||
<group>
|
||||
<field name="recurring_rule_type"/>
|
||||
<field name="recurring_rule_type" />
|
||||
</group>
|
||||
<group>
|
||||
<field name="default_qty"/>
|
||||
<field name="recurring_invoicing_type"/>
|
||||
<field name="default_qty" />
|
||||
<field name="recurring_invoicing_type" />
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="is_auto_renew"/>
|
||||
<field name="is_auto_renew" />
|
||||
</group>
|
||||
<group>
|
||||
<group attrs="{'invisible':[('is_auto_renew', '=', False)]}">
|
||||
<label for="auto_renew_interval"/>
|
||||
<label for="auto_renew_interval" />
|
||||
<div>
|
||||
<field name="auto_renew_interval"
|
||||
class="oe_inline" nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"/>
|
||||
<field name="auto_renew_rule_type"
|
||||
class="oe_inline" nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"/>
|
||||
<field
|
||||
name="auto_renew_interval"
|
||||
class="oe_inline"
|
||||
nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"
|
||||
/>
|
||||
<field
|
||||
name="auto_renew_rule_type"
|
||||
class="oe_inline"
|
||||
nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"
|
||||
/>
|
||||
</div>
|
||||
</group>
|
||||
<group attrs="{'invisible':[('is_auto_renew', '=', False)]}">
|
||||
<label for="termination_notice_interval"/>
|
||||
<label for="termination_notice_interval" />
|
||||
<div>
|
||||
<field name="termination_notice_interval"
|
||||
class="oe_inline" nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"/>
|
||||
<field name="termination_notice_rule_type"
|
||||
class="oe_inline" nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"/>
|
||||
<field
|
||||
name="termination_notice_interval"
|
||||
class="oe_inline"
|
||||
nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"
|
||||
/>
|
||||
<field
|
||||
name="termination_notice_rule_type"
|
||||
class="oe_inline"
|
||||
nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"
|
||||
/>
|
||||
</div>
|
||||
</group>
|
||||
</group>
|
||||
@@ -66,5 +77,4 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2019 ACSONE SA/NV
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
|
||||
<odoo>
|
||||
|
||||
<record model="ir.ui.view" id="res_config_settings_form_view">
|
||||
<field name="name">res.config.settings.form (in product_contract)
|
||||
</field>
|
||||
<field name="model">res.config.settings</field>
|
||||
<field name="inherit_id" ref="sale.res_config_settings_view_form"/>
|
||||
<field name="inherit_id" ref="sale.res_config_settings_view_form" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@id='sales_settings_invoicing_policy']/.."
|
||||
position="inside">
|
||||
<xpath
|
||||
expr="//div[@id='sales_settings_invoicing_policy']/.."
|
||||
position="inside"
|
||||
>
|
||||
<div class="col-12 col-lg-6 o_setting_box">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="create_contract_at_sale_order_confirmation"/>
|
||||
<field name="create_contract_at_sale_order_confirmation" />
|
||||
</div>
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="create_contract_at_sale_order_confirmation"/>
|
||||
<label for="create_contract_at_sale_order_confirmation" />
|
||||
<div class="text-muted">
|
||||
Automatically Create Contracts At Sale Order Confirmation
|
||||
</div>
|
||||
@@ -26,6 +26,4 @@
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,102 +1,124 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<?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="inherit_id" ref="sale.view_order_form" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//header" position="inside">
|
||||
<field name="need_contract_creation" invisible="1"/>
|
||||
<button name="action_create_contract"
|
||||
string="Create Contracts"
|
||||
type="object"
|
||||
class="oe_highlight" attrs="{'invisible': [('need_contract_creation', '=', False)]}"/>
|
||||
<field name="need_contract_creation" attrs="{'invisible': []}" />
|
||||
<button
|
||||
name="action_create_contract"
|
||||
string="Create Contracts"
|
||||
type="object"
|
||||
class="oe_highlight"
|
||||
attrs="{'invisible': [('need_contract_creation', '=', False)]}"
|
||||
/>
|
||||
</xpath>
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="action_show_contracts"
|
||||
type="object" icon="fa-book"
|
||||
class="oe_stat_button"
|
||||
attrs="{'invisible': ['|', '|', ('is_contract', '!=', True), ('state', 'not in', ['sale', 'done']), ('contract_count', '=', 0)]}">
|
||||
<field string="Contracts"
|
||||
name="contract_count"
|
||||
widget="statinfo"/>
|
||||
<button
|
||||
name="action_show_contracts"
|
||||
type="object"
|
||||
icon="fa-book"
|
||||
class="oe_stat_button"
|
||||
attrs="{'invisible': ['|', '|', ('is_contract', '!=', True), ('state', 'not in', ['sale', 'done']), ('contract_count', '=', 0)]}"
|
||||
>
|
||||
<field string="Contracts" name="contract_count" widget="statinfo" />
|
||||
</button>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='order_line']" position="before">
|
||||
<field name="is_contract" invisible="1"/>
|
||||
<field name="is_contract" attrs="{'invisible': []}" />
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='order_line']/form//field[@name='product_id']"
|
||||
position="after">
|
||||
<field name="contract_template_id" invisible="1"/>
|
||||
<field name="contract_id"
|
||||
options='{"no_create": True}'
|
||||
attrs="{'invisible': [('is_contract', '=', False)]}"
|
||||
domain="['|',('contract_template_id','=',contract_template_id),
|
||||
<xpath
|
||||
expr="//field[@name='order_line']/form//field[@name='product_id']"
|
||||
position="after"
|
||||
>
|
||||
<field name="contract_template_id" attrs="{'invisible': []}" />
|
||||
<field
|
||||
name="contract_id"
|
||||
options='{"no_create": True}'
|
||||
attrs="{'invisible': [('is_contract', '=', False)]}"
|
||||
domain="['|',('contract_template_id','=',contract_template_id),
|
||||
('contract_template_id','=',False),
|
||||
('partner_id','=',parent.partner_id),
|
||||
('is_terminated','=',False),
|
||||
]"/>
|
||||
<field name="contract_line_id"
|
||||
attrs="{'invisible': [('is_contract', '=', False)]}"
|
||||
domain="[('contract_id','=',contract_id)]"/>
|
||||
|
||||
|
||||
]"
|
||||
/>
|
||||
<field
|
||||
name="contract_line_id"
|
||||
attrs="{'invisible': [('is_contract', '=', False)]}"
|
||||
domain="[('contract_id','=',contract_id)]"
|
||||
/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='order_line']/form//field[@name='tax_id']/parent::group"
|
||||
position="after">
|
||||
<field name="is_contract" invisible="1"/>
|
||||
<separator colspan="4" string="Recurrence Invoicing"
|
||||
attrs="{'invisible': [('is_contract', '=', False)]}"/>
|
||||
|
||||
<xpath
|
||||
expr="//field[@name='order_line']/form//field[@name='tax_id']/parent::group"
|
||||
position="after"
|
||||
>
|
||||
<field name="is_contract" attrs="{'invisible': []}" />
|
||||
<separator
|
||||
colspan="4"
|
||||
string="Recurrence Invoicing"
|
||||
attrs="{'invisible': [('is_contract', '=', False)]}"
|
||||
/>
|
||||
<group attrs="{'invisible': [('is_contract', '=', False)]}">
|
||||
<field name="recurring_rule_type"/>
|
||||
<field name="recurring_rule_type" />
|
||||
</group>
|
||||
<group attrs="{'invisible': [('is_contract', '=', False)]}">
|
||||
<field name="recurring_invoicing_type"/>
|
||||
<field name="recurring_invoicing_type" />
|
||||
</group>
|
||||
<group attrs="{'invisible': [('is_contract', '=', False)]}">
|
||||
<field name="date_start"
|
||||
attrs="{'required': [('is_contract', '=', True)]}"/>
|
||||
<field
|
||||
name="date_start"
|
||||
attrs="{'required': [('is_contract', '=', True)]}"
|
||||
/>
|
||||
</group>
|
||||
<group attrs="{'invisible': [('is_contract', '=', False)]}">
|
||||
<field name="date_end" attrs="{'required': [('is_contract', '=', True)]}"/>
|
||||
<field
|
||||
name="date_end"
|
||||
attrs="{'required': [('is_contract', '=', True)]}"
|
||||
/>
|
||||
</group>
|
||||
<group
|
||||
attrs="{'invisible': [('is_contract', '=', False)]}">
|
||||
<field name="is_auto_renew"/>
|
||||
<group attrs="{'invisible': [('is_contract', '=', False)]}">
|
||||
<field name="is_auto_renew" />
|
||||
</group>
|
||||
<group
|
||||
attrs="{'invisible': [('is_auto_renew', '=', False)]}">
|
||||
<label for="auto_renew_interval"/>
|
||||
<group attrs="{'invisible': [('is_auto_renew', '=', False)]}">
|
||||
<label for="auto_renew_interval" />
|
||||
<div>
|
||||
<field name="auto_renew_interval"
|
||||
class="oe_inline" nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"/>
|
||||
<field name="auto_renew_rule_type"
|
||||
class="oe_inline" nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"/>
|
||||
<field
|
||||
name="auto_renew_interval"
|
||||
class="oe_inline"
|
||||
nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"
|
||||
/>
|
||||
<field
|
||||
name="auto_renew_rule_type"
|
||||
class="oe_inline"
|
||||
nolabel="1"
|
||||
attrs="{'required':[('is_auto_renew', '=', True)]}"
|
||||
/>
|
||||
</div>
|
||||
</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)]}"/>
|
||||
<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)]}"
|
||||
/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='order_line']/tree"
|
||||
position="attributes">
|
||||
<attribute name="editable"/>
|
||||
<xpath expr="//field[@name='order_line']/tree" position="attributes">
|
||||
<attribute name="editable" />
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user