From 8feb11ad2ae67bb1fb3d802b5cd771bc28b89978 Mon Sep 17 00:00:00 2001 From: ulyssesBML Date: Thu, 1 Oct 2020 11:32:31 -0300 Subject: [PATCH 1/8] =?UTF-8?q?Iniciando=20op=C3=A7=C3=A3o=20de=20leitura?= =?UTF-8?q?=20em=20bloco?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/templates/sessao/votacao/votacao_bloco.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sapl/templates/sessao/votacao/votacao_bloco.html b/sapl/templates/sessao/votacao/votacao_bloco.html index e58d2bf10..bb2da1c41 100644 --- a/sapl/templates/sessao/votacao/votacao_bloco.html +++ b/sapl/templates/sessao/votacao/votacao_bloco.html @@ -20,6 +20,7 @@

+ @@ -43,8 +44,8 @@

{% if expediente %} Selecione o(s) expediente(s) deseja {% for o in object_list %} - {% if o.tipo_votacao == 1 or o.tipo_votacao == 2 %} - + {% if o.tipo_votacao == 1 or o.tipo_votacao == 2 or o.tipo_votacao == 4 %} + 1 %} style="display:none;" {% endif %}> {{o.materia.tipo.sigla}} {{o.materia.numero}}/{{o.materia.ano}} - {{o.materia.tipo}}
@@ -134,6 +135,7 @@

