Files
gzth/yuthon_approval/models/inherit_approval_category.py
T
2024-06-11 15:40:52 +08:00

49 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
from odoo import api, fields, models, tools, _
from odoo.exceptions import UserError
class ApprovalCategory(models.Model):
_inherit = 'approval.category'
_description = '审批框架拓展'
approval_department_ids = fields.Many2many('hr.department', string="审批所属部门")
approval_process_id = fields.Many2one('approval.process', string="审批流程")
is_enable = fields.Boolean(string="启用", default=True)
category_start_date = fields.Date(string="开始日期", default=fields.Date.today())
category_end_date = fields.Date(string="结束日期")
new_approval_type = fields.Selection(
string='审批分类',
selection=[('business', '业务单据'),
('oa', 'OA审批'),
('branch', '分支'),
], default="oa")
def unlink(self):
for res in self:
if res.new_approval_type == 'business' or res.new_approval_type == 'branch':
raise UserError('不允许删除业务/分支审批!')
return super(ApprovalCategory, self).unlink()
@api.onchange('approval_process_id')
def onchange_approval_process_ids(self):
for record in self:
category_approver = []
record.approver_ids = None
for approver in record.approval_process_id.user_ids:
if len(approver.user_ids) > 1:
for user in approver.user_ids:
category_approver.append((0, 0, {
'user_id': user.id,
'role_id': approver.approval_user_role_id.id,
'category_id': record.id,
}))
else:
category_approver.append((0, 0, {
'user_id': approver.user_ids.id,
'role_id': approver.approval_user_role_id.id,
'category_id': record.id,
}))
record.approver_ids = category_approver