|
@ -20,7 +20,6 @@ from django.views.generic.base import RedirectView |
|
|
from django.views.generic.detail import DetailView |
|
|
from django.views.generic.detail import DetailView |
|
|
from django.views.generic.edit import FormMixin |
|
|
from django.views.generic.edit import FormMixin |
|
|
from django_filters.views import FilterView |
|
|
from django_filters.views import FilterView |
|
|
|
|
|
|
|
|
from sapl.base.models import AppConfig as AppsAppConfig |
|
|
from sapl.base.models import AppConfig as AppsAppConfig |
|
|
from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux, |
|
|
from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux, |
|
|
MasterDetailCrud, |
|
|
MasterDetailCrud, |
|
@ -36,12 +35,12 @@ from sapl.sessao.apps import AppConfig |
|
|
from sapl.sessao.forms import ExpedienteMateriaForm, OrdemDiaForm |
|
|
from sapl.sessao.forms import ExpedienteMateriaForm, OrdemDiaForm |
|
|
from sapl.utils import show_results_filter_set |
|
|
from sapl.utils import show_results_filter_set |
|
|
|
|
|
|
|
|
from .forms import (AdicionarVariasMateriasFilterSet, ExpedienteForm, |
|
|
from .forms import (AdicionarVariasMateriasFilterSet, BancadaForm, BlocoForm, |
|
|
ListMateriaForm, MesaForm, OradorExpedienteForm, |
|
|
ExpedienteForm, ListMateriaForm, MesaForm, |
|
|
OradorForm, PautaSessaoFilterSet, PresencaForm, |
|
|
OradorExpedienteForm, OradorForm, PautaSessaoFilterSet, |
|
|
ResumoOrdenacaoForm, SessaoPlenariaFilterSet, |
|
|
PresencaForm, ResumoOrdenacaoForm, SessaoPlenariaFilterSet, |
|
|
SessaoPlenariaForm, VotacaoEditForm, VotacaoForm, |
|
|
SessaoPlenariaForm, VotacaoEditForm, VotacaoForm, |
|
|
VotacaoNominalForm, BancadaForm, BlocoForm) |
|
|
VotacaoNominalForm) |
|
|
from .models import (Bancada, Bloco, CargoBancada, CargoMesa, |
|
|
from .models import (Bancada, Bloco, CargoBancada, CargoMesa, |
|
|
ExpedienteMateria, ExpedienteSessao, IntegranteMesa, |
|
|
ExpedienteMateria, ExpedienteSessao, IntegranteMesa, |
|
|
MateriaLegislativa, Orador, OradorExpediente, OrdemDia, |
|
|
MateriaLegislativa, Orador, OradorExpediente, OrdemDia, |
|
@ -171,12 +170,12 @@ def customize_link_materia(context, pk): |
|
|
turno__isnull=False, |
|
|
turno__isnull=False, |
|
|
data_tramitacao__lte=data_inicio_sessao |
|
|
data_tramitacao__lte=data_inicio_sessao |
|
|
).exclude(turno__exact='' |
|
|
).exclude(turno__exact='' |
|
|
).select_related( |
|
|
).select_related( |
|
|
'materia', |
|
|
'materia', |
|
|
'status', |
|
|
'status', |
|
|
'materia__tipo').order_by( |
|
|
'materia__tipo').order_by( |
|
|
'-data_tramitacao' |
|
|
'-data_tramitacao' |
|
|
).first() |
|
|
).first() |
|
|
turno = ' ' |
|
|
turno = ' ' |
|
|
if tramitacao is not None: |
|
|
if tramitacao is not None: |
|
|
for t in Tramitacao.TURNO_CHOICES: |
|
|
for t in Tramitacao.TURNO_CHOICES: |
|
@ -355,7 +354,7 @@ class MateriaOrdemDiaCrud(MasterDetailCrud): |
|
|
'pk': obj.sessao_plenaria_id, |
|
|
'pk': obj.sessao_plenaria_id, |
|
|
'oid': obj.pk, |
|
|
'oid': obj.pk, |
|
|
'mid': obj.materia_id}) +\ |
|
|
'mid': obj.materia_id}) +\ |
|
|
'?&materia=ordem' |
|
|
'?&materia=ordem' |
|
|
obj.resultado = ('<a href="%s">%s<br/>%s</a>' % |
|
|
obj.resultado = ('<a href="%s">%s<br/>%s</a>' % |
|
|
(url, |
|
|
(url, |
|
|
resultado_descricao, |
|
|
resultado_descricao, |
|
@ -489,7 +488,7 @@ class ExpedienteMateriaCrud(MasterDetailCrud): |
|
|
'pk': obj.sessao_plenaria_id, |
|
|
'pk': obj.sessao_plenaria_id, |
|
|
'oid': obj.pk, |
|
|
'oid': obj.pk, |
|
|
'mid': obj.materia_id}) +\ |
|
|
'mid': obj.materia_id}) +\ |
|
|
'?&materia=expediente' |
|
|
'?&materia=expediente' |
|
|
obj.resultado = ('<a href="%s">%s<br/>%s</a>' % |
|
|
obj.resultado = ('<a href="%s">%s<br/>%s</a>' % |
|
|
(url, |
|
|
(url, |
|
|
resultado_descricao, |
|
|
resultado_descricao, |
|
@ -572,6 +571,7 @@ class OradorCrud(OradorCrud): |
|
|
return reverse('sapl.sessao:orador_list', |
|
|
return reverse('sapl.sessao:orador_list', |
|
|
kwargs={'pk': self.kwargs['pk']}) |
|
|
kwargs={'pk': self.kwargs['pk']}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class BancadaCrud(Crud): |
|
|
class BancadaCrud(Crud): |
|
|
model = Bancada |
|
|
model = Bancada |
|
|
|
|
|
|
|
@ -581,6 +581,7 @@ class BancadaCrud(Crud): |
|
|
def get_success_url(self): |
|
|
def get_success_url(self): |
|
|
return reverse('sapl.sessao:bancada_list') |
|
|
return reverse('sapl.sessao:bancada_list') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class BlocoCrud(Crud): |
|
|
class BlocoCrud(Crud): |
|
|
model = Bloco |
|
|
model = Bloco |
|
|
|
|
|
|
|
@ -590,6 +591,7 @@ class BlocoCrud(Crud): |
|
|
def get_success_url(self): |
|
|
def get_success_url(self): |
|
|
return reverse('sapl.sessao:bloco_list') |
|
|
return reverse('sapl.sessao:bloco_list') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def recuperar_numero_sessao(request): |
|
|
def recuperar_numero_sessao(request): |
|
|
try: |
|
|
try: |
|
|
sessao = SessaoPlenaria.objects.filter( |
|
|
sessao = SessaoPlenaria.objects.filter( |
|
@ -1793,7 +1795,6 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): |
|
|
except ObjectDoesNotExist: |
|
|
except ObjectDoesNotExist: |
|
|
raise Http404() |
|
|
raise Http404() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if 'cancelar-votacao' in request.POST: |
|
|
if 'cancelar-votacao' in request.POST: |
|
|
fechar_votacao_materia(materia_votacao) |
|
|
fechar_votacao_materia(materia_votacao) |
|
|
return self.form_valid(form) |
|
|
return self.form_valid(form) |
|
@ -1820,7 +1821,7 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): |
|
|
|
|
|
|
|
|
# Caso todas as opções sejam 'Não votou', fecha a votação |
|
|
# Caso todas as opções sejam 'Não votou', fecha a votação |
|
|
if nao_votou == len(request.POST.getlist('voto_parlamentar')): |
|
|
if nao_votou == len(request.POST.getlist('voto_parlamentar')): |
|
|
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) |
|
|
|
|
|
|
|
@ -1916,7 +1917,6 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): |
|
|
'oid': self.kwargs['oid'], |
|
|
'oid': self.kwargs['oid'], |
|
|
'mid': self.kwargs['mid']})) |
|
|
'mid': self.kwargs['mid']})) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_parlamentares(self, presencas): |
|
|
def get_parlamentares(self, presencas): |
|
|
self.object = self.get_object() |
|
|
self.object = self.get_object() |
|
|
|
|
|
|
|
@ -2121,7 +2121,6 @@ class VotacaoNominalTransparenciaDetailView(TemplateView): |
|
|
yield tipo |
|
|
yield tipo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class VotacaoNominalExpedienteDetailView(DetailView): |
|
|
class VotacaoNominalExpedienteDetailView(DetailView): |
|
|
template_name = 'sessao/votacao/nominal_detail.html' |
|
|
template_name = 'sessao/votacao/nominal_detail.html' |
|
|
|
|
|
|
|
@ -2523,7 +2522,6 @@ class PautaSessaoDetailView(DetailView): |
|
|
return self.render_to_response(context) |
|
|
return self.render_to_response(context) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PesquisarSessaoPlenariaView(FilterView): |
|
|
class PesquisarSessaoPlenariaView(FilterView): |
|
|
model = SessaoPlenaria |
|
|
model = SessaoPlenaria |
|
|
filterset_class = SessaoPlenariaFilterSet |
|
|
filterset_class = SessaoPlenariaFilterSet |
|
|