'This function opens a window to compose an email, with the edi purchase template message loaded by default'

@api.multi
def action_rfq_send(self):

    self.ensure_one()
    ir_model_data = self.env['ir.model.data']
    try:
        if self.env.context.get('send_rfq', False):
            template_id = ir_model_data.get_object_reference('purchase', 'email_template_edi_purchase')[1]
        else:
            template_id = ir_model_data.get_object_reference('purchase', 'email_template_edi_purchase_done')[1]
    except ValueError:
        template_id = False
    try:
        compose_form_id = ir_model_data.get_object_reference('mail', 'email_compose_message_wizard_form')[1]
    except ValueError:
        compose_form_id = False
    ctx = dict((self.env.context or {}))
    ctx.update({'default_model': 'purchase.order', 'default_res_id': self.ids[0], 'default_use_template': bool(template_id), 'default_template_id': template_id, 'default_composition_mode': 'comment'})
    return {'name': _('Compose    Email'), 'type': 'ir.actions.act_window', 'view_type': 'form', 'view_mode': 'form', 'res_model': 'mail.compose.message', 'views': [(compose_form_id, 'form')], 'view_id': compose_form_id, 'target': 'new', 'context': ctx}
