Files
gzth/yuthon_issue/models/issue_class_approval.py
T
2026-01-20 16:13:58 +08:00

58 lines
2.6 KiB
Python

# -*- coding: utf-8 -*-
from odoo import api, fields, models
from datetime import datetime, timedelta, date
class IssueClassApproval(models.Model):
_name = 'issue.class.approval'
_description = '班子议题审批'
_inherit = ['soong.workflow.mixin', 'mail.thread.main.attachment', 'mail.activity.mixin']
name = fields.Char(string='标题', required=True)
code = fields.Char(string='编号', required=True, copy=False,
default=lambda self: self.env['ir.sequence'].next_by_code('issue_class_approval_code'))
urgency_level = fields.Selection([('normal', '普件'), ('urgent', '急件'), ('emergency', '特急件')], string='紧急度',
default='normal')
users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id)
department_id = fields.Many2one(related='users_id.employee_ids.department_id', string="部门")
company_id = fields.Many2one(related='users_id.employee_ids.company_id', string="公司")
work_end = fields.Boolean(string="结束")
line_ids = fields.One2many('issue.class.approval.line', 'class_approval_id', string="审批流程")
def _get_default_name_title(self):
return self._description if self._description else self._name
name_title = fields.Char(default=_get_default_name_title)
self_users_ids = fields.Many2many('res.users', string="当前经办人",default=lambda self: [(6, 0, [self.env.user.id])])
def end_approval(self):
for record in self:
if record.line_ids:
for line in record.line_ids:
if line.issue_id.is_state_updated == False:
line.issue_id.is_state_updated = True
line.issue_id.issue_state = 'will'
class IssueClassApprovalLine(models.Model):
_name = 'issue.class.approval.line'
_description = '议题审批行'
class_approval_id = fields.Many2one('issue.class.approval', string="关联议题审批")
issue_id = fields.Many2one('issue.library', string="议题")
name = fields.Char(string='议题名称')
will_based = fields.Text(string='上会依据')
department_id = fields.Many2one('hr.department', string="部门")
def open_record(self):
form_id = self.env.ref('yuthon_issue.view_issue_library_form').id
return {
'type': 'ir.actions.act_window',
'name': '议题详情',
'res_model': 'issue.library',
'view_mode': 'form',
'views': [(form_id, 'form')],
'res_id': self.issue_id.id,
}