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..c8070ee94 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 + + registro_votacao = {'numero_votos_sim': votacao.numero_votos_sim, + 'numero_votos_nao': votacao.numero_votos_nao, + 'numero_abstencoes': votacao.numero_abstencoes} + context.update({'registro_votacao':registro_votacao}) + + 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..159dc1f94 --- /dev/null +++ b/sapl/templates/sessao/votacao/simbolica_transparencia.html @@ -0,0 +1,56 @@ +{% extends "crud/detail.html" %} +{% load i18n %} + +{% block detail_content %} +
+ {% csrf_token %} + +
+ Votação Simbólica +
+ Matéria: {{votacao.materia}} +
+ Ementa: {{votacao.materia.ementa}} +
+ +
+
+ Votos +
+
Sim: {{votacao.numero_votos_sim}}
+
Não: {{votacao.numero_votos_nao}}
+
Abstenções: {{votacao.numero_abstencoes}}
+
+
+
+ +
+
+
+ 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 %}