Browse Source

Feat(Proposicao): anexos visiveis na tela de incorporacao AB#1560

O operador de protocolo decidia incorporar ou devolver sem conseguir ver os
anexos: o template confirmar_proposicao.html so expunha o texto original e o
editor OnlyOffice.

O timing era o pior possivel. Os anexos ja existem na hora da incorporacao — o
upload e bloqueado depois do envio — mas so viram DocumentoAcessorio durante o
ConfirmarProposicaoForm.save(), que converte cada AnexoProposicao e em seguida
os apaga. Ou seja, o operador so enxergava o que precisava para decidir depois
de ja ter decidido.

Adiciona um dropdown "Ver Anexos (N)" na barra de acoes, um item por anexo com
nome e tipo. Abre em nova aba de proposito: a tela e um formulario de
incorporacao/devolucao preenchido pelo operador, e navegar para fora perderia o
que ele digitou.

O link aponta para a URL de midia, igual ao botao "Texto Original da
Proposicao" ao lado. Nao reaproveita a view proposicao_texto porque a regra
dela negaria justamente o operador de protocolo: exige ser operador do autor
enquanto data_recebimento for nulo.

Fica fora, conscientemente: conversao de anexo nao-PDF para PDF, e o acesso
anonimo a /media/ servido pelo nginx — este ultimo merece tarefa e ADR
proprios, por afetar todas as telas e todas as camaras.

Inclui o bump do submodule knowledge/ para origin/main, exigido pelo
pre-commit da ADR-0012.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
pull/3858/head
Gustavo 3 days ago
parent
commit
70125c8975
  1. 2
      knowledge
  2. 23
      sapl/templates/materia/confirmar_proposicao.html

2
knowledge

@ -1 +1 @@
Subproject commit 665a13d886cbac5ba96c50cb217cffc55a7fcb81
Subproject commit 5adea830ca34d120e69e8f39fd300c1c3db5d034

23
sapl/templates/materia/confirmar_proposicao.html

@ -17,6 +17,29 @@
<i class="fa fa-edit"></i> {% trans "Editar com OnlyOffice" %}
</a>
{% endif %}
{% comment %}
Anexos da proposição. Só ficam visíveis como Documento Acessório depois
da incorporação, então sem isto o operador de protocolo decide sem ver o
que está anexado. Abre em nova aba para não perder o formulário.
{% endcomment %}
{% if object.anexos.exists %}
<div class="btn-group btn-group-sm" role="group">
<button type="button" class="btn btn-outline-primary dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fa fa-paperclip"></i>
{% trans "Ver Anexos" %} ({{ object.anexos.count }})
</button>
<div class="dropdown-menu dropdown-menu-right">
{% for anexo in object.anexos.all %}
<a class="dropdown-item" href="{{ anexo.arquivo.url }}"
target="_blank" rel="noopener">
{{ anexo.nome }}
<small class="text-muted">&mdash; {{ anexo.tipo }}</small>
</a>
{% endfor %}
</div>
</div>
{% endif %}
</div>
{% endblock actions%}
</div>

Loading…
Cancel
Save