From e290c7fd3cdc18219867e563ee3d511f4b0aadc9 Mon Sep 17 00:00:00 2001 From: Mohamed Eltayar Date: Thu, 13 Nov 2025 18:25:54 +0300 Subject: [PATCH] feat: enhance department display with short name support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🔧 **Key Improvements:** - Extended name_get to support show_department_short context - Added display_name property override for consistent short display - Enhanced tree view with department context for clean display - Fixed translation consistency (Department = القسم) 📁 **Files Modified:** - odex25_hr/hr_base/models/hr_department.py: Enhanced name_get and added display_name property - odex25_hr/hr_base/views/hr_base_view.xml: Added context to department fields in all views - odex25_hr/hr_base/i18n/ar_001.po: Unified Department translation to القسم ✅ **Impact:** - Department names now display without hierarchical path when context is set - Consistent short name display across all HR views (form, tree, search) - Unified Arabic translation for better UX - Maintains backward compatibility with existing functionality Synced with latest dev_odex25_hr on Thu Nov 13 18:25:53 +03 2025 --- odex25_hr/hr_base/i18n/ar_001.po | 2 +- odex25_hr/hr_base/models/hr_department.py | 20 ++++++++++++++++++-- odex25_hr/hr_base/views/hr_base_view.xml | 8 +++++++- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/odex25_hr/hr_base/i18n/ar_001.po b/odex25_hr/hr_base/i18n/ar_001.po index 298197bbe..8b27408e5 100644 --- a/odex25_hr/hr_base/i18n/ar_001.po +++ b/odex25_hr/hr_base/i18n/ar_001.po @@ -1445,7 +1445,7 @@ msgstr "قسم الارتباط" #. module: hr_base #: model:ir.model.fields.selection,name:hr_base.selection__hr_department__department_type__department msgid "Department" -msgstr "إدارة" +msgstr "القسم" #. module: hr_base #: model:ir.model.fields.selection,name:hr_base.selection__hr_department__department_type__unit diff --git a/odex25_hr/hr_base/models/hr_department.py b/odex25_hr/hr_base/models/hr_department.py index e78057df3..c046c737e 100644 --- a/odex25_hr/hr_base/models/hr_department.py +++ b/odex25_hr/hr_base/models/hr_department.py @@ -29,15 +29,31 @@ class HrDepartment(models.Model): # إذا كان هذا القسم فرع، اعرض الاسم فقط بدون مسار if department.is_branch: name = department.name # الاسم فقط بدون مسار للفروع - # إذا كان السياق يطلب عرض مختصر + # إذا كان السياق يطلب عرض مختصر للفرع أو القسم elif (self.env.context.get('from_branch_field') or - self.env.context.get('show_branch_short')): + self.env.context.get('show_branch_short') or + self.env.context.get('show_department_short')): name = department.name # الاسم فقط بدون مسار else: # العرض الافتراضي (مع المسار الهرمي) للأقسام العادية name = super(HrDepartment, department).name_get()[0][1] result.append((department.id, name)) return result + + @property + def display_name(self): + """Override display_name to show short name when needed""" + # إذا كان هذا القسم فرع، اعرض الاسم فقط + if self.is_branch: + return self.name + # إذا كان السياق يطلب عرض مختصر + elif (self.env.context.get('from_branch_field') or + self.env.context.get('show_branch_short') or + self.env.context.get('show_department_short')): + return self.name + else: + # العرض الافتراضي (مع المسار الهرمي) + return super().display_name @api.depends('is_branch','parent_id') def get_is_branch(self): diff --git a/odex25_hr/hr_base/views/hr_base_view.xml b/odex25_hr/hr_base/views/hr_base_view.xml index 058a10f98..77abdcc60 100644 --- a/odex25_hr/hr_base/views/hr_base_view.xml +++ b/odex25_hr/hr_base/views/hr_base_view.xml @@ -72,7 +72,7 @@ + attrs="{'readonly':[('state','!=','draft')]}" context="{'show_department_short': True}"/> @@ -567,6 +567,7 @@ + @@ -615,10 +619,12 @@ + +