mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[IMP] - Add ace-widget with python mode
This commit is contained in:
committed by
Víctor Martínez
parent
7ecea4c18f
commit
19770a2fa2
@@ -15,6 +15,9 @@
|
|||||||
],
|
],
|
||||||
'data': [
|
'data': [
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
|
'views/abstract_contract_view.xml',
|
||||||
|
'views/contract_line_formula.xml',
|
||||||
|
'views/contract_template_view.xml',
|
||||||
'views/contract_view.xml',
|
'views/contract_view.xml',
|
||||||
],
|
],
|
||||||
'installable': True,
|
'installable': True,
|
||||||
|
|||||||
28
contract_variable_quantity/views/abstract_contract_view.xml
Normal file
28
contract_variable_quantity/views/abstract_contract_view.xml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
|
||||||
|
<record id="account_abstract_analytic_contract_line_view_form"
|
||||||
|
model="ir.ui.view">
|
||||||
|
<field name="name">Account Abstract Analytic Contract Line Form View
|
||||||
|
</field>
|
||||||
|
<field name="model">account.abstract.analytic.contract.line</field>
|
||||||
|
<field name="inherit_id"
|
||||||
|
ref="contract.account_abstract_analytic_contract_line_view_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[@name='quantity']" position="before">
|
||||||
|
<field name="qty_type"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='quantity']" position="after">
|
||||||
|
<field name="qty_formula_id"
|
||||||
|
attrs="{'required': [('qty_type', '=', 'variable')], 'invisible': [('qty_type', '!=', 'variable')]}"
|
||||||
|
/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='quantity']" position="attributes">
|
||||||
|
<attribute name="attrs">{'required': [('qty_type', '=',
|
||||||
|
'fixed')], 'invisible': [('qty_type', '!=', 'fixed')]}
|
||||||
|
</attribute>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</odoo>
|
||||||
87
contract_variable_quantity/views/contract_line_formula.xml
Normal file
87
contract_variable_quantity/views/contract_line_formula.xml
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
|
||||||
|
<record id="view_contract_line_qty_formula_tree" model="ir.ui.view">
|
||||||
|
<field name="model">contract.line.qty.formula</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<tree>
|
||||||
|
<field name="name"/>
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_contract_line_qty_formula_form" model="ir.ui.view">
|
||||||
|
<field name="model">contract.line.qty.formula</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<form>
|
||||||
|
<sheet>
|
||||||
|
<div class="oe_title">
|
||||||
|
<h1>
|
||||||
|
<field name="name" placeholder="Name"/>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<group string="Code">
|
||||||
|
<div style="margin-top: 4px;">
|
||||||
|
<field name="code" nolabel="1" widget="ace"
|
||||||
|
options="{'mode': 'python'}"/>
|
||||||
|
<h3>Help with Python expressions.</h3>
|
||||||
|
<p>You have to insert valid Python code block that
|
||||||
|
stores at some moment a float/integer value of
|
||||||
|
the quantity to invoice in the variable
|
||||||
|
'result'.
|
||||||
|
</p>
|
||||||
|
<p>You can use these variables to compute your
|
||||||
|
formula:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li><i>env</i>: Environment variable for
|
||||||
|
getting other models.
|
||||||
|
</li>
|
||||||
|
<li><i>context</i>: Current context dictionary.
|
||||||
|
</li>
|
||||||
|
<li><i>user</i>: Current user.
|
||||||
|
</li>
|
||||||
|
<li><i>line</i>: Contract recurring invoice
|
||||||
|
line that triggers this formula.
|
||||||
|
</li>
|
||||||
|
<li><i>contract</i>: Contract whose line
|
||||||
|
belongs to.
|
||||||
|
</li>
|
||||||
|
<li><i>invoice</i>: Invoice (header) being
|
||||||
|
created.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<div>
|
||||||
|
<p>Example of Python code</p>
|
||||||
|
<code>
|
||||||
|
result =
|
||||||
|
env['product.product'].search_count([('sale_ok',
|
||||||
|
'=', True)])
|
||||||
|
</code>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</group>
|
||||||
|
</sheet>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="action_contract_quantity_formula"
|
||||||
|
model="ir.actions.act_window">
|
||||||
|
<field name="name">Formulas (quantity)</field>
|
||||||
|
<field name="res_model">contract.line.qty.formula</field>
|
||||||
|
<field name="view_type">form</field>
|
||||||
|
<field name="view_mode">tree,form</field>
|
||||||
|
<field name="help" type="html">
|
||||||
|
<p class="oe_view_nocontent_create">
|
||||||
|
Click to create a new formula for variable quantities.
|
||||||
|
</p>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<menuitem id="menu_contract_quantity_formula"
|
||||||
|
action="action_contract_quantity_formula"
|
||||||
|
parent="contract.menu_config_contract"
|
||||||
|
/>
|
||||||
|
|
||||||
|
</odoo>
|
||||||
23
contract_variable_quantity/views/contract_template_view.xml
Normal file
23
contract_variable_quantity/views/contract_template_view.xml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
|
||||||
|
<record id="account_analytic_contract_view_form" model="ir.ui.view">
|
||||||
|
<field name="name">Contract Template Variable Qty</field>
|
||||||
|
<field name="model">account.analytic.contract</field>
|
||||||
|
<field name="inherit_id" ref="contract.account_analytic_contract_view_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="before">
|
||||||
|
<field name="qty_type"/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="after">
|
||||||
|
<field name="qty_formula_id"
|
||||||
|
attrs="{'required': [('qty_type', '=', 'variable')], 'invisible': [('qty_type', '!=', 'variable')]}"
|
||||||
|
/>
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="attributes">
|
||||||
|
<attribute name="attrs">{'required': [('qty_type', '=', 'fixed')], 'invisible': [('qty_type', '!=', 'fixed')]}</attribute>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</odoo>
|
||||||
@@ -1,25 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<odoo>
|
<odoo>
|
||||||
|
|
||||||
<record id="account_analytic_contract_view_form" model="ir.ui.view">
|
|
||||||
<field name="name">Contract Template Variable Qty</field>
|
|
||||||
<field name="model">account.analytic.contract</field>
|
|
||||||
<field name="inherit_id" ref="contract.account_analytic_contract_view_form"/>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="before">
|
|
||||||
<field name="qty_type"/>
|
|
||||||
</xpath>
|
|
||||||
<xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="after">
|
|
||||||
<field name="qty_formula_id"
|
|
||||||
attrs="{'required': [('qty_type', '=', 'variable')], 'invisible': [('qty_type', '!=', 'variable')]}"
|
|
||||||
/>
|
|
||||||
</xpath>
|
|
||||||
<xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="attributes">
|
|
||||||
<attribute name="attrs">{'required': [('qty_type', '=', 'fixed')], 'invisible': [('qty_type', '!=', 'fixed')]}</attribute>
|
|
||||||
</xpath>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="account_analytic_account_recurring_form_form" model="ir.ui.view">
|
<record id="account_analytic_account_recurring_form_form" model="ir.ui.view">
|
||||||
<field name="model">account.analytic.account</field>
|
<field name="model">account.analytic.account</field>
|
||||||
<field name="inherit_id" ref="contract.account_analytic_account_recurring_form_form"/>
|
<field name="inherit_id" ref="contract.account_analytic_account_recurring_form_form"/>
|
||||||
@@ -41,67 +22,4 @@
|
|||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="view_contract_line_qty_formula_tree" model="ir.ui.view">
|
|
||||||
<field name="model">contract.line.qty.formula</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<tree>
|
|
||||||
<field name="name"/>
|
|
||||||
</tree>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="view_contract_line_qty_formula_form" model="ir.ui.view">
|
|
||||||
<field name="model">contract.line.qty.formula</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<form >
|
|
||||||
<sheet>
|
|
||||||
<div class="oe_title">
|
|
||||||
<h1>
|
|
||||||
<field name="name" placeholder="Name"/>
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
<group string="Code">
|
|
||||||
<div style="margin-top: 4px;">
|
|
||||||
<field name="code" nolabel="1"/>
|
|
||||||
<h3>Help with Python expressions.</h3>
|
|
||||||
<p>You have to insert valid Python code block that stores at some moment a float/integer value of the quantity to invoice in the variable 'result'.</p>
|
|
||||||
<p>You can use these variables to compute your formula:</p>
|
|
||||||
<ul>
|
|
||||||
<li><i>env</i>: Environment variable for getting other models.</li>
|
|
||||||
<li><i>context</i>: Current context dictionary.</li>
|
|
||||||
<li><i>user</i>: Current user.</li>
|
|
||||||
<li><i>line</i>: Contract recurring invoice line that triggers this formula.</li>
|
|
||||||
<li><i>contract</i>: Contract whose line belongs to.</li>
|
|
||||||
<li><i>invoice</i>: Invoice (header) being created.</li>
|
|
||||||
</ul>
|
|
||||||
<div>
|
|
||||||
<p>Example of Python code</p>
|
|
||||||
<code>
|
|
||||||
result = env['product.product'].search_count([('sale_ok', '=', True)])
|
|
||||||
</code>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</group>
|
|
||||||
</sheet>
|
|
||||||
</form>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record id="action_contract_quantity_formula" model="ir.actions.act_window">
|
|
||||||
<field name="name">Formulas (quantity)</field>
|
|
||||||
<field name="res_model">contract.line.qty.formula</field>
|
|
||||||
<field name="view_type">form</field>
|
|
||||||
<field name="view_mode">tree,form</field>
|
|
||||||
<field name="help" type="html">
|
|
||||||
<p class="oe_view_nocontent_create">
|
|
||||||
Click to create a new formula for variable quantities.
|
|
||||||
</p>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<menuitem id="menu_contract_quantity_formula"
|
|
||||||
action="action_contract_quantity_formula"
|
|
||||||
parent="contract.menu_config_contract"
|
|
||||||
/>
|
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
Reference in New Issue
Block a user