|
|
|
@ -13,6 +13,7 @@ from django.http.response import Http404, HttpResponseRedirect |
|
|
|
from django.shortcuts import render |
|
|
|
from django.utils import timezone |
|
|
|
from django.utils.translation import ugettext_lazy as _ |
|
|
|
from django.views.decorators.cache import never_cache |
|
|
|
|
|
|
|
from sapl.base.models import AppConfig as ConfiguracoesAplicacao |
|
|
|
from sapl.base.models import CasaLegislativa |
|
|
|
@ -117,7 +118,8 @@ def votacao(context, context_vars): |
|
|
|
|
|
|
|
if voto: |
|
|
|
try: |
|
|
|
logger.debug("Tentando obter objeto VotoParlamentar com parlamentar={}.".format(context_vars['parlamentar'])) |
|
|
|
logger.debug( |
|
|
|
"Tentando obter objeto VotoParlamentar com parlamentar={}.".format(context_vars['parlamentar'])) |
|
|
|
voto = voto.get(parlamentar=context_vars['parlamentar']) |
|
|
|
context.update({'voto_parlamentar': voto.voto}) |
|
|
|
except ObjectDoesNotExist: |
|
|
|
@ -133,6 +135,23 @@ def votacao(context, context_vars): |
|
|
|
'Ordem do Dia/Expediente em votação.'}) |
|
|
|
return context, context_vars |
|
|
|
|
|
|
|
|
|
|
|
@never_cache |
|
|
|
@user_passes_test(check_permission) |
|
|
|
def painel_view(request, pk): |
|
|
|
utc_now = timezone.now() |
|
|
|
local_now = timezone.localtime(utc_now) |
|
|
|
utc_offset = int(local_now.utcoffset().total_seconds() / 60) |
|
|
|
server_epoch_ms = int(utc_now.timestamp() * 1000) |
|
|
|
|
|
|
|
context = {'head_title': str(_('Painel Plenário')), |
|
|
|
'sessao_id': pk, |
|
|
|
'server_epoch_ms': server_epoch_ms, |
|
|
|
'utc_offset': utc_offset, |
|
|
|
} |
|
|
|
return render(request, 'painel/index.html', context) |
|
|
|
|
|
|
|
|
|
|
|
def sessao_votacao(context, context_vars): |
|
|
|
pk = context_vars['sessao'].pk |
|
|
|
context.update({'sessao_id': pk}) |
|
|
|
@ -248,13 +267,15 @@ def votante_view(request): |
|
|
|
|
|
|
|
elif context_vars['expediente']: |
|
|
|
try: |
|
|
|
logger.info("user=" + username + ". Tentando obter objeto VotoParlamentar para parlamentar={} e expediente={}." |
|
|
|
logger.info( |
|
|
|
"user=" + username + ". Tentando obter objeto VotoParlamentar para parlamentar={} e expediente={}." |
|
|
|
.format(context_vars['parlamentar'], context_vars['expediente'])) |
|
|
|
voto = VotoParlamentar.objects.get( |
|
|
|
parlamentar=context_vars['parlamentar'], |
|
|
|
expediente=context_vars['expediente']) |
|
|
|
except ObjectDoesNotExist: |
|
|
|
logger.error("user=" + username + ". Erro ao obter VotoParlamentar para parlamentar={} e expediente={}. Criando objeto." |
|
|
|
logger.error( |
|
|
|
"user=" + username + ". Erro ao obter VotoParlamentar para parlamentar={} e expediente={}. Criando objeto." |
|
|
|
.format(context_vars['parlamentar'], context_vars['expediente'])) |
|
|
|
voto = VotoParlamentar.objects.create( |
|
|
|
parlamentar=context_vars['parlamentar'], |
|
|
|
@ -263,7 +284,8 @@ def votante_view(request): |
|
|
|
ip=get_client_ip(request), |
|
|
|
expediente=context_vars['expediente']) |
|
|
|
else: |
|
|
|
logger.info("user=" + username + ". VotoParlamentar para parlamentar={} e expediente={} obtido com sucesso." |
|
|
|
logger.info( |
|
|
|
"user=" + username + ". VotoParlamentar para parlamentar={} e expediente={} obtido com sucesso." |
|
|
|
.format(context_vars['parlamentar'], context_vars['expediente'])) |
|
|
|
voto.voto = request.POST['voto'] |
|
|
|
voto.ip = get_client_ip(request) |
|
|
|
@ -276,15 +298,6 @@ def votante_view(request): |
|
|
|
return render(request, template_name, context) |
|
|
|
|
|
|
|
|
|
|
|
@user_passes_test(check_permission) |
|
|
|
def painel_view(request, pk): |
|
|
|
now = timezone.localtime(timezone.now()) |
|
|
|
utc_offset = now.utcoffset().total_seconds() / 60 |
|
|
|
|
|
|
|
context = {'head_title': str(_('Painel Plenário')), 'sessao_id': pk, 'utc_offset': utc_offset } |
|
|
|
return render(request, 'painel/index.html', context) |
|
|
|
|
|
|
|
|
|
|
|
@user_passes_test(check_permission) |
|
|
|
def switch_painel(request): |
|
|
|
sessao = SessaoPlenaria.objects.get(id=request.POST['pk_sessao']) |
|
|
|
@ -361,7 +374,6 @@ def get_presentes(pk, response, materia): |
|
|
|
|
|
|
|
oradores_list = [] |
|
|
|
for o in oradores: |
|
|
|
|
|
|
|
oradores_list.append( |
|
|
|
{ |
|
|
|
'nome': o.parlamentar.nome_parlamentar, |
|
|
|
@ -515,7 +527,8 @@ def get_votos(response, materia, mostrar_voto): |
|
|
|
response['presentes'][i]['voto'] = votos_parlamentares.get( |
|
|
|
parlamentar_id=p['parlamentar_id']).voto |
|
|
|
except ObjectDoesNotExist: |
|
|
|
logger.error("Votos do parlamentar (id={}) não encontrados. Retornado None.".format(p['parlamentar_id'])) |
|
|
|
logger.error( |
|
|
|
"Votos do parlamentar (id={}) não encontrados. Retornado None.".format(p['parlamentar_id'])) |
|
|
|
response['presentes'][i]['voto'] = None |
|
|
|
|
|
|
|
response.update({ |
|
|
|
|