Browse Source

define fields na listagem de legislatura - linha 662

pull/3585/head
LeandroJatai 2 years ago
parent
commit
6c6a3d613d
  1. 77
      sapl/parlamentares/views.py

77
sapl/parlamentares/views.py

@ -177,8 +177,8 @@ class ProposicaoParlamentarCrud(CrudBaseForListAndDetailExternalAppView):
yield (str(reverse_lazy( yield (str(reverse_lazy(
'sapl.compilacao:ta_text', 'sapl.compilacao:ta_text',
kwargs={'ta_id': ta.pk})) + '?back_type=history', kwargs={'ta_id': ta.pk})) + '?back_type=history',
'btn-success', 'btn-success',
_('Texto Eletrônico')) _('Texto Eletrônico'))
class PesquisarParlamentarView(FilterView): class PesquisarParlamentarView(FilterView):
@ -226,7 +226,8 @@ class PesquisarParlamentarView(FilterView):
url = '' url = ''
if 'nome_parlamentar' in self.request.META['QUERY_STRING'] or\ if 'nome_parlamentar' in self.request.META['QUERY_STRING'] or\
'page' in self.request.META['QUERY_STRING']: resultados = self.object_list 'page' in self.request.META['QUERY_STRING']:
resultados = self.object_list
else: else:
resultados = [] resultados = []
@ -281,7 +282,8 @@ class PesquisarColigacaoView(FilterView):
url = '' url = ''
if 'nome' in self.request.META['QUERY_STRING'] or\ if 'nome' in self.request.META['QUERY_STRING'] or\
'page' in self.request.META['QUERY_STRING']: resultados = self.object_list 'page' in self.request.META['QUERY_STRING']:
resultados = self.object_list
else: else:
resultados = [] resultados = []
@ -335,7 +337,8 @@ class PesquisarPartidoView(FilterView):
url = '' url = ''
if 'nome' in self.request.META['QUERY_STRING'] or\ if 'nome' in self.request.META['QUERY_STRING'] or\
'page' in self.request.META['QUERY_STRING']: resultados = self.object_list 'page' in self.request.META['QUERY_STRING']:
resultados = self.object_list
else: else:
resultados = [] resultados = []
@ -351,7 +354,6 @@ class PesquisarPartidoView(FilterView):
return self.render_to_response(context) return self.render_to_response(context)
class ParticipacaoParlamentarCrud(CrudBaseForListAndDetailExternalAppView): class ParticipacaoParlamentarCrud(CrudBaseForListAndDetailExternalAppView):
model = Participacao model = Participacao
parent_field = 'parlamentar' parent_field = 'parlamentar'
@ -376,7 +378,8 @@ class ParticipacaoParlamentarCrud(CrudBaseForListAndDetailExternalAppView):
comissoes = [] comissoes = []
for p in object_list: for p in object_list:
## TODO: atualmente periodo.data_fim pode ser nulo o que pode gerar um erro nessa tela # TODO: atualmente periodo.data_fim pode ser nulo o que pode
# gerar um erro nessa tela
data_fim = p.composicao.periodo.data_fim data_fim = p.composicao.periodo.data_fim
if data_fim: if data_fim:
data_fim = data_fim.strftime("%d/%m/%Y") data_fim = data_fim.strftime("%d/%m/%Y")
@ -580,8 +583,8 @@ class FrenteParlamentarCrud(MasterDetailCrud):
def get_parlamentar_frentes(request, pk): def get_parlamentar_frentes(request, pk):
template_name = 'parlamentares/parlamentar_frentes_list.html' template_name = 'parlamentares/parlamentar_frentes_list.html'
frentes = [f for f in FrenteParlamentar.objects.filter(parlamentar_id=pk) frentes = [f for f in FrenteParlamentar.objects.filter(parlamentar_id=pk)
.select_related('frente', 'cargo') .select_related('frente', 'cargo')
.order_by('-data_entrada', '-data_saida')] .order_by('-data_entrada', '-data_saida')]
context = { context = {
'subnav_template_name': 'parlamentares/subnav.yaml', 'subnav_template_name': 'parlamentares/subnav.yaml',
@ -654,6 +657,14 @@ class LegislaturaCrud(CrudAux):
model = Legislatura model = Legislatura
help_topic = 'legislatura' help_topic = 'legislatura'
class BaseMixin(Crud.BaseMixin):
ordered_list = False
list_field_names = [
'numero',
'data_eleicao',
'data_inicio',
'data_fim']
class CreateView(CrudAux.CreateView): class CreateView(CrudAux.CreateView):
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
form_class = LegislaturaForm form_class = LegislaturaForm
@ -1007,8 +1018,8 @@ class MesaDiretoraView(FormView):
return self.render_to_response( return self.render_to_response(
{'legislaturas': Legislatura.objects.all( {'legislaturas': Legislatura.objects.all(
).order_by('-numero'), ).order_by('-numero'),
'legislatura_selecionada': Legislatura.objects.last(), 'legislatura_selecionada': Legislatura.objects.last(),
'cargos_vagos': CargoMesa.objects.all()}) 'cargos_vagos': CargoMesa.objects.all()})
@xframe_options_exempt @xframe_options_exempt
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
@ -1051,13 +1062,13 @@ class MesaDiretoraView(FormView):
return self.render_to_response( return self.render_to_response(
{'legislaturas': Legislatura.objects.all( {'legislaturas': Legislatura.objects.all(
).order_by('-numero'), ).order_by('-numero'),
'legislatura_selecionada': legislatura, 'legislatura_selecionada': legislatura,
'sessoes': sessoes, 'sessoes': sessoes,
'sessao_selecionada': sessao_atual, 'sessao_selecionada': sessao_atual,
'composicao_mesa': composicao_mesa, 'composicao_mesa': composicao_mesa,
'parlamentares': parlamentares_vagos, 'parlamentares': parlamentares_vagos,
'cargos_vagos': cargos_vagos 'cargos_vagos': cargos_vagos
}) })
def altera_field_mesa(request): def altera_field_mesa(request):
@ -1102,17 +1113,20 @@ def altera_field_mesa(request):
# Mesa nao deve ser informada ainda # Mesa nao deve ser informada ainda
if not mesa_diretora: if not mesa_diretora:
# Cria nova mesa diretora ou retorna a primeira # Cria nova mesa diretora ou retorna a primeira
mesa_diretora, _ = MesaDiretora.objects.get_or_create(sessao_legislativa=sessao_selecionada) mesa_diretora, _ = MesaDiretora.objects.get_or_create(
sessao_legislativa=sessao_selecionada)
# TODO: quando a mesa for criada explicitamente em tabelas auxiliares, # TODO: quando a mesa for criada explicitamente em tabelas auxiliares,
# deve-se somente tentar recuperar a mesa, e caso nao exista # deve-se somente tentar recuperar a mesa, e caso nao exista
# retornar o erro abaixo # retornar o erro abaixo
# return JsonResponse({'msg': ('Nenhuma mesa encontrada na sessão!')}) # return JsonResponse({'msg': ('Nenhuma mesa encontrada na sessão!')})
else: else:
try: try:
mesa_diretora = MesaDiretora.objects.get(id=mesa_diretora, sessao_legislativa=sessao_selecionada) mesa_diretora = MesaDiretora.objects.get(
id=mesa_diretora, sessao_legislativa=sessao_selecionada)
except ObjectDoesNotExist: except ObjectDoesNotExist:
mesa_diretora = MesaDiretora.objects.filter(sessao_legislativa=sessao_selecionada).first() mesa_diretora = MesaDiretora.objects.filter(
sessao_legislativa=sessao_selecionada).first()
# Atualiza os componentes da view após a mudança # Atualiza os componentes da view após a mudança
composicao_mesa = ComposicaoMesa.objects.select_related('cargo', 'parlamentar').filter( composicao_mesa = ComposicaoMesa.objects.select_related('cargo', 'parlamentar').filter(
@ -1156,13 +1170,14 @@ def insere_parlamentar_composicao(request):
username = request.user.username username = request.user.username
if request.user.has_perm( if request.user.has_perm(
'%s.add_%s' % ( '%s.add_%s' % (
AppConfig.label, ComposicaoMesa._meta.model_name)): AppConfig.label, ComposicaoMesa._meta.model_name)):
composicao = ComposicaoMesa() composicao = ComposicaoMesa()
try: try:
# logger.debug( # logger.debug(
# "user=" + username + ". Tentando obter SessaoLegislativa com id={}.".format(request.POST['sessao'])) # "user=" + username + ". Tentando obter SessaoLegislativa com id={}.".format(request.POST['sessao']))
mesa_diretora, _ = MesaDiretora.objects.get_or_create(sessao_legislativa_id=int(request.POST['sessao'])) mesa_diretora, _ = MesaDiretora.objects.get_or_create(
sessao_legislativa_id=int(request.POST['sessao']))
composicao.mesa_diretora = mesa_diretora composicao.mesa_diretora = mesa_diretora
except MultiValueDictKeyError: except MultiValueDictKeyError:
logger.error( logger.error(
@ -1217,7 +1232,7 @@ def remove_parlamentar_composicao(request):
username = request.user.username username = request.user.username
if request.POST and request.user.has_perm( if request.POST and request.user.has_perm(
'%s.delete_%s' % ( '%s.delete_%s' % (
AppConfig.label, ComposicaoMesa._meta.model_name)): AppConfig.label, ComposicaoMesa._meta.model_name)):
if 'composicao_mesa' in request.POST: if 'composicao_mesa' in request.POST:
try: try:
@ -1227,7 +1242,8 @@ def remove_parlamentar_composicao(request):
id=request.POST['composicao_mesa']) id=request.POST['composicao_mesa'])
except ObjectDoesNotExist: except ObjectDoesNotExist:
logger.error( logger.error(
"user=" + username + ". ComposicaoMesa com id={} não encontrada, portanto não pode ser removida." "user=" + username +
". ComposicaoMesa com id={} não encontrada, portanto não pode ser removida."
.format(request.POST['composicao_mesa'])) .format(request.POST['composicao_mesa']))
return JsonResponse( return JsonResponse(
{'msg': ( {'msg': (
@ -1331,7 +1347,8 @@ def altera_field_mesa_public_view(request):
"Selecionado o id da primeira sessão.") "Selecionado o id da primeira sessão.")
sessao_selecionada = sessoes.first() sessao_selecionada = sessoes.first()
else: else:
sessao_selecionada = SessaoLegislativa.objects.get(id=sessao_selecionada) sessao_selecionada = SessaoLegislativa.objects.get(
id=sessao_selecionada)
# Atualiza os componentes da view após a mudança # Atualiza os componentes da view após a mudança
lista_sessoes = [(s.id, s.__str__()) for s in sessoes] lista_sessoes = [(s.id, s.__str__()) for s in sessoes]
@ -1344,10 +1361,12 @@ def altera_field_mesa_public_view(request):
try: try:
mesa_diretora = sessao_selecionada.mesadiretora_set.first() mesa_diretora = sessao_selecionada.mesadiretora_set.first()
except ObjectDoesNotExist: except ObjectDoesNotExist:
logger.error(f"user={username}. Mesa não encontrada com sessão Nº {sessao_selecionada.id}. ") logger.error(
f"user={username}. Mesa não encontrada com sessão Nº {sessao_selecionada.id}. ")
else: else:
# Cria nova mesa diretora ou retorna a primeira # Cria nova mesa diretora ou retorna a primeira
mesa_diretora, _ = MesaDiretora.objects.get_or_create(sessao_legislativa=sessao_selecionada) mesa_diretora, _ = MesaDiretora.objects.get_or_create(
sessao_legislativa=sessao_selecionada)
# TODO: quando a mesa for criada explicitamente em tabelas auxiliares, # TODO: quando a mesa for criada explicitamente em tabelas auxiliares,
# deve-se somente tentar recuperar a mesa, e caso nao exista # deve-se somente tentar recuperar a mesa, e caso nao exista

Loading…
Cancel
Save