Browse Source

Faz mudanças sugeridas no code review

pull/1188/head
Eduardo Calil 9 years ago
parent
commit
4e50313d17
  1. 60
      sapl/painel/views.py
  2. 12
      sapl/sessao/views.py
  3. 14
      sapl/templates/sessao/sessaoplenaria_detail.html

60
sapl/painel/views.py

@ -38,23 +38,39 @@ def votacao_aberta(request):
Q(expedientemateria__votacao_aberta=True)).distinct() Q(expedientemateria__votacao_aberta=True)).distinct()
if len(votacoes_abertas) > 1: if len(votacoes_abertas) > 1:
msg_abertas = '' msg_abertas = []
for i, v in enumerate(votacoes_abertas): for v in votacoes_abertas:
if i != 0: msg_abertas.append('''<li><a href="%s">%s</a></li>''' % (
msg_abertas += ', '
msg_abertas += '''<a href="%s">%s</a>''' % (
reverse('sapl.sessao:sessaoplenaria_detail', reverse('sapl.sessao:sessaoplenaria_detail',
kwargs={'pk': v.id}), kwargs={'pk': v.id}),
v.__str__()) v.__str__()))
msg = _('Existe mais de uma votações aberta. Elas se encontram ' msg = _('Existe mais de uma votações aberta. Elas se encontram '
'nas seguintes Sessões: ' + msg_abertas + '. Para votar, ' 'nas seguintes Sessões: ' + ''.join(msg_abertas) + '. '
'peça para que o Operador as feche.') 'Para votar, peça para que o Operador feche-as.')
messages.add_message(request, messages.INFO, msg) messages.add_message(request, messages.INFO, msg)
return HttpResponseRedirect('/') return None, msg
else: elif len(votacoes_abertas) == 1:
return votacoes_abertas.first() ordens = OrdemDia.objects.filter(
sessao_plenaria=votacoes_abertas.first(),
votacao_aberta=True)
expedientes = ExpedienteMateria.objects.filter(
sessao_plenaria=votacoes_abertas.first(),
votacao_aberta=True)
numero_materias_abertas = len(ordens) + len(expedientes)
if numero_materias_abertas > 1:
msg = _('Existe mais de uma votação aberta na Sessão: ' +
('''<li><a href="%s">%s</a></li>''' % (
reverse('sapl.sessao:sessaoplenaria_detail',
kwargs={'pk': votacoes_abertas.first().id}),
votacoes_abertas.first().__str__())) +
'Para votar, peça para que o Operador as feche.')
messages.add_message(request, messages.INFO, msg)
return None, msg
return votacoes_abertas.first(), None
def votante_view(request): def votante_view(request):
@ -71,9 +87,9 @@ def votante_view(request):
context.update({'permissao': True}) context.update({'permissao': True})
# Pega sessão # Pega sessão
sessao = votacao_aberta(request) sessao, msg = votacao_aberta(request)
if sessao: if sessao and not msg:
pk = sessao.pk pk = sessao.pk
context.update({'sessao_id': pk}) context.update({'sessao_id': pk})
context.update({'sessao': sessao, context.update({'sessao': sessao,
@ -92,11 +108,13 @@ def votante_view(request):
if ordem_dia: if ordem_dia:
materia_aberta = ordem_dia materia_aberta = ordem_dia
presentes = PresencaOrdemDia.objects.filter( presentes = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=pk) sessao_plenaria_id=pk).values_list(
'parlamentar_id', flat=True).distinct()
elif expediente: elif expediente:
materia_aberta = expediente materia_aberta = expediente
presentes = SessaoPlenariaPresenca.objects.filter( presentes = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=pk) sessao_plenaria_id=pk).values_list(
'parlamentar_id', flat=True).distinct()
if materia_aberta: if materia_aberta:
if materia_aberta.tipo_votacao == VOTACAO_NOMINAL: if materia_aberta.tipo_votacao == VOTACAO_NOMINAL:
@ -105,11 +123,8 @@ def votante_view(request):
parlamentar = votante.parlamentar parlamentar = votante.parlamentar
parlamentar_presente = False parlamentar_presente = False
if len(presentes) > 0: if parlamentar.id in presentes:
for p in presentes: parlamentar_presente = True
if p.parlamentar.id == parlamentar.id:
parlamentar_presente = True
break
else: else:
context.update({'error_message': context.update({'error_message':
'Não há presentes na Sessão com a ' 'Não há presentes na Sessão com a '
@ -144,6 +159,9 @@ def votante_view(request):
context.update( context.update(
{'error_message': 'Nenhuma matéria aberta.'}) {'error_message': 'Nenhuma matéria aberta.'})
elif not sessao and msg:
return HttpResponseRedirect('/')
else: else:
context.update( context.update(
{'error_message': 'Nenhuma sessão com matéria aberta.'}) {'error_message': 'Nenhuma sessão com matéria aberta.'})

12
sapl/sessao/views.py

@ -88,17 +88,15 @@ def verifica_votacoes_abertas(request, model, pk):
Q(expedientemateria__votacao_aberta=True)).distinct() Q(expedientemateria__votacao_aberta=True)).distinct()
if votacoes_abertas: if votacoes_abertas:
msg_abertas = '' msg_abertas = []
for i, v in enumerate(votacoes_abertas): for v in votacoes_abertas:
if i != 0: msg_abertas.append('''<li><a href="%s">%s</a></li>''' % (
msg_abertas += ', '
msg_abertas += '''<a href="%s">%s</a>''' % (
reverse('sapl.sessao:sessaoplenaria_detail', reverse('sapl.sessao:sessaoplenaria_detail',
kwargs={'pk': v.id}), kwargs={'pk': v.id}),
v.__str__()) v.__str__()))
msg = _('Já existem votações abertas nas seguintes Sessões: ' + msg = _('Já existem votações abertas nas seguintes Sessões: ' +
msg_abertas + '. Para abrir ' ''.join(msg_abertas) + '. Para abrir '
'outra, termine ou feche as votações abertas.') 'outra, termine ou feche as votações abertas.')
messages.add_message(request, messages.INFO, msg) messages.add_message(request, messages.INFO, msg)

14
sapl/templates/sessao/sessaoplenaria_detail.html

@ -1,14 +0,0 @@
{% extends "crud/detail.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% block extra_actions %}
{% if 'parlamentares.can_vote' in request.user.get_all_permissions %}
<div class="actions btn-group btn-group-sm" role="group">
<a href="{% url 'sapl.painel:voto_individual' object.pk %}" class="btn btn-default">
Votar Matéria
</a>
</div>
{% endif %}
{% endblock extra_actions %}
Loading…
Cancel
Save