diff --git a/sapl/sessao/urls.py b/sapl/sessao/urls.py index e454a9eee..5f2f5ef4f 100644 --- a/sapl/sessao/urls.py +++ b/sapl/sessao/urls.py @@ -19,7 +19,9 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente, VotacaoNominalExpedienteDetailView, VotacaoNominalExpedienteEditView, VotacaoNominalExpedienteView, - VotacaoNominalView, VotacaoView, abrir_votacao, + VotacaoNominalView, + VotacaoNominalTransparenciaDetailView, + VotacaoView, abrir_votacao, atualizar_mesa, insere_parlamentar_composicao, mudar_ordem_materia_sessao, recuperar_materia, recuperar_numero_sessao, @@ -145,6 +147,9 @@ urlpatterns = [ VotacaoExpedienteView.as_view(), name='votacaosecretaexp'), url(r'^sessao/(?P\d+)/matexp/votsec/view/(?P\d+)/(?P\d+)$', VotacaoExpedienteEditView.as_view(), name='votacaosecretaexpedit'), + url(r'^sessao/(?P\d+)/votacao-nominal-transparencia/(?P\d+)/(?P\d+)$', + VotacaoNominalTransparenciaDetailView.as_view(), + name='votacao_nominal_transparencia'), url(r'^sessao/mudar-ordem-materia-sessao/', mudar_ordem_materia_sessao, diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index acbe413a2..affc07d4a 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -348,9 +348,17 @@ class MateriaOrdemDiaCrud(MasterDetailCrud): resultado_descricao, resultado_observacao)) else: - obj.resultado = ('%s
%s' % - (resultado_descricao, - resultado_observacao)) + if obj.tipo_votacao == 2: + url = reverse('sapl.sessao:votacao_nominal_transparencia', + kwargs={ + 'pk': obj.sessao_plenaria_id, + 'oid': obj.pk, + 'mid': obj.materia_id}) +\ + '?&materia=expediente' + else: + obj.resultado = ('%s
%s' % + (resultado_descricao, + resultado_observacao)) return [self._as_row(obj) for obj in object_list] @@ -395,6 +403,7 @@ class ExpedienteMateriaCrud(MasterDetailCrud): for obj in object_list: exist_resultado = obj.registrovotacao_set.filter( materia=obj.materia).exists() + if not exist_resultado: if obj.votacao_aberta: url = '' @@ -470,11 +479,12 @@ class ExpedienteMateriaCrud(MasterDetailCrud): else: if obj.tipo_votacao == 2: url = reverse( - 'sapl.sessao:votacaonominalexpdetail', + 'sapl.sessao:votacao_nominal_transparencia', kwargs={ 'pk': obj.sessao_plenaria_id, 'oid': obj.pk, - 'mid': obj.materia_id}) + 'mid': obj.materia_id}) +\ + '?&materia=expediente' obj.resultado = ('%s
%s' % (url, resultado_descricao, @@ -2057,6 +2067,45 @@ class VotacaoNominalExpedienteEditView(VotacaoNominalEditAbstract): ordem = False +class VotacaoNominalTransparenciaDetailView(TemplateView): + template_name = 'sessao/votacao/nominal_transparencia.html' + + def get_context_data(self, **kwargs): + context = super(VotacaoNominalTransparenciaDetailView, + self).get_context_data(**kwargs) + + materia_votacao = self.request.GET.get('materia', None) + + if materia_votacao == 'ordem': + votacao = RegistroVotacao.objects.get(ordem=self.kwargs['oid']) + if materia_votacao == 'expediente': + votacao = RegistroVotacao.objects.get(expediente=self.kwargs['oid']) + else: + raise Http404() + + context['votacao'] = votacao + + voto_parlamentar = VotoParlamentar.objects.filter( + votacao=votacao) + + context['voto_parlamentar'] = voto_parlamentar + + votacao_existente = {'observacao': sub( + ' ', ' ', strip_tags(votacao.observacao)), + 'resultado': votacao.tipo_resultado_votacao.nome, + 'tipo_resultado': + votacao.tipo_resultado_votacao_id} + context.update({'resultado_votacao': votacao_existente, + 'tipos': self.get_tipos_votacao()}) + + return context + + def get_tipos_votacao(self): + for tipo in TipoResultadoVotacao.objects.all(): + yield tipo + + + class VotacaoNominalExpedienteDetailView(DetailView): template_name = 'sessao/votacao/nominal_detail.html' diff --git a/sapl/templates/sessao/votacao/nominal_edit.html b/sapl/templates/sessao/votacao/nominal_edit.html index af0629984..f751e21d9 100644 --- a/sapl/templates/sessao/votacao/nominal_edit.html +++ b/sapl/templates/sessao/votacao/nominal_edit.html @@ -34,11 +34,11 @@
- Anular Votação - + Anular Votação +
@@ -78,7 +78,7 @@

- + {% endblock detail_content %} diff --git a/sapl/templates/sessao/votacao/nominal_transparencia.html b/sapl/templates/sessao/votacao/nominal_transparencia.html new file mode 100644 index 000000000..cb0bb25e2 --- /dev/null +++ b/sapl/templates/sessao/votacao/nominal_transparencia.html @@ -0,0 +1,65 @@ +{% extends "crud/detail.html" %} +{% load i18n %} + +{% block detail_content %} +
+ {% csrf_token %} + +
+ Votação Nominal +
+ Matéria: {{votacao.materia}} +
+ Ementa: {{votacao.materia.ementa}} +
+ +
+
+ Votos +
+ {% for v in voto_parlamentar %} + +
{{v.parlamentar}} - + {% if v.voto == '-1'%} + Voto não Registrado + {% else %} + {{v.voto}} + {% endif %} +
+ + {% endfor %} +
+
+ +
+ +
+
+
+ Resultado da Votação: + {% for tipo in tipos %} + {% if resultado_votacao.tipo_resultado == tipo.id %} + {{ tipo.nome }} + {% endif %} + {% endfor %} +
+
+ +
+
+
+ Observações + +
+
+ +

+
+
+{% endblock detail_content %} + +{% block foot_js %} + +{% endblock %}