2016-10-19 4 views
1

Suport TicketをProject> Taskに変換することは可能ですか?SuportチケットをTASKに変換するOdoo 9

タスクのタイトル=センターサポート対象、タスク説明=センターサポートの説明...

例:私はサポートチケットでは、このMODUL https://www.odoo.com/apps/modules/9.0/website_support/

を使用

私は追加したい:

Ticket

以下は新しい関数def generate_task(self)です:それから新しいTASKを生成する方法。

class WebsiteSupportTicketCompose(models.Model): 

    _name = "website.support.ticket.compose" 

    ticket_id = fields.Many2one('website.support.ticket', string='Ticket ID') 
    partner_id = fields.Many2one('res.partner', string="Partner", readonly="True") 
    email = fields.Char(string="Email", readonly="True") 
    subject = fields.Char(string="Subject", readonly="True") 
    body = fields.Html(string="Message Body") 
    template_id = fields.Many2one('mail.template', string="Mail Template", domain="[('model_id','=','website.support.ticket')]") 

    @api.onchange('template_id') 
    def _onchange_template_id(self): 
     if self.template_id: 
      values = self.env['mail.compose.message'].generate_email_for_composer(self.template_id.id, [self.ticket_id.id])[self.ticket_id.id]     
      self.body = values['body'] 

    @api.one 
    def send_reply(self): 
     #Send email 
     values = {} 
     email_wrapper = self.env['ir.model.data'].get_object('website_support','support_ticket_reply_wrapper') 
     values = email_wrapper.generate_email([self.id])[self.id] 
     values['model'] = "website.support.ticket" 
     values['res_id'] = self.ticket_id.id 
     send_mail = self.env['mail.mail'].create(values) 
     send_mail.send() 

     #(Depreciated) Add to message history field for back compatablity 
     self.env['website.support.ticket.message'].create({'ticket_id': self.ticket_id.id, 'content':self.body.replace("<p>","").replace("</p>","")}) 

     #Post in message history 
     #self.ticket_id.message_post(body=self.body, subject=self.subject, message_type='comment', subtype='mt_comment') 

    staff_replied = self.env['ir.model.data'].get_object('website_support','website_ticket_state_staff_replied') 
    self.ticket_id.state = staff_replied.id 

    @api.one 
    def generate_task(self): 
     values = {} 
     print(self.ticket_id.id) 
     print(self.email) 
     print(self.subject) 
     print(self.body.replace("<p>","").replace("</p>","")) 

     #How this data insert in new TASK 

簡単な解決方法はありますか?

+0

@CZoellner。 Curentモジュールはbuton再生とfuction send_replyを持っています。私は新しい.xmlビューと関数generate_taskを追加します。私の関数から新しいタスクを作成する方法は? – Pointer

答えて

0

コードの下に試してみてください。私は私の質問を更新してい

@api.multi 
     def generate_task(self,cr, uid, ids, context=None): 

      Task = self.pool["project.task"] 

      vals = { 
       "name": "TEST", 
       "description": "DESCRIPTION", 
      } 

      task_id = Task.create(cr,uid,vals,context=None) 
      task = Task.browse(cr,uid,task_id,context=None) 
+0

戻り値:TypeError:generate_task()は少なくとも4つの引数をとります(2つは指定されています) – Pointer