# -*- 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