Files
gzth/soong_workflow/wizard/soong_workflow_apostille_wizard.py
T
2025-06-10 10:41:03 +08:00

58 lines
2.3 KiB
Python

# -*- coding: utf-8 -*-
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models, api
from odoo.exceptions import UserError, ValidationError
from datetime import datetime, date, time, timedelta
class SoongWorkflowApostilleWizard(models.TransientModel):
_name = "soong.workflow.apostille.wizard"
_description = "加签弹窗"
_inherit = ['soong.workflow.mixin', 'mail.thread.main.attachment', 'mail.activity.mixin']
name = fields.Char(string="name")
res_model = fields.Char()
res_id = fields.Integer()
log_ids = fields.Many2many(comodel_name="soong.workflow.log")
node_btn_id = fields.Many2one(comodel_name="soong.workflow.node.button")
node_btn_name = fields.Char(string="动作名称", related='node_btn_id.name')
employee_ids = fields.Many2many('hr.employee', string="加签人员")
def add_comment(self):
self.ensure_one()
record_id = self.env[self.res_model].search([('id', '=', self.res_id)])
log_obj = self.env["soong.workflow.log"]
for user_id in self.employee_ids.user_id:
log_obj_exist = self.sudo().env["soong.workflow.log"].search(
[
("model", "=", self.res_model),
("res_id", "=", self.res_id),
("node_id", "=", self.node_btn_id.node_id.id),
("workflow_id", "=", self.node_btn_id.workflow_id.id),
("node_btn_name", "=", "2"),
("done_by", "=", user_id.id)
]
)
if not log_obj_exist:
log_obj.create(
{
"model": self.res_model,
"res_id": self.res_id,
"node_id": self.node_btn_id.node_id.id,
"workflow_id": self.node_btn_id.workflow_id.id,
"done_by": user_id.id,
"approval_state": "0",
"node_btn_name": "2", # 加签
"node_btn_id": self.node_btn_id.id,
"lase_click_date": fields.Datetime.now(),
}
)
# # 加签人员写入
# if self.node_btn_name == '加签':
# record_id.approval_sign_ids = record_id.approval_sign_ids.ids + self.employee_ids.user_id.ids