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

48
sapl/sessao/views.py

@ -90,7 +90,7 @@ def verifica_presenca(request, model, spk):
return True return True
def verifica_votacoes_abertas(request, model, pk): def verifica_votacoes_abertas(request):
votacoes_abertas = SessaoPlenaria.objects.filter( votacoes_abertas = SessaoPlenaria.objects.filter(
Q(ordemdia__votacao_aberta=True) | Q(ordemdia__votacao_aberta=True) |
Q(expedientemateria__votacao_aberta=True)).distinct() 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.') 'outra, termine ou feche as votações abertas.')
messages.add_message(request, messages.INFO, msg) messages.add_message(request, messages.INFO, msg)
else: return False
materia_votacao = model.objects.get(id=pk)
materia_votacao.votacao_aberta = True
materia_votacao.save()
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( return HttpResponseRedirect(
reverse('sapl.sessao:ordemdia_list', kwargs={'pk': spk})) reverse('sapl.sessao:' + redirect_url, kwargs={'pk': spk}))
def put_link_materia(context): def put_link_materia(context):
@ -243,7 +253,7 @@ class MateriaOrdemDiaCrud(MasterDetailCrud):
obj.resultado = '''Não há resultado''' obj.resultado = '''Não há resultado'''
else: else:
url = reverse('sapl.sessao:abrir_votacao', kwargs={ 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): if self.request.user.has_module_perms(AppConfig.label):
btn_abrir = ''' btn_abrir = '''
@ -361,8 +371,8 @@ class ExpedienteMateriaCrud(MasterDetailCrud):
Registrar Votação</a>''' % (url) Registrar Votação</a>''' % (url)
obj.resultado = btn_registrar obj.resultado = btn_registrar
else: else:
url = reverse('sapl.sessao:abrir_votacao_exp', kwargs={ 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=expediente'
btn_abrir = '''Matéria não votada<br />''' btn_abrir = '''Matéria não votada<br />'''
if self.request.user.has_module_perms(AppConfig.label): if self.request.user.has_module_perms(AppConfig.label):

Loading…
Cancel
Save