Browse Source

correcoes diversas e insercao dos menus

pull/2416/head
Cesar Carvalho 7 years ago
parent
commit
1f5a21350a
  1. 2
      sapl/base/templatetags/menus.py
  2. 32
      sapl/sessao/forms.py
  3. 142
      sapl/sessao/views.py
  4. 34
      sapl/templates/sessao/votacao/votacao_bloco_expediente.html
  5. 31
      sapl/templates/sessao/votacao/votacao_bloco_ordem.html
  6. 4
      sapl/templates/sessao/votacao/votacao_nominal_bloco.html
  7. 21
      sapl/templates/sessao/votacao/votacao_simbolica_bloco.html

2
sapl/base/templatetags/menus.py

@ -89,7 +89,7 @@ def nav_run(context, path=None):
%s
""") % (
yaml_path, rm.app_name, str(e)))
return {'menu': menu}

32
sapl/sessao/forms.py

@ -1,4 +1,4 @@
from django.contrib import messages
from datetime import datetime
from crispy_forms.helper import FormHelper
@ -426,13 +426,35 @@ class OcorrenciaSessaoForm(ModelForm):
class VotacaoForm(forms.Form):
votos_sim = forms.CharField(label='Sim')
votos_nao = forms.CharField(label='Não')
abstencoes = forms.CharField(label='Abstenções')
total_votos = forms.CharField(required=False, label='total')
votos_sim = forms.IntegerField(label='Sim')
votos_nao = forms.IntegerField(label='Não')
abstencoes = forms.IntegerField(label='Abstenções')
total_presentes = forms.IntegerField(required=False, widget=forms.HiddenInput())
voto_presidente = forms.IntegerField(label='A totalização inclui o voto do Presidente?')
total_votos = forms.IntegerField(required=False, label='total')
observacao = forms.CharField(required=False , label='Observação')
resultado_votacao = forms.CharField(label='Resultado da Votação')
def clean(self):
cleaned_data = super(VotacaoForm, self).clean()
if not self.is_valid():
return cleaned_data
votos_sim = cleaned_data['votos_sim']
votos_nao = cleaned_data['votos_nao']
abstencoes = cleaned_data['abstencoes']
qtde_presentes = cleaned_data['total_presentes']
qtde_votos = votos_sim + votos_nao + abstencoes
voto_presidente = cleaned_data['voto_presidente']
if not voto_presidente:
qtde_presentes -= 1
if qtde_votos != qtde_presentes:
raise ValidationError('O total de votos não corresponde com a quantidade de presentes!')
return cleaned_data
# def save(self, commit=False):
# #TODO Verificar se esse códido é utilizado

142
sapl/sessao/views.py

@ -898,9 +898,9 @@ class PresencaOrdemDiaView(FormMixin, PresencaMixin, DetailView):
ordem.sessao_plenaria = self.object
ordem.parlamentar = Parlamentar.objects.get(id=p)
ordem.save()
username = request.user.username
self.logger.info('user=' + username + '. PresencaOrdemDia (parlamentar com id={}) salva com sucesso!'.format(p))
username = request.user.username
self.logger.info('user=' + username + '. PresencaOrdemDia (parlamentar com id={}) salva com sucesso!'.format(p))
msg = _('Presença em Ordem do Dia salva com sucesso!')
messages.add_message(request, messages.SUCCESS, msg)
@ -3231,18 +3231,16 @@ class VotacaoEmBlocoExpediente(ListView):
def get_queryset(self):
kwargs = self.kwargs
return ExpedienteMateria.objects.filter(sessao_plenaria_id=kwargs['pk'],
resultado='')
resultado='')
def get_context_data(self, **kwargs):
context = super(VotacaoEmBlocoExpediente, self).get_context_data(**kwargs)
context['turno_choices'] = Tramitacao.TURNO_CHOICES
context['title'] = SessaoPlenaria.objects.get(id=self.kwargs['pk'])
context['pk'] = self.kwargs['pk']
context.update({'subnav_template_name': 'sessao/subnav.yaml'})
return context
def post(self, request, *args, **kwargs):
return HttpResponseRedirect(
reverse('sapl.sessao:votacaoblocosimb', kwargs=self.kwargs))
class VotacaoEmBlocoOrdemDia(ListView):
model = OrdemDia
@ -3252,20 +3250,17 @@ class VotacaoEmBlocoOrdemDia(ListView):
context_object_name = 'ordem_dia'
def get_queryset(self):
kwargs = self.kwargs
return OrdemDia.objects.filter(sessao_plenaria_id=kwargs['pk'],
return OrdemDia.objects.filter(sessao_plenaria_id=self.kwargs['pk'],
resultado='')
def get_context_data(self, **kwargs):
context = super(VotacaoEmBlocoOrdemDia, self).get_context_data(**kwargs)
context['turno_choices'] = Tramitacao.TURNO_CHOICES
context['pk'] = self.kwargs['pk']
context['title'] = SessaoPlenaria.objects.get(id=self.kwargs['pk'])
context.update({'subnav_template_name': 'sessao/subnav.yaml'})
return context
def post(self, request, *args, **kwargs):
return HttpResponseRedirect(
reverse('sapl.sessao:votacaoblocosimb', kwargs=self.kwargs))
class VotacaoEmBlocoSimbolicaView(TemplateView):
@ -3277,21 +3272,26 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
logger = logging.getLogger(__name__)
def post(self, request, *args, **kwargs):
if not 'context' in locals():
context = {'pk': self.kwargs['pk']}
context = {'pk': self.kwargs['pk'],
'title': SessaoPlenaria.objects.get(id=self.kwargs['pk']),
'subnav_template_name': 'sessao/subnav.yaml'}
if 'origem' in request.POST:
if 'marcadas_1' in request.POST:
context.update({'resultado_votacao': TipoResultadoVotacao.objects.all(),
'origem': request.POST['origem']})
# marcadas_1 se refere a votação simbólica e marcadas_2 a votação nominal
if request.POST['origem'] == 'ordem':
ordens = OrdemDia.objects.filter(id__in=request.POST.getlist('marcadas_id_1'))
ordens = OrdemDia.objects.filter(id__in=request.POST.getlist('marcadas_1'))
qtde_presentes = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=self.kwargs['pk']).count()
context.update({'ordens':ordens,
'total_presentes': qtde_presentes})
else:
expedientes = ExpedienteMateria.objects.filter(id__in=request.POST.getlist('marcadas_id_1'))
expedientes = ExpedienteMateria.objects.filter(id__in=request.POST.getlist('marcadas_1'))
qtde_presentes = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=self.kwargs['pk']).count()
context.update({'expedientes':expedientes,
@ -3301,21 +3301,8 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
form = VotacaoForm(request.POST)
if form.is_valid():
qtde_votos = (int(request.POST['votos_sim']) +
int(request.POST['votos_nao']) +
int(request.POST['abstencoes']))
qtde_presentes = int(request.POST['total_presentes'])
if (request.POST['voto_presidente'] == '0'):
qtde_presentes -= 1
if qtde_votos != qtde_presentes:
form._errors["total_votos"] = ErrorList([u""])
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['origem']
if origem == 'ordem':
ordens = OrdemDia.objects.filter(id__in=request.POST.getlist('ordens'))
@ -3335,8 +3322,10 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
votacao.save()
except Exception as e:
username = request.user.username
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))
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))
return self.form_invalid(form, context)
else:
ordem.resultado = resultado.nome
@ -3368,13 +3357,13 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
expediente.votacao_aberta = False
expediente.save()
return HttpResponseRedirect(self.get_success_url(origem))
return HttpResponseRedirect(self.get_success_url())
else:
return self.form_invalid(form, context)
if 'cancelar-votacao' in request.POST:
if request.POST['origem2'] == 'ordem':
if request.POST['origem'] == 'ordem':
ordens = OrdemDia.objects.filter(id__in=request.POST.getlist('ordens'))
for ordem in ordens:
ordem.votacao_aberta = False
@ -3385,8 +3374,7 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
expediente.votacao_aberta = False
expediente.save()
origem = request.POST['origem2']
return HttpResponseRedirect(self.get_success_url(origem))
return HttpResponseRedirect(self.get_success_url())
return self.render_to_response(context)
@ -3395,14 +3383,13 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
for tipo in TipoResultadoVotacao.objects.all():
yield tipo
def get_success_url(self, origem):
pk = self.kwargs['pk']
if origem=='ordem':
def get_success_url(self):
if self.request.POST['origem']=='ordem':
return reverse('sapl.sessao:ordemdia_list',
kwargs={'pk': pk})
kwargs={'pk': self.kwargs['pk']})
else:
return reverse('sapl.sessao:expedientemateria_list',
kwargs={'pk': pk})
kwargs={'pk': self.kwargs['pk']})
def form_invalid(self, form, context):
@ -3417,13 +3404,13 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
messages.add_message(self.request, messages.ERROR, error_message)
if self.request.POST['origem2'] == 'ordem':
if self.request.POST['origem'] == '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':
elif self.request.POST['origem'] == 'expediente':
expedientes = ExpedienteMateria.objects.filter(id__in=self.request.POST.getlist('expedientes'))
qtde_presentes = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=self.kwargs['pk']).count()
@ -3432,7 +3419,7 @@ class VotacaoEmBlocoSimbolicaView(TemplateView):
context.update({'resultado_votacao': TipoResultadoVotacao.objects.all(),
'form': form,
'origem': self.request.POST['origem2']})
'origem': self.request.POST['origem']})
return self.render_to_response(context)
@ -3449,29 +3436,32 @@ class VotacaoEmBlocoNominalView(TemplateView):
form = VotacaoNominalForm(request.POST)
if not 'context' in locals():
context = {'pk': self.kwargs['pk']}
context = {'pk': self.kwargs['pk'],
'title': SessaoPlenaria.objects.get(id=self.kwargs['pk']),
'subnav_template_name': 'sessao/subnav.yaml'}
if 'origem' in request.POST:
if 'marcadas_2' in request.POST:
context.update({'resultado_votacao': TipoResultadoVotacao.objects.all(),
'origem': request.POST['origem'],
'form': form})
'origem': request.POST['origem']})
# marcadas_1 se refere a votação simbólica e marcadas_2 a votação nominal
if request.POST['origem'] == 'ordem':
ordens = OrdemDia.objects.filter(id__in=request.POST.getlist('marcadas_id_2'))
ordens = OrdemDia.objects.filter(id__in=request.POST.getlist('marcadas_2'))
presentes = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=kwargs['pk'])
context.update({'ordens':ordens})
else:
expedientes = ExpedienteMateria.objects.filter(id__in=request.POST.getlist('marcadas_id_2'))
expedientes = ExpedienteMateria.objects.filter(id__in=request.POST.getlist('marcadas_2'))
presentes = SessaoPlenariaPresenca.objects.filter(
sessao_plenaria_id=kwargs['pk'])
context.update({'expedientes':expedientes})
total = presentes.count()
total_presentes = presentes.count()
context.update({'parlamentares':self.get_parlamentares(),
'total':total})
'total_presentes':total_presentes})
if 'cancelar-votacao' in request.POST:
if request.POST['origem2'] == 'ordem':
if request.POST['origem'] == 'ordem':
for ordem_id in request.POST.getlist('ordens'):
ordem = OrdemDia.objects.get(id=ordem_id)
fechar_votacao_materia(ordem)
@ -3490,7 +3480,7 @@ class VotacaoEmBlocoNominalView(TemplateView):
if form.is_valid():
if form.cleaned_data['resultado_votacao'] == None:
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, context)
qtde_votos = (int(request.POST['votos_sim']) +
@ -3498,17 +3488,15 @@ class VotacaoEmBlocoNominalView(TemplateView):
int(request.POST['abstencoes']) +
int(request.POST['nao_votou']))
origem = request.POST['origem2']
# Caso todas as opções sejam 'Não votou', fecha a votação
if int(request.POST['nao_votou']) == qtde_votos:
self.logger.error('user=' + username + '. Não é possível finalizar a votação sem '
'nenhum voto')
'nenhum voto.')
form.add_error(None, 'Não é possível finalizar a votação sem '
'nenhum voto')
'nenhum voto.')
return self.form_invalid(form, context)
if origem=='ordem':
if request.POST['origem'] == 'ordem':
for ordem_id in request.POST.getlist('ordens'):
ordem = OrdemDia.objects.get(id=ordem_id)
# Remove todas as votação desta matéria, caso existam
@ -3591,23 +3579,25 @@ class VotacaoEmBlocoNominalView(TemplateView):
return self.render_to_response(context)
def get_parlamentares(self):
if 'origem' in self.request.POST:
#campos hidden ainda não preenchidos
if 'marcadas_2' in self.request.POST:
if self.request.POST['origem'] == 'ordem':
presencas = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=self.kwargs['pk'])
ordens_id = self.request.POST.getlist('marcadas_id_2')
ordens_id = self.request.POST.getlist('marcadas_2')
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('marcadas_id_2')
expedientes_id = self.request.POST.getlist('marcadas_2')
voto_parlamentar = VotoParlamentar.objects.filter(
expediente=expedientes_id[0])
#origem2
#campos hidden já preenchidos
else:
if self.request.POST['origem2'] == 'ordem':
if self.request.POST['origem'] == 'ordem':
presencas = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=self.kwargs['pk'])
ordens_id = self.request.POST.getlist('ordens')
@ -3636,7 +3626,7 @@ class VotacaoEmBlocoNominalView(TemplateView):
yield [parlamentar, voto.voto]
def get_success_url(self):
if self.request.POST['origem2']=='ordem':
if self.request.POST['origem']=='ordem':
return reverse('sapl.sessao:ordemdia_list',
kwargs={'pk': self.kwargs['pk']})
else:
@ -3647,31 +3637,31 @@ class VotacaoEmBlocoNominalView(TemplateView):
errors_tuple = [(form[e].label, form.errors[e])
for e in form.errors if e in form.fields]
error_message = '''<ul>'''
error_message = '<ul>'
for e in errors_tuple:
error_message += '''<li><b>%s</b>: %s</li>''' % (e[0], e[1][0])
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>'''
error_message += '<li>%s</li>' % e
error_message += '</ul>'
messages.add_message(self.request, messages.ERROR, error_message)
if self.request.POST['origem2'] == 'ordem':
if self.request.POST['origem'] == 'ordem':
ordens = OrdemDia.objects.filter(id__in=self.request.POST.getlist('ordens'))
presentes = PresencaOrdemDia.objects.filter(
sessao_plenaria_id=self.kwargs['pk'])
context.update({'ordens': ordens})
elif self.request.POST['origem2'] == 'expediente':
elif self.request.POST['origem'] == '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()
total_presentes = presentes.count()
context.update({'parlamentares':self.get_parlamentares(),
'total':total,
'total_presentes':total_presentes,
'resultado_votacao': TipoResultadoVotacao.objects.all(),
'form': form,
'origem': self.request.POST['origem2']})
'origem': self.request.POST['origem']})
return self.render_to_response(context)

34
sapl/templates/sessao/votacao/votacao_bloco_expediente.html

@ -1,23 +1,7 @@
{% extends "crud/detail.html" %}
{% load i18n crispy_forms_tags %}
{% block detail_content %}
{% comment %} {% block buttons %}
{% if filter_url and not filter.form.errors %}
<div class="actions btn-group pull-right" role="group">
<a href="{% url 'sapl.sessao:votacao_bloco_expediente' pk_sessao %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a>
</div>
<div class="actions btn-group pull-right" role="group">
<a href="{% url 'sapl.sessao:expedientemateria_list' pk_sessao %}" class="btn btn-default">{% trans 'Matérias do Expediente' %}</a>
</div>
{% endif %}
{% endblock %}
<p></p> {% endcomment %}
{% block base_content %}
<form method="POST" enctype="application/x-www-form-urlencoded" id="form" action="{% url 'sapl.sessao:votacaoblocosimb' pk %}">
{% csrf_token %}
@ -31,9 +15,9 @@
<tr>
<td class="col-md-12">
<fieldset id="tipo_votacao" name="tipo">
<input type="radio" name="tipo_votacao" id="tipo_votacao1" value="1" onchange="alteraTipoVotacao()" checked="checked"> <label for="tipo">Simbólica</label>
<input type="radio" name="tipo_votacao" id="tipo_votacao_1" value="1" onchange="alteraTipoVotacao()" checked="checked"> <label for="tipo">Simbólica</label>
</br>
<input type="radio" name="tipo_votacao" id="tipo_votacao2" value="2" onchange="alteraTipoVotacao()" > <label for="tipo">Nominal</label>
<input type="radio" name="tipo_votacao" id="tipo_votacao_2" value="2" onchange="alteraTipoVotacao()" > <label for="tipo">Nominal</label>
</br>
</fieldset>
</td>
@ -58,7 +42,7 @@
{% for o in expedientes %}
<tr class="{% if o.tipo_votacao == 1 %}Simbolica{% else %}Nominal{% endif %}" {% if o.tipo_votacao == 2 %} style="display:none;" {% endif %}>
<td>
<input type="checkbox" name="marcadas_id_{{o.tipo_votacao}}" id="{{o.id}}" value="{{o.id}}" {% if check %} checked {% endif %}>
<input type="checkbox" name="marcadas_{{o.tipo_votacao}}" id="{{o.id}}" value="{{o.id}}" {% if check %} checked {% endif %}>
<strong><a href="{% url 'sapl.materia:materialegislativa_detail' o.id %}">{{o.materia.tipo.sigla}} {{o.materia.numero}}/{{o.materia.ano}} - {{o.materia.tipo}}</strong></a></br>
{% if o.materia.numeracao_set.last %}
<strong>Processo:</strong> &nbsp; {{o.materia.numeracao_set.last}}</br>
@ -103,13 +87,13 @@
</tr>
</table>
{% endblock detail_content %}
{% endblock base_content %}
{% block extra_js %}
<script>
$(document).ready(function(){
checa_tipo_votacao();
$('#tipo_votacao1').prop('checked', true)
$('#tipo_votacao_1').prop('checked', true)
});
$(window).on('beforeunload', function () {
@ -120,7 +104,7 @@
<script language="JavaScript">
function checkAll(elem) {
let checkboxes = document.getElementsByName('marcadas_id_1');
let checkboxes = document.getElementsByName('marcadas_1');
if (elem.checked) {
for (let i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].type == 'checkbox') {
@ -135,7 +119,7 @@
}
}
checkboxes = document.getElementsByName('marcadas_id_2');
checkboxes = document.getElementsByName('marcadas_2');
if (elem.checked) {
for (let i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].type == 'checkbox') {
@ -161,7 +145,7 @@
function checa_tipo_votacao(){
tipo_votacao = document.querySelector('input[name="tipo_votacao"]:checked').value;
numero_ordens = document.getElementsByName('marcadas_id_'+tipo_votacao).length;
numero_ordens = document.getElementsByName('marcadas_'+tipo_votacao).length;
if(numero_ordens == 0){
document.getElementById('frase_selecione').style.display = 'none';

31
sapl/templates/sessao/votacao/votacao_bloco_ordem.html

@ -1,11 +1,10 @@
{% extends "crud/detail.html" %}
{% load i18n crispy_forms_tags %}
{% block detail_content %}
<p></p>
<form method="POST" enctype="application/x-www-form-urlencoded" id="form" action="{% url 'sapl.sessao:votacaoblocosimb' pk %}">
{% comment %} {% block title %} {{sessao}} {% endblock title %} {% endcomment %}
{% block base_content %}
<form method="POST" enctype="application/x-www-form-urlencoded" id="form" action="{% url 'sapl.sessao:votacaoblocosimb' pk %}">
{% csrf_token %}
<br><br>
<table class="table table-striped table-bordered">
@ -17,9 +16,9 @@
<tr>
<td class="col-md-12">
<fieldset id="tipo_votacao" name="tipo">
<input type="radio" name="tipo_votacao" id="tipo_votacao1" value="1" onchange="alteraTipoVotacao()" checked="checked"> <label for="tipo">Simbólica</label>
<input type="radio" name="tipo_votacao" id="tipo_votacao_1" value="1" onchange="alteraTipoVotacao()" checked="checked"> <label for="tipo">Simbólica</label>
</br>
<input type="radio" name="tipo_votacao" id="tipo_votacao2" value="2" onchange="alteraTipoVotacao()" > <label for="tipo">Nominal</label>
<input type="radio" name="tipo_votacao" id="tipo_votacao_2" value="2" onchange="alteraTipoVotacao()" > <label for="tipo">Nominal</label>
</br>
</fieldset>
</td>
@ -44,7 +43,7 @@
{% for o in ordem_dia %}
<tr class="{% if o.tipo_votacao == 1 %}Simbolica{% else %}Nominal{% endif %}" {% if o.tipo_votacao == 2 %} style="display:none;" {% endif %}>
<td>
<input type="checkbox" name="marcadas_id_{{o.tipo_votacao}}" id="{{o.id}}" value="{{o.id}}" {% if check %} checked {% endif %}>
<input type="checkbox" name="marcadas_{{o.tipo_votacao}}" id="{{o.id}}" value="{{o.id}}" {% if check %} checked {% endif %}>
<strong><a href="{% url 'sapl.materia:materialegislativa_detail' o.id %}">{{o.materia.tipo.sigla}} {{o.materia.numero}}/{{o.materia.ano}} - {{o.materia.tipo}}</strong></a></br>
{% if o.materia.numeracao_set.last %}
<strong>Processo:</strong> &nbsp; {{o.materia.numeracao_set.last}}</br>
@ -90,12 +89,13 @@
</tr>
</table>
{% endblock detail_content %}
{% endblock base_content %}
{% block extra_js %}
<script>
$(document).ready(function(){
checa_tipo_votacao();
$('#tipo_votacao_1').prop('checked', true)
});
$(window).on('beforeunload', function () {
@ -105,9 +105,9 @@
</script>
<script language="JavaScript">
function checkAll(ele) {
let checkboxes = document.getElementsByName('marcadas_id_1');
if (ele.checked) {
function checkAll(elem) {
let checkboxes = document.getElementsByName('marcadas_1');
if (elem.checked) {
for (let i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].type == 'checkbox') {
checkboxes[i].checked = true;
@ -121,8 +121,8 @@
}
}
checkboxes = document.getElementsByName('marcadas_id_2');
if (ele.checked) {
checkboxes = document.getElementsByName('marcadas_2');
if (elem.checked) {
for (let i = 0; i < checkboxes.length; i++) {
if (checkboxes[i].type == 'checkbox') {
checkboxes[i].checked = true;
@ -147,7 +147,7 @@
function checa_tipo_votacao(){
tipo_votacao = document.querySelector('input[name="tipo_votacao"]:checked').value;
numero_ordens = document.getElementsByName('marcadas_id_'+tipo_votacao).length;
numero_ordens = document.getElementsByName('marcadas_'+tipo_votacao).length;
if(numero_ordens == 0){
document.getElementById('frase_selecione').style.display = 'none';
@ -163,6 +163,7 @@
document.getElementById('but_reg').style.display = '';
document.getElementById('nenhuma_ordem').style.display = 'none';
}
if(tipo_votacao == "1"){
$('#form').attr("action", "{% url 'sapl.sessao:votacaoblocosimb' pk %}")
}

4
sapl/templates/sessao/votacao/votacao_nominal_bloco.html

@ -28,7 +28,7 @@
<br />
{% endfor %}
{% endif %}
{% if total == 0 %}
{% if total_presentes == 0 %}
<div class="alert alert-info alert-dismissible fade in" role="alert">
<div>Não existe nenhum parlamentar presente para que a votação ocorra.</div>
</div>
@ -84,7 +84,7 @@
</div>
</div>
<input type="hidden" id="origem2" name="origem2" value="{{origem}}">
<input type="hidden" id="origem" name="origem" value="{{origem}}">
<br /><br />
<input type="submit" id="salvar-votacao" name="salvar-votacao" value="Fechar Votação" class="btn btn-primary" />

21
sapl/templates/sessao/votacao/votacao_simbolica_bloco.html

@ -1,5 +1,5 @@
{% extends "crud/detail.html" %}
{% load i18n %}
{% load i18n crispy_forms_tags%}
{% block detail_content %}
<form id="form-votacao" method="post">
@ -7,23 +7,6 @@
<fieldset class="form-group">
<legend>Votação Simbólica</legend>
{% if form.errors %}
<div class="alert-box alert">
<b><h4>Os seguintes erros foram encontrados:</h4></b>
<ul>
{% for field in form %}
{% if field.errors %}
{% if field.label == 'total'%}
<li>O total de votos não corresponde com a quantidade de presentes!</li>
{% else %}
<li>O campo <b>{{field.label}}</b> é obrigatório!</li>
{% endif %}
{% endif %}
{% endfor %}
</ul>
</div>
{% endif %}
<div>
{% if ordens %}
@ -86,7 +69,7 @@
</div>
</div>
<input type="hidden" id="origem2" name="origem2" value="{{origem}}">
<input type="hidden" id="origem" name="origem" value="{{origem}}">
<br /><br />
<input type="submit" id="salvar-votacao" name="salvar-votacao" value="Salvar" class="btn btn-primary" />

Loading…
Cancel
Save