From b3c3374bb3549fdec4845a592b2d46715c07f582 Mon Sep 17 00:00:00 2001 From: younes Date: Mon, 23 Jun 2025 16:19:40 +0100 Subject: [PATCH] Add notifcation in mission and other request --- .../models/hr_firebase_notification.py | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/odex25_mobile/odex_mobile/models/hr_firebase_notification.py b/odex25_mobile/odex_mobile/models/hr_firebase_notification.py index 64366c278..9378240f5 100644 --- a/odex25_mobile/odex_mobile/models/hr_firebase_notification.py +++ b/odex25_mobile/odex_mobile/models/hr_firebase_notification.py @@ -249,3 +249,58 @@ class HrSalaryAdvance(models.Model): self.employee_id.user_id.partner_id.send_notification( _("Loan %s") % (self.code), _("Has been updated to %s") % (validator.get_state_name(self, self.state)), data=data, all_device=True) + +class HrOfficialMission(models.Model): + _inherit = 'hr.official.mission' + + def firebase_notification(self, users=None): + if self.employee_id: + value = {'employee_id':self.employee_id.id, 'employee_name':self.employee_id.name, 'id': self.id, 'date_from': str(self.date_from), 'date_to': str(self.date_to), 'duration': self.date_duration, + 'date': str(self.date), 'state_name': self.state, + 'state': validator.get_state_name(self, self.state)} + + _logger.warning("Write inner") + data = { + 'meta': json.dumps({ + 'type': 'mission', + 'data': value + }) + } + _logger.warning(type(data)) + if users: + partner = users.mapped('partner_id') + for part in partner: + if not self.env.context.get('refuse'): + part.send_notification(_("Employee %s Permission Waiting Your Approve") % (self.employee_id.name), + " %s - %s" % (self.date_from, self.date_to), data=data, all_device=True) + self.employee_id.user_id.partner_id.send_notification( + _("Permission Request has been updated to %s ") % (validator.get_state_name(self, self.state)) , " %s - %s" % (self.date_from, self.date_to), + data=data, all_device=True) + + +class EmployeeOtherRequest(models.Model): + _inherit = 'employee.other.request' + + def firebase_notification(self, users=None): + if self.employee_id: + value = {'employee_id':self.employee_id.id, 'employee_name':self.employee_id.name, 'id': self.id, 'request_type': self.request_type, + 'date': str(self.date), 'state_name': self.state, + 'state': validator.get_state_name(self, self.state)} + + _logger.warning("Write inner") + data = { + 'meta': json.dumps({ + 'type': 'other_request', + 'data': value + }) + } + _logger.warning(type(data)) + if users: + partner = users.mapped('partner_id') + for part in partner: + if not self.env.context.get('refuse'): + part.send_notification(_("Employee %s Permission Waiting Your Approve") % (self.employee_id.name), + " %s" % self.date, data=data, all_device=True) + self.employee_id.user_id.partner_id.send_notification( + _("Permission Request has been updated to %s ") % (validator.get_state_name(self, self.state)) , " %s" % self.date, + data=data, all_device=True) \ No newline at end of file