Hi,
1)Inside heirarchy_details.py file provide the code
from odoo import fields, models
class DepartmentDetails(models.Model):
_name = 'department.details'
_description = 'create a new model for hierarchy'
_rec_name = 'department'
department = fields.Char()
parent_id = fields.Many2one("department.details")
child_ids = fields.One2many("department.details", 'parent_id')
Note : give heirarchy_details.py file in your __init__ file
2) in the security file give :
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
heirarchy_view.access_department_details,access_department_details,heirarchy_view.model_department_details,base.group_user,1,1,1,1
3) In the heirarchy_menus.xml file provide:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<menuitem id="heirarchy_manager_menu"
name="License Manager"
sequence="0"/>
<menuitem id="heirarchy_list_menu"
name="Heirarchy List"
parent="heirarchy_manager_menu"
action="heirarchy_list_action"
sequence="0"/>
</odoo>
4)In heirarchy_views.xml file provide
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_department_details_tree" model="ir.ui.view">
<field name="name">view.department.details.tree</field>
<field name="model">department.details</field>
<field name="arch" type="xml">
<tree>
<field name="department"/>
<field name="parent_id"/>
<field name="child_ids"/>
</tree>
</field>
</record>
<record id="view_department_details_form" model="ir.ui.view">
<field name="name">view.department.details.form</field>
<field name="model">department.details</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="department"/>
<field name="parent_id"/>
<field name="child_ids"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="department_details_view_hierarchy" model="ir.ui.view">
<field name="name">department.details.view.hierarchy</field>
<field name="model">department.details</field>
<field name="arch" type="xml">
<hierarchy child_field="child_ids"
draggable="1">
<field name="department"/>
<templates>
<t t-name="hierarchy-box">
<div t-attf-class="o_hierarchy_node_header d-flex justify-content-center pb-4"
t-att-title="parent_id">
</div>
<div class="o_hierarchy_node_body d-flex flex-column text-center">
<div class="w-100 position-relative">
<field class="fw-bold" name="department"/>
<br/>
</div>
</div>
</t>
</templates>
</hierarchy>
</field>
</record>
<record id="heirarchy_list_action" model="ir.actions.act_window">
<field name="name">Department Manager</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">department.details</field>
<field name="view_mode">tree,form,hierarchy</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
No data yet!
</p>
<p>Create department Records.
</p>
</field>
</record>
</odoo>
Note:
Add your models directory in your main __init__ file, also configure your __manifest__ file.
If you done all the above steps properly , then the output will be like:
Hope it helps