From 7c3f77b331d3a62b76bc29a2c816f22432ff0447 Mon Sep 17 00:00:00 2001 From: Edward Date: Mon, 12 Jun 2017 16:16:38 -0300 Subject: [PATCH] Conserta bug em presenca (#1185) --- .codeclimate.yml => codeclimate.yml | 0 sapl/materia/views.py | 4 ++-- sapl/sessao/views.py | 36 +++++++++++++++++------------ 3 files changed, 23 insertions(+), 17 deletions(-) rename .codeclimate.yml => codeclimate.yml (100%) diff --git a/.codeclimate.yml b/codeclimate.yml similarity index 100% rename from .codeclimate.yml rename to codeclimate.yml diff --git a/sapl/materia/views.py b/sapl/materia/views.py index a130aee1e..69da1c757 100644 --- a/sapl/materia/views.py +++ b/sapl/materia/views.py @@ -87,8 +87,8 @@ def proposicao_texto(request, pk): proposicao = Proposicao.objects.get(pk=pk) if proposicao.texto_original: - if not proposicao.data_recebimento: - if proposicao.autor.user_id != request.user.id: + if (not proposicao.data_recebimento and + proposicao.autor.user_id != request.user.id): raise Http404 arquivo = proposicao.texto_original diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index d798a8a38..97b6a89a8 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -599,16 +599,19 @@ class PresencaView(FormMixin, PresencaMixin, DetailView): if form.is_valid(): # Pegar os presentes salvos no banco presentes_banco = SessaoPlenariaPresenca.objects.filter( - sessao_plenaria_id=self.object.id) + sessao_plenaria_id=self.object.id).values_list( + 'parlamentar_id', flat=True).distinct() # Id dos parlamentares presentes - marcados = request.POST.getlist('presenca_ativos') + request.POST.getlist('presenca_inativos') + marcados = request.POST.getlist('presenca_ativos') \ + + request.POST.getlist('presenca_inativos') + marcados = list(map(lambda x: int(x), marcados)) - # Deletar os que foram desmarcadors - deletar = set(set(presentes_banco) - set(marcados)) - for d in deletar: - SessaoPlenariaPresenca.objects.filter( - parlamentar_id=d.parlamentar_id, sessao_plenaria_id=self.object.id).delete() + # Deletar os que foram desmarcados + deletar = set(presentes_banco) - set(marcados) + SessaoPlenariaPresenca.objects.filter( + parlamentar_id__in=deletar, + sessao_plenaria_id=self.object.id).delete() for p in marcados: sessao = SessaoPlenariaPresenca() @@ -707,16 +710,19 @@ class PresencaOrdemDiaView(FormMixin, PresencaMixin, DetailView): if form.is_valid(): # Pegar os presentes salvos no banco presentes_banco = PresencaOrdemDia.objects.filter( - sessao_plenaria_id=pk) + sessao_plenaria_id=self.object.id).values_list( + 'parlamentar_id', flat=True).distinct() # Id dos parlamentares presentes - marcados = request.POST.getlist('presenca_ativos') + request.POST.getlist('presenca_inativos') - - # Deletar os que foram desmarcadors - deletar = set(set(presentes_banco) - set(marcados)) - for d in deletar: - PresencaOrdemDia.objects.filter( - parlamentar_id=d.parlamentar_id, sessao_plenaria_id=self.object.id).delete() + marcados = request.POST.getlist('presenca_ativos') \ + + request.POST.getlist('presenca_inativos') + marcados = list(map(lambda x: int(x), marcados)) + + # Deletar os que foram desmarcados + deletar = set(presentes_banco) - set(marcados) + PresencaOrdemDia.objects.filter( + parlamentar_id__in=deletar, + sessao_plenaria_id=self.object.id).delete() for p in marcados: ordem = PresencaOrdemDia()