IMP reasons lateness
This commit is contained in:
parent
20cba7dc5e
commit
9783abc8c5
|
|
@ -17,12 +17,12 @@ class HrReasonsLateness(models.Model):
|
|||
job_id = fields.Many2one(related="employee_id.job_id", readonly=True)
|
||||
employee_id = fields.Many2one('hr.employee', 'Employee Id', default=lambda item: item.get_user_id())
|
||||
state = fields.Selection([('draft', _('Draft')),
|
||||
('send', _('Send')),
|
||||
('direct_manager', _('Direct Manager')),
|
||||
('hr_manager', _('HR Manager')),
|
||||
('refused', _('Refused'))], default="draft")
|
||||
('send', _('Waiting Direct Manager')),
|
||||
('direct_manager', _('Waiting HR')),
|
||||
('hr_manager', _('Approved')),
|
||||
('refused', _('Refused'))], default="draft", tracking=True)
|
||||
company_id = fields.Many2one(related='employee_id.company_id')
|
||||
employee_no = fields.Char(related='employee_id.emp_no', string='Employee Number',store=True)
|
||||
employee_no = fields.Char(related='employee_id.emp_no', string='Employee Number', store=True)
|
||||
is_branch = fields.Many2one(related='department_id.branch_name', store=True, readonly=True)
|
||||
|
||||
def unlink(self):
|
||||
|
|
@ -59,7 +59,15 @@ class HrReasonsLateness(models.Model):
|
|||
transaction.process_attendance_scheduler_queue(day, self.employee_id)
|
||||
|
||||
def direct_manager(self):
|
||||
self.state = "direct_manager"
|
||||
for rec in self:
|
||||
manager = rec.sudo().employee_id.parent_id
|
||||
hr_manager = rec.sudo().employee_id.company_id.hr_manager_id
|
||||
if (manager.user_id.id == rec.env.uid or hr_manager.user_id.id == rec.env.uid):
|
||||
rec.write({'state': 'direct_manager'})
|
||||
else:
|
||||
raise exceptions.Warning(
|
||||
_("Sorry, The Approval For The Direct Manager '%s' Only OR HR Manager!") % (
|
||||
rec.employee_id.parent_id.name))
|
||||
|
||||
def set_to_draft(self):
|
||||
self.state = "draft"
|
||||
|
|
@ -67,3 +75,16 @@ class HrReasonsLateness(models.Model):
|
|||
|
||||
def refused(self):
|
||||
self.state = "refused"
|
||||
|
||||
def action_open_related_attendance_transaction(self):
|
||||
hr_attendance_transaction = self.env['hr.attendance.transaction'].search(
|
||||
[('employee_id', '=', self.employee_id.id), ('date', '=', self.latest_date)]).ids
|
||||
action = {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': _('Attendance Transaction'),
|
||||
'res_model': 'hr.attendance.transaction',
|
||||
'view_mode': 'form',
|
||||
'domain': [('id', 'in', hr_attendance_transaction)],
|
||||
'target': 'current',
|
||||
}
|
||||
return action
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<field name="model">hr.reasons.lateness</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<group>
|
||||
<tree>
|
||||
<field name="employee_no" string="Employee Number"/>
|
||||
<field name="employee_id" string="Employee"/>
|
||||
<field name="department_id" string="Department"/>
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
<field name="latest_date" string="lateness Date"/>
|
||||
<field name="reasons" string="Reasons"/>
|
||||
<field name="state" string="State"/>
|
||||
</group>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
@ -52,6 +52,9 @@
|
|||
statusbar_visible="draft,send,direct_manager,hr_manager,refused"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button icon="fa-list" string="Attendance Transaction" name="action_open_related_attendance_transaction" type="object"/>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="request_date" string="Request Date" readonly="1" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue