diff --git a/addons/hr/static/src/scss/hr.scss b/addons/hr/static/src/scss/hr.scss index 685edaa8713..9fd33d11023 100644 --- a/addons/hr/static/src/scss/hr.scss +++ b/addons/hr/static/src/scss/hr.scss @@ -28,6 +28,14 @@ margin-right: -3px; } + .o_hr_employee_kanban_bottom { + //Prevent bottom row from preventing to click on buttons + pointer-events: none; + .oe_kanban_bottom_right { + pointer-events: auto; + } + } + } .o_kanban_dashboard.o_hr_department_kanban { diff --git a/addons/hr/views/hr_employee_views.xml b/addons/hr/views/hr_employee_views.xml index 286e3e37469..ada86f70f9c 100644 --- a/addons/hr/views/hr_employee_views.xml +++ b/addons/hr/views/hr_employee_views.xml @@ -307,17 +307,17 @@
  • -
    -
    -
    -
    - -
    - -
    -
    -
    -
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    diff --git a/addons/hr_presence/models/hr_employee.py b/addons/hr_presence/models/hr_employee.py index 3da6c9f583c..256586e4ba6 100644 --- a/addons/hr_presence/models/hr_employee.py +++ b/addons/hr_presence/models/hr_employee.py @@ -114,10 +114,16 @@ class Employee(models.AbstractModel): 'searchpanel_default_hr_presence_state_display': 'to_define'}, } - def action_set_present(self): + def _action_set_manual_presence(self, state): if not self.env.user.has_group('hr.group_hr_manager'): raise UserError(_("You don't have the right to do this. Please contact an Administrator.")) - self.write({'manually_set_present': True}) + self.write({'manually_set_present': state}) + + def action_set_present(self): + self._action_set_manual_presence(True) + + def action_set_absent(self): + self._action_set_manual_presence(False) def write(self, vals): if vals.get('hr_presence_state_display') == 'present': diff --git a/addons/hr_presence/views/hr_employee_views.xml b/addons/hr_presence/views/hr_employee_views.xml index cdb7d514141..68b66536287 100644 --- a/addons/hr_presence/views/hr_employee_views.xml +++ b/addons/hr_presence/views/hr_employee_views.xml @@ -38,13 +38,16 @@ 0 -
    -
    +
    +
    + +
    +
    - +