diff --git a/addons/hr/models/hr_department.py b/addons/hr/models/hr_department.py index d44f8bba221..774574ef7d8 100644 --- a/addons/hr/models/hr_department.py +++ b/addons/hr/models/hr_department.py @@ -20,6 +20,7 @@ class Department(models.Model): child_ids = fields.One2many('hr.department', 'parent_id', string='Child Departments') manager_id = fields.Many2one('hr.employee', string='Manager', tracking=True, domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]") member_ids = fields.One2many('hr.employee', 'department_id', string='Members', readonly=True) + total_employee = fields.Integer(compute='_compute_total_employee', string='Total Employee') jobs_ids = fields.One2many('hr.job', 'department_id', string='Jobs') note = fields.Text('Note') color = fields.Integer('Color Index') @@ -41,6 +42,12 @@ class Department(models.Model): else: department.complete_name = department.name + def _compute_total_employee(self): + emp_data = self.env['hr.employee'].read_group([('department_id', 'in', self.ids)], ['department_id'], ['department_id']) + result = dict((data['department_id'][0], data['department_id_count']) for data in emp_data) + for department in self: + department.total_employee = result.get(department.id, 0) + @api.constrains('parent_id') def _check_parent_id(self): if not self._check_recursion(): diff --git a/addons/hr/static/src/scss/hr.scss b/addons/hr/static/src/scss/hr.scss index b7a4e07778f..685edaa8713 100644 --- a/addons/hr/static/src/scss/hr.scss +++ b/addons/hr/static/src/scss/hr.scss @@ -29,3 +29,20 @@ } } + +.o_kanban_dashboard.o_hr_department_kanban { + &.o_kanban_ungrouped { + .o_kanban_record { + width: 350px; + } + } + .o_kanban_group { + &:not(.o_column_folded) { + width: 350px + 2*$o-kanban-group-padding; + + @include media-breakpoint-down(sm) { + width: 100%; + } + } + } +} diff --git a/addons/hr/views/hr_department_views.xml b/addons/hr/views/hr_department_views.xml index f9c7b891e4d..657788d19ed 100644 --- a/addons/hr/views/hr_department_views.xml +++ b/addons/hr/views/hr_department_views.xml @@ -32,6 +32,7 @@ + @@ -55,7 +56,7 @@ hr.department.kanban hr.department - + @@ -65,7 +66,7 @@
-
+
diff --git a/addons/hr_holidays/models/hr_department.py b/addons/hr_holidays/models/hr_department.py index d076113ec55..a6a818631cb 100644 --- a/addons/hr_holidays/models/hr_department.py +++ b/addons/hr_holidays/models/hr_department.py @@ -17,8 +17,6 @@ class Department(models.Model): compute='_compute_leave_count', string='Time Off to Approve') allocation_to_approve_count = fields.Integer( compute='_compute_leave_count', string='Allocation to Approve') - total_employee = fields.Integer( - compute='_compute_total_employee', string='Total Employee') def _compute_leave_count(self): Requests = self.env['hr.leave'] @@ -48,9 +46,3 @@ class Department(models.Model): department.leave_to_approve_count = res_leave.get(department.id, 0) department.allocation_to_approve_count = res_allocation.get(department.id, 0) department.absence_of_today = res_absence.get(department.id, 0) - - def _compute_total_employee(self): - emp_data = self.env['hr.employee'].read_group([('department_id', 'in', self.ids)], ['department_id'], ['department_id']) - result = dict((data['department_id'][0], data['department_id_count']) for data in emp_data) - for department in self: - department.total_employee = result.get(department.id, 0)