{% if expediente %} Nenhuma matéria do expediente aberta. {% else %} Nenhum function alteraTipoVotacao() { $(".Simbolica").toggle(); $(".Nominal").toggle(); + $(".Leitura").toggle(); checa_tipo_votacao(); } From 12d3b816204bc14842ca4ee2190770492cc3847c Mon Sep 17 00:00:00 2001 From: ulyssesBML Date: Wed, 7 Oct 2020 12:28:47 -0300 Subject: [PATCH 2/8] Habilitando leitura em bloco --- sapl/sessao/urls.py | 6 ++- sapl/sessao/views.py | 38 +++++++++++++++++++ .../sessao/votacao/votacao_bloco.html | 5 ++- 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/sapl/sessao/urls.py b/sapl/sessao/urls.py index 2630e6515..f990a23e5 100644 --- a/sapl/sessao/urls.py +++ b/sapl/sessao/urls.py @@ -36,7 +36,8 @@ OrdemDiaLeituraView, retirar_leitura, TransferenciaMateriasExpediente, TransferenciaMateriasOrdemDia, - filtra_materias_copia_sessao_ajax, verifica_materia_sessao_plenaria_ajax) + filtra_materias_copia_sessao_ajax, verifica_materia_sessao_plenaria_ajax, + LeituraEmBloco) from .apps import AppConfig @@ -145,6 +146,9 @@ url(r'^sessao/(?P\d+)/votacao_bloco_expediente$', VotacaoEmBlocoExpediente.as_view(), name='votacao_bloco_expediente'), + url(r'^sessao/(?P\d+)/leitura_em_bloco$', + LeituraEmBloco.as_view(), + name='leitura_em_bloco'), url(r'^sessao/(?P\d+)/resumo$', ResumoView.as_view(), name='resumo'), url(r'^sessao/(?P\d+)/resumo_ata$', diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index ccb51fa31..c8a4009d6 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -243,6 +243,8 @@ def customize_link_materia(context, pk, has_permission, is_expediente): exist_retirada = obj.retiradapauta_set.filter(materia=obj.materia).exists() exist_leitura = obj.registroleitura_set.filter(materia=obj.materia).exists() + #import pdb;pdb.set_trace() + if (obj.tipo_votacao != 4 and not exist_resultado and not exist_retirada) or\ (obj.tipo_votacao == 4 and not exist_leitura): if obj.votacao_aberta: @@ -4127,6 +4129,42 @@ def get_queryset(self): retiradapauta=None) +class LeituraEmBloco(PermissionRequiredForAppCrudMixin, TemplateView): + app_label = AppConfig.label + logger = logging.getLogger(__name__) + + def post(self, request, *args, **kwargs): + + if self.request.POST['origem'] == 'ordem': + model = OrdemDia + else: + model = ExpedienteMateria + + leituras = model.objects.filter( + id__in=request.POST.getlist('marcadas_4')) + + for ordem in leituras: + ordem.resultado = "Matéria lida em Bloco" + ordem.votacao_aberta = False + ordem.registro_aberto = False + if self.request.POST['origem'] == 'ordem': + rl = RegistroLeitura(materia=ordem.materia,ordem=ordem,user=request.user,ip=get_client_ip(request)) + else: + rl = RegistroLeitura(materia=ordem.materia,expediente=ordem,user=request.user,ip=get_client_ip(request)) + rl.save() + ordem.save() + + #import pdb; pdb.set_trace() + return HttpResponseRedirect(self.get_success_url()) + + def get_success_url(self): + if self.request.POST['origem'] == 'ordem': + return reverse('sapl.sessao:ordemdia_list', + kwargs={'pk': self.kwargs['pk']}) + else: + return reverse('sapl.sessao:expedientemateria_list', + kwargs={'pk': self.kwargs['pk']}) + class VotacaoEmBlocoSimbolicaView(PermissionRequiredForAppCrudMixin, TemplateView): """ diff --git a/sapl/templates/sessao/votacao/votacao_bloco.html b/sapl/templates/sessao/votacao/votacao_bloco.html index bb2da1c41..0d8377603 100644 --- a/sapl/templates/sessao/votacao/votacao_bloco.html +++ b/sapl/templates/sessao/votacao/votacao_bloco.html @@ -162,9 +162,12 @@

{% if expediente %} Nenhuma matéria do expediente aberta. {% else %} Nenhum if(tipo_votacao == "1"){ $('#form').attr("action", "{% url 'sapl.sessao:votacaoblocosimb' pk %}") } - else{ + else if(tipo_votacao == "2"){ $('#form').attr("action", "{% url 'sapl.sessao:votacaobloconom' pk %}") } + else{ + $('#form').attr("action", "{% url 'sapl.sessao:leitura_em_bloco' pk %}") + } } {% endblock extra_js%} From bcd05f043996c548fbdd705600203d50ace1a1ca Mon Sep 17 00:00:00 2001 From: ulyssesBML Date: Thu, 8 Oct 2020 13:35:32 -0300 Subject: [PATCH 3/8] =?UTF-8?q?Validando=20presen=C3=A7a?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/sessao/views.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index c8a4009d6..aba038a70 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -4134,12 +4134,19 @@ class LeituraEmBloco(PermissionRequiredForAppCrudMixin, TemplateView): logger = logging.getLogger(__name__) def post(self, request, *args, **kwargs): + if self.request.POST['origem'] == 'ordem': model = OrdemDia + presenca_model = PresencaOrdemDia else: model = ExpedienteMateria + presenca_model = SessaoPlenariaPresenca + spk = SessaoPlenaria.objects.get(pk=kwargs['pk']) + if not (verifica_presenca(request, presenca_model, spk, True)): + return HttpResponseRedirect(self.get_success_url()) + leituras = model.objects.filter( id__in=request.POST.getlist('marcadas_4')) @@ -4154,7 +4161,6 @@ def post(self, request, *args, **kwargs): rl.save() ordem.save() - #import pdb; pdb.set_trace() return HttpResponseRedirect(self.get_success_url()) def get_success_url(self): From ca6f46e690c0aac3be3463b068252927155a1105 Mon Sep 17 00:00:00 2001 From: ulyssesBML Date: Wed, 14 Oct 2020 13:36:49 -0300 Subject: [PATCH 4/8] Corrigindo comentarios no PR --- sapl/sessao/views.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index aba038a70..fcb8d5336 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -243,8 +243,6 @@ def customize_link_materia(context, pk, has_permission, is_expediente): exist_retirada = obj.retiradapauta_set.filter(materia=obj.materia).exists() exist_leitura = obj.registroleitura_set.filter(materia=obj.materia).exists() - #import pdb;pdb.set_trace() - if (obj.tipo_votacao != 4 and not exist_resultado and not exist_retirada) or\ (obj.tipo_votacao == 4 and not exist_leitura): if obj.votacao_aberta: @@ -4135,11 +4133,12 @@ class LeituraEmBloco(PermissionRequiredForAppCrudMixin, TemplateView): def post(self, request, *args, **kwargs): + origem = self.request.POST['origem'] - if self.request.POST['origem'] == 'ordem': + if origem == 'ordem': model = OrdemDia presenca_model = PresencaOrdemDia - else: + elif origem == 'expediente': model = ExpedienteMateria presenca_model = SessaoPlenariaPresenca @@ -4154,9 +4153,9 @@ def post(self, request, *args, **kwargs): ordem.resultado = "Matéria lida em Bloco" ordem.votacao_aberta = False ordem.registro_aberto = False - if self.request.POST['origem'] == 'ordem': + if origem == 'ordem': rl = RegistroLeitura(materia=ordem.materia,ordem=ordem,user=request.user,ip=get_client_ip(request)) - else: + elif origem == 'expediente': rl = RegistroLeitura(materia=ordem.materia,expediente=ordem,user=request.user,ip=get_client_ip(request)) rl.save() ordem.save() From f0003ddf890f66bdf3460041b07299ace38d6113 Mon Sep 17 00:00:00 2001 From: ulyssesBML Date: Mon, 19 Oct 2020 14:17:47 -0300 Subject: [PATCH 5/8] Resolvendo problema de marcar todos os checkbox --- .../templates/sessao/votacao/votacao_bloco.html | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/sapl/templates/sessao/votacao/votacao_bloco.html b/sapl/templates/sessao/votacao/votacao_bloco.html index 0d8377603..855b7a443 100644 --- a/sapl/templates/sessao/votacao/votacao_bloco.html +++ b/sapl/templates/sessao/votacao/votacao_bloco.html @@ -119,16 +119,13 @@

{% if expediente %} Nenhuma matéria do expediente aberta. {% else %} Nenhum {% endblock extra_js%} From b97ccc579c58aee0316f247b28e0a4a58ab64e85 Mon Sep 17 00:00:00 2001 From: ulyssesBML Date: Thu, 29 Oct 2020 10:28:16 -0300 Subject: [PATCH 7/8] Corrigindo relatos do pr --- sapl/sessao/views.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 664045298..2bd562ed5 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -4143,12 +4143,13 @@ def post(self, request, *args, **kwargs): presenca_model = SessaoPlenariaPresenca spk = SessaoPlenaria.objects.get(pk=kwargs['pk']) - if not (verifica_presenca(request, presenca_model, spk, True)): + if not verifica_presenca(request, presenca_model, spk, True): return HttpResponseRedirect(self.get_success_url()) leituras = model.objects.filter( id__in=request.POST.getlist('marcadas_4')) + lista_registro_leitura = [] for ordem in leituras: ordem.resultado = "Matéria lida em Bloco" ordem.votacao_aberta = False @@ -4158,8 +4159,11 @@ def post(self, request, *args, **kwargs): elif origem == 'expediente': rl = RegistroLeitura(materia=ordem.materia,expediente=ordem,user=request.user,ip=get_client_ip(request)) rl.observacao = self.request.POST.get('observacao',"") - rl.save() - ordem.save() + lista_registro_leitura.append(rl) + + RegistroLeitura.objects.bulk_create(lista_registro_leitura) + model.objects.bulk_update(leituras, ['resultado','votacao_aberta','registro_aberto']) + return HttpResponseRedirect(self.get_success_url()) From d42b069b0fa7352caa05f730bb53d49182715dd7 Mon Sep 17 00:00:00 2001 From: ulyssesBML Date: Fri, 6 Nov 2020 10:28:09 -0300 Subject: [PATCH 8/8] Corrigindo inconsistencia nas materias apresentadas --- sapl/templates/sessao/votacao/votacao_bloco.html | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sapl/templates/sessao/votacao/votacao_bloco.html b/sapl/templates/sessao/votacao/votacao_bloco.html index a1b997249..56dc4b3d9 100644 --- a/sapl/templates/sessao/votacao/votacao_bloco.html +++ b/sapl/templates/sessao/votacao/votacao_bloco.html @@ -45,7 +45,7 @@

{% if expediente %} Selecione o(s) expediente(s) deseja {% for o in object_list %} {% if o.tipo_votacao == 1 or o.tipo_votacao == 2 or o.tipo_votacao == 4 %} - 1 %} style="display:none;" {% endif %}> + {{o.materia.tipo.sigla}} {{o.materia.numero}}/{{o.materia.ano}} - {{o.materia.tipo}}
@@ -182,13 +182,20 @@

$("#but_reg").text("Registrar Votação") if(tipo_votacao == "1"){ $('#form').attr("action", "{% url 'sapl.sessao:votacaoblocosimb' pk %}") + //document.querySelectorAll('tr[class="Leitura"]').map((obj) -> {obj.style.display='none'}); + Array.from(document.querySelectorAll('tr[class="Leitura"]')).map(function(obj){obj.style.display='none'}); + Array.from(document.querySelectorAll('tr[class="Nominal"]')).map(function(obj){obj.style.display='none'}); } else if(tipo_votacao == "2"){ $('#form').attr("action", "{% url 'sapl.sessao:votacaobloconom' pk %}") + Array.from(document.querySelectorAll('tr[class="Simbolica"]')).map(function(obj){obj.style.display='none'}); + Array.from(document.querySelectorAll('tr[class="Leitura"]')).map(function(obj){obj.style.display='none'}); } else{ $("#but_reg").text("Registrar Leitura") $('#form').attr("action", "{% url 'sapl.sessao:leitura_em_bloco' pk %}") + Array.from(document.querySelectorAll('tr[class="Simbolica"]')).map(function(obj){obj.style.display='none'}); + Array.from(document.querySelectorAll('tr[class="Nominal"]')).map(function(obj){obj.style.display='none'}); } }