37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
from odoo import models, fields, api
|
|
|
|
|
|
class SaleOrder(models.Model):
|
|
_inherit = 'sale.order'
|
|
|
|
helpdesk_ticket_id = fields.Many2one(
|
|
'helpdesk.ticket',
|
|
string='Helpdesk Ticket',
|
|
copy=False,
|
|
)
|
|
|
|
def action_view_ticket(self):
|
|
return {
|
|
'type': 'ir.actions.act_window',
|
|
'res_model': 'helpdesk.ticket',
|
|
'view_mode': 'form',
|
|
'res_id': self.helpdesk_ticket_id.id,
|
|
}
|
|
|
|
def _prepare_invoice(self):
|
|
result = super(SaleOrder, self)._prepare_invoice()
|
|
result.update({'helpdesk_ticket_id': self.helpdesk_ticket_id.id})
|
|
return result
|
|
|
|
def create(self, vals_list):
|
|
sos = super().create(vals_list)
|
|
for so in sos.filtered('helpdesk_ticket_id'):
|
|
so.message_post_with_source(
|
|
'helpdesk.ticket_creation',
|
|
render_values={
|
|
'self': so,
|
|
'ticket': so.helpdesk_ticket_id
|
|
}, subtype_id=self.env.ref('mail.mt_note').id
|
|
)
|
|
return sos
|