Browse Source

Fixes #2657 (#2661)

pull/2579/head
Edward 6 years ago
committed by Cesar Cavalho
parent
commit
fb92567720
  1. 72
      sapl/sessao/views.py
  2. 4
      sapl/templates/sessao/blocos_ata/materias_ordem_dia.html

72
sapl/sessao/views.py

@ -1033,9 +1033,6 @@ class ListMateriaOrdemDiaView(FormMixin, DetailView):
return self.get(self, request, args, kwargs) return self.get(self, request, args, kwargs)
def ordenar_integrantes_por_cargo(integrantes):
return sorted(integrantes, key=lambda k: k['cargo'].id)
class MesaView(FormMixin, DetailView): class MesaView(FormMixin, DetailView):
template_name = 'sessao/mesa.html' template_name = 'sessao/mesa.html'
@ -1338,24 +1335,17 @@ def get_conteudo_multimidia(sessao_plenaria):
def get_mesa_diretora(sessao_plenaria): def get_mesa_diretora(sessao_plenaria):
mesa = IntegranteMesa.objects.filter(sessao_plenaria=sessao_plenaria) mesa = IntegranteMesa.objects.filter(sessao_plenaria=sessao_plenaria).order_by('cargo_id')
integrantes = [] integrantes = [{'parlamentar': m.parlamentar,
for m in mesa: 'cargo': m.cargo} for m in mesa]
parlamentar = Parlamentar.objects.get( return {'mesa': integrantes}
id=m.parlamentar_id)
cargo = CargoMesa.objects.get(
id=m.cargo_id)
integrante = {'parlamentar': parlamentar, 'cargo': cargo}
integrantes.append(integrante)
return ({'mesa': ordenar_integrantes_por_cargo(integrantes)})
def get_presenca_sessao(sessao_plenaria): def get_presenca_sessao(sessao_plenaria):
presencas = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=sessao_plenaria.id
).order_by('parlamentar__nome_parlamentar')
parlamentares_sessao = [p.parlamentar for p in presencas] parlamentares_sessao = [p.parlamentar for p in SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=sessao_plenaria.id
).order_by('parlamentar__nome_parlamentar')]
ausentes_sessao = JustificativaAusencia.objects.filter( ausentes_sessao = JustificativaAusencia.objects.filter(
sessao_plenaria_id=sessao_plenaria.id sessao_plenaria_id=sessao_plenaria.id
@ -1440,48 +1430,45 @@ def get_oradores_expediente(sessao_plenaria):
'observacao': observacao 'observacao': observacao
} }
oradores.append(ora) oradores.append(ora)
context = {'oradores': oradores} return {'oradores': oradores}
return context
def get_presenca_ordem_do_dia(sessao_plenaria): def get_presenca_ordem_do_dia(sessao_plenaria):
mesa_aux = get_mesa_diretora(sessao_plenaria) parlamentares_ordem = [p.parlamentar for p in PresencaOrdemDia.objects.filter(
presencas = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=sessao_plenaria.id sessao_plenaria_id=sessao_plenaria.id
).order_by('parlamentar__nome_parlamentar') ).order_by('parlamentar__nome_parlamentar')]
parlamentares_mesa_dia = [m for m in mesa_aux['mesa']] return {'presenca_ordem': parlamentares_ordem}
presidente_dia = ''
for m in mesa_aux['mesa']:
if m['cargo'].descricao == 'Presidente':
presidente_dia = [m['parlamentar']]
break
parlamentares_ordem = [p.parlamentar for p in presencas] def get_assinaturas(sessao_plenaria):
mesa_dia = get_mesa_diretora(sessao_plenaria)['mesa']
cont = 0 presidente_dia = next(iter(
for index, parlamentar in enumerate(parlamentares_ordem): [m['parlamentar'] for m in mesa_dia if m['cargo'].descricao == 'Presidente']),
try: '')
if parlamentar == parlamentares_mesa_dia[cont]["parlamentar"]:
del(parlamentares_ordem[index]) parlamentares_ordem = [p.parlamentar for p in PresencaOrdemDia.objects.filter(
cont += 1 sessao_plenaria_id=sessao_plenaria.id
except IndexError: ).order_by('parlamentar__nome_parlamentar')]
pass
parlamentares_mesa = [m['parlamentar'] for m in mesa_dia]
# filtra parlamentares retirando os que sao da mesa
parlamentares_ordem = [p for p in parlamentares_ordem if p not in parlamentares_mesa]
context = {} context = {}
context.update({'presenca_ordem': parlamentares_ordem})
config_assinatura_ata = AppsAppConfig.objects.first().assinatura_ata config_assinatura_ata = AppsAppConfig.objects.first().assinatura_ata
if config_assinatura_ata == 'T' and parlamentares_ordem: if config_assinatura_ata == 'T' and parlamentares_ordem:
context.update( context.update(
{'texto_assinatura': 'Assinatura de Todos os Parlamentares Presentes na Sessão'}) {'texto_assinatura': 'Assinatura de Todos os Parlamentares Presentes na Sessão'})
context.update({'assinatura_mesa': parlamentares_mesa_dia, context.update({'assinatura_mesa': mesa_dia,
'assinatura_presentes': parlamentares_ordem}) 'assinatura_presentes': parlamentares_ordem})
elif config_assinatura_ata == 'M' and parlamentares_mesa_dia: elif config_assinatura_ata == 'M' and mesa_dia:
context.update( context.update(
{'texto_assinatura': 'Assinatura da Mesa Diretora da Sessão'}) {'texto_assinatura': 'Assinatura da Mesa Diretora da Sessão'})
context.update({'assinatura_presentes': parlamentares_mesa_dia}) context.update({'assinatura_presentes': mesa_dia})
elif config_assinatura_ata == 'P' and presidente_dia: elif config_assinatura_ata == 'P' and presidente_dia:
context.update( context.update(
{'texto_assinatura': 'Assinatura do Presidente da Sessão'}) {'texto_assinatura': 'Assinatura do Presidente da Sessão'})
@ -1649,6 +1636,9 @@ class ResumoView(DetailView):
# Presença Ordem do Dia # Presença Ordem do Dia
context.update(get_presenca_ordem_do_dia(self.object)) context.update(get_presenca_ordem_do_dia(self.object))
# ===================================================================== # =====================================================================
# Assinaturas
context.update(get_assinaturas(self.object))
# =====================================================================
# Matérias Ordem do Dia # Matérias Ordem do Dia
# Votos de Votação Nominal de Matérias Ordem do Dia # Votos de Votação Nominal de Matérias Ordem do Dia
materias_ordem_dia_votacao_nominal = OrdemDia.objects.filter( materias_ordem_dia_votacao_nominal = OrdemDia.objects.filter(

4
sapl/templates/sessao/blocos_ata/materias_ordem_dia.html

@ -4,9 +4,9 @@
</br></br> </br></br>
{% for m in materias_ordem %} {% for m in materias_ordem %}
<p> <p>
<b>Materia do Expediente: {{m.numero}} - {{m.titulo}}</b> <b>{{m.numero}} - {{m.titulo}}</b>
Descrição: {{m.ementa|safe}} Descrição: {{m.ementa|safe}}
Autor: {{ m.autor|length|pluralize:"es" }}: {{ m.autor|join:', ' }} Autor {{ m.autor|length|pluralize:"es" }}: {{ m.autor|join:', ' }}
{% if m.numero_protocolo %} {% if m.numero_protocolo %}
Número de Protocolo: {{ m.numero_protocolo }} Número de Protocolo: {{ m.numero_protocolo }}
{% endif %} {% endif %}

Loading…
Cancel
Save