43 lines
1.7 KiB
Python
43 lines
1.7 KiB
Python
# -*- 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 {}
|