1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/hr_contract_sign/wizard/mail_activity_schedule.py
2024-12-10 09:04:09 +07:00

35 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import models, _
class MailActivitySchedule(models.TransientModel):
_inherit = 'mail.activity.schedule'
def _plan_filter_activity_templates_to_schedule(self):
if self.res_model != 'hr.employee':
return super()._plan_filter_activity_templates_to_schedule()
return self.plan_id.template_ids.filtered(lambda a: not a.is_signature_request or a.responsible_count > 2)
def action_schedule_plan(self):
res = super().action_schedule_plan()
if self.res_model != 'hr.employee':
return res
for employee in self._get_applied_on_records():
for signature_request in self.plan_id.template_ids - self._plan_filter_activity_templates_to_schedule():
employee_role = signature_request.employee_role_id
responsible = signature_request._determine_responsible(self.plan_on_demand_user_id, employee)['responsible']
self.env['hr.contract.sign.document.wizard'].create({
'contract_id': employee.contract_id.id,
'employee_ids': [(4, employee.id)],
'responsible_id': responsible.id,
'employee_role_id': employee_role and employee_role.id,
'sign_template_ids': [(4, signature_request.sign_template_id.id)],
'subject': _('Signature Request'),
}).validate_signature()
return res