Browse Source

Melhoria no código de Abrir Matéria

pull/1477/head
Eduardo Calil 7 years ago
parent
commit
8e9ba6c62a
  1. 10
      sapl/sessao/urls.py
  2. 48
      sapl/sessao/views.py

10
sapl/sessao/urls.py

@ -20,8 +20,7 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente,
VotacaoNominalExpedienteEditView,
VotacaoNominalExpedienteView,
VotacaoNominalView, VotacaoView,
abrir_votacao_expediente_view,
abrir_votacao_ordem_view, atualizar_mesa,
abrir_votacao, atualizar_mesa,
insere_parlamentar_composicao,
mudar_ordem_materia_sessao, recuperar_materia,
recuperar_numero_sessao,
@ -60,11 +59,8 @@ urlpatterns = [
url(r'^sessao/sessao-legislativa-legislatura-ajax/',
sessao_legislativa_legislatura_ajax),
url(r'^sessao/(?P<pk>\d+)/(?P<spk>\d+)/abrir-votacao-expediente$',
abrir_votacao_expediente_view,
name="abrir_votacao_exp"),
url(r'^sessao/(?P<pk>\d+)/(?P<spk>\d+)/abrir-votacao-ordem$',
abrir_votacao_ordem_view,
url(r'^sessao/(?P<pk>\d+)/(?P<spk>\d+)/abrir-votacao$',
abrir_votacao,
name="abrir_votacao"),
url(r'^sessao/(?P<pk>\d+)/reordenar-expediente$',
reordernar_materias_expediente,

48
sapl/sessao/views.py

@ -90,7 +90,7 @@ def verifica_presenca(request, model, spk):
return True
def verifica_votacoes_abertas(request, model, pk):
def verifica_votacoes_abertas(request):
votacoes_abertas = SessaoPlenaria.objects.filter(
Q(ordemdia__votacao_aberta=True) |
Q(expedientemateria__votacao_aberta=True)).distinct()
@ -108,26 +108,36 @@ def verifica_votacoes_abertas(request, model, pk):
'outra, termine ou feche as votações abertas.')
messages.add_message(request, messages.INFO, msg)
else:
materia_votacao = model.objects.get(id=pk)
materia_votacao.votacao_aberta = True
materia_votacao.save()
return False
return True
@permission_required('sessao.change_expedientemateria')
def abrir_votacao_expediente_view(request, pk, spk):
if verifica_presenca(request, SessaoPlenariaPresenca, spk):
verifica_votacoes_abertas(request, ExpedienteMateria, pk)
return HttpResponseRedirect(
reverse('sapl.sessao:expedientemateria_list', kwargs={'pk': spk}))
@permission_required('sessao.change_expedientemateria',
'sessao.change_ordemdia')
def abrir_votacao(request, pk, spk):
model = None
if 'tipo_materia' in request.GET:
if request.GET['tipo_materia'] == 'ordem':
model = OrdemDia
presenca_model = PresencaOrdemDia
redirect_url = 'ordemdia_list'
elif request.GET['tipo_materia'] == 'expediente':
model = ExpedienteMateria
presenca_model = SessaoPlenariaPresenca
redirect_url = 'expedientemateria_list'
if not model:
raise Http404
if (verifica_presenca(request, presenca_model, spk) and
verifica_votacoes_abertas(request)):
materia_votacao = model.objects.get(id=pk)
materia_votacao.votacao_aberta = True
materia_votacao.save()
@permission_required('sessao.change_ordemdia')
def abrir_votacao_ordem_view(request, pk, spk):
if verifica_presenca(request, PresencaOrdemDia, spk):
verifica_votacoes_abertas(request, OrdemDia, pk)
return HttpResponseRedirect(
reverse('sapl.sessao:ordemdia_list', kwargs={'pk': spk}))
reverse('sapl.sessao:' + redirect_url, kwargs={'pk': spk}))
def put_link_materia(context):
@ -243,7 +253,7 @@ class MateriaOrdemDiaCrud(MasterDetailCrud):
obj.resultado = '''Não há resultado'''
else:
url = reverse('sapl.sessao:abrir_votacao', kwargs={
'pk': obj.pk, 'spk': obj.sessao_plenaria_id})
'pk': obj.pk, 'spk': obj.sessao_plenaria_id}) + '?tipo_materia=ordem'
if self.request.user.has_module_perms(AppConfig.label):
btn_abrir = '''
@ -361,8 +371,8 @@ class ExpedienteMateriaCrud(MasterDetailCrud):
Registrar Votação</a>''' % (url)
obj.resultado = btn_registrar
else:
url = reverse('sapl.sessao:abrir_votacao_exp', kwargs={
'pk': obj.pk, 'spk': obj.sessao_plenaria_id})
url = reverse('sapl.sessao:abrir_votacao', kwargs={
'pk': obj.pk, 'spk': obj.sessao_plenaria_id}) + '?tipo_materia=expediente'
btn_abrir = '''Matéria não votada<br />'''
if self.request.user.has_module_perms(AppConfig.label):

Loading…
Cancel
Save