|
|
@ -3,6 +3,7 @@ from collections import OrderedDict |
|
|
|
from datetime import datetime |
|
|
|
from re import sub |
|
|
|
import logging |
|
|
|
from urllib.request import parse_keqv_list |
|
|
|
|
|
|
|
from django.conf import settings |
|
|
|
from django.contrib import messages |
|
|
@ -117,10 +118,10 @@ def verifica_presenca(request, model, spk, is_leitura=False): |
|
|
|
return True |
|
|
|
|
|
|
|
|
|
|
|
def verifica_votacoes_abertas(request): |
|
|
|
def verifica_votacoes_abertas(request, pk): |
|
|
|
votacoes_abertas = SessaoPlenaria.objects.filter( |
|
|
|
Q(ordemdia__votacao_aberta=True) | |
|
|
|
Q(expedientemateria__votacao_aberta=True)).distinct() |
|
|
|
(Q(ordemdia__votacao_aberta=True) | Q(ordemdia__discussao_aberta=True) & ~Q(ordemdia__id=int(pk))) | |
|
|
|
(Q(expedientemateria__votacao_aberta=True) | Q(expedientemateria__discussao_aberta=True) & ~Q(expedientemateria__id=int(pk)))).distinct() |
|
|
|
|
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
|
@ -185,9 +186,15 @@ def abrir_votacao(request, pk, spk): |
|
|
|
materia_votacao = model.objects.get(id=pk) |
|
|
|
is_leitura = materia_votacao.tipo_votacao == 4 |
|
|
|
if (verifica_presenca(request, presenca_model, spk, is_leitura) and |
|
|
|
verifica_votacoes_abertas(request) and |
|
|
|
verifica_votacoes_abertas(request, pk) and |
|
|
|
verifica_sessao_iniciada(request, spk, is_leitura)): |
|
|
|
materia_votacao.votacao_aberta = True |
|
|
|
if 'discutir' in request.GET: |
|
|
|
materia_votacao.discussao_aberta = True |
|
|
|
else: |
|
|
|
if materia_votacao.discussao_aberta == True: |
|
|
|
materia_votacao.discussao_aberta = False |
|
|
|
if 'cancelar_discussao' not in request.GET: |
|
|
|
materia_votacao.votacao_aberta = True |
|
|
|
sessao = SessaoPlenaria.objects.get(id=spk) |
|
|
|
sessao.painel_aberto = True |
|
|
|
sessao.save() |
|
|
@ -325,7 +332,7 @@ def customize_link_materia(context, pk, has_permission, is_expediente): |
|
|
|
if obj.tipo_votacao != LEITURA: |
|
|
|
btn_registrar = ''' |
|
|
|
<form action="%s"> |
|
|
|
<input type="submit" class="btn btn-primary" |
|
|
|
<input type="submit" class="btn btn-primary btn-block" |
|
|
|
value="Registrar Votação" /> |
|
|
|
%s |
|
|
|
</form>''' % ( |
|
|
@ -333,7 +340,7 @@ def customize_link_materia(context, pk, has_permission, is_expediente): |
|
|
|
else: |
|
|
|
btn_registrar = ''' |
|
|
|
<form action="%s"> |
|
|
|
<input type="submit" class="btn btn-primary" |
|
|
|
<input type="submit" class="btn btn-primary btn-block" |
|
|
|
value="Registrar Leitura" /> |
|
|
|
%s |
|
|
|
</form>''' % ( |
|
|
@ -363,17 +370,31 @@ def customize_link_materia(context, pk, has_permission, is_expediente): |
|
|
|
|
|
|
|
if has_permission: |
|
|
|
if not obj.tipo_votacao == LEITURA: |
|
|
|
btn_abrir = ''' |
|
|
|
Matéria não votada<br /> |
|
|
|
<a href="%s" |
|
|
|
class="btn btn-primary" |
|
|
|
role="button">Abrir Votação</a>''' % (url) |
|
|
|
resultado = btn_abrir |
|
|
|
if obj.discussao_aberta != True: |
|
|
|
btn_abrir = ''' |
|
|
|
Matéria não votada<br /> |
|
|
|
<a href="%s" |
|
|
|
class="btn btn-primary btn-block" |
|
|
|
role="button" style="white-space : nowrap;">Abrir Discussão</a> |
|
|
|
<a href="%s" |
|
|
|
class="btn btn-primary btn-block" |
|
|
|
role="button" style="white-space : nowrap;">Abrir Votação</a>''' % (url + '&discutir=True', url) |
|
|
|
resultado = btn_abrir |
|
|
|
else: |
|
|
|
btn_abrir = ''' |
|
|
|
Matéria não votada<br /> |
|
|
|
<a href="%s" |
|
|
|
class="btn btn-danger btn-block" |
|
|
|
role="button" style="white-space : nowrap;">Cancelar Discussão</a> |
|
|
|
<a href="%s" |
|
|
|
class="btn btn-primary btn-block" |
|
|
|
role="button">Abrir Votação</a>''' % (url + '&cancelar_discussao=True', url) |
|
|
|
resultado = btn_abrir |
|
|
|
else: |
|
|
|
btn_abrir = ''' |
|
|
|
Matéria não lida<br /> |
|
|
|
<a href="%s" |
|
|
|
class="btn btn-primary" |
|
|
|
class="btn btn-primary btn-block" |
|
|
|
role="button">Abrir para Leitura</a>''' % (url) |
|
|
|
resultado = btn_abrir |
|
|
|
else: |
|
|
|