Browse Source

Fix #2843: Permite apagar TipoExpediente se só for referenciado por conteúdos vazios (#2844)

* HOT-FIX: Permite apagar TipoExpediente se só for referenciado por conteúdos vazios

* Retira Tipos vazios do resumo e extrato
pull/2761/head
Cesar Augusto de Carvalho 6 years ago
committed by Cesar Carvalho
parent
commit
28b13a4371
  1. 15
      sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py
  2. 18
      sapl/sessao/views.py
  3. 10
      sapl/templates/sessao/blocos_ata/expedientes.html
  4. 18
      sapl/templates/sessao/blocos_resumo/expedientes.html

15
sapl/relatorios/templates/pdf_sessao_plenaria_gerar.py

@ -203,13 +203,14 @@ def expedientes(lst_expedientes):
tmp += '\t\t\t<font color="white"> </font>\n'
tmp += '\t\t</para>\n'
for expediente in lst_expedientes:
tmp += '\t\t<para style="P2"><b>' + '<br/> ' + \
expediente['nom_expediente'] + ': </b></para>\n' + \
'<para style="P3">' + \
expediente['txt_expediente'] + '</para>\n'
tmp += '\t\t<para style="P2">\n'
tmp += '\t\t\t<font color="white"> </font>\n'
tmp += '\t\t</para>\n'
if expediente['txt_expediente']:
tmp += '\t\t<para style="P2"><b>' + '<br/> ' + \
expediente['nom_expediente'] + ': </b></para>\n' + \
'<para style="P3">' + \
expediente['txt_expediente'] + '</para>\n'
tmp += '\t\t<para style="P2">\n'
tmp += '\t\t\t<font color="white"> </font>\n'
tmp += '\t\t</para>\n'
return tmp

18
sapl/sessao/views.py

@ -53,7 +53,6 @@ from .models import (Bancada, CargoBancada, CargoMesa,
TipoSessaoCrud = CrudAux.build(TipoSessaoPlenaria, 'tipo_sessao_plenaria')
TipoExpedienteCrud = CrudAux.build(TipoExpediente, 'tipo_expediente')
TipoJustificativaCrud = CrudAux.build(TipoJustificativa, 'tipo_justificativa')
CargoBancadaCrud = CrudAux.build(CargoBancada, '')
TipoResultadoVotacaoCrud = CrudAux.build(
@ -467,6 +466,23 @@ def get_presencas_generic(model, sessao, legislatura):
yield (m.parlamentar, False)
class TipoExpedienteCrud(CrudAux):
model = TipoExpediente
class DeleteView(CrudAux.DeleteView):
def delete(self, *args, **kwargs):
self.object = self.get_object()
# Se todas as referências a este tipo forem de conteúdo vazio,
# significa que pode ser apagado
if self.object.expedientesessao_set.filter(conteudo='').count() == \
self.object.expedientesessao_set.all().count():
self.object.expedientesessao_set.all().delete()
return CrudAux.DeleteView.delete(self, *args, **kwargs)
class MateriaOrdemDiaCrud(MasterDetailCrud):
model = OrdemDia
parent_field = 'sessao_plenaria'

10
sapl/templates/sessao/blocos_ata/expedientes.html

@ -3,12 +3,10 @@
{% if expedientes %}
<strong>Expedientes: </strong>
{% for e in expedientes %}
<b>{{e.tipo}}</b>:
{% if e.conteudo %}
{{e.conteudo|striptags|safe}}
{% else %}
Sem registro
{% endif %}
{% if e.conteudo %}
<b>{{e.tipo}}</b>:
{{e.conteudo|striptags|safe}}
{% endif %}
{% endfor %}
{% endif %}
</p>

18
sapl/templates/sessao/blocos_resumo/expedientes.html

@ -4,14 +4,16 @@
<table class="table">
<thead class="thead-default">
{% for e in expedientes %}
<tr>
<td>
<b>{{e.tipo}}: </b> <br /><br />
<div style="border:0.5px solid #BAB4B1; border-radius: 10px; background-color: rgba(225, 225, 225, .8);">
<p>{{e.conteudo|safe}}</p>
</div>
</td>
</tr>
{% if e.conteudo %}
<tr>
<td>
<b>{{e.tipo}}: </b> <br /><br />
<div style="border:0.5px solid #BAB4B1; border-radius: 10px; background-color: rgba(225, 225, 225, .8);">
<p>{{e.conteudo|safe}}</p>
</div>
</td>
</tr>
{% endif %}
{% endfor %}
</thead>
</table>

Loading…
Cancel
Save