mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[IMP] : black, isort, prettier
This commit is contained in:
@@ -1,89 +1,137 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
|
||||
<!--FORM view-->
|
||||
<record id="contract_abstract_contract_line_form_view" model="ir.ui.view">
|
||||
<field name="name">contract.abstract.contract.line form view (in contract)</field>
|
||||
<field
|
||||
name="name"
|
||||
>contract.abstract.contract.line form view (in contract)</field>
|
||||
<field name="model">contract.abstract.contract.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<field name="display_type" invisible="1"/>
|
||||
<header attrs="{'invisible': [('display_type', '!=', False)]}"/>
|
||||
<field name="display_type" invisible="1" />
|
||||
<header attrs="{'invisible': [('display_type', '!=', False)]}" />
|
||||
<sheet>
|
||||
<field name="specific_price" invisible="1"/>
|
||||
<group col="4" attrs="{'invisible': [('display_type', '!=', False)]}">
|
||||
<field colspan="4"
|
||||
name="product_id"
|
||||
attrs="{'required': [('display_type', '=', False)]}"/>
|
||||
<label for="quantity"/>
|
||||
<field name="specific_price" invisible="1" />
|
||||
<group
|
||||
col="4"
|
||||
attrs="{'invisible': [('display_type', '!=', False)]}"
|
||||
>
|
||||
<field
|
||||
colspan="4"
|
||||
name="product_id"
|
||||
attrs="{'required': [('display_type', '=', False)]}"
|
||||
/>
|
||||
<label for="quantity" />
|
||||
<div class="o_row">
|
||||
<field name="quantity" class="oe_inline"/>
|
||||
<field name="uom_id"
|
||||
class="oe_inline"
|
||||
groups="uom.group_uom"
|
||||
attrs="{'required': [('display_type', '=', False)]}"/>
|
||||
<field name="quantity" class="oe_inline" />
|
||||
<field
|
||||
name="uom_id"
|
||||
class="oe_inline"
|
||||
groups="uom.group_uom"
|
||||
attrs="{'required': [('display_type', '=', False)]}"
|
||||
/>
|
||||
</div>
|
||||
<field colspan="2" name="automatic_price"/>
|
||||
<field colspan="2" name="price_unit"
|
||||
attrs="{'readonly': [('automatic_price', '=', True)]}"/>
|
||||
<field colspan="2" name="discount" groups="base.group_no_one"/>
|
||||
<field colspan="2" name="automatic_price" />
|
||||
<field
|
||||
colspan="2"
|
||||
name="price_unit"
|
||||
attrs="{'readonly': [('automatic_price', '=', True)]}"
|
||||
/>
|
||||
<field colspan="2" name="discount" groups="base.group_no_one" />
|
||||
</group>
|
||||
|
||||
<label for="name" string="Description" attrs="{'invisible': [('display_type', '!=', False)]}"/>
|
||||
<label for="name" string="Section" attrs="{'invisible': [('display_type', '!=', 'line_section')]}"/>
|
||||
<label for="name" string="Note" attrs="{'invisible': [('display_type', '!=', 'line_note')]}"/>
|
||||
<field name="name" nolabel="1"/>
|
||||
|
||||
<group name="note_invoicing_mode" attrs="{'invisible': [('display_type', '!=', 'line_note')]}">
|
||||
<field name="note_invoicing_mode" widget="radio"/>
|
||||
<label
|
||||
for="name"
|
||||
string="Description"
|
||||
attrs="{'invisible': [('display_type', '!=', False)]}"
|
||||
/>
|
||||
<label
|
||||
for="name"
|
||||
string="Section"
|
||||
attrs="{'invisible': [('display_type', '!=', 'line_section')]}"
|
||||
/>
|
||||
<label
|
||||
for="name"
|
||||
string="Note"
|
||||
attrs="{'invisible': [('display_type', '!=', 'line_note')]}"
|
||||
/>
|
||||
<field name="name" nolabel="1" />
|
||||
<group
|
||||
name="note_invoicing_mode"
|
||||
attrs="{'invisible': [('display_type', '!=', 'line_note')]}"
|
||||
>
|
||||
<field name="note_invoicing_mode" widget="radio" />
|
||||
</group>
|
||||
|
||||
<group col="4" attrs="{'invisible': [('display_type', '!=', False)]}">
|
||||
<field colspan="2" name="is_auto_renew"/>
|
||||
<field colspan="2" name="is_canceled" invisible="1"/>
|
||||
<group
|
||||
col="4"
|
||||
attrs="{'invisible': [('display_type', '!=', False)]}"
|
||||
>
|
||||
<field colspan="2" name="is_auto_renew" />
|
||||
<field colspan="2" name="is_canceled" invisible="1" />
|
||||
</group>
|
||||
<group attrs="{'invisible':['|', ('is_auto_renew', '=', False), ('display_type', '!=', False)]}">
|
||||
<group
|
||||
attrs="{'invisible':['|', ('is_auto_renew', '=', False), ('display_type', '!=', False)]}"
|
||||
>
|
||||
<group>
|
||||
<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>
|
||||
<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>
|
||||
<group name="recurrence_info" attrs="{'invisible': ['|', ('display_type', '=', 'line_section'), '&', ('display_type', '=', 'line_note'), ('note_invoicing_mode', '!=', 'custom')]}">
|
||||
<group
|
||||
name="recurrence_info"
|
||||
attrs="{'invisible': ['|', ('display_type', '=', 'line_section'), '&', ('display_type', '=', 'line_note'), ('note_invoicing_mode', '!=', 'custom')]}"
|
||||
>
|
||||
<group>
|
||||
<label for="recurring_interval"/>
|
||||
<label for="recurring_interval" />
|
||||
<div class="o_row">
|
||||
<field name="recurring_interval"
|
||||
class="oe_inline" nolabel="1"/>
|
||||
<field name="recurring_rule_type"
|
||||
class="oe_inline" nolabel="1"/>
|
||||
<field
|
||||
name="recurring_interval"
|
||||
class="oe_inline"
|
||||
nolabel="1"
|
||||
/>
|
||||
<field
|
||||
name="recurring_rule_type"
|
||||
class="oe_inline"
|
||||
nolabel="1"
|
||||
/>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="recurring_invoicing_type"/>
|
||||
<field name="recurring_invoicing_offset"/>
|
||||
<field name="recurring_invoicing_type" />
|
||||
<field name="recurring_invoicing_offset" />
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2020 Tecnativa - Ernesto Tejeda
|
||||
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<template id="assets_backend" name="contract assets" inherit_id="web.assets_backend">
|
||||
<template
|
||||
id="assets_backend"
|
||||
name="contract assets"
|
||||
inherit_id="web.assets_backend"
|
||||
>
|
||||
<xpath expr="." position="inside">
|
||||
<script type="text/javascript" src="/contract/static/src/js/section_and_note_fields_backend.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/contract/static/src/js/section_and_note_fields_backend.js"
|
||||
/>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
||||
@@ -1,202 +1,317 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
|
||||
<!--Main FORM view-->
|
||||
<record id="contract_contract_form_view" model="ir.ui.view">
|
||||
<field name="name">contract.contract form view (in contract)</field>
|
||||
<field name="model">contract.contract</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<field name="is_terminated" invisible="1"/>
|
||||
<div class="alert alert-danger" role="alert" style="margin-bottom:0px;" attrs="{'invisible': [('is_terminated','=',False)]}">
|
||||
<field name="is_terminated" invisible="1" />
|
||||
<div
|
||||
class="alert alert-danger"
|
||||
role="alert"
|
||||
style="margin-bottom:0px;"
|
||||
attrs="{'invisible': [('is_terminated','=',False)]}"
|
||||
>
|
||||
<p>
|
||||
This contract was terminated for the reason
|
||||
<strong>
|
||||
<field name="terminate_reason_id" options="{'no_open':True}"/>
|
||||
<field
|
||||
name="terminate_reason_id"
|
||||
options="{'no_open':True}"
|
||||
/>
|
||||
</strong>
|
||||
on
|
||||
<field name="terminate_date"/>
|
||||
<field name="terminate_date" />
|
||||
.
|
||||
</p>
|
||||
<p>
|
||||
<field name="terminate_comment"/>
|
||||
<field name="terminate_comment" />
|
||||
</p>
|
||||
</div>
|
||||
<header>
|
||||
<button name="action_contract_send"
|
||||
<button
|
||||
name="action_contract_send"
|
||||
type="object"
|
||||
string="Send by Email"
|
||||
attrs="{'invisible': [('is_terminated','=',True)]}"
|
||||
groups="base.group_user"/>
|
||||
<button name="recurring_create_invoice"
|
||||
groups="base.group_user"
|
||||
/>
|
||||
<button
|
||||
name="recurring_create_invoice"
|
||||
type="object"
|
||||
attrs="{'invisible': ['|', ('create_invoice_visibility', '=', False)]}"
|
||||
string="Create invoices"
|
||||
groups="base.group_no_one"/>
|
||||
<button name="action_terminate_contract"
|
||||
groups="base.group_no_one"
|
||||
/>
|
||||
<button
|
||||
name="action_terminate_contract"
|
||||
type="object"
|
||||
string="Terminate Contract"
|
||||
attrs="{'invisible': [('is_terminated','=',True)]}"
|
||||
groups="contract.can_terminate_contract"/>
|
||||
<button name="action_terminate_contract"
|
||||
groups="contract.can_terminate_contract"
|
||||
/>
|
||||
<button
|
||||
name="action_terminate_contract"
|
||||
type="object"
|
||||
string="Update Termination Details"
|
||||
attrs="{'invisible': [('is_terminated','=',False)]}"
|
||||
groups="contract.can_terminate_contract"/>
|
||||
<button name="action_cancel_contract_termination"
|
||||
groups="contract.can_terminate_contract"
|
||||
/>
|
||||
<button
|
||||
name="action_cancel_contract_termination"
|
||||
type="object"
|
||||
confirm="Are you sure you want to re-activate this contract?"
|
||||
string="Cancel Contract Termination"
|
||||
attrs="{'invisible': [('is_terminated','=',False)]}"
|
||||
groups="contract.can_terminate_contract"/>
|
||||
groups="contract.can_terminate_contract"
|
||||
/>
|
||||
</header>
|
||||
<sheet string="Contract">
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button class="oe_stat_button" type="object"
|
||||
name="toggle_active" icon="fa-archive">
|
||||
<field name="active" widget="boolean_button"
|
||||
options="{"terminology": "archive"}"/>
|
||||
<button
|
||||
class="oe_stat_button"
|
||||
type="object"
|
||||
name="toggle_active"
|
||||
icon="fa-archive"
|
||||
>
|
||||
<field
|
||||
name="active"
|
||||
widget="boolean_button"
|
||||
options="{"terminology": "archive"}"
|
||||
/>
|
||||
</button>
|
||||
<button name="action_show_invoices"
|
||||
type="object" icon="fa-list"
|
||||
class="oe_stat_button">
|
||||
<field string="Invoices"
|
||||
<button
|
||||
name="action_show_invoices"
|
||||
type="object"
|
||||
icon="fa-list"
|
||||
class="oe_stat_button"
|
||||
>
|
||||
<field
|
||||
string="Invoices"
|
||||
name="invoice_count"
|
||||
widget="statinfo"/>
|
||||
widget="statinfo"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<div class="oe_title">
|
||||
<label for="name" string="Contract Name"
|
||||
class="oe_edit_only"/>
|
||||
<label for="name" string="Contract Name" class="oe_edit_only" />
|
||||
<h3>
|
||||
<field name="name" class="oe_inline"
|
||||
<field
|
||||
name="name"
|
||||
class="oe_inline"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
placeholder="e.g. Contract XYZ"/>
|
||||
placeholder="e.g. Contract XYZ"
|
||||
/>
|
||||
</h3>
|
||||
</div>
|
||||
<group name="main">
|
||||
<group>
|
||||
<field name="commercial_partner_id" invisible="1"/>
|
||||
<field name="partner_id" required="1" attrs="{'readonly': [('is_terminated','=',True)]}"/>
|
||||
<field name="payment_term_id" attrs="{'readonly': [('is_terminated','=',True)]}"/>
|
||||
<field name="user_id" attrs="{'readonly': [('is_terminated','=',True)]}"/>
|
||||
<field name="commercial_partner_id" invisible="1" />
|
||||
<field
|
||||
name="partner_id"
|
||||
required="1"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
/>
|
||||
<field
|
||||
name="payment_term_id"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
/>
|
||||
<field
|
||||
name="user_id"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="contract_template_id"
|
||||
<field
|
||||
name="contract_template_id"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
domain="['|', ('contract_type', '=', contract_type), ('contract_type', '=', False)]"
|
||||
context="{'default_contract_type': contract_type}"/>
|
||||
<field name="contract_type" invisible="1"
|
||||
required="1"/>
|
||||
<field name="fiscal_position_id" attrs="{'readonly': [('is_terminated','=',True)]}"/>
|
||||
<field name="tag_ids" widget="many2many_tags"/>
|
||||
context="{'default_contract_type': contract_type}"
|
||||
/>
|
||||
<field name="contract_type" invisible="1" required="1" />
|
||||
<field
|
||||
name="fiscal_position_id"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
/>
|
||||
<field name="tag_ids" widget="many2many_tags" />
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<group name="recurring_invoices">
|
||||
<group>
|
||||
<field name="journal_id" required="1" attrs="{'readonly': [('is_terminated','=',True)]}"/>
|
||||
<field name="recurring_next_date"/>
|
||||
<field
|
||||
name="journal_id"
|
||||
required="1"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
/>
|
||||
<field name="recurring_next_date" />
|
||||
</group>
|
||||
<group>
|
||||
<field name="pricelist_id" attrs="{'readonly': [('is_terminated','=',True)]}"/>
|
||||
<field name="date_end"/>
|
||||
<field
|
||||
name="pricelist_id"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
/>
|
||||
<field name="date_end" />
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page name="recurring_invoice_line"
|
||||
string="Recurring Invoices">
|
||||
<field name="contract_line_ids"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
widget="section_and_note_one2many"
|
||||
context="{'default_contract_type': contract_type}">
|
||||
<tree decoration-muted="is_canceled"
|
||||
decoration-info="create_invoice_visibility and not is_canceled">
|
||||
<page name="recurring_invoice_line" string="Recurring Invoices">
|
||||
<field
|
||||
name="contract_line_ids"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
widget="section_and_note_one2many"
|
||||
context="{'default_contract_type': contract_type}"
|
||||
>
|
||||
<tree
|
||||
decoration-muted="is_canceled"
|
||||
decoration-info="create_invoice_visibility and not is_canceled"
|
||||
>
|
||||
<control>
|
||||
<create string="Add a line"/>
|
||||
<create string="Add a section" context="{'default_display_type': 'line_section'}"/>
|
||||
<create string="Add a note" context="{'default_display_type': 'line_note'}"/>
|
||||
<create string="Add a line" />
|
||||
<create
|
||||
string="Add a section"
|
||||
context="{'default_display_type': 'line_section'}"
|
||||
/>
|
||||
<create
|
||||
string="Add a note"
|
||||
context="{'default_display_type': 'line_note'}"
|
||||
/>
|
||||
</control>
|
||||
<field name="display_type" invisible="1"/>
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="product_id"/>
|
||||
<field name="name" widget="section_and_note_text"/>
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="analytic_tag_ids" widget="many2many_tags" groups="analytic.group_analytic_tags"/>
|
||||
<field name="quantity"/>
|
||||
<field name="uom_id"/>
|
||||
<field name="automatic_price" attrs="{'column_invisible': [('parent.contract_type', '=', 'purchase')]}"/>
|
||||
<field name="price_unit"
|
||||
attrs="{'readonly': [('automatic_price', '=', True)]}"/>
|
||||
<field name="specific_price" invisible="1"/>
|
||||
<field name="discount" groups="base.group_no_one"/>
|
||||
<field name="price_subtotal"/>
|
||||
<field name="recurring_interval" invisible="1"/>
|
||||
<field name="recurring_rule_type" invisible="1"/>
|
||||
<field name="recurring_invoicing_type" invisible="1"/>
|
||||
<field name="date_start" required="1"/>
|
||||
<field name="date_end"/>
|
||||
<field name="recurring_next_date" required="1"/>
|
||||
<field name="last_date_invoiced" groups="base.group_no_one"/>
|
||||
<field name="create_invoice_visibility" invisible="1"/>
|
||||
<field name="is_plan_successor_allowed" invisible="1"/>
|
||||
<field name="is_stop_plan_successor_allowed" invisible="1"/>
|
||||
<field name="is_stop_allowed" invisible="1"/>
|
||||
<field name="is_cancel_allowed" invisible="1"/>
|
||||
<field name="is_un_cancel_allowed" invisible="1"/>
|
||||
<field name="is_auto_renew" invisible="1"/>
|
||||
<field name="is_canceled" invisible="1"/>
|
||||
<button name="action_plan_successor"
|
||||
string="Plan Start" type="object"
|
||||
icon="fa-calendar text-success"
|
||||
attrs="{'invisible': [('is_plan_successor_allowed', '=', False)]}"/>
|
||||
<button name="action_stop_plan_successor"
|
||||
string="Stop Plan Successor"
|
||||
type="object"
|
||||
icon="fa-pause text-muted"
|
||||
attrs="{'invisible': [('is_stop_plan_successor_allowed', '=', False)]}"/>
|
||||
<button name="action_stop" string="Stop"
|
||||
type="object"
|
||||
icon="fa-stop text-danger"
|
||||
attrs="{'invisible': [('is_stop_allowed', '=', False)]}"/>
|
||||
<button name="cancel" string="Cancel"
|
||||
type="object"
|
||||
icon="fa-ban text-danger"
|
||||
confirm="Are you sure you want to cancel this line"
|
||||
attrs="{'invisible': [('is_cancel_allowed', '=', False)]}"/>
|
||||
<button name="action_uncancel"
|
||||
string="Un-cancel" type="object"
|
||||
icon="fa-ban text-success"
|
||||
attrs="{'invisible': [('is_un_cancel_allowed', '=', False)]}"/>
|
||||
<button name="renew" string="Renew"
|
||||
type="object"
|
||||
icon="fa-fast-forward text-success"
|
||||
groups="base.group_no_one"
|
||||
attrs="{'invisible': [('is_auto_renew', '=', False)]}"/>
|
||||
<field name="display_type" invisible="1" />
|
||||
<field name="sequence" widget="handle" />
|
||||
<field name="product_id" />
|
||||
<field name="name" widget="section_and_note_text" />
|
||||
<field
|
||||
name="analytic_account_id"
|
||||
groups="analytic.group_analytic_accounting"
|
||||
/>
|
||||
<field
|
||||
name="analytic_tag_ids"
|
||||
widget="many2many_tags"
|
||||
groups="analytic.group_analytic_tags"
|
||||
/>
|
||||
<field name="quantity" />
|
||||
<field name="uom_id" />
|
||||
<field
|
||||
name="automatic_price"
|
||||
attrs="{'column_invisible': [('parent.contract_type', '=', 'purchase')]}"
|
||||
/>
|
||||
<field
|
||||
name="price_unit"
|
||||
attrs="{'readonly': [('automatic_price', '=', True)]}"
|
||||
/>
|
||||
<field name="specific_price" invisible="1" />
|
||||
<field name="discount" groups="base.group_no_one" />
|
||||
<field name="price_subtotal" />
|
||||
<field name="recurring_interval" invisible="1" />
|
||||
<field name="recurring_rule_type" invisible="1" />
|
||||
<field
|
||||
name="recurring_invoicing_type"
|
||||
invisible="1"
|
||||
/>
|
||||
<field name="date_start" required="1" />
|
||||
<field name="date_end" />
|
||||
<field name="recurring_next_date" required="1" />
|
||||
<field
|
||||
name="last_date_invoiced"
|
||||
groups="base.group_no_one"
|
||||
/>
|
||||
<field
|
||||
name="create_invoice_visibility"
|
||||
invisible="1"
|
||||
/>
|
||||
<field
|
||||
name="is_plan_successor_allowed"
|
||||
invisible="1"
|
||||
/>
|
||||
<field
|
||||
name="is_stop_plan_successor_allowed"
|
||||
invisible="1"
|
||||
/>
|
||||
<field name="is_stop_allowed" invisible="1" />
|
||||
<field name="is_cancel_allowed" invisible="1" />
|
||||
<field name="is_un_cancel_allowed" invisible="1" />
|
||||
<field name="is_auto_renew" invisible="1" />
|
||||
<field name="is_canceled" invisible="1" />
|
||||
<button
|
||||
name="action_plan_successor"
|
||||
string="Plan Start"
|
||||
type="object"
|
||||
icon="fa-calendar text-success"
|
||||
attrs="{'invisible': [('is_plan_successor_allowed', '=', False)]}"
|
||||
/>
|
||||
<button
|
||||
name="action_stop_plan_successor"
|
||||
string="Stop Plan Successor"
|
||||
type="object"
|
||||
icon="fa-pause text-muted"
|
||||
attrs="{'invisible': [('is_stop_plan_successor_allowed', '=', False)]}"
|
||||
/>
|
||||
<button
|
||||
name="action_stop"
|
||||
string="Stop"
|
||||
type="object"
|
||||
icon="fa-stop text-danger"
|
||||
attrs="{'invisible': [('is_stop_allowed', '=', False)]}"
|
||||
/>
|
||||
<button
|
||||
name="cancel"
|
||||
string="Cancel"
|
||||
type="object"
|
||||
icon="fa-ban text-danger"
|
||||
confirm="Are you sure you want to cancel this line"
|
||||
attrs="{'invisible': [('is_cancel_allowed', '=', False)]}"
|
||||
/>
|
||||
<button
|
||||
name="action_uncancel"
|
||||
string="Un-cancel"
|
||||
type="object"
|
||||
icon="fa-ban text-success"
|
||||
attrs="{'invisible': [('is_un_cancel_allowed', '=', False)]}"
|
||||
/>
|
||||
<button
|
||||
name="renew"
|
||||
string="Renew"
|
||||
type="object"
|
||||
icon="fa-fast-forward text-success"
|
||||
groups="base.group_no_one"
|
||||
attrs="{'invisible': [('is_auto_renew', '=', False)]}"
|
||||
/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="note"/>
|
||||
<field name="note" />
|
||||
</page>
|
||||
<page name="info" string="Other Information">
|
||||
<field name="create_invoice_visibility"
|
||||
invisible="1"/>
|
||||
<field name="create_invoice_visibility" invisible="1" />
|
||||
<group>
|
||||
<field name="code" attrs="{'readonly': [('is_terminated','=',True)]}"/>
|
||||
<field name="group_id" attrs="{'readonly': [('is_terminated','=',True)]}"/>
|
||||
<field name="company_id"
|
||||
<field
|
||||
name="code"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
/>
|
||||
<field
|
||||
name="group_id"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
/>
|
||||
<field
|
||||
name="company_id"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
options="{'no_create': True}"
|
||||
groups="base.group_multi_company"/>
|
||||
<field name="currency_id"
|
||||
groups="base.group_multi_company"
|
||||
/>
|
||||
<field
|
||||
name="currency_id"
|
||||
groups="base.group_multi_currency"
|
||||
/>
|
||||
<field
|
||||
name="invoice_partner_id"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
options="{'no_create': True}"
|
||||
groups="base.group_multi_currency"/>
|
||||
<field name="invoice_partner_id"
|
||||
attrs="{'readonly': [('is_terminated','=',True)]}"
|
||||
required="1"/>
|
||||
required="1"
|
||||
/>
|
||||
</group>
|
||||
<group string="Legend (for the markers inside invoice lines description)"
|
||||
name="group_legend">
|
||||
<group
|
||||
string="Legend (for the markers inside invoice lines description)"
|
||||
name="group_legend"
|
||||
>
|
||||
<p colspan="2">
|
||||
<strong>#START#</strong>
|
||||
: Start
|
||||
@@ -216,117 +331,131 @@
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
<field name="activity_ids" widget="mail_activity"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
<field name="message_follower_ids" widget="mail_followers" />
|
||||
<field name="activity_ids" widget="mail_activity" />
|
||||
<field name="message_ids" widget="mail_thread" />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--Customer FORM view-->
|
||||
<record id="contract_contract_customer_form_view" model="ir.ui.view">
|
||||
<field name="name">contract.contract customer form view (in contract)</field>
|
||||
<field name="model">contract.contract</field>
|
||||
<field name="inherit_id" ref="contract_contract_form_view"/>
|
||||
<field name="inherit_id" ref="contract_contract_form_view" />
|
||||
<field name="mode">primary</field>
|
||||
<field name="priority" eval="20"/>
|
||||
<field name="priority" eval="20" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_id" position="attributes">
|
||||
<attribute name="string">Customer</attribute>
|
||||
<attribute name="domain">[('customer', '=', True)]</attribute>
|
||||
<attribute name="context">{'default_customer': True, 'default_supplier': False}</attribute>
|
||||
<attribute
|
||||
name="context"
|
||||
>{'default_customer': True, 'default_supplier': False}</attribute>
|
||||
</field>
|
||||
<field name="journal_id" position="attributes">
|
||||
<attribute name="domain">[('type', '=', 'sale'),('company_id', '=', company_id)]</attribute>
|
||||
<attribute
|
||||
name="domain"
|
||||
>[('type', '=', 'sale'),('company_id', '=', company_id)]</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--Supplier FORM view-->
|
||||
<record id="contract_contract_supplier_form_view" model="ir.ui.view">
|
||||
<field name="name">contract.contract supplier form view (in contract)</field>
|
||||
<field name="model">contract.contract</field>
|
||||
<field name="inherit_id" ref="contract_contract_form_view"/>
|
||||
<field name="inherit_id" ref="contract_contract_form_view" />
|
||||
<field name="mode">primary</field>
|
||||
<field name="priority" eval="20"/>
|
||||
<field name="priority" eval="20" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_id" position="attributes">
|
||||
<attribute name="string">Supplier</attribute>
|
||||
<attribute name="domain">[('supplier', '=', True)]</attribute>
|
||||
<attribute name="context">{'default_customer': False, 'default_supplier': True}</attribute>
|
||||
<attribute
|
||||
name="context"
|
||||
>{'default_customer': False, 'default_supplier': True}</attribute>
|
||||
</field>
|
||||
<field name="journal_id" position="attributes">
|
||||
<attribute name="domain">[('type', '=', 'purchase'),('company_id', '=', company_id)]</attribute>
|
||||
<attribute
|
||||
name="domain"
|
||||
>[('type', '=', 'purchase'),('company_id', '=', company_id)]</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--TREE view-->
|
||||
<record id="contract_contract_tree_view" model="ir.ui.view">
|
||||
<field name="name">contract.contract tree view (in contract)</field>
|
||||
<field name="model">contract.contract</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name" string="Name"/>
|
||||
<field name="code"/>
|
||||
<field name="journal_id" groups="account.group_account_user"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="active" invisible="1"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="name" string="Name" />
|
||||
<field name="code" />
|
||||
<field name="journal_id" groups="account.group_account_user" />
|
||||
<field name="partner_id" />
|
||||
<field name="active" invisible="1" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--SEARCH view-->
|
||||
<record id="contract_contract_search_view" model="ir.ui.view">
|
||||
<field name="name">contract.contract search view (in contract)</field>
|
||||
<field name="model">contract.contract</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="name"
|
||||
filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]"/>
|
||||
<field name="journal_id"/>
|
||||
<field name="pricelist_id"/>
|
||||
<separator/>
|
||||
<separator/>
|
||||
<filter name="not_finished"
|
||||
<field
|
||||
name="name"
|
||||
filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]"
|
||||
/>
|
||||
<field name="journal_id" />
|
||||
<field name="pricelist_id" />
|
||||
<separator />
|
||||
<separator />
|
||||
<filter
|
||||
name="not_finished"
|
||||
string="In progress"
|
||||
domain="['|', ('date_end', '>=', context_today().strftime('%Y-%m-%d')), '&', ('date_end', '=', False), ('recurring_next_date', '!=', False)]"
|
||||
/>
|
||||
<filter name="finished"
|
||||
/>
|
||||
<filter
|
||||
name="finished"
|
||||
string="Finished"
|
||||
domain="[('date_end', '<', context_today().strftime('%Y-%m-%d')), ('recurring_next_date', '=', False)]"
|
||||
/>
|
||||
<field name="partner_id"/>
|
||||
<field name="commercial_partner_id"/>
|
||||
<filter string="Archived"
|
||||
/>
|
||||
<field name="partner_id" />
|
||||
<field name="commercial_partner_id" />
|
||||
<filter
|
||||
string="Archived"
|
||||
domain="[('active', '=', False)]"
|
||||
name="inactive"/>
|
||||
name="inactive"
|
||||
/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Associated Partner"
|
||||
<filter
|
||||
string="Associated Partner"
|
||||
name="group_by_partner"
|
||||
domain="[]"
|
||||
context="{'group_by':'partner_id'}"/>
|
||||
<filter name="commercial_partner_groupby"
|
||||
context="{'group_by':'partner_id'}"
|
||||
/>
|
||||
<filter
|
||||
name="commercial_partner_groupby"
|
||||
string="Commercial Entity"
|
||||
context="{'group_by': 'commercial_partner_id'}"/>
|
||||
<filter name="group_by_next_invoice"
|
||||
context="{'group_by': 'commercial_partner_id'}"
|
||||
/>
|
||||
<filter
|
||||
name="group_by_next_invoice"
|
||||
string="Next Invoice"
|
||||
domain="[('recurring_next_date', '!=', False)]"
|
||||
context="{'group_by':'recurring_next_date'}"
|
||||
/>
|
||||
<filter name="group_by_date_end"
|
||||
/>
|
||||
<filter
|
||||
name="group_by_date_end"
|
||||
string="Date End"
|
||||
domain="[]"
|
||||
context="{'group_by':'date_end'}"
|
||||
/>
|
||||
/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--ACTION customer contracts-->
|
||||
<record id="action_customer_contract" model="ir.actions.act_window">
|
||||
<field name="name">Customer Contracts</field>
|
||||
@@ -339,34 +468,31 @@
|
||||
'search_default_not_finished':1,
|
||||
'default_contract_type': 'sale'}
|
||||
</field>
|
||||
<field name="search_view_id" ref="contract_contract_search_view"/>
|
||||
<field name="search_view_id" ref="contract_contract_search_view" />
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to create a new contract.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_customer_contract_view_tree" model="ir.actions.act_window.view">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="sequence" eval="1" />
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="contract_contract_tree_view"/>
|
||||
<field name="act_window_id" ref="action_customer_contract"/>
|
||||
<field name="view_id" ref="contract_contract_tree_view" />
|
||||
<field name="act_window_id" ref="action_customer_contract" />
|
||||
</record>
|
||||
|
||||
<record id="action_customer_contract_view_form" model="ir.actions.act_window.view">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="sequence" eval="2" />
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="contract_contract_customer_form_view"/>
|
||||
<field name="act_window_id" ref="action_customer_contract"/>
|
||||
<field name="view_id" ref="contract_contract_customer_form_view" />
|
||||
<field name="act_window_id" ref="action_customer_contract" />
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_contract_contract_customer"
|
||||
<menuitem
|
||||
id="menu_contract_contract_customer"
|
||||
parent="account.menu_finance_receivables"
|
||||
action="action_customer_contract"
|
||||
sequence="99"
|
||||
/>
|
||||
|
||||
/>
|
||||
<!--ACTION supplier contracts-->
|
||||
<record id="action_supplier_contract" model="ir.actions.act_window">
|
||||
<field name="name">Supplier Contracts</field>
|
||||
@@ -379,32 +505,29 @@
|
||||
'search_default_not_finished':1,
|
||||
'default_contract_type': 'purchase'}
|
||||
</field>
|
||||
<field name="search_view_id" ref="contract_contract_search_view"/>
|
||||
<field name="search_view_id" ref="contract_contract_search_view" />
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to create a new contract.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_supplier_contract_view_tree" model="ir.actions.act_window.view">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="sequence" eval="1" />
|
||||
<field name="view_mode">tree</field>
|
||||
<field name="view_id" ref="contract_contract_tree_view"/>
|
||||
<field name="act_window_id" ref="action_supplier_contract"/>
|
||||
<field name="view_id" ref="contract_contract_tree_view" />
|
||||
<field name="act_window_id" ref="action_supplier_contract" />
|
||||
</record>
|
||||
|
||||
<record id="action_supplier_contract_view_form" model="ir.actions.act_window.view">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="sequence" eval="2" />
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="contract_contract_supplier_form_view"/>
|
||||
<field name="act_window_id" ref="action_supplier_contract"/>
|
||||
<field name="view_id" ref="contract_contract_supplier_form_view" />
|
||||
<field name="act_window_id" ref="action_supplier_contract" />
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_contract_contract_supplier"
|
||||
<menuitem
|
||||
id="menu_contract_contract_supplier"
|
||||
parent="account.menu_finance_payables"
|
||||
action="action_supplier_contract"
|
||||
sequence="99"
|
||||
/>
|
||||
|
||||
/>
|
||||
</odoo>
|
||||
|
||||
@@ -1,74 +1,82 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
|
||||
<!--FORM view-->
|
||||
<record id="contract_line_form_view" model="ir.ui.view">
|
||||
<field name="name">contract.line form view (in contract)</field>
|
||||
<field name="model">contract.line</field>
|
||||
<field name="inherit_id" ref="contract_abstract_contract_line_form_view"/>
|
||||
<field name="inherit_id" ref="contract_abstract_contract_line_form_view" />
|
||||
<field name="mode">primary</field>
|
||||
<field name="arch" type="xml">
|
||||
<header position="inside">
|
||||
<field name="state" widget="statusbar"/>
|
||||
<field name="state" widget="statusbar" />
|
||||
</header>
|
||||
<group name="recurrence_info" position="inside">
|
||||
<group>
|
||||
<field name="create_invoice_visibility" invisible="1"/>
|
||||
<field name="date_start" required="1"/>
|
||||
<field name="next_period_date_start"/>
|
||||
<field name="recurring_next_date"/>
|
||||
<field name="create_invoice_visibility" invisible="1" />
|
||||
<field name="date_start" required="1" />
|
||||
<field name="next_period_date_start" />
|
||||
<field name="recurring_next_date" />
|
||||
</group>
|
||||
<group>
|
||||
<field name="date_end"
|
||||
attrs="{'required': [('is_auto_renew', '=', True)]}"/>
|
||||
<field name="next_period_date_end"/>
|
||||
<field
|
||||
name="date_end"
|
||||
attrs="{'required': [('is_auto_renew', '=', True)]}"
|
||||
/>
|
||||
<field name="next_period_date_end" />
|
||||
</group>
|
||||
<group groups="base.group_no_one">
|
||||
<field name="last_date_invoiced" readonly="True"/>
|
||||
<field name="termination_notice_date" readonly="True"/>
|
||||
<field name="last_date_invoiced" readonly="True" />
|
||||
<field name="termination_notice_date" readonly="True" />
|
||||
</group>
|
||||
<group>
|
||||
<field name="manual_renew_needed"/>
|
||||
<field name="manual_renew_needed" />
|
||||
</group>
|
||||
<group>
|
||||
<field name="predecessor_contract_line_id"/>
|
||||
<field name="predecessor_contract_line_id" />
|
||||
</group>
|
||||
<group>
|
||||
<field name="successor_contract_line_id"/>
|
||||
<field name="successor_contract_line_id" />
|
||||
</group>
|
||||
</group>
|
||||
<group name="recurrence_info" position="after">
|
||||
<group name="analytic"
|
||||
groups="analytic.group_analytic_accounting,analytic.group_analytic_tags"
|
||||
attrs="{'invisible': [('display_type', '!=', False)]}">
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="analytic_tag_ids" widget="many2many_tags" groups="analytic.group_analytic_tags"/>
|
||||
<group
|
||||
name="analytic"
|
||||
groups="analytic.group_analytic_accounting,analytic.group_analytic_tags"
|
||||
attrs="{'invisible': [('display_type', '!=', False)]}"
|
||||
>
|
||||
<field
|
||||
name="analytic_account_id"
|
||||
groups="analytic.group_analytic_accounting"
|
||||
/>
|
||||
<field
|
||||
name="analytic_tag_ids"
|
||||
widget="many2many_tags"
|
||||
groups="analytic.group_analytic_tags"
|
||||
/>
|
||||
</group>
|
||||
</group>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--Customer FORM view-->
|
||||
<record id="contract_line_customer_form_view" model="ir.ui.view">
|
||||
<field name="name">contract.line customer form view (in contract)</field>
|
||||
<field name="model">contract.line</field>
|
||||
<field name="inherit_id" ref="contract_line_form_view"/>
|
||||
<field name="inherit_id" ref="contract_line_form_view" />
|
||||
<field name="mode">primary</field>
|
||||
<field name="priority" eval="20"/>
|
||||
<field name="priority" eval="20" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="product_id" position="attributes">
|
||||
<attribute name="domain">[('sale_ok', '=', True)]</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--Supplier FORM view-->
|
||||
<record id="contract_line_supplier_form_view" model="ir.ui.view">
|
||||
<field name="name">contract.line supplier form view (in contract)</field>
|
||||
<field name="model">contract.line</field>
|
||||
<field name="inherit_id" ref="contract_line_form_view"/>
|
||||
<field name="inherit_id" ref="contract_line_form_view" />
|
||||
<field name="mode">primary</field>
|
||||
<field name="priority" eval="20"/>
|
||||
<field name="priority" eval="20" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="product_id" position="attributes">
|
||||
<attribute name="domain">[('purchase_ok', '=', True)]</attribute>
|
||||
@@ -78,99 +86,111 @@
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- TODO: Delete this view in migration to v13 or further migrations -->
|
||||
<!--TREE view-->
|
||||
<record id="contract_line_tree_view" model="ir.ui.view">
|
||||
<field name="name">contract.line tree view (in contract)</field>
|
||||
<field name="model">contract.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree decoration-muted="is_canceled"
|
||||
decoration-info="create_invoice_visibility and not is_canceled">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="product_id"/>
|
||||
<field name="name"/>
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="analytic_tag_ids" widget="many2many_tags" groups="analytic.group_analytic_tags"/>
|
||||
<field name="quantity"/>
|
||||
<field name="uom_id"/>
|
||||
<field name="automatic_price"/>
|
||||
<field name="price_unit"
|
||||
attrs="{'readonly': [('automatic_price', '=', True)]}"/>
|
||||
<field name="specific_price"
|
||||
invisible="1"/>
|
||||
<field name="discount"
|
||||
groups="base.group_no_one"/>
|
||||
<field name="price_subtotal"/>
|
||||
<field name="recurring_interval"
|
||||
invisible="1"/>
|
||||
<field name="recurring_rule_type"
|
||||
invisible="1"/>
|
||||
<field name="recurring_invoicing_type"
|
||||
invisible="1"/>
|
||||
<field name="date_start" required="1"/>
|
||||
<field name="date_end"/>
|
||||
<field name="recurring_next_date"
|
||||
required="1"/>
|
||||
<field name="last_date_invoiced"
|
||||
groups="base.group_no_one"/>
|
||||
<field name="create_invoice_visibility"
|
||||
invisible="1"/>
|
||||
<field name="is_plan_successor_allowed"
|
||||
invisible="1"/>
|
||||
<field name="is_stop_plan_successor_allowed"
|
||||
invisible="1"/>
|
||||
<field name="is_stop_allowed"
|
||||
invisible="1"/>
|
||||
<field name="is_cancel_allowed"
|
||||
invisible="1"/>
|
||||
<field name="is_un_cancel_allowed"
|
||||
invisible="1"/>
|
||||
<field name="is_auto_renew" invisible="1"/>
|
||||
<field name="is_canceled" invisible="1"/>
|
||||
<button name="action_plan_successor"
|
||||
string="Plan Start" type="object"
|
||||
icon="fa-calendar text-success"
|
||||
attrs="{'invisible': [('is_plan_successor_allowed', '=', False)]}"/>
|
||||
<button name="action_stop_plan_successor"
|
||||
string="Stop Plan Successor"
|
||||
type="object"
|
||||
icon="fa-pause text-muted"
|
||||
attrs="{'invisible': [('is_stop_plan_successor_allowed', '=', False)]}"/>
|
||||
<button name="action_stop" string="Stop"
|
||||
type="object"
|
||||
icon="fa-stop text-danger"
|
||||
attrs="{'invisible': [('is_stop_allowed', '=', False)]}"/>
|
||||
<button name="cancel" string="Cancel"
|
||||
type="object"
|
||||
icon="fa-ban text-danger"
|
||||
confirm="Are you sure you want to cancel this line"
|
||||
attrs="{'invisible': [('is_cancel_allowed', '=', False)]}"/>
|
||||
<button name="action_uncancel"
|
||||
string="Un-cancel" type="object"
|
||||
icon="fa-ban text-success"
|
||||
attrs="{'invisible': [('is_un_cancel_allowed', '=', False)]}"/>
|
||||
<button name="renew" string="Renew"
|
||||
type="object"
|
||||
icon="fa-fast-forward text-success"
|
||||
groups="base.group_no_one"
|
||||
attrs="{'invisible': [('is_auto_renew', '=', False)]}"/>
|
||||
<tree
|
||||
decoration-muted="is_canceled"
|
||||
decoration-info="create_invoice_visibility and not is_canceled"
|
||||
>
|
||||
<field name="sequence" widget="handle" />
|
||||
<field name="product_id" />
|
||||
<field name="name" />
|
||||
<field
|
||||
name="analytic_account_id"
|
||||
groups="analytic.group_analytic_accounting"
|
||||
/>
|
||||
<field
|
||||
name="analytic_tag_ids"
|
||||
widget="many2many_tags"
|
||||
groups="analytic.group_analytic_tags"
|
||||
/>
|
||||
<field name="quantity" />
|
||||
<field name="uom_id" />
|
||||
<field name="automatic_price" />
|
||||
<field
|
||||
name="price_unit"
|
||||
attrs="{'readonly': [('automatic_price', '=', True)]}"
|
||||
/>
|
||||
<field name="specific_price" invisible="1" />
|
||||
<field name="discount" groups="base.group_no_one" />
|
||||
<field name="price_subtotal" />
|
||||
<field name="recurring_interval" invisible="1" />
|
||||
<field name="recurring_rule_type" invisible="1" />
|
||||
<field name="recurring_invoicing_type" invisible="1" />
|
||||
<field name="date_start" required="1" />
|
||||
<field name="date_end" />
|
||||
<field name="recurring_next_date" required="1" />
|
||||
<field name="last_date_invoiced" groups="base.group_no_one" />
|
||||
<field name="create_invoice_visibility" invisible="1" />
|
||||
<field name="is_plan_successor_allowed" invisible="1" />
|
||||
<field name="is_stop_plan_successor_allowed" invisible="1" />
|
||||
<field name="is_stop_allowed" invisible="1" />
|
||||
<field name="is_cancel_allowed" invisible="1" />
|
||||
<field name="is_un_cancel_allowed" invisible="1" />
|
||||
<field name="is_auto_renew" invisible="1" />
|
||||
<field name="is_canceled" invisible="1" />
|
||||
<button
|
||||
name="action_plan_successor"
|
||||
string="Plan Start"
|
||||
type="object"
|
||||
icon="fa-calendar text-success"
|
||||
attrs="{'invisible': [('is_plan_successor_allowed', '=', False)]}"
|
||||
/>
|
||||
<button
|
||||
name="action_stop_plan_successor"
|
||||
string="Stop Plan Successor"
|
||||
type="object"
|
||||
icon="fa-pause text-muted"
|
||||
attrs="{'invisible': [('is_stop_plan_successor_allowed', '=', False)]}"
|
||||
/>
|
||||
<button
|
||||
name="action_stop"
|
||||
string="Stop"
|
||||
type="object"
|
||||
icon="fa-stop text-danger"
|
||||
attrs="{'invisible': [('is_stop_allowed', '=', False)]}"
|
||||
/>
|
||||
<button
|
||||
name="cancel"
|
||||
string="Cancel"
|
||||
type="object"
|
||||
icon="fa-ban text-danger"
|
||||
confirm="Are you sure you want to cancel this line"
|
||||
attrs="{'invisible': [('is_cancel_allowed', '=', False)]}"
|
||||
/>
|
||||
<button
|
||||
name="action_uncancel"
|
||||
string="Un-cancel"
|
||||
type="object"
|
||||
icon="fa-ban text-success"
|
||||
attrs="{'invisible': [('is_un_cancel_allowed', '=', False)]}"
|
||||
/>
|
||||
<button
|
||||
name="renew"
|
||||
string="Renew"
|
||||
type="object"
|
||||
icon="fa-fast-forward text-success"
|
||||
groups="base.group_no_one"
|
||||
attrs="{'invisible': [('is_auto_renew', '=', False)]}"
|
||||
/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--Supplier TREE view-->
|
||||
<record id="contract_line_supplier_tree_view" model="ir.ui.view">
|
||||
<field name="name">contract.line supplier tree view (in contract)</field>
|
||||
<field name="model">contract.line</field>
|
||||
<field name="mode">primary</field>
|
||||
<field name="priority" eval="20"/>
|
||||
<field name="inherit_id" ref="contract_line_tree_view"/>
|
||||
<field name="priority" eval="20" />
|
||||
<field name="inherit_id" ref="contract_line_tree_view" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="automatic_price" position="attributes">
|
||||
<attribute name="invisible">True</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,45 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2020 ACSONE SA/NV
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
|
||||
<odoo>
|
||||
|
||||
<record id="contract_tag_form_view" model="ir.ui.view">
|
||||
<field name="model">contract.tag</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="company_id" options="{'no_create': True}"
|
||||
groups="base.group_multi_company"/>
|
||||
<field name="name" />
|
||||
<field
|
||||
name="company_id"
|
||||
options="{'no_create': True}"
|
||||
groups="base.group_multi_company"
|
||||
/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="contract_tag_tree_view">
|
||||
<field name="model">contract.tag</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="company_id" options="{'no_create': True}"
|
||||
groups="base.group_multi_company"/>
|
||||
<field name="name" />
|
||||
<field
|
||||
name="company_id"
|
||||
options="{'no_create': True}"
|
||||
groups="base.group_multi_company"
|
||||
/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="contract_tag_act_window">
|
||||
<field name="name">Contract Tags</field>
|
||||
<field name="res_model">contract.tag</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.menu" id="contract_tag_menu">
|
||||
<field name="name">Contract Tag</field>
|
||||
<field name="parent_id" ref="menu_config_contract"/>
|
||||
<field name="action" ref="contract_tag_act_window"/>
|
||||
<field name="sequence" eval="16"/>
|
||||
<field name="parent_id" ref="menu_config_contract" />
|
||||
<field name="action" ref="contract_tag_act_window" />
|
||||
<field name="sequence" eval="16" />
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
|
||||
<!--FORM view-->
|
||||
<record id="contract_template_form_view" model="ir.ui.view">
|
||||
<field name="name">contract.template form view (in contract)</field>
|
||||
@@ -8,53 +7,71 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Contract Template">
|
||||
<group name="name">
|
||||
<field name="name"/>
|
||||
<field name="name" />
|
||||
</group>
|
||||
<group name="group_main">
|
||||
<group name="group_main_left">
|
||||
<field name="contract_type" />
|
||||
<field name="journal_id" />
|
||||
<field name="pricelist_id" />
|
||||
<field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/>
|
||||
<field
|
||||
name="company_id"
|
||||
options="{'no_create': True}"
|
||||
groups="base.group_multi_company"
|
||||
/>
|
||||
</group>
|
||||
</group>
|
||||
<group name="group_invoice_lines" string="Contract Template Lines">
|
||||
<field name="contract_line_ids"
|
||||
widget="section_and_note_one2many"
|
||||
nolabel="1">
|
||||
<field
|
||||
name="contract_line_ids"
|
||||
widget="section_and_note_one2many"
|
||||
nolabel="1"
|
||||
>
|
||||
<tree>
|
||||
<control>
|
||||
<create string="Add a line"/>
|
||||
<create string="Add a section" context="{'default_display_type': 'line_section'}"/>
|
||||
<create string="Add a note" context="{'default_display_type': 'line_note'}"/>
|
||||
<create string="Add a line" />
|
||||
<create
|
||||
string="Add a section"
|
||||
context="{'default_display_type': 'line_section'}"
|
||||
/>
|
||||
<create
|
||||
string="Add a note"
|
||||
context="{'default_display_type': 'line_note'}"
|
||||
/>
|
||||
</control>
|
||||
<field name="display_type" invisible="1"/>
|
||||
<field name="display_type" invisible="1" />
|
||||
<field name="sequence" widget="handle" />
|
||||
<field name="product_id" />
|
||||
<field name="name" widget="section_and_note_text"/>
|
||||
<field name="name" widget="section_and_note_text" />
|
||||
<field name="quantity" />
|
||||
<field name="uom_id" />
|
||||
<field name="automatic_price" attrs="{'column_invisible': [('parent.contract_type','=','purchase')]}"/>
|
||||
<field name="price_unit" attrs="{'readonly': [('automatic_price', '=', True)]}"/>
|
||||
<field name="specific_price" invisible="1"/>
|
||||
<field
|
||||
name="automatic_price"
|
||||
attrs="{'column_invisible': [('parent.contract_type','=','purchase')]}"
|
||||
/>
|
||||
<field
|
||||
name="price_unit"
|
||||
attrs="{'readonly': [('automatic_price', '=', True)]}"
|
||||
/>
|
||||
<field name="specific_price" invisible="1" />
|
||||
<field name="discount" groups="base.group_no_one" />
|
||||
<field name="price_subtotal" />
|
||||
<field name="recurring_rule_type" invisible="1"/>
|
||||
<field name="recurring_interval" invisible="1"/>
|
||||
<field name="recurring_invoicing_type" invisible="1"/>
|
||||
<field name="recurring_rule_type" invisible="1" />
|
||||
<field name="recurring_interval" invisible="1" />
|
||||
<field name="recurring_invoicing_type" invisible="1" />
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group name="group_legend"
|
||||
string="Legend (for the markers inside invoice lines description)"
|
||||
>
|
||||
<group
|
||||
name="group_legend"
|
||||
string="Legend (for the markers inside invoice lines description)"
|
||||
>
|
||||
<p> <strong>#START#</strong>: Start date of the invoiced period</p>
|
||||
<p> <strong>#END#</strong>: End date of the invoiced period</p>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--TREE view-->
|
||||
<record id="contract_template_tree_view" model="ir.ui.view">
|
||||
<field name="name">contract.template tree view (in contract)</field>
|
||||
@@ -67,7 +84,6 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--SEARCH view-->
|
||||
<record id="contract_template_search_view" model="ir.ui.view">
|
||||
<field name="name">contract.template search view (in contract)</field>
|
||||
@@ -78,40 +94,41 @@
|
||||
<field name="contract_type" />
|
||||
<field name="pricelist_id" />
|
||||
<field name="journal_id" />
|
||||
<filter name="contract_type"
|
||||
string="Contract Type"
|
||||
context="{'group_by': 'contract_type'}"
|
||||
/>
|
||||
<filter name="pricelist_id"
|
||||
string="Pricelist"
|
||||
context="{'group_by': 'pricelist_id'}"
|
||||
/>
|
||||
<filter name="journal_id"
|
||||
string="Journal"
|
||||
context="{'group_by': 'journal_id'}"
|
||||
/>
|
||||
<filter
|
||||
name="contract_type"
|
||||
string="Contract Type"
|
||||
context="{'group_by': 'contract_type'}"
|
||||
/>
|
||||
<filter
|
||||
name="pricelist_id"
|
||||
string="Pricelist"
|
||||
context="{'group_by': 'pricelist_id'}"
|
||||
/>
|
||||
<filter
|
||||
name="journal_id"
|
||||
string="Journal"
|
||||
context="{'group_by': 'journal_id'}"
|
||||
/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--ACTION-->
|
||||
<record id="contract_template_action" model="ir.actions.act_window">
|
||||
<field name="name">Contract Templates</field>
|
||||
<field name="res_model">contract.template</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="contract_template_search_view"/>
|
||||
<field name="search_view_id" ref="contract_template_search_view" />
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to create a new contract template.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="contract_template_menu"
|
||||
parent="menu_config_contract"
|
||||
action="contract_template_action"
|
||||
sequence="1"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="contract_template_menu"
|
||||
parent="menu_config_contract"
|
||||
action="contract_template_action"
|
||||
sequence="1"
|
||||
/>
|
||||
</odoo>
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
|
||||
<!--FORM view-->
|
||||
<record id="contract_template_line_form_view" model="ir.ui.view">
|
||||
<field name="name">contract.template.line form view (in contract)</field>
|
||||
<field name="model">contract.template.line</field>
|
||||
<field name="inherit_id" ref="contract_abstract_contract_line_form_view"/>
|
||||
<field name="inherit_id" ref="contract_abstract_contract_line_form_view" />
|
||||
<field name="mode">primary</field>
|
||||
<field name="arch" type="xml">
|
||||
<form position="attributes">
|
||||
@@ -13,5 +12,4 @@
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,45 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2020 ACSONE SA/NV
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
|
||||
<odoo>
|
||||
|
||||
<record model="ir.ui.view" id="contract_terminate_reason_form_view">
|
||||
<field name="model">contract.terminate.reason</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="terminate_comment_required"/>
|
||||
<field name="name" />
|
||||
<field name="terminate_comment_required" />
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record model="ir.ui.view" id="contract_terminate_reason_tree_view">
|
||||
<field name="model">contract.terminate.reason</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="terminate_comment_required"/>
|
||||
<field name="name" />
|
||||
<field name="terminate_comment_required" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="contract_terminate_reason_act_window">
|
||||
<field name="name">Contract Termination Reason</field>
|
||||
<field name="res_model">contract.terminate.reason</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.menu" id="contract_terminate_reason_menu">
|
||||
<field name="name">Contract Termination Reason</field>
|
||||
<field name="parent_id" ref="menu_config_contract"/>
|
||||
<field name="action" ref="contract_terminate_reason_act_window"/>
|
||||
<field name="sequence" eval="16"/>
|
||||
<field name="parent_id" ref="menu_config_contract" />
|
||||
<field name="action" ref="contract_terminate_reason_act_window" />
|
||||
<field name="sequence" eval="16" />
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,28 +1,24 @@
|
||||
<?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="model">res.config.settings</field>
|
||||
<field name="inherit_id" ref="account.res_config_settings_view_form"/>
|
||||
<field name="inherit_id" ref="account.res_config_settings_view_form" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@data-key='account']" position="inside">
|
||||
<h2>Contract</h2>
|
||||
<div class="row mt16 o_settings_container">
|
||||
<div class="col-12 col-lg-6 o_setting_box">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="create_new_line_at_contract_line_renew"/>
|
||||
<field name="create_new_line_at_contract_line_renew" />
|
||||
</div>
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="create_new_line_at_contract_line_renew"/>
|
||||
<label for="create_new_line_at_contract_line_renew" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
</odoo>
|
||||
|
||||
@@ -1,36 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2017 Carlos Dauden <carlos.dauden@tecnativa.com>
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
|
||||
<record id="view_partner_form" model="ir.ui.view">
|
||||
<field name="inherit_id" ref="base.view_partner_form" />
|
||||
<field name="model">res.partner</field>
|
||||
<field name="groups_id" eval="[(4, ref('account.group_account_invoice'))]"/>
|
||||
<field name="groups_id" eval="[(4, ref('account.group_account_invoice'))]" />
|
||||
<field type="xml" name="arch">
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button name="act_show_contract" type="object" class="oe_stat_button"
|
||||
icon="fa-book" context="{'default_contract_type': 'sale', 'contract_type': 'sale'}"
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button
|
||||
name="act_show_contract"
|
||||
type="object"
|
||||
class="oe_stat_button"
|
||||
icon="fa-book"
|
||||
context="{'default_contract_type': 'sale', 'contract_type': 'sale'}"
|
||||
attrs="{'invisible': [('customer','=',False)]}"
|
||||
help="Show the sale contracts for this partner">
|
||||
<field name="sale_contract_count" widget="statinfo" string="Sale Contracts"/>
|
||||
</button>
|
||||
<button name="act_show_contract" type="object" class="oe_stat_button"
|
||||
icon="fa-book" context="{'default_contract_type': 'purchase', 'contract_type': 'purchase'}"
|
||||
help="Show the sale contracts for this partner"
|
||||
>
|
||||
<field
|
||||
name="sale_contract_count"
|
||||
widget="statinfo"
|
||||
string="Sale Contracts"
|
||||
/>
|
||||
</button>
|
||||
<button
|
||||
name="act_show_contract"
|
||||
type="object"
|
||||
class="oe_stat_button"
|
||||
icon="fa-book"
|
||||
context="{'default_contract_type': 'purchase', 'contract_type': 'purchase'}"
|
||||
attrs="{'invisible': [('supplier','=',False)]}"
|
||||
help="Show the purchase contracts for this partner">
|
||||
<field name="purchase_contract_count" widget="statinfo" string="Purchase Contracts"/>
|
||||
</button>
|
||||
</xpath>
|
||||
help="Show the purchase contracts for this partner"
|
||||
>
|
||||
<field
|
||||
name="purchase_contract_count"
|
||||
widget="statinfo"
|
||||
string="Purchase Contracts"
|
||||
/>
|
||||
</button>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_res_partner_filter" model="ir.ui.view">
|
||||
<field name="inherit_id" ref="base.view_res_partner_filter" />
|
||||
<field name="model">res.partner</field>
|
||||
<field type="xml" name="arch">
|
||||
<filter name="inactive" position="after">
|
||||
<separator/>
|
||||
<separator />
|
||||
<filter
|
||||
name="filter_running_contract"
|
||||
string="With running contracts"
|
||||
@@ -39,5 +55,4 @@
|
||||
</filter>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user