You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
5.1 KiB

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <odoo>
  3. <record id="account_analytic_contract_view_form" model="ir.ui.view">
  4. <field name="name">Contract Template Variable Qty</field>
  5. <field name="model">account.analytic.contract</field>
  6. <field name="inherit_id" ref="contract.account_analytic_contract_view_form"/>
  7. <field name="arch" type="xml">
  8. <xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="before">
  9. <field name="qty_type"/>
  10. </xpath>
  11. <xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="after">
  12. <field name="qty_formula_id"
  13. attrs="{'required': [('qty_type', '=', 'variable')], 'invisible': [('qty_type', '!=', 'variable')]}"
  14. />
  15. </xpath>
  16. <xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="attributes">
  17. <attribute name="attrs">{'required': [('qty_type', '=', 'fixed')], 'invisible': [('qty_type', '!=', 'fixed')]}</attribute>
  18. </xpath>
  19. </field>
  20. </record>
  21. <record id="account_analytic_account_recurring_form_form" model="ir.ui.view">
  22. <field name="model">account.analytic.account</field>
  23. <field name="inherit_id" ref="contract.account_analytic_account_recurring_form_form"/>
  24. <field name="arch" type="xml">
  25. <xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="before">
  26. <field name="qty_type"/>
  27. </xpath>
  28. <xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="after">
  29. <field name="qty_formula_id"
  30. attrs="{'required': [('qty_type', '=', 'variable')], 'invisible': [('qty_type', '!=', 'variable')]}"
  31. />
  32. </xpath>
  33. <xpath expr="//field[@name='recurring_invoice_line_ids']//field[@name='quantity']" position="attributes">
  34. <attribute name="attrs">{'required': [('qty_type', '=', 'fixed')], 'invisible': [('qty_type', '!=', 'fixed')]}</attribute>
  35. </xpath>
  36. </field>
  37. </record>
  38. <record id="view_contract_line_qty_formula_tree" model="ir.ui.view">
  39. <field name="model">contract.line.qty.formula</field>
  40. <field name="arch" type="xml">
  41. <tree>
  42. <field name="name"/>
  43. </tree>
  44. </field>
  45. </record>
  46. <record id="view_contract_line_qty_formula_form" model="ir.ui.view">
  47. <field name="model">contract.line.qty.formula</field>
  48. <field name="arch" type="xml">
  49. <form >
  50. <sheet>
  51. <div class="oe_title">
  52. <h1>
  53. <field name="name" placeholder="Name"/>
  54. </h1>
  55. </div>
  56. <group string="Code">
  57. <div style="margin-top: 4px;">
  58. <field name="code" nolabel="1"/>
  59. <h3>Help with Python expressions.</h3>
  60. <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>
  61. <p>You can use these variables to compute your formula:</p>
  62. <ul>
  63. <li><i>env</i>: Environment variable for getting other models.</li>
  64. <li><i>context</i>: Current context dictionary.</li>
  65. <li><i>user</i>: Current user.</li>
  66. <li><i>line</i>: Contract recurring invoice line that triggers this formula.</li>
  67. <li><i>contract</i>: Contract whose line belongs to.</li>
  68. <li><i>invoice</i>: Invoice (header) being created.</li>
  69. </ul>
  70. <div>
  71. <p>Example of Python code</p>
  72. <code>
  73. result = env['product.product'].search_count([('sale_ok', '=', True)])
  74. </code>
  75. </div>
  76. </div>
  77. </group>
  78. </sheet>
  79. </form>
  80. </field>
  81. </record>
  82. <record id="action_contract_quantity_formula" model="ir.actions.act_window">
  83. <field name="name">Formulas (quantity)</field>
  84. <field name="res_model">contract.line.qty.formula</field>
  85. <field name="view_type">form</field>
  86. <field name="view_mode">tree,form</field>
  87. <field name="help" type="html">
  88. <p class="oe_view_nocontent_create">
  89. Click to create a new formula for variable quantities.
  90. </p>
  91. </field>
  92. </record>
  93. <menuitem id="menu_contract_quantity_formula"
  94. action="action_contract_quantity_formula"
  95. parent="contract.menu_config_contract"
  96. />
  97. </odoo>