Browse Source

Processa tables no docx e corrige bug de redirect

pull/159/head
Sesostris Vieira 3 years ago
parent
commit
b82ea733b4
  1. 40
      sigi/apps/eventos/views.py

40
sigi/apps/eventos/views.py

@ -154,11 +154,26 @@ def evento(request, id):
def convida_casa(request, evento_id, casa_id): def convida_casa(request, evento_id, casa_id):
def processa_paragrafos(paragrafos, context):
for paragrafo in paragrafos:
run_final = None
for run in paragrafo.runs:
if run_final is None:
run_final = run
else:
run_final.text += run.text
run.text = ""
try:
run_final.text = Template(run_final.text).render(context)
run_final = None
except TemplateSyntaxError:
pass
if not request.user.servidor: if not request.user.servidor:
messages.error( messages.error(
request, _("Você não é servidor, não pode registrar convites") request, _("Você não é servidor, não pode registrar convites")
) )
return redirect(evento) return redirect(reverse("eventos-evento", args=[evento_id]))
evento = get_object_or_404(Evento, id=evento_id) evento = get_object_or_404(Evento, id=evento_id)
casa = get_object_or_404(Orgao, id=casa_id) casa = get_object_or_404(Orgao, id=casa_id)
@ -244,21 +259,14 @@ def convida_casa(request, evento_id, casa_id):
"doravante": casa.tipo.nome.split(" ")[0], "doravante": casa.tipo.nome.split(" ")[0],
} }
) )
for paragrafo in doc.paragraphs: processa_paragrafos(doc.paragraphs, doc_context)
run_final = None for table in doc.tables:
for run in paragrafo.runs: for row in table.rows:
if run_final is None: for cell in row.cells:
run_final = run processa_paragrafos(
else: cell.paragraphs,
run_final.text += run.text doc_context,
run.text = "" )
try:
run_final.text = Template(
run_final.text
).render(doc_context)
run_final = None
except TemplateSyntaxError:
pass
nome = f"Minuta de {projeto.sigla} da {casa.nome}"[:70] nome = f"Minuta de {projeto.sigla} da {casa.nome}"[:70]
minuta = Anexo(descricao=nome, evento=evento) minuta = Anexo(descricao=nome, evento=evento)
minuta.arquivo.name = slugify(nome) + ".docx" minuta.arquivo.name = slugify(nome) + ".docx"

Loading…
Cancel
Save