Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.core.files import File
- from django.core.files.base import ContentFile
- from enapet.settings import BASE_DIR
- from enapet_trabalhos.secrets import token_urlsafe
- from enapet_trabalhos.models import CartaAceite, Trabalho, AvaliacaoIndividual
- import os
- EIXOS = {
- 'A': 'Unidos pela Cidadania',
- 'B': 'Unidos pelo incentivo à Cultura',
- 'C': 'Unidos pela Tríade',
- 'D': 'Unidos pela Organização do Trabalho',
- 'E': 'Unidos pela Educação',
- 'F': 'Unidos pela Inovação',
- 'G': 'Unidos pela Sustentabilidade',
- 'H': 'Unidos pela Saúde Coletiva',
- 'I': 'Unidos pela Inclusão',
- }
- PATH_TO_BASE = ""
- work_dir = '/home/olivato/cartas/'
- def get_lista_emails_proibidos():
- return [
- "paulavespinola@hotmail.com",
- "iagosantosaguiar@gmail.com",
- "juluzsg@gmail.com",
- "gsouza447@gmail.com",
- "danilorr716@yahoo.com.br",
- "samiraandrade2010@gmail.com",
- "paulavespinola@hotmail.com",
- "mendesjob@hotmail.com",
- "gabbygabrielah@gmail.com",
- "wellissonmarcos@hotmail.com",
- "laiscandido30@hotmail.com",
- "thaislealsilva@hotmail.com",
- "letycia_ffc@hotmail.com",
- "cavalcantealy42@gmail.com",
- "polianalanzzarin@gmail.com",
- "cleversoncosta2009@gmail.com",
- "joffilybrito@gmail.com",
- "marconijunior1@hotmail.com",
- "juliana33silva@gmail.com",
- "thirsonac@gmail.com",
- "iansfreitas16@gmail.com",
- "malena.ac@hotmail.com",
- "joaes.alves@gmail.com",
- "bairral@hotmail.com",
- "ritamendes.uftm@gmail.com",
- "gabrielmoura.g@hotmail.com",
- "silviasouzaac40@hotmail.com",
- "lucassena21@gmail.com",
- "rita.s.paula33@gmail.com",
- "isabelefrancelino@hotmail.com",
- "lleonentwig98@gmail.com",
- "lleonentwig98@gmail.com",
- "mariamenezes2014@outlook.pt",
- "karlla.moraes960@gmail.com",
- "petcultura@gmail.com",
- "oliveirawilliam@outlook.com",
- "moreirarthur42@gmail.com",
- "ariannyoliveira@live.com",
- "estefhanymarreiros@gmail.com",
- "matheusffavila@gmail.com",
- "luisaxavierdemoura@gmail.com",
- "lucasdasilva.lima32@gmail.com"
- ]
- def get_ressalvas_by_trabalho(trab):
- ressalvas = []
- for avind in AvaliacaoIndividual.objects.all():
- if avind.avaliador_trabalho.trabalho == trab:
- if avind.observacoes != "":
- ressalvas.append(avind.observacoes)
- return ressalvas
- def get_trabalhos_by_status(status):
- trabalhos_total = Trabalho.objects.all().filter(valido=True)
- trab = []
- for avind in AvaliacaoIndividual.objects.all():
- if avind.status == status:
- if avind.avaliador_trabalho.trabalho in trabalhos_total and avind.avaliador_trabalho.trabalho not in trab:
- trab.append(avind.avaliador_trabalho.trabalho)
- return trab
- def create_new_pdf_from_html(carta):
- token = token_urlsafe(16)
- os.system('wkhtmltopdf '+BASE_DIR+'/enapet2018/templates/enapet2018/temp_file.html '+BASE_DIR+'/enapet2018/media/cartas/'+token+'.pdf')
- print(carta.nome_do_fulano + " created at " + work_dir+str(token) + ".pdf")
- carta.carta = '/media/cartas/'+token+'.pdf'
- carta.save()
- return carta.carta
- def create_new_html_from_base(params,trab):
- # wkhtmltopdf index.html index.pdf
- path = BASE_DIR + '/enapet2018/templates/enapet2018/base_pdf.html'
- with open(path,'r') as carta_base:
- filedata = carta_base.read()
- filedata = filedata.replace('[NOME DO AUTOR]', params["nome"])
- filedata = filedata.replace('[TITULO DO TRABALHO]', params["trabalho"])
- filedata = filedata.replace('[AUTORES]', params["autores"])
- filedata = filedata.replace('[EIXO TEMÁTICO]', EIXOS[params["eixo"]])
- filedata = filedata.replace('[APTO/APTO COM RESSALVAS/INAPTO]', params["status"])
- filedata = filedata.replace(",,", ",")
- with open(BASE_DIR+ '/enapet2018/templates/enapet2018/temp_file.html', 'w') as file:
- file.write(work_dir+filedata)
- c = CartaAceite(nome_do_fulano=params["nome"], trabalho=trab)
- link_html_pdf = create_new_pdf_from_html(c)
- return link_html_pdf
- # FAZER ISSO PARA CADA TRABALHO QUE PRECISA SER ENVIADO CARTA
- for trab in get_trabalhos_by_status('A'):
- params = {
- "nome":trab.autores.partition(",")[0],
- "trabalho":trab.titulo,
- "autores":trab.autores,
- "eixo":trab.eixos,
- "status":" apto ",
- }
- link_opcao = "https://enapet2018.com.br/trabalhos/apresentacao/" + trab.link_opcao
- link_pdf = "https://enapet2018.com.br" + create_new_html_from_base(params, trab)
- if trab not in get_lista_emails_proibidos():
- _enviar_email_generico( "ENAPET XXIII - Resultado das Avaliações",
- "Resultado das Avaliações",
- "Este e-mail contém informações sobre o parecer da avaliação e instruções acerca da escolha do tipo e envio da apresentação.<br/><br/>"
- "Seu trabalho entitulado " + trab.titulo + " foi corrigido e classificado como Aprovado sem ressalvas.<br/>"
- "Os próximos passos são escolher o tipo da apresentação e enviá-la. Para isso, você deve acessar o link disponível, escolher a opção de preferência e anexar o arquivo (.pptx) referente a apresentação.<br/><br/>"
- "O link para download do documento com o parecer sobre as avaliações (Carta de Aceite), encontra-se no fim do corpo do e-mail."
- "<br/><br/><br/>"
- "<br/>Link para o <i>download</i> do parecer: " + link_pdf +
- "<br/>Link para escolha tipo e envio da apresentação: " + link_opcao +
- "<br/>"
- "<u><b>Por favor, não responda este e-mail.</b></u>"
- "<br/><br/>A comissão UFSCamp agradece sua participação.<br/>"
- , {"nome": params["nome"], "email": a.email}
- )
- # DO: SEM REENVIO DE TRABALHOS
- # texto = texto_sem_ressalvas
- for trab in get_trabalhos_by_status('B'):
- params = {
- "nome": trab.autores.partition(",")[0],
- "trabalho": trab.titulo,
- "autores": trab.autores,
- "eixo": trab.eixos,
- "status": " apto com ressalvas, ",
- }
- ressalvas = get_ressalvas_by_trabalho(trab)
- link_opcao = "https://enapet2018.com.br/trabalhos/apresentacao/" + trab.link_opcao
- link_reenvio = "https://enapet2018.com.br/trabalhos/reenvio/" + trab.link_reenvio
- link_pdf = "https://enapet2018.com.br" + create_new_html_from_base(params, trab)
- if trab not in get_lista_emails_proibidos():
- _enviar_email_generico("ENAPET XXIII - Resultado das Avaliações",
- "Resultado das Avaliações",
- "Este e-mail contém informações sobre o parecer da avaliação e instruções acerca da escolha do tipo e envio da apresentação.<br/><br/>"
- "Seu trabalho entitulado " + trab.titulo + " foi corrigido e classificado como Aprovado com ressalvas.<br/>"
- "<br/><br/> <b>Ressalvas:</b><br/>"
- "<p><b>"+ressalvas+"</b></p><br/>"
- "Os próximos passos são escolher o tipo da apresentação e enviá-la. Para isso, você deve acessar o link disponível, escolher a opção de preferência e anexar o arquivo (.pptx) referente a apresentação.<br/><br/>"
- "O link para download do documento com o parecer sobre as avaliações (Carta de Aceite), encontra-se no fim do corpo do e-mail."
- "<br/><br/><br/>"
- "<br/>Link para o <i>download</i> do parecer: " + link_pdf +
- "<br/>Link para escolha tipo e envio da apresentação: " + link_opcao +
- "<br/>"
- "<u><b>Por favor, não responda este e-mail.</b></u>"
- "<br/><br/>A comissão UFSCamp agradece sua participação.<br/>"
- , {"nome": params["nome"], "email": a.email}
- )
- for trab in get_trabalhos_by_status('C'):
- if trab not in get_lista_emails_proibidos():
- print("Titulo: " + trab.titulo + ", INAPTO")
- _enviar_email_generico("ENAPET XXIII - Resultado das Avaliações",
- "Resultado das Avaliações",
- "Este e-mail contém informações sobre o parecer da avaliação.<br/><br/>"
- "Seu trabalho entitulado " + trab.titulo + " foi corrigido e classificado como Inapto.<br/>"
- "<u><b>Por favor, não responda este e-mail.</b></u>"
- "<br/><br/>A comissão UFSCamp agradece sua participação.<br/>"
- , {"nome": params["nome"], "email": a.email}
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement