diff --git a/sapl/sessao/urls.py b/sapl/sessao/urls.py index 18b1608df..6e42afbaa 100644 --- a/sapl/sessao/urls.py +++ b/sapl/sessao/urls.py @@ -19,6 +19,7 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente, VotacaoNominalExpedienteEditView, VotacaoNominalExpedienteView, VotacaoNominalTransparenciaDetailView, + VotacaoSimbolicaTransparenciaDetailView, VotacaoNominalView, VotacaoView, abrir_votacao, atualizar_mesa, insere_parlamentar_composicao, mudar_ordem_materia_sessao, recuperar_materia, @@ -144,6 +145,9 @@ urlpatterns = [ url(r'^sessao/(?P\d+)/votacao-nominal-transparencia/(?P\d+)/(?P\d+)$', VotacaoNominalTransparenciaDetailView.as_view(), name='votacao_nominal_transparencia'), + url(r'^sessao/(?P\d+)/votacao-simbolica-transparencia/(?P\d+)/(?P\d+)$', + VotacaoSimbolicaTransparenciaDetailView.as_view(), + name='votacao_simbolica_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 ff5cf9e29..7fb91c630 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -355,6 +355,33 @@ def customize_link_materia(context, pk, has_permission, is_expediente): resultado = ('%s
%s' % (resultado_descricao, resultado_observacao)) + + if obj.tipo_votacao == 1: + if is_expediente: + url = reverse( + 'sapl.sessao:votacao_simbolica_transparencia', + kwargs={ + 'pk': obj.sessao_plenaria_id, + 'oid': obj.pk, + 'mid': obj.materia_id}) + \ + '?&materia=expediente' + else: + url = reverse( + 'sapl.sessao:votacao_simbolica_transparencia', + kwargs={ + 'pk': obj.sessao_plenaria_id, + 'oid': obj.pk, + 'mid': obj.materia_id}) + \ + '?&materia=ordem' + + resultado = ('%s
%s
' % + (url, + resultado_descricao, + resultado_observacao)) + else: + resultado = ('%s
%s' % + (resultado_descricao, + resultado_observacao)) context['rows'][i][3] = (resultado, None) return context @@ -2129,6 +2156,43 @@ class VotacaoNominalExpedienteDetailView(DetailView): kwargs={'pk': pk}) +class VotacaoSimbolicaTransparenciaDetailView(TemplateView): + template_name = 'sessao/votacao/simbolica_transparencia.html' + + def get_context_data(self, **kwargs): + context = super(VotacaoSimbolicaTransparenciaDetailView, + 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']) + elif 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 VotacaoExpedienteView(SessaoPermissionMixin): """ diff --git a/sapl/templates/sessao/votacao/simbolica_transparencia.html b/sapl/templates/sessao/votacao/simbolica_transparencia.html new file mode 100644 index 000000000..3817c9a2f --- /dev/null +++ b/sapl/templates/sessao/votacao/simbolica_transparencia.html @@ -0,0 +1,63 @@ +{% extends "crud/detail.html" %} +{% load i18n %} + +{% block detail_content %} +
+ {% csrf_token %} + +
+ Votação Simbolica +
+ 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 %}