def gerar_xml_assinado(request, pk): from emensageriapro.settings import BASE_DIR from emensageriapro.mensageiro.functions.funcoes_efdreinf import salvar_arquivo_efdreinf from emensageriapro.mensageiro.functions.funcoes_efdreinf import assinar_efdreinf r9011_evttotalcontrib = get_object_or_404(r9011evtTotalContrib, id=pk) if r9011_evttotalcontrib.arquivo_original: xml = ler_arquivo(r9011_evttotalcontrib.arquivo) else: xml = gerar_xml_r9011(request, pk) if 'Signature' in xml: xml_assinado = xml else: if not r9011_evttotalcontrib.transmissor_lote_efdreinf: from emensageriapro.mapa_processamento.views.funcoes_automaticas_efdreinf \ import vincular_transmissor_efdreinf, criar_transmissor_efdreinf, get_grupo grupo = get_grupo(r9011evtTotalContrib) criar_transmissor_efdreinf(request, grupo, r9011_evttotalcontrib.nrinsc, r9011_evttotalcontrib.tpinsc) vincular_transmissor_efdreinf(request, grupo, r9011evtTotalContrib, r9011_evttotalcontrib) r9011_evttotalcontrib = get_object_or_404(r9011evtTotalContrib, id=pk) xml_assinado = assinar_efdreinf( request, xml, r9011_evttotalcontrib.transmissor_lote_efdreinf_id) if r9011_evttotalcontrib.status in (STATUS_EVENTO_CADASTRADO, STATUS_EVENTO_IMPORTADO, STATUS_EVENTO_DUPLICADO, STATUS_EVENTO_GERADO): r9011evtTotalContrib.objects.\ filter(id=pk).update(status=STATUS_EVENTO_ASSINADO) arquivo = 'arquivos/Eventos/r9011_evttotalcontrib/%s.xml' % ( r9011_evttotalcontrib.identidade) os.system('mkdir -p %s/arquivos/Eventos/r9011_evttotalcontrib/' % BASE_DIR) if not os.path.exists(BASE_DIR + arquivo): salvar_arquivo_efdreinf(arquivo, xml_assinado, 1) xml_assinado = ler_arquivo(arquivo) return xml_assinado
def gerar_xml_assinado(r5011_evttotalcontrib_id, db_slug): import os from emensageriapro.mensageiro.functions.funcoes_efdreinf import salvar_arquivo_efdreinf from emensageriapro.settings import BASE_DIR from emensageriapro.mensageiro.functions.funcoes_efdreinf import assinar_efdreinf r5011_evttotalcontrib = get_object_or_404( r5011evtTotalContrib.objects.using(db_slug), excluido=False, id=r5011_evttotalcontrib_id) if r5011_evttotalcontrib.arquivo_original: xml = ler_arquivo(r5011_evttotalcontrib.arquivo) else: xml = gerar_xml_r5011(r5011_evttotalcontrib_id, db_slug) if 'Signature' in xml: xml_assinado = xml else: xml_assinado = assinar_efdreinf(xml) if r5011_evttotalcontrib.status in (0, 1, 2, 11): r5011evtTotalContrib.objects.using(db_slug).\ filter(id=r5011_evttotalcontrib_id,excluido=False).update(status=10) arquivo = 'arquivos/Eventos/r5011_evttotalcontrib/%s.xml' % ( r5011_evttotalcontrib.identidade) os.system('mkdir -p %s/arquivos/Eventos/r5011_evttotalcontrib/' % BASE_DIR) if not os.path.exists(BASE_DIR + arquivo): salvar_arquivo_efdreinf(arquivo, xml_assinado, 1) xml_assinado = ler_arquivo(arquivo) return xml_assinado