Browse Source

Merge pull request #1367 from interlegis/1180-resumo-sessao

Fix #1180
pull/1405/head
Eduardo Calil 7 years ago
committed by GitHub
parent
commit
bf9e1ce6ba
  1. 6
      sapl/base/templatetags/common_tags.py
  2. 18
      sapl/relatorios/views.py
  3. 5
      sapl/sessao/views.py
  4. 4
      sapl/templates/sessao/blocos_resumo/lista_presenca.html
  5. 4
      sapl/templates/sessao/blocos_resumo/lista_presenca_ordem_dia.html
  6. 22
      sapl/utils.py

6
sapl/base/templatetags/common_tags.py

@ -4,7 +4,7 @@ from django import template
from sapl.base.models import AppConfig from sapl.base.models import AppConfig
from sapl.materia.models import DocumentoAcessorio, MateriaLegislativa from sapl.materia.models import DocumentoAcessorio, MateriaLegislativa
from sapl.norma.models import NormaJuridica from sapl.norma.models import NormaJuridica
from sapl.parlamentares.models import Filiacao from sapl.utils import filiacao_data
register = template.Library() register = template.Library()
@ -180,3 +180,7 @@ def urldetail_content_type(obj, value):
def urldetail(obj): def urldetail(obj):
return '%s:%s_detail' % ( return '%s:%s_detail' % (
obj._meta.app_config.name, obj._meta.model_name) obj._meta.app_config.name, obj._meta.model_name)
@register.filter
def filiacao_epoca_filter(parlamentar, sessao):
return filiacao_data(parlamentar, sessao.data_inicio)

18
sapl/relatorios/views.py

@ -19,7 +19,7 @@ from sapl.sessao.models import (ExpedienteMateria, ExpedienteSessao,
SessaoPlenaria, SessaoPlenariaPresenca, SessaoPlenaria, SessaoPlenariaPresenca,
TipoExpediente) TipoExpediente)
from sapl.settings import STATIC_ROOT from sapl.settings import STATIC_ROOT
from sapl.utils import UF from sapl.utils import filiacao_data, UF
from .templates import (pdf_capa_processo_gerar, from .templates import (pdf_capa_processo_gerar,
pdf_documento_administrativo_gerar, pdf_espelho_gerar, pdf_documento_administrativo_gerar, pdf_espelho_gerar,
@ -510,12 +510,8 @@ def get_sessao_plenaria(sessao, casa):
for parlamentar in [p.parlamentar for p in presenca]: for parlamentar in [p.parlamentar for p in presenca]:
dic_presenca = {} dic_presenca = {}
dic_presenca["nom_parlamentar"] = parlamentar.nome_parlamentar dic_presenca["nom_parlamentar"] = parlamentar.nome_parlamentar
partido = Filiacao.objects.filter( partido_sigla = filiacao_data(parlamentar, sessao.data_inicio)
parlamentar=parlamentar).first()
if partido:
partido_sigla = partido.partido.sigla
else:
partido_sigla = ''
dic_presenca['sgl_partido'] = partido_sigla dic_presenca['sgl_partido'] = partido_sigla
lst_presenca_sessao.append(dic_presenca) lst_presenca_sessao.append(dic_presenca)
@ -651,12 +647,8 @@ def get_sessao_plenaria(sessao, casa):
dic_presenca_ordem_dia = {} dic_presenca_ordem_dia = {}
dic_presenca_ordem_dia['nom_parlamentar'] = ( dic_presenca_ordem_dia['nom_parlamentar'] = (
parlamentar.nome_parlamentar) parlamentar.nome_parlamentar)
partido_sigla = Filiacao.objects.filter( sigla = filiacao_data(parlamentar, sessao.data_inicio)
parlamentar=parlamentar).first()
if not partido_sigla:
sigla = ''
else:
sigla = partido_sigla.partido.sigla
dic_presenca_ordem_dia['sgl_partido'] = sigla dic_presenca_ordem_dia['sgl_partido'] = sigla
lst_presenca_ordem_dia.append(dic_presenca_ordem_dia) lst_presenca_ordem_dia.append(dic_presenca_ordem_dia)

5
sapl/sessao/views.py

@ -34,7 +34,6 @@ from sapl.parlamentares.models import (Filiacao, Legislatura, Parlamentar,
SessaoLegislativa, Mandato) SessaoLegislativa, Mandato)
from sapl.sessao.apps import AppConfig from sapl.sessao.apps import AppConfig
from sapl.sessao.forms import ExpedienteMateriaForm, OrdemDiaForm from sapl.sessao.forms import ExpedienteMateriaForm, OrdemDiaForm
from .forms import (AdicionarVariasMateriasFilterSet, ExpedienteForm, from .forms import (AdicionarVariasMateriasFilterSet, ExpedienteForm,
ListMateriaForm, MesaForm, OradorExpedienteForm, ListMateriaForm, MesaForm, OradorExpedienteForm,
OradorForm, PautaSessaoFilterSet, PresencaForm, OradorForm, PautaSessaoFilterSet, PresencaForm,
@ -1458,9 +1457,9 @@ class VotacaoEditView(SessaoPermissionMixin):
class VotacaoView(SessaoPermissionMixin): class VotacaoView(SessaoPermissionMixin):
''' """
Votação Simbólica e Secreta Votação Simbólica e Secreta
''' """
template_name = 'sessao/votacao/votacao.html' template_name = 'sessao/votacao/votacao.html'
form_class = VotacaoForm form_class = VotacaoForm

4
sapl/templates/sessao/blocos_resumo/lista_presenca.html

@ -1,8 +1,10 @@
{% load common_tags %}
<fieldset> <fieldset>
<legend>Lista de Presença na Sessão</legend> <legend>Lista de Presença na Sessão</legend>
<div class="row"> <div class="row">
{% for p in presenca_sessao %} {% for p in presenca_sessao %}
<div class="col-md-12">{{p.nome_parlamentar}} / {{ p.filiacao_atual }}</div> <div class="col-md-12">{{p.nome_parlamentar}} / {{ p|filiacao_epoca_filter:object }}</div>
{% endfor %} {% endfor %}
</div> </div>
</fieldset> </fieldset>

4
sapl/templates/sessao/blocos_resumo/lista_presenca_ordem_dia.html

@ -1,8 +1,10 @@
{% load common_tags %}
<fieldset> <fieldset>
<legend>Lista de Presença na Ordem do Dia</legend> <legend>Lista de Presença na Ordem do Dia</legend>
<div class="row"> <div class="row">
{% for p in presenca_ordem %} {% for p in presenca_ordem %}
<div class="col-md-12">{{p.nome_parlamentar}} / {{ p.filiacao_atual }}</div> <div class="col-md-12">{{p.nome_parlamentar}} / {{ p|filiacao_epoca_filter:object }}</div>
{% endfor %} {% endfor %}
</div> </div>
</fieldset> </fieldset>

22
sapl/utils.py

@ -15,6 +15,7 @@ from crispy_forms.helper import FormHelper
from crispy_forms.layout import HTML, Button from crispy_forms.layout import HTML, Button
from django import forms from django import forms
from django.apps import apps from django.apps import apps
from django.db.models import Q
from django.conf import settings from django.conf import settings
from django.contrib import admin from django.contrib import admin
from django.contrib.contenttypes.fields import (GenericForeignKey, GenericRel, from django.contrib.contenttypes.fields import (GenericForeignKey, GenericRel,
@ -28,6 +29,7 @@ from reversion.admin import VersionAdmin
from sapl.crispy_layout_mixin import SaplFormLayout, form_actions, to_row from sapl.crispy_layout_mixin import SaplFormLayout, form_actions, to_row
from sapl.settings import BASE_DIR, PROJECT_DIR from sapl.settings import BASE_DIR, PROJECT_DIR
sapl_logger = logging.getLogger(BASE_DIR.name) sapl_logger = logging.getLogger(BASE_DIR.name)
@ -593,4 +595,22 @@ def qs_override_django_filter(self):
self._qs = qs self._qs = qs
return self._qs return self._qs
def filiacao_data(parlamentar, data):
from sapl.parlamentares.models import Filiacao
filiacoes_parlamentar = Filiacao.objects.filter(
parlamentar=parlamentar)
filiacoes = filiacoes_parlamentar.filter(Q(
data__lte=data,
data_desfiliacao__isnull=True) | Q(
data__lte=data,
data_desfiliacao__gte=data))
if filiacoes:
return filiacoes.last().partido.sigla
else:
return ''
Loading…
Cancel
Save