Merge pull request #2180 from expsa/manar_dev_hr_21_1

UPDATE hr_holidays_public
This commit is contained in:
Manar416 2025-01-21 14:35:47 +02:00 committed by GitHub
commit 0e0c199717
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 13 deletions

View File

@ -1616,7 +1616,7 @@ class HRHolidays(models.Model):
for item in self:
item._remove_followers_holiday()
have_cancel_request = self.env['leave.cancellation'].search(
[('leave_request_id', '=', item.id), ('state', 'not in', ('draft', 'refuse'))])
[('leave_request_id', '=', item.id), ('cancellation_type', '!=', 'cancel'), ('state', 'not in', ('draft', 'refuse'))])
have_return_from_leave = self.env['return.from.leave'].search(
[('leave_request_id', '=', item.id), ('state', 'not in', ('draft', 'refuse'))])
if have_cancel_request:

View File

@ -36,7 +36,7 @@ class LeaveCancellation(models.Model):
cancellation_type = fields.Selection([
('cut', 'Cut'),
('cancel', 'Cancel')
], string="Cancellation Type", default='cut', tracking=True)
], string="Cancellation Type", default='cut', tracking=True, required=True)
def get_user_id(self):
employee_id = self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1)
@ -156,18 +156,22 @@ class LeaveCancellation(models.Model):
self.state = 'review'
def confirm(self):
#self.state = 'confirm'
#The Approval For The Direct Manager only
# self.state = 'confirm'
# The Approval For The Direct Manager only
for rec in self:
manager = rec.sudo().employee_id.parent_id
hr_manager = rec.sudo().employee_id.company_id.hr_manager_id
if manager:
if manager.user_id.id == rec.env.uid or hr_manager.user_id.id == rec.env.uid:
rec.write({'state': 'confirm'})
else:
raise exceptions.Warning(_("Sorry, The Approval For The Direct Manager '%s' Only OR HR Manager!")%(rec.employee_id.parent_id.name))
else:
rec.write({'state': 'confirm'})
manager = rec.sudo().employee_id.parent_id
hr_manager = rec.sudo().employee_id.company_id.hr_manager_id
if manager:
if manager.user_id.id == rec.env.uid or hr_manager.user_id.id == rec.env.uid:
rec.write({'state': 'confirm'})
else:
raise exceptions.Warning(
_("Sorry, The Approval For The Direct Manager '%s' Only OR HR Manager!") % (
rec.employee_id.parent_id.name))
else:
rec.write({'state': 'confirm'})
if rec.cancellation_type == 'cancel':
rec.leave_request_id.refuse()
def get_pure_holiday_days(self):
for item in self: