|
|
@ -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( |
|
|
@ -93,6 +92,7 @@ def reordernar_materias_ordem(request, pk): |
|
|
|
return HttpResponseRedirect( |
|
|
|
reverse('sapl.sessao:ordemdia_list', kwargs={'pk': pk})) |
|
|
|
|
|
|
|
|
|
|
|
def renumerar_materias_ordem(request, pk): |
|
|
|
ordens = OrdemDia.objects.filter(sessao_plenaria_id=pk) |
|
|
|
|
|
|
@ -103,6 +103,7 @@ def renumerar_materias_ordem(request, pk): |
|
|
|
return HttpResponseRedirect( |
|
|
|
reverse('sapl.sessao:ordemdia_list', kwargs={'pk': pk})) |
|
|
|
|
|
|
|
|
|
|
|
def renumerar_materias_expediente(request, pk): |
|
|
|
expedientes = ExpedienteMateria.objects.filter(sessao_plenaria_id=pk) |
|
|
|
|
|
|
@ -113,6 +114,7 @@ def renumerar_materias_expediente(request, pk): |
|
|
|
return HttpResponseRedirect( |
|
|
|
reverse('sapl.sessao:expedientemateria_list', kwargs={'pk': pk})) |
|
|
|
|
|
|
|
|
|
|
|
def verifica_presenca(request, model, spk): |
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
if not model.objects.filter(sessao_plenaria_id=spk).exists(): |
|
|
@ -464,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' |
|
|
@ -595,7 +614,6 @@ class OradorCrud(MasterDetailCrud): |
|
|
|
class ListView(MasterDetailCrud.ListView): |
|
|
|
ordering = ['numero_ordem', 'parlamentar'] |
|
|
|
|
|
|
|
|
|
|
|
class CreateView(MasterDetailCrud.CreateView): |
|
|
|
|
|
|
|
form_class = OradorForm |
|
|
@ -607,7 +625,6 @@ class OradorCrud(MasterDetailCrud): |
|
|
|
return reverse('sapl.sessao:orador_list', |
|
|
|
kwargs={'pk': self.kwargs['pk']}) |
|
|
|
|
|
|
|
|
|
|
|
class UpdateView(MasterDetailCrud.UpdateView): |
|
|
|
|
|
|
|
form_class = OradorForm |
|
|
@ -615,7 +632,7 @@ class OradorCrud(MasterDetailCrud): |
|
|
|
def get_initial(self): |
|
|
|
initial = super(UpdateView, self).get_initial() |
|
|
|
initial.update({'id_sessao': self.object.sessao_plenaria.id}) |
|
|
|
initial.update({'numero':self.object.numero_ordem}) |
|
|
|
initial.update({'numero': self.object.numero_ordem}) |
|
|
|
|
|
|
|
return initial |
|
|
|
|
|
|
@ -677,11 +694,24 @@ class BancadaCrud(CrudAux): |
|
|
|
return reverse('sapl.sessao:bancada_list') |
|
|
|
|
|
|
|
|
|
|
|
def recuperar_numero_sessao(request): |
|
|
|
def recuperar_numero_sessao_view(request): |
|
|
|
try: |
|
|
|
tipo = TipoSessaoPlenaria.objects.get(pk=request.GET.get('tipo', '0')) |
|
|
|
sl = request.GET.get('sessao_legislativa', '0') |
|
|
|
l = request.GET.get('legislatura', '0') |
|
|
|
data = request.GET.get('data_inicio', timezone.now()) |
|
|
|
|
|
|
|
if isinstance(data, str): |
|
|
|
if data: |
|
|
|
data = timezone.datetime.strptime(data, '%d/%m/%Y').date() |
|
|
|
else: |
|
|
|
data = timezone.now().date() |
|
|
|
|
|
|
|
sessao = SessaoPlenaria.objects.filter( |
|
|
|
tipo__pk=request.GET['tipo'], |
|
|
|
sessao_legislativa=request.GET['sessao_legislativa']).last() |
|
|
|
tipo.queryset_tipo_numeracao( |
|
|
|
l, sl, data |
|
|
|
)).last() |
|
|
|
|
|
|
|
except ObjectDoesNotExist: |
|
|
|
numero = 1 |
|
|
|
else: |
|
|
@ -1066,7 +1096,6 @@ class ListMateriaOrdemDiaView(FormMixin, DetailView): |
|
|
|
return self.get(self, request, args, kwargs) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MesaView(FormMixin, DetailView): |
|
|
|
template_name = 'sessao/mesa.html' |
|
|
|
form_class = MesaForm |
|
|
@ -1341,7 +1370,7 @@ def get_identificação_basica(sessao_plenaria): |
|
|
|
_('Encerramento: %(encerramento)s %(hora_fim)s') % { |
|
|
|
'encerramento': encerramento, 'hora_fim': sessao_plenaria.hora_fim} |
|
|
|
], |
|
|
|
'sessaoplenaria': sessao_plenaria}) |
|
|
|
'sessaoplenaria': sessao_plenaria}) |
|
|
|
|
|
|
|
|
|
|
|
def get_conteudo_multimidia(sessao_plenaria): |
|
|
@ -1360,7 +1389,8 @@ def get_conteudo_multimidia(sessao_plenaria): |
|
|
|
|
|
|
|
|
|
|
|
def get_mesa_diretora(sessao_plenaria): |
|
|
|
mesa = IntegranteMesa.objects.filter(sessao_plenaria=sessao_plenaria).order_by('cargo_id') |
|
|
|
mesa = IntegranteMesa.objects.filter( |
|
|
|
sessao_plenaria=sessao_plenaria).order_by('cargo_id') |
|
|
|
integrantes = [{'parlamentar': m.parlamentar, |
|
|
|
'cargo': m.cargo} for m in mesa] |
|
|
|
return {'mesa': integrantes} |
|
|
@ -1369,8 +1399,8 @@ def get_mesa_diretora(sessao_plenaria): |
|
|
|
def get_presenca_sessao(sessao_plenaria): |
|
|
|
|
|
|
|
parlamentares_sessao = [p.parlamentar for p in SessaoPlenariaPresenca.objects.filter( |
|
|
|
sessao_plenaria_id=sessao_plenaria.id |
|
|
|
).order_by('parlamentar__nome_parlamentar')] |
|
|
|
sessao_plenaria_id=sessao_plenaria.id |
|
|
|
).order_by('parlamentar__nome_parlamentar')] |
|
|
|
|
|
|
|
ausentes_sessao = JustificativaAusencia.objects.filter( |
|
|
|
sessao_plenaria_id=sessao_plenaria.id |
|
|
@ -1404,7 +1434,8 @@ def get_materias_expediente(sessao_plenaria): |
|
|
|
numero = m.numero_ordem |
|
|
|
|
|
|
|
tramitacao = '' |
|
|
|
tramitacoes = Tramitacao.objects.filter(materia=m.materia).order_by('-pk') |
|
|
|
tramitacoes = Tramitacao.objects.filter( |
|
|
|
materia=m.materia).order_by('-pk') |
|
|
|
for aux_tramitacao in tramitacoes: |
|
|
|
if aux_tramitacao.turno: |
|
|
|
tramitacao = aux_tramitacao |
|
|
@ -1466,8 +1497,8 @@ def get_oradores_expediente(sessao_plenaria): |
|
|
|
|
|
|
|
def get_presenca_ordem_do_dia(sessao_plenaria): |
|
|
|
parlamentares_ordem = [p.parlamentar for p in PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=sessao_plenaria.id |
|
|
|
).order_by('parlamentar__nome_parlamentar')] |
|
|
|
sessao_plenaria_id=sessao_plenaria.id |
|
|
|
).order_by('parlamentar__nome_parlamentar')] |
|
|
|
|
|
|
|
return {'presenca_ordem': parlamentares_ordem} |
|
|
|
|
|
|
@ -1480,13 +1511,14 @@ def get_assinaturas(sessao_plenaria): |
|
|
|
'')] |
|
|
|
|
|
|
|
parlamentares_ordem = [p.parlamentar for p in PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=sessao_plenaria.id |
|
|
|
).order_by('parlamentar__nome_parlamentar')] |
|
|
|
sessao_plenaria_id=sessao_plenaria.id |
|
|
|
).order_by('parlamentar__nome_parlamentar')] |
|
|
|
|
|
|
|
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] |
|
|
|
parlamentares_ordem = [ |
|
|
|
p for p in parlamentares_ordem if p not in parlamentares_mesa] |
|
|
|
|
|
|
|
context = {} |
|
|
|
config_assinatura_ata = AppsAppConfig.attr('assinatura_ata') |
|
|
@ -1517,7 +1549,8 @@ def get_materias_ordem_do_dia(sessao_plenaria): |
|
|
|
numero = o.numero_ordem |
|
|
|
|
|
|
|
tramitacao = '' |
|
|
|
tramitacoes = Tramitacao.objects.filter(materia=o.materia).order_by('-pk') |
|
|
|
tramitacoes = Tramitacao.objects.filter( |
|
|
|
materia=o.materia).order_by('-pk') |
|
|
|
for aux_tramitacao in tramitacoes: |
|
|
|
if aux_tramitacao.turno: |
|
|
|
tramitacao = aux_tramitacao |
|
|
@ -1600,7 +1633,7 @@ def get_oradores_ordemdia(sessao_plenaria): |
|
|
|
observacao = orador.observacao |
|
|
|
parlamentar = Parlamentar.objects.get( |
|
|
|
id=orador.parlamentar_id |
|
|
|
) |
|
|
|
) |
|
|
|
o = { |
|
|
|
'numero_ordem': numero_ordem, |
|
|
|
'url_discurso': url_discurso, |
|
|
@ -1610,9 +1643,9 @@ def get_oradores_ordemdia(sessao_plenaria): |
|
|
|
oradores.append(o) |
|
|
|
|
|
|
|
context = {'oradores_ordemdia': oradores} |
|
|
|
return context |
|
|
|
return context |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_oradores_explicações_pessoais(sessao_plenaria): |
|
|
|
oradores_explicacoes = [] |
|
|
|
for orador in Orador.objects.filter( |
|
|
@ -1729,7 +1762,7 @@ class ResumoView(DetailView): |
|
|
|
# ===================================================================== |
|
|
|
# Oradores Ordem do Dia |
|
|
|
context.update(get_oradores_ordemdia(self.object)) |
|
|
|
# ===================================================================== |
|
|
|
# ===================================================================== |
|
|
|
# Oradores nas Explicações Pessoais |
|
|
|
context.update(get_oradores_explicações_pessoais(self.object)) |
|
|
|
# ===================================================================== |
|
|
@ -2051,13 +2084,24 @@ class VotacaoView(SessaoPermissionMixin): |
|
|
|
|
|
|
|
ordem_id = kwargs['oid'] |
|
|
|
ordem = OrdemDia.objects.get(id=ordem_id) |
|
|
|
qtde_presentes = PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=self.object.id).count() |
|
|
|
|
|
|
|
presentes_id = [ |
|
|
|
presente.parlamentar.id for presente in PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk'] |
|
|
|
) |
|
|
|
] |
|
|
|
qtde_presentes = len(presentes_id) |
|
|
|
|
|
|
|
presenca_ativos = Parlamentar.objects.filter( |
|
|
|
id__in=presentes_id, ativo=True |
|
|
|
) |
|
|
|
qtde_ativos = len(presenca_ativos) |
|
|
|
|
|
|
|
materia = {'materia': ordem.materia, 'ementa': ordem.materia.ementa} |
|
|
|
context.update({'votacao_titulo': titulo, |
|
|
|
'materia': materia, |
|
|
|
'total_presentes': qtde_presentes}) |
|
|
|
'total_presentes': qtde_presentes, |
|
|
|
'total_votantes': qtde_ativos}) |
|
|
|
|
|
|
|
return self.render_to_response(context) |
|
|
|
|
|
|
@ -2077,13 +2121,24 @@ class VotacaoView(SessaoPermissionMixin): |
|
|
|
|
|
|
|
ordem_id = kwargs['oid'] |
|
|
|
ordem = OrdemDia.objects.get(id=ordem_id) |
|
|
|
qtde_presentes = PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=self.object.id).count() |
|
|
|
|
|
|
|
presentes_id = [ |
|
|
|
presente.parlamentar.id for presente in PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk'] |
|
|
|
) |
|
|
|
] |
|
|
|
qtde_presentes = len(presentes_id) |
|
|
|
|
|
|
|
presenca_ativos = Parlamentar.objects.filter( |
|
|
|
id__in=presentes_id, ativo=True |
|
|
|
) |
|
|
|
qtde_ativos = len(presenca_ativos) |
|
|
|
|
|
|
|
materia = {'materia': ordem.materia, 'ementa': ordem.materia.ementa} |
|
|
|
context.update({'votacao_titulo': titulo, |
|
|
|
'materia': materia, |
|
|
|
'total_presentes': qtde_presentes}) |
|
|
|
'total_presentes': qtde_presentes, |
|
|
|
'total_votantes': qtde_ativos}) |
|
|
|
context.update({'form': form}) |
|
|
|
# ==================================================== |
|
|
|
|
|
|
@ -2096,21 +2151,19 @@ class VotacaoView(SessaoPermissionMixin): |
|
|
|
materia_id = kwargs['mid'] |
|
|
|
ordem_id = kwargs['oid'] |
|
|
|
|
|
|
|
qtde_presentes = PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=self.object.id).count() |
|
|
|
qtde_votos = (int(request.POST['votos_sim']) + |
|
|
|
int(request.POST['votos_nao']) + |
|
|
|
int(request.POST['abstencoes'])) |
|
|
|
|
|
|
|
if (int(request.POST['voto_presidente']) == 0): |
|
|
|
qtde_presentes -= 1 |
|
|
|
qtde_ativos -= 1 |
|
|
|
|
|
|
|
if (qtde_votos > qtde_presentes or qtde_votos < qtde_presentes): |
|
|
|
if qtde_votos != qtde_ativos: |
|
|
|
msg = _( |
|
|
|
'O total de votos não corresponde com a quantidade de presentes!') |
|
|
|
'O total de votos não corresponde com a quantidade de votantes!') |
|
|
|
messages.add_message(request, messages.ERROR, msg) |
|
|
|
return self.render_to_response(context) |
|
|
|
elif (qtde_presentes == qtde_votos): |
|
|
|
else: |
|
|
|
try: |
|
|
|
votacao = RegistroVotacao() |
|
|
|
votacao.numero_votos_sim = int(request.POST['votos_sim']) |
|
|
@ -2755,14 +2808,25 @@ class VotacaoExpedienteView(SessaoPermissionMixin): |
|
|
|
|
|
|
|
expediente_id = kwargs['oid'] |
|
|
|
expediente = ExpedienteMateria.objects.get(id=expediente_id) |
|
|
|
qtde_presentes = SessaoPlenariaPresenca.objects.filter( |
|
|
|
sessao_plenaria_id=self.object.id).count() |
|
|
|
|
|
|
|
presentes_id = [ |
|
|
|
presente.parlamentar.id for presente in SessaoPlenariaPresenca.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk'] |
|
|
|
) |
|
|
|
] |
|
|
|
qtde_presentes = len(presentes_id) |
|
|
|
|
|
|
|
presentes_ativos = Parlamentar.objects.filter( |
|
|
|
id__in=presentes_id, ativo=True |
|
|
|
) |
|
|
|
qtde_ativos = len(presentes_ativos) |
|
|
|
|
|
|
|
materia = {'materia': expediente.materia, |
|
|
|
'ementa': expediente.materia.ementa} |
|
|
|
context.update({'votacao_titulo': titulo, |
|
|
|
'materia': materia, |
|
|
|
'total_presentes': qtde_presentes}) |
|
|
|
'total_presentes': qtde_presentes, |
|
|
|
'total_votantes': qtde_ativos}) |
|
|
|
|
|
|
|
return self.render_to_response(context) |
|
|
|
|
|
|
@ -2782,14 +2846,25 @@ class VotacaoExpedienteView(SessaoPermissionMixin): |
|
|
|
|
|
|
|
expediente_id = kwargs['oid'] |
|
|
|
expediente = ExpedienteMateria.objects.get(id=expediente_id) |
|
|
|
qtde_presentes = SessaoPlenariaPresenca.objects.filter( |
|
|
|
sessao_plenaria_id=self.object.id).count() |
|
|
|
|
|
|
|
presentes_id = [ |
|
|
|
presente.parlamentar.id for presente in SessaoPlenariaPresenca.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk'] |
|
|
|
) |
|
|
|
] |
|
|
|
qtde_presentes = len(presentes_id) |
|
|
|
|
|
|
|
presentes_ativos = Parlamentar.objects.filter( |
|
|
|
id__in=presentes_id, ativo=True |
|
|
|
) |
|
|
|
qtde_ativos = len(presentes_ativos) |
|
|
|
|
|
|
|
materia = {'materia': expediente.materia, |
|
|
|
'ementa': expediente.materia.ementa} |
|
|
|
context.update({'votacao_titulo': titulo, |
|
|
|
'materia': materia, |
|
|
|
'total_presentes': qtde_presentes}) |
|
|
|
'total_presentes': qtde_presentes, |
|
|
|
'total_votantes': qtde_ativos}) |
|
|
|
context.update({'form': form}) |
|
|
|
# ==================================================== |
|
|
|
|
|
|
@ -2802,17 +2877,17 @@ class VotacaoExpedienteView(SessaoPermissionMixin): |
|
|
|
materia_id = kwargs['mid'] |
|
|
|
expediente_id = kwargs['oid'] |
|
|
|
|
|
|
|
qtde_presentes = SessaoPlenariaPresenca.objects.filter( |
|
|
|
sessao_plenaria_id=self.object.id).count() |
|
|
|
qtde_votos = (int(request.POST['votos_sim']) + |
|
|
|
int(request.POST['votos_nao']) + |
|
|
|
int(request.POST['abstencoes'])) |
|
|
|
|
|
|
|
if (int(request.POST['voto_presidente']) == 0): |
|
|
|
qtde_presentes -= 1 |
|
|
|
qtde_ativos -= 1 |
|
|
|
|
|
|
|
if qtde_votos != qtde_presentes: |
|
|
|
form._errors["total_votos"] = ErrorList([u""]) |
|
|
|
if qtde_votos != qtde_ativos: |
|
|
|
msg = _( |
|
|
|
'O total de votos não corresponde com a quantidade de votantes!') |
|
|
|
messages.add_message(request, messages.ERROR, msg) |
|
|
|
return self.render_to_response(context) |
|
|
|
else: |
|
|
|
try: |
|
|
@ -3561,17 +3636,41 @@ class VotacaoEmBlocoSimbolicaView(PermissionRequiredForAppCrudMixin, TemplateVie |
|
|
|
if request.POST['origem'] == 'ordem': |
|
|
|
ordens = OrdemDia.objects.filter( |
|
|
|
id__in=request.POST.getlist('marcadas_1')) |
|
|
|
qtde_presentes = PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk']).count() |
|
|
|
|
|
|
|
presentes_id = [ |
|
|
|
presente.parlamentar.id for presente in PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk'] |
|
|
|
) |
|
|
|
] |
|
|
|
qtde_presentes = len(presentes_id) |
|
|
|
|
|
|
|
presenca_ativos = Parlamentar.objects.filter( |
|
|
|
id__in=presentes_id, ativo=True |
|
|
|
) |
|
|
|
qtde_ativos = len(presenca_ativos) |
|
|
|
|
|
|
|
context.update({'ordens': ordens, |
|
|
|
'total_presentes': qtde_presentes}) |
|
|
|
'total_presentes': qtde_presentes, |
|
|
|
'total_votantes': qtde_ativos}) |
|
|
|
else: |
|
|
|
expedientes = ExpedienteMateria.objects.filter( |
|
|
|
id__in=request.POST.getlist('marcadas_1')) |
|
|
|
qtde_presentes = SessaoPlenariaPresenca.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk']).count() |
|
|
|
|
|
|
|
presentes_id = [ |
|
|
|
presente.parlamentar.id for presente in SessaoPlenariaPresenca.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk'] |
|
|
|
) |
|
|
|
] |
|
|
|
qtde_presentes = len(presentes_id) |
|
|
|
|
|
|
|
presenca_ativos = Parlamentar.objects.filter( |
|
|
|
id__in=presentes_id, ativo=True |
|
|
|
) |
|
|
|
qtde_ativos = len(presenca_ativos) |
|
|
|
|
|
|
|
context.update({'expedientes': expedientes, |
|
|
|
'total_presentes': qtde_presentes}) |
|
|
|
'total_presentes': qtde_presentes, |
|
|
|
'total_votantes': qtde_ativos}) |
|
|
|
|
|
|
|
if 'salvar-votacao' in request.POST: |
|
|
|
form = VotacaoForm(request.POST) |
|
|
@ -3696,17 +3795,41 @@ class VotacaoEmBlocoSimbolicaView(PermissionRequiredForAppCrudMixin, TemplateVie |
|
|
|
if self.request.POST['origem'] == 'ordem': |
|
|
|
ordens = OrdemDia.objects.filter( |
|
|
|
id__in=self.request.POST.getlist('ordens')) |
|
|
|
qtde_presentes = PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk']).count() |
|
|
|
|
|
|
|
presentes_id = [ |
|
|
|
presente.parlamentar.id for presente in PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk'] |
|
|
|
) |
|
|
|
] |
|
|
|
qtde_presentes = len(presentes_id) |
|
|
|
|
|
|
|
presenca_ativos = Parlamentar.objects.filter( |
|
|
|
id__in=presentes_id, ativo=True |
|
|
|
) |
|
|
|
qtde_ativos = len(presenca_ativos) |
|
|
|
|
|
|
|
context.update({'ordens': ordens, |
|
|
|
'total_presentes': qtde_presentes}) |
|
|
|
'total_presentes': qtde_presentes, |
|
|
|
'total_votantes': qtde_ativos}) |
|
|
|
elif self.request.POST['origem'] == 'expediente': |
|
|
|
expedientes = ExpedienteMateria.objects.filter( |
|
|
|
id__in=self.request.POST.getlist('expedientes')) |
|
|
|
qtde_presentes = SessaoPlenariaPresenca.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk']).count() |
|
|
|
|
|
|
|
presentes_id = [ |
|
|
|
presente.parlamentar.id for presente in SessaoPlenariaPresenca.objects.filter( |
|
|
|
sessao_plenaria_id=self.kwargs['pk'] |
|
|
|
) |
|
|
|
] |
|
|
|
qtde_presentes = len(presentes_id) |
|
|
|
|
|
|
|
presenca_ativos = Parlamentar.objects.filter( |
|
|
|
id__in=presentes_id, ativo=True |
|
|
|
) |
|
|
|
qtde_ativos = len(presenca_ativos) |
|
|
|
|
|
|
|
context.update({'expedientes': expedientes, |
|
|
|
'total_presentes': qtde_presentes}) |
|
|
|
'total_presentes': qtde_presentes, |
|
|
|
'total_votantes': qtde_ativos}) |
|
|
|
|
|
|
|
context.update({'resultado_votacao': TipoResultadoVotacao.objects.all(), |
|
|
|
'form': form, |
|
|
|