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.
		
		
		
		
		
			
		
			
				
					
					
						
							112 lines
						
					
					
						
							5.8 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							112 lines
						
					
					
						
							5.8 KiB
						
					
					
				| <?xml version="1.0" encoding="utf-8"?> | |
| <odoo> | |
|     <!--This is an XML view definition for a form view in Odoo, which allows users to create and manage dynamic fields for a model.   --> | |
|     <record id='project_dynamic_fields_view_form' model='ir.ui.view'> | |
|         <field name="name">project.dynamic.fields.view.form</field> | |
|         <field name="model">project.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')]" | |
|                                    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}' | |
|                                    required="field_type in ['many2one','many2many']" | |
|                                    readonly="field_type not in ['many2one','many2many']" | |
|                                    invisible="field_type not in ['many2one','many2many']"/> | |
|                             <field name="widget_id" widget="selection" | |
|                                    invisible="field_type not in ['binary', 'many2many', 'selection', 'float', 'many2one']"/> | |
|                             <field name="required"/> | |
|                         </group> | |
|                         <group string="Position"> | |
|                             <field name="position_field_id" | |
|                                    options='{"no_open": True, "no_create": True}'/> | |
|                             <field name="position"/> | |
|                         </group> | |
|                     </group> | |
|                     <group string="Extra Properties"> | |
|                         <group> | |
|                             <field name="extra_features"/> | |
|                         </group> | |
|                         <group invisible="extra_features == False"> | |
|                             <field name="help"/> | |
|                         </group> | |
|                         <group invisible="extra_features == False"> | |
|                             <field name="readonly"/> | |
|                             <field name="store"/> | |
|                             <field name="index"/> | |
|                             <field name="copied"/> | |
|                         </group> | |
|                     </group> | |
|                 </sheet> | |
|                 <footer> | |
|                     <button name="action_create_fields" string="Create" | |
|                             type="object" class="oe_highlight"/> | |
|                     <button string="Cancel" class="oe_link" special="cancel"/> | |
|                 </footer> | |
|             </form> | |
|         </field> | |
|     </record> | |
|     <!--This XML record defines an action to open a form view for creating custom fields in the project.dynamic.fields model--> | |
|     <record id='project_dynamic_fields_action_create' | |
|             model='ir.actions.act_window'> | |
|         <field name="name">Create Custom Fields</field> | |
|         <field name="res_model">project.dynamic.fields</field> | |
|         <field name="view_mode">form</field> | |
|         <field name="view_id" ref="project_dynamic_fields_view_form"/> | |
|         <field name="target">new</field> | |
|     </record> | |
|     <!--    This is an XML record defining a view for the "project.dynamic.fields" model. The view is a tree view and displays three fields: "name", "field_description", and "ttype". --> | |
|     <record id='project_dynamic_fields_view_tree' model='ir.ui.view'> | |
|         <field name="name">project.dynamic.fields.view.list</field> | |
|         <field name="model">project.dynamic.fields</field> | |
|         <field name="arch" type="xml"> | |
|             <list create="false"> | |
|                 <field name="name"/> | |
|                 <field name="field_description"/> | |
|                 <field name="ttype"/> | |
|             </list> | |
|         </field> | |
|     </record> | |
|     <!--    Delete fields tree view--> | |
|     <record id="project_dynamic_fields_action_delete" | |
|             model="ir.actions.act_window"> | |
|         <field name="name">Delete Custom Fields</field> | |
|         <field name="res_model">project.dynamic.fields</field> | |
|         <field name="view_mode">list</field> | |
|         <field name="view_id" ref="project_dynamic_fields_view_tree"/> | |
|         <field name="help" type="html"> | |
|             <p class="o_view_nocontent_smiling_face"> | |
|                 Delete created custom fields | |
|             </p> | |
|         </field> | |
|     </record> | |
|     <!-- Menu Item in Project to create fields --> | |
|     <menuitem | |
|             id="project_dynamic_fields_menu_create" | |
|             name="Create Fields" | |
|             parent="project.menu_project_config" | |
|             action="project_dynamic_fields.project_dynamic_fields_action_create" | |
|             groups="project_dynamic_fields.group_add_project_custom_fields" | |
|             sequence="10"/> | |
|     <!-- Menu Item in Project to Delete fields --> | |
|     <menuitem | |
|             id="project_dynamic_fields_menu_delete" | |
|             name="Delete Fields" | |
|             parent="project.menu_project_config" | |
|             action="project_dynamic_fields.project_dynamic_fields_action_delete" | |
|             groups="project_dynamic_fields.group_add_project_custom_fields" | |
|             sequence="12"/> | |
| </odoo>
 | |
| 
 |