feat: enhance HR branch display with correct paths

- Modified name_get method in hr.department for short branch display
- Added context support for show_branch_short and from_branch_field
- Updated HR views to use short branch name context
- Added branch field to department tree view with context
- Added branch field to department search view with groupby filter
- Added Arabic translations for branch field

Files modified with correct paths:
- odex25_hr/hr_base/models/hr_department.py
- odex25_hr/hr_base/views/hr_base_view.xml
- odex25_hr/hr_base/i18n/ar_001.po

Synced with latest dev_odex25_hr on Thu Nov 13 14:49:04 +03 2025
This commit is contained in:
Mohamed Eltayar 2025-11-13 14:49:04 +03:00
parent 01e859a417
commit 4830170638
2 changed files with 41 additions and 2 deletions

View File

@ -23,6 +23,18 @@ class HrDepartment(models.Model):
branch_name = fields.Many2one('hr.department',domain=[("is_branch","=",True)])
def name_get(self):
result = []
for department in self:
# إذا كان السياق من branch_name field أو طلب عرض مختصر
if self.env.context.get('from_branch_field') or self.env.context.get('show_branch_short'):
name = department.name # الاسم فقط بدون مسار
else:
# العرض الافتراضي (مع المسار الهرمي)
name = super(HrDepartment, department).name_get()[0][1]
result.append((department.id, name))
return result
@api.depends('is_branch','parent_id')
def get_is_branch(self):
"""To know which unit or department belongs to a specific branch"""

View File

@ -73,7 +73,7 @@
attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="department_id" required="True" string="Department"
attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="branch_name" string="Branch Name" invisible="1" readonly="1"/>
<field name="branch_name" string="Branch Name" invisible="1" readonly="1" context="{'show_branch_short': True}"/>
<field name="job_id" required="True" string="Job Position"
attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="parent_id" attrs="{'readonly':[('state','!=','draft')]}"/>
@ -566,7 +566,7 @@
<field name="email_manager"/>
<field name="department_type" required="1"/>
<field name="is_branch" string="Is Branch?"/>
<field name="branch_name" string="Branch Name" context="{'hierarchical_naming': False}"/>
<field name="branch_name" string="Branch Name" context="{'show_branch_short': True}"/>
</xpath>
<xpath expr="//field[@name='name']" position="after">
<label for="english_name" class="oe_edit_only"/>
@ -595,6 +595,33 @@
</field>
</record>
<!-- hr_department tree view inherit -->
<record id="view_hr_department_tree_inherit" model="ir.ui.view">
<field name="name">hr.department.tree.inherit</field>
<field name="model">hr.department</field>
<field name="inherit_id" ref="hr.view_department_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='name']" position="after">
<field name="branch_name" string="Branch" context="{'show_branch_short': True}"/>
</xpath>
</field>
</record>
<!-- hr_department search view inherit -->
<record id="view_hr_department_search_inherit" model="ir.ui.view">
<field name="name">hr.department.search.inherit</field>
<field name="model">hr.department</field>
<field name="inherit_id" ref="hr.view_department_filter"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='name']" position="after">
<field name="branch_name" string="Branch" context="{'show_branch_short': True}"/>
</xpath>
<xpath expr="//group" position="inside">
<filter string="Branch" name="group_branch" context="{'group_by':'branch_name', 'show_branch_short': True}"/>
</xpath>
</field>
</record>
<record id="hr_calendar_view_form_inherit" model="ir.ui.view">
<field name="name">resource.calendar.form.inherit</field>
<field name="model">resource.calendar</field>