Browse Source

Fix #1066

pull/1070/head
Edward Ribeiro 8 years ago
parent
commit
b9d72aa0a2
  1. 4
      sapl/sessao/urls.py
  2. 56
      sapl/sessao/views.py
  3. 54
      sapl/templates/sessao/votacao/nominal_detail.html

4
sapl/sessao/urls.py

@ -16,6 +16,7 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente,
VotacaoEditView, VotacaoExpedienteEditView, VotacaoEditView, VotacaoExpedienteEditView,
VotacaoExpedienteView, VotacaoNominalEditView, VotacaoExpedienteView, VotacaoNominalEditView,
VotacaoNominalExpedienteEditView, VotacaoNominalExpedienteEditView,
VotacaoNominalExpedienteDetailView,
VotacaoNominalExpedienteView, VotacaoNominalExpedienteView,
VotacaoNominalView, VotacaoView, VotacaoNominalView, VotacaoView,
abrir_votacao_expediente_view, abrir_votacao_expediente_view,
@ -120,6 +121,9 @@ urlpatterns = [
url(r'^sessao/(?P<pk>\d+)/matexp/votnom/edit/(?P<oid>\d+)/(?P<mid>\d+)$', url(r'^sessao/(?P<pk>\d+)/matexp/votnom/edit/(?P<oid>\d+)/(?P<mid>\d+)$',
VotacaoNominalExpedienteEditView.as_view(), VotacaoNominalExpedienteEditView.as_view(),
name='votacaonominalexpedit'), name='votacaonominalexpedit'),
url(r'^sessao/(?P<pk>\d+)/matexp/votnom/detail/(?P<oid>\d+)/(?P<mid>\d+)$',
VotacaoNominalExpedienteDetailView.as_view(),
name='votacaonominalexpdetail'),
url(r'^sessao/(?P<pk>\d+)/matexp/votsimb/(?P<oid>\d+)/(?P<mid>\d+)$', url(r'^sessao/(?P<pk>\d+)/matexp/votsimb/(?P<oid>\d+)/(?P<mid>\d+)$',
VotacaoExpedienteView.as_view(), name='votacaosimbolicaexp'), VotacaoExpedienteView.as_view(), name='votacaosimbolicaexp'),
url(r'^sessao/(?P<pk>\d+)/matexp/votsec/view/(?P<oid>\d+)/(?P<mid>\d+)$', url(r'^sessao/(?P<pk>\d+)/matexp/votsec/view/(?P<oid>\d+)/(?P<mid>\d+)$',

56
sapl/sessao/views.py

@ -353,6 +353,17 @@ class ExpedienteMateriaCrud(MasterDetailCrud):
(url, (url,
resultado_descricao, resultado_descricao,
resultado_observacao)) resultado_observacao))
else:
if obj.tipo_votacao == 2:
url = reverse('sapl.sessao:votacaonominalexpdetail',
kwargs={
'pk': obj.sessao_plenaria_id,
'oid': obj.materia_id,
'mid': obj.pk})
obj.resultado = ('<a href="%s">%s</a><br/>%s' %
(url,
resultado_descricao,
resultado_observacao))
else: else:
obj.resultado = ('%s<br/>%s' % obj.resultado = ('%s<br/>%s' %
(resultado_descricao, (resultado_descricao,
@ -1847,6 +1858,51 @@ class VotacaoNominalExpedienteEditView(SessaoPermissionMixin):
return reverse('sapl.sessao:expedientemateria_list', return reverse('sapl.sessao:expedientemateria_list',
kwargs={'pk': pk}) kwargs={'pk': pk})
class VotacaoNominalExpedienteDetailView(DetailView):
template_name = 'sessao/votacao/nominal_detail.html'
def get(self, request, *args, **kwargs):
context = {}
materia_id = kwargs['oid']
expediente_id = kwargs['mid']
votacao = RegistroVotacao.objects.get(
materia_id=materia_id,
expediente_id=expediente_id)
expediente = ExpedienteMateria.objects.get(id=expediente_id)
votos = VotoParlamentar.objects.filter(votacao_id=votacao.id)
list_votos = []
for v in votos:
parlamentar = Parlamentar.objects.get(id=v.parlamentar_id)
list_votos.append({'parlamentar': parlamentar, 'voto': v.voto})
context.update({'votos': list_votos})
materia = {'materia': expediente.materia,
'ementa': sub(
'&nbsp;', ' ', strip_tags(expediente.observacao))}
context.update({'materia': materia})
votacao_existente = {'observacao': sub(
'&nbsp;', ' ', strip_tags(votacao.observacao)),
'resultado': votacao.tipo_resultado_votacao.nome,
'tipo_resultado':
votacao.tipo_resultado_votacao_id}
context.update({'votacao': votacao_existente,
'tipos': self.get_tipos_votacao()})
return self.render_to_response(context)
def get_tipos_votacao(self):
for tipo in TipoResultadoVotacao.objects.all():
yield tipo
def get_success_url(self):
pk = self.kwargs['pk']
return reverse('sapl.sessao:expedientemateria_list',
kwargs={'pk': pk})
class VotacaoExpedienteView(SessaoPermissionMixin): class VotacaoExpedienteView(SessaoPermissionMixin):

54
sapl/templates/sessao/votacao/nominal_detail.html

@ -0,0 +1,54 @@
{% extends "crud/detail.html" %}
{% load i18n %}
{% block detail_content %}
<form method="post">
{% csrf_token %}
<fieldset>
<legend>Votação Nominal</legend>
<div>
Matéria: {{materia.materia|safe}}
<br />
Ementa: {{materia.ementa|safe}}
</div>
<br />
<fieldset>
<legend>Votos</legend>
<div class="row">
{% for v in votos %}
<div class="col-md-6">{{v.parlamentar}}</div>
<div class="col-md-6">{{v.voto}}</div>
{% endfor %}
</div>
</fieldset>
<br />
<br />
<div class="row">
<div class="col-md-12">
<b>Resultado da Votação: </b>
{% for tipo in tipos %}
{% if votacao.tipo_resultado == tipo.id %}
{{ tipo.nome }}
{% endif %}
{% endfor %}
</div>
</div>
<br />
<div class="row">
<div class="col-md-12">
Observações
<textarea id="observacao" name="observacao" style="width:100%;" rows="7" class="form-control">{{votacao.observacao|safe}}</textarea>
</div>
</div>
</fieldset>
</form>
{% endblock detail_content %}
{% block foot_js %}
<script language="JavaScript">
document.getElementById("observacao").disabled = true;
</script>
{% endblock %}
Loading…
Cancel
Save