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..2bd562ed5 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -4127,6 +4127,54 @@ def get_queryset(self): retiradapauta=None) +class LeituraEmBloco(PermissionRequiredForAppCrudMixin, TemplateView): + app_label = AppConfig.label + logger = logging.getLogger(__name__) + + def post(self, request, *args, **kwargs): + + origem = self.request.POST['origem'] + + if origem == 'ordem': + model = OrdemDia + presenca_model = PresencaOrdemDia + elif origem == 'expediente': + 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')) + + lista_registro_leitura = [] + for ordem in leituras: + ordem.resultado = "Matéria lida em Bloco" + ordem.votacao_aberta = False + ordem.registro_aberto = False + if origem == 'ordem': + rl = RegistroLeitura(materia=ordem.materia,ordem=ordem,user=request.user,ip=get_client_ip(request)) + 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',"") + 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()) + + 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 e58d2bf10..56dc4b3d9 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 %} + {{o.materia.tipo.sigla}} {{o.materia.numero}}/{{o.materia.ano}} - {{o.materia.tipo}}
@@ -98,7 +99,30 @@

{% if expediente %} Nenhuma matéria do expediente aberta. {% else %} Nenhum Voltar {% endif %} - + Registrar votação + + {% endif %} @@ -118,22 +142,20 @@

{% if expediente %} Nenhuma matéria do expediente aberta. {% else %} Nenhum