Browse Source

correcoes de erros

pull/2416/head
Cesar Carvalho 7 years ago
parent
commit
f59b0e3cff
  1. 156
      sapl/sessao/views.py

156
sapl/sessao/views.py

@ -3281,22 +3281,21 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
context = {'pk': self.kwargs['pk']} context = {'pk': self.kwargs['pk']}
if 'origem' in request.POST: if 'origem' in request.POST:
marcadas = request.POST.getlist('marcadas_id_1')
context.update({'resultado_votacao': TipoResultadoVotacao.objects.all(),
'origem': request.POST['origem']})
if request.POST['origem'] == 'ordem':
ordens = OrdemDia.objects.filter(id__in=request.POST.getlist('marcadas_id_1'))
qtde_presentes = PresencaOrdemDia.objects.filter( qtde_presentes = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=self.kwargs['pk']).count() sessao_plenaria_id=self.kwargs['pk']).count()
context.update({'ordens':ordens,
origem = request.POST['origem'] 'total_presentes': qtde_presentes})
context.update({'total_presentes': qtde_presentes,
'resultado_votacao': TipoResultadoVotacao.objects.all(),
'origem': origem})
if origem == 'ordem':
ordens = OrdemDia.objects.filter(id__in=marcadas)
context.update({'ordens':ordens})
else: else:
expedientes = ExpedienteMateria.objects.filter(id__in=marcadas) expedientes = ExpedienteMateria.objects.filter(id__in=request.POST.getlist('marcadas_id_1'))
context.update({'expedientes':expedientes}) qtde_presentes = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=self.kwargs['pk']).count()
context.update({'expedientes':expedientes,
'total_presentes': qtde_presentes})
if 'salvar-votacao' in request.POST: if 'salvar-votacao' in request.POST:
form = VotacaoForm(request.POST) form = VotacaoForm(request.POST)
@ -3313,7 +3312,8 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
if qtde_votos != qtde_presentes: if qtde_votos != qtde_presentes:
form._errors["total_votos"] = ErrorList([u""]) form._errors["total_votos"] = ErrorList([u""])
return self.render_to_response(context) form.add_error(None, 'O total de votos não corresponde com a quantidade de presentes!')
return self.form_invalid(form,context)
origem = request.POST['origem2'] origem = request.POST['origem2']
@ -3337,7 +3337,7 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
username = request.user.username username = request.user.username
self.logger.error('user=' + username + '. Problemas ao salvar RegistroVotacao da materia de id={} ' self.logger.error('user=' + username + '. Problemas ao salvar RegistroVotacao da materia de id={} '
'e da ordem de id={}. '.format(ordem.materia.id, ordem.id) + str(e)) 'e da ordem de id={}. '.format(ordem.materia.id, ordem.id) + str(e))
return self.form_invalid(form) return self.form_invalid(form, context)
else: else:
ordem.resultado = resultado.nome ordem.resultado = resultado.nome
ordem.votacao_aberta = False ordem.votacao_aberta = False
@ -3362,7 +3362,7 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
username = request.user.username username = request.user.username
self.logger.error('user=' + username + '. Problemas ao salvar RegistroVotacao da materia de id={} ' self.logger.error('user=' + username + '. Problemas ao salvar RegistroVotacao da materia de id={} '
'e da ordem de id={}. '.format(expediente.materia.id, expediente.id) + str(e)) 'e da ordem de id={}. '.format(expediente.materia.id, expediente.id) + str(e))
return self.form_invalid(form) return self.form_invalid(form, context)
else: else:
expediente.resultado = resultado.nome expediente.resultado = resultado.nome
expediente.votacao_aberta = False expediente.votacao_aberta = False
@ -3370,14 +3370,17 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
return HttpResponseRedirect(self.get_success_url(origem)) return HttpResponseRedirect(self.get_success_url(origem))
else:
return self.form_invalid(form, context)
if 'cancelar-votacao' in request.POST: if 'cancelar-votacao' in request.POST:
if request.POST['origem2'] == 'ordem': if request.POST['origem2'] == 'ordem':
ordens = OrdemDia.objects.filter(id__in=request.POST['ordens']) ordens = OrdemDia.objects.filter(id__in=request.POST.getlist('ordens'))
for ordem in ordens: for ordem in ordens:
ordem.votacao_aberta = False ordem.votacao_aberta = False
ordem.save() ordem.save()
else: else:
expedientes = ExpedienteMateria.objects.filter(id__in=request.POST['expedientes']) expedientes = ExpedienteMateria.objects.filter(id__in=request.POST.getlist('expedientes'))
for expediente in expedientes: for expediente in expedientes:
expediente.votacao_aberta = False expediente.votacao_aberta = False
expediente.save() expediente.save()
@ -3398,6 +3401,41 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
return reverse('sapl.sessao:expedientemateria_list', return reverse('sapl.sessao:expedientemateria_list',
kwargs={'pk': pk}) kwargs={'pk': pk})
def form_invalid(self, form, context):
errors_tuple = [(form[e].label, form.errors[e])
for e in form.errors if e in form.fields]
error_message = '<ul>'
for e in errors_tuple:
error_message += '<li><b>%s</b>: %s</li>' % (e[0], e[1][0])
for e in form.non_field_errors():
error_message += '<li>%s</li>' % e
error_message += '</ul>'
messages.add_message(self.request, messages.ERROR, error_message)
if self.request.POST['origem2'] == 'ordem':
ordens = OrdemDia.objects.filter(id__in=self.request.POST.getlist('ordens'))
qtde_presentes = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=self.kwargs['pk']).count()
context.update({'ordens': ordens,
'total_presentes': qtde_presentes})
elif self.request.POST['origem2'] == 'expediente':
expedientes = ExpedienteMateria.objects.filter(id__in=self.request.POST.getlist('expedientes'))
qtde_presentes = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=self.kwargs['pk']).count()
context.update({'expedientes': expedientes,
'total_presentes': qtde_presentes})
context.update({'resultado_votacao': TipoResultadoVotacao.objects.all(),
'form': form,
'origem': self.request.POST['origem2']})
import ipdb; ipdb.set_trace()
return self.render_to_response(context)
class VotacaoEmBlocoNominalView(TemplateView): class VotacaoEmBlocoNominalView(TemplateView):
""" """
Votação Nominal Votação Nominal
@ -3405,11 +3443,6 @@ class VotacaoEmBlocoNominalView(TemplateView):
template_name = 'sessao/votacao/votacao_nominal_bloco.html' template_name = 'sessao/votacao/votacao_nominal_bloco.html'
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def get(self, request, *args, **kwargs):
import ipdb; ipdb.set_trace()
pass
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
username = request.user.username username = request.user.username
form = VotacaoNominalForm(request.POST) form = VotacaoNominalForm(request.POST)
@ -3418,23 +3451,18 @@ class VotacaoEmBlocoNominalView(TemplateView):
context = {'pk': self.kwargs['pk']} context = {'pk': self.kwargs['pk']}
if 'origem' in request.POST: if 'origem' in request.POST:
# form = VotacaoNominalForm(request.POST)
marcadas = request.POST.getlist('marcadas_id_2')
origem = request.POST['origem']
context.update({'resultado_votacao': TipoResultadoVotacao.objects.all(), context.update({'resultado_votacao': TipoResultadoVotacao.objects.all(),
'origem': origem, 'origem': request.POST['origem'],
'form': form}) 'form': form})
if origem == 'ordem': if request.POST['origem'] == 'ordem':
ordens = OrdemDia.objects.filter(id__in=marcadas) ordens = OrdemDia.objects.filter(id__in=request.POST.getlist('marcadas_id_2'))
presentes = PresencaOrdemDia.objects.filter( presentes = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=kwargs['pk']) sessao_plenaria_id=kwargs['pk'])
context.update({'ordens':ordens}) context.update({'ordens':ordens})
else: else:
expedientes = ExpedienteMateria.objects.filter(id__in=marcadas) expedientes = ExpedienteMateria.objects.filter(id__in=request.POST.getlist('marcadas_id_2'))
presentes = PresencaOrdemDia.objects.filter( presentes = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=kwargs['pk']) sessao_plenaria_id=kwargs['pk'])
context.update({'expedientes':expedientes}) context.update({'expedientes':expedientes})
total = presentes.count() total = presentes.count()
@ -3442,14 +3470,14 @@ class VotacaoEmBlocoNominalView(TemplateView):
'total':total}) 'total':total})
if 'cancelar-votacao' in request.POST: if 'cancelar-votacao' in request.POST:
if request.POST['origem'] == 'ordem': if request.POST['origem2'] == 'ordem':
for ordem_id in request.POST['ordens']: for ordem_id in request.POST.getlist('ordens'):
ordem = OrdemDia.objects.get(id=ordem_id) ordem = OrdemDia.objects.get(id=ordem_id)
fechar_votacao_materia(ordem) fechar_votacao_materia(ordem)
return HttpResponseRedirect(reverse( return HttpResponseRedirect(reverse(
'sapl.sessao:ordemdia_list', kwargs={'pk': self.kwargs['pk']})) 'sapl.sessao:ordemdia_list', kwargs={'pk': self.kwargs['pk']}))
else: else:
for expediente_id in request.POST['expedientes']: for expediente_id in request.POST.getlist('expedientes'):
expediente = ExpedienteMateria.objects.get(id=expediente_id) expediente = ExpedienteMateria.objects.get(id=expediente_id)
fechar_votacao_materia(expediente) fechar_votacao_materia(expediente)
return HttpResponseRedirect(reverse( return HttpResponseRedirect(reverse(
@ -3462,7 +3490,7 @@ class VotacaoEmBlocoNominalView(TemplateView):
if form.cleaned_data['resultado_votacao'] == None: if form.cleaned_data['resultado_votacao'] == None:
form.add_error(None, 'Não é possível finalizar a votação sem ' form.add_error(None, 'Não é possível finalizar a votação sem '
'nenhum resultado da votação') 'nenhum resultado da votação')
return self.form_invalid(form) return self.form_invalid(form, context)
qtde_votos = (int(request.POST['votos_sim']) + qtde_votos = (int(request.POST['votos_sim']) +
int(request.POST['votos_nao']) + int(request.POST['votos_nao']) +
@ -3477,7 +3505,7 @@ class VotacaoEmBlocoNominalView(TemplateView):
'nenhum voto') 'nenhum voto')
form.add_error(None, 'Não é possível finalizar a votação sem ' form.add_error(None, 'Não é possível finalizar a votação sem '
'nenhum voto') 'nenhum voto')
return self.form_invalid(form) return self.form_invalid(form, context)
if origem=='ordem': if origem=='ordem':
for ordem_id in request.POST.getlist('ordens'): for ordem_id in request.POST.getlist('ordens'):
@ -3517,7 +3545,7 @@ class VotacaoEmBlocoNominalView(TemplateView):
votacao__isnull=True).delete() votacao__isnull=True).delete()
else: else:
for expediente_id in request.POST['expedientes']: for expediente_id in request.POST.getlist('expedientes'):
expediente = ExpedienteMateria.objects.get(id=expediente_id) expediente = ExpedienteMateria.objects.get(id=expediente_id)
RegistroVotacao.objects.filter( RegistroVotacao.objects.filter(
expediente_id=expediente_id).delete() expediente_id=expediente_id).delete()
@ -3557,12 +3585,13 @@ class VotacaoEmBlocoNominalView(TemplateView):
return HttpResponseRedirect(self.get_success_url()) return HttpResponseRedirect(self.get_success_url())
else: else:
return self.form_invalid(form) return self.form_invalid(form, context)
return self.render_to_response(context) return self.render_to_response(context)
def get_parlamentares(self): def get_parlamentares(self):
if 'origem' in self.request.POST:
if self.request.POST['origem'] == 'ordem': if self.request.POST['origem'] == 'ordem':
presencas = PresencaOrdemDia.objects.filter( presencas = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=self.kwargs['pk']) sessao_plenaria_id=self.kwargs['pk'])
@ -3575,6 +3604,20 @@ class VotacaoEmBlocoNominalView(TemplateView):
expedientes_id = self.request.POST.getlist('marcadas_id_2') expedientes_id = self.request.POST.getlist('marcadas_id_2')
voto_parlamentar = VotoParlamentar.objects.filter( voto_parlamentar = VotoParlamentar.objects.filter(
expediente=expedientes_id[0]) expediente=expedientes_id[0])
#origem2
else:
if self.request.POST['origem2'] == 'ordem':
presencas = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=self.kwargs['pk'])
ordens_id = self.request.POST.getlist('ordens')
voto_parlamentar = VotoParlamentar.objects.filter(
ordem=ordens_id[0])
else:
presencas = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=self.kwargs['pk'])
expedientes_id = self.request.POST.getlist('expedientes')
voto_parlamentar = VotoParlamentar.objects.filter(
expediente=expedientes_id[0])
presentes = [p.parlamentar for p in presencas] presentes = [p.parlamentar for p in presencas]
@ -3592,16 +3635,14 @@ class VotacaoEmBlocoNominalView(TemplateView):
yield [parlamentar, voto.voto] yield [parlamentar, voto.voto]
def get_success_url(self): def get_success_url(self):
pk = self.kwargs['pk']
if self.request.POST['origem2']=='ordem': if self.request.POST['origem2']=='ordem':
return reverse('sapl.sessao:ordemdia_list', return reverse('sapl.sessao:ordemdia_list',
kwargs={'pk': pk}) kwargs={'pk': self.kwargs['pk']})
else: else:
return reverse('sapl.sessao:expedientemateria_list', return reverse('sapl.sessao:expedientemateria_list',
kwargs={'pk': pk}) kwargs={'pk': self.kwargs['pk']})
def form_invalid(self, form): def form_invalid(self, form, context):
#TODO dados são perdidos
errors_tuple = [(form[e].label, form.errors[e]) errors_tuple = [(form[e].label, form.errors[e])
for e in form.errors if e in form.fields] for e in form.errors if e in form.fields]
@ -3614,13 +3655,22 @@ class VotacaoEmBlocoNominalView(TemplateView):
messages.add_message(self.request, messages.ERROR, error_message) messages.add_message(self.request, messages.ERROR, error_message)
# if self.request.POST['origem2'] == 'ordem': if self.request.POST['origem2'] == 'ordem':
# view = 'sapl.sessao:votacaobloconom' ordens = OrdemDia.objects.filter(id__in=self.request.POST.getlist('ordens'))
# elif self.request.POST['origem2'] == 'expediente': presentes = PresencaOrdemDia.objects.filter(
# view = 'sapl.sessao:votacaobloconom' sessao_plenaria_id=self.kwargs['pk'])
# else: context.update({'ordens': ordens})
# view = None elif self.request.POST['origem2'] == 'expediente':
expedientes = ExpedienteMateria.objects.filter(id__in=self.request.POST.getlist('expedientes'))
presentes = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=self.kwargs['pk'])
context.update({'expedientes': expedientes})
total = presentes.count()
context.update({'parlamentares':self.get_parlamentares(),
'total':total,
'resultado_votacao': TipoResultadoVotacao.objects.all(),
'form': form,
'origem': self.request.POST['origem2']})
return HttpResponseRedirect(reverse( return self.render_to_response(context)
'sapl.sessao:votacaobloconom',
kwargs={'pk': self.kwargs['pk']}))
Loading…
Cancel
Save