def do_receipt_deliver(self): envio = self._read_xml('etree') if envio.find('SetDTE') is None or envio.find( 'SetDTE/Caratula') is None: return True company_id = self.env['res.company'].search([ ('vat', '=', self.format_rut(envio.find('SetDTE/Caratula/RutReceptor').text)) ], limit=1) IdRespuesta = self.env.ref('l10n_cl_fe.response_sequence').next_by_id() vals = self._get_datos_empresa(company_id) vals.update({ "Recepciones": [{ "IdRespuesta": IdRespuesta, "RutResponde": company_id.partner_id.rut(), "NmbContacto": self.env.user.partner_id.name, "FonoContacto": self.env.user.partner_id.phone, "MailContacto": self.env.user.partner_id.email, "xml_nombre": self._get_xml_name(), "xml_envio": self._get_xml(), }] }) respuesta = fe.leer_xml(vals) if self.dte_id: for r in respuesta: att = self._create_attachment(r['respuesta_xml'], r['nombre_xml'], self.dte_id.id, 'mail.message.dte') dte_email_id = self.dte_id.company_id.dte_email_id or\ self.env.user.company_id.dte_email_id email_to = self.sudo().dte_id.mail_id.email_from if envio is not None: RUT = envio.find('SetDTE/Caratula/RutEmisor').text partner_id = self.env['res.partner'].search([ ('active', '=', True), ('parent_id', '=', False), ('vat', '=', self.format_rut(RUT)) ]) if partner_id.dte_email: email_to = partner_id.dte_email values = { 'res_id': self.dte_id.id, 'email_from': dte_email_id.name_get()[0][1], 'email_to': email_to, 'auto_delete': False, 'model': "mail.message.dte", 'body': 'XML de Respuesta Envío, Estado: %s , Glosa: %s ' % (r['EstadoRecepEnv'], r['RecepEnvGlosa']), 'subject': 'XML de Respuesta Envío', 'attachment_ids': [[6, 0, att.ids]], } send_mail = self.env['mail.mail'].sudo().create(values) send_mail.send()
def do_receipt_deliver(self): envio = self._read_xml("etree") if envio.find("SetDTE") is None or envio.find("SetDTE/Caratula") is None: return True company_id = self.env["res.company"].search( [("vat", "=", self.format_rut(envio.find("SetDTE/Caratula/RutReceptor").text))], limit=1 ) IdRespuesta = self.env.ref("l10n_cl_fe.response_sequence").next_by_id() vals = self._get_datos_empresa(company_id) vals.update( { "Recepciones": [ { "IdRespuesta": IdRespuesta, "RutResponde": company_id.partner_id.rut(), "NmbContacto": self.env.user.partner_id.name, "FonoContacto": self.env.user.partner_id.phone, "MailContacto": self.env.user.partner_id.email, "xml_nombre": self._get_xml_name(), "xml_envio": self._get_xml(), } ] } ) respuesta = fe.leer_xml(vals) if self.dte_id: for r in respuesta: att = self._create_attachment(r["respuesta_xml"], r["nombre_xml"], self.dte_id.id, "mail.message.dte") dte_email_id = self.dte_id.company_id.dte_email_id or self.env.user.company_id.dte_email_id email_to = self.sudo().dte_id.mail_id.email_from if envio is not None: RUT = envio.find("SetDTE/Caratula/RutEmisor").text partner_id = self.env["res.partner"].search( [("active", "=", True), ("parent_id", "=", False), ("vat", "=", self.format_rut(RUT))] ) if partner_id.dte_email: email_to = partner_id.dte_email values = { "res_id": self.dte_id.id, "email_from": dte_email_id.name_get()[0][1], "email_to": email_to, "auto_delete": False, "model": "mail.message.dte", "body": "XML de Respuesta Envío, Estado: %s , Glosa: %s " % (r["EstadoRecepEnv"], r["RecepEnvGlosa"]), "subject": "XML de Respuesta Envío", "attachment_ids": [[6, 0, att.ids]], } send_mail = self.env["mail.mail"].sudo().create(values) send_mail.send()