# -*- coding: utf-8 -*- from odoo import models, fields, api from odoo.exceptions import ValidationError from odoo.addons.jikimo_system_order.models.constant import STATE_SELECTION, GRADE import datetime class OrderOtherWizard(models.TransientModel): _name = 'order.other.wizard' def get_context(self): if self._context.get('active_id'): obj = self.env['system.work.order'].browse(self._context.get('active_id')) if obj.initiator_id.id != self.env.user.id: raise ValidationError(u'非本人无法操作') return obj order_id = fields.Many2one('system.work.order', string=u'工单ID', default=lambda self: self.get_context().id) # 关闭时间 close_time = fields.Datetime(string=u'关闭时间', default=fields.datetime.now()) # 状态 state = fields.Selection(STATE_SELECTION, default='completed', string=u'状态') # 打分 grade = fields.Selection(GRADE, string=u'评分') # 关闭人 close_user_id = fields.Many2one('res.users', string=u'关闭人', default=lambda self: self.env.user) def sure(self): self.order_id.close_time = self.close_time self.order_id.grade = self.grade if self.order_id.state == 'processed': state_remark = u'已处理待评分 --> 已完成' # self.order_id.message_post(u'操作人:%s,操作时间:%s,状态变更过程:%s' % ( # self.env.user.name, # (datetime.datetime.now() + datetime.timedelta(hours=8)).strftime('%Y-%m-%d %H:%M:%S'), state_remark)) self.order_id.state = self.state self.order_id.close_user_id = self.close_user_id return {}