Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exibe no painel a Matéria para Discussão, antes de abrir para votação #3557

Open
wants to merge 3 commits into
base: 3.1.x
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions sapl/painel/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ def get_cronometro_status(request, name):

def get_materia_aberta(pk):
return OrdemDia.objects.filter(
sessao_plenaria_id=pk, votacao_aberta=True).last()
sessao_plenaria_id=pk).filter(Q(votacao_aberta=True) | Q(resultado='Matéria em Discussão')).last()


def get_presentes(pk, response, materia):
Expand Down Expand Up @@ -437,7 +437,7 @@ def get_presentes(pk, response, materia):

def get_materia_expediente_aberta(pk):
return ExpedienteMateria.objects.filter(
sessao_plenaria_id=pk, votacao_aberta=True).last()
sessao_plenaria_id=pk).filter(Q(votacao_aberta=True) | Q(resultado='Matéria em Discussão')).last()


def response_nenhuma_materia(response):
Expand Down Expand Up @@ -569,6 +569,7 @@ def get_dados_painel(request, pk):
'cronometro_consideracoes': get_cronometro_status(request, 'consideracoes'),
'status_painel': sessao.painel_aberto,
'brasao': brasao,
'discutir': False,
'mostrar_voto': app_config.mostrar_voto
}

Expand All @@ -578,10 +579,14 @@ def get_dados_painel(request, pk):
# Caso tenha alguma matéria com votação aberta, ela é mostrada no painel
# com prioridade para Ordem do Dia.
if ordem_dia:
if ordem_dia.resultado == 'Matéria em Discussão':
response.update({'discutir':True})
return JsonResponse(get_votos(
get_presentes(pk, response, ordem_dia),
ordem_dia, app_config.mostrar_voto))
elif expediente:
if expediente.resultado == 'Matéria em Discussão':
response.update({'discutir':True})
return JsonResponse(get_votos(
get_presentes(pk, response, expediente),
expediente, app_config.mostrar_voto))
Expand Down
48 changes: 34 additions & 14 deletions sapl/sessao/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,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__resultado='Matéria em Discussão') & ~Q(ordemdia__id=int(pk))) |
(Q(expedientemateria__votacao_aberta=True) | Q(expedientemateria__resultado='Matéria em Discussão') & ~Q(expedientemateria__id=int(pk)))).distinct()

logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -199,9 +199,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.resultado = 'Matéria em Discussão'
else:
if materia_votacao.resultado == 'Matéria em Discussão':
materia_votacao.resultado = ''
if 'cancelar_discussao' not in request.GET:
materia_votacao.votacao_aberta = True
sessao = SessaoPlenaria.objects.get(id=spk)
sessao.painel_aberto = True
sessao.save()
Expand Down Expand Up @@ -348,15 +354,15 @@ 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>''' % (
url, page_number)
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>''' % (
Expand Down Expand Up @@ -386,17 +392,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.resultado != 'Matéria em Discussão':
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:
Expand Down
6 changes: 5 additions & 1 deletion sapl/templates/painel/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -433,7 +433,11 @@ <h2 class="text-subtitle">Tema da Sessão Solene</h2>
if (data['tipo_resultado'] && data['status_painel'] == true){
if(data['tipo_votacao'] != 'Leitura' && !data['sessao_finalizada'] && !data["sessao_solene"]){
$("#resultado_votacao").css("color", "#45919D");
$("#mat_em_votacao").text("Matéria em Votação");
if (!data['discutir']){
$("#mat_em_votacao").text("Matéria em Votação");
}else{
$("#mat_em_votacao").text("Matéria em Discussão");
}
$("#resultado_votacao_div").show();
}
else{
Expand Down