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.
 
 
 
 
 

114 lines
5.4 KiB

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record model='ir.ui.view' id='wizard_employee_dynamic_fields_form'>
<field name="name">employee.dynamic.fields.form</field>
<field name="model">employee.dynamic.fields</field>
<field name="arch" type="xml">
<form string="Dynamic Fields">
<sheet>
<group>
<group string="Field Info">
<field name="name"/>
<field name="field_description"/>
<field name="state" readonly="1"
groups="base.group_no_one"/>
<field name="model_id"
options='{"no_open": True, "no_create": True}'/>
<field name="field_type"/>
<field name="selection_field"
placeholder="[('blue', 'Blue'),('yellow', 'Yellow')]"
attrs="{'required': [('field_type','in',['selection','reference'])],
'readonly': [('field_type','not in',['selection','reference'])],
'invisible': [('field_type','not in',['selection','reference'])]}"/>
<field name="ref_model_id"
options='{"no_open": True, "no_create": True}'
attrs="{'required': [('field_type','in',['many2one','many2many'])],
'readonly': [('field_type','not in',['many2one','many2many'])],
'invisible': [('field_type','not in',['many2one','many2many'])]}"/>
<field name="widget" widget="selection"
attrs="{'invisible': [('field_type','not in',['binary', 'many2many', 'selection', 'float', 'many2one'])]}"/>
<field name="required"/>
</group>
<group string="Position">
<field name="position_field"
options='{"no_open": True, "no_create": True}'/>
<field name="position"/>
</group>
</group>
<group string="Extra Properties">
<group>
<field name="extra_features"/>
</group>
<group attrs="{'invisible': [('extra_features', '=', False)]}">
<field name="help"/>
</group>
<group attrs="{'invisible': [('extra_features', '=', False)]}">
<field name="readonly"/>
<field name="store"/>
<field name="index"/>
<field name="copied"/>
</group>
</group>
</sheet>
<footer>
<button name="create_fields" string="Create Fields"
type="object" class="oe_highlight"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>
<record model='ir.ui.view' id='wizard_employee_dynamic_fields_tree'>
<field name="name">employee.dynamic.fields.tree</field>
<field name="model">employee.dynamic.fields</field>
<field name="arch" type="xml">
<tree create="false">
<field name="name"></field>
<field name="field_description"></field>
<field name="ttype"></field>
</tree>
</field>
</record>
<record model='ir.actions.act_window' id='action_employee_dynamic_fields'>
<field name="name">Create Custom Fields</field>
<field name="res_model">employee.dynamic.fields</field>
<field name="view_mode">form</field>
<field name="view_id" ref="wizard_employee_dynamic_fields_form"/>
<field name="target">new</field>
</record>
<record id="action_employee_dynamic_fields_delete"
model="ir.actions.act_window">
<field name="name">Delete Fields</field>
<field name="res_model">employee.dynamic.fields</field>
<field name="view_mode">tree</field>
<field name="view_id" ref="wizard_employee_dynamic_fields_tree"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Delete created custom fields
</p>
</field>
</record>
<!-- Menu Item in Employee to create fields -->
<menuitem
id="menu_create_employee_fields"
name="Create Fields"
parent="hr.menu_hr_employee_payroll"
action="employee_dynamic_fields.action_employee_dynamic_fields"
groups="employee_dynamic_fields.group_add_employee_custom_fields"
sequence="10"/>
<menuitem id="menu_delete_employee_fields"
name="Delete Fields"
parent="hr.menu_hr_employee_payroll"
action="action_employee_dynamic_fields_delete"
groups="employee_dynamic_fields.group_add_employee_custom_fields"
sequence="12"/>
</odoo>