From 8ef52003c30baa487e360d07010ceb0209b1b0cf Mon Sep 17 00:00:00 2001 From: Leandro Roberto Date: Wed, 16 Jan 2019 11:26:53 -0200 Subject: [PATCH] retira menu de parlamentares do cadastro de FrenteCrud --- sapl/parlamentares/views.py | 115 ++++++++++++++++++++++-------------- 1 file changed, 71 insertions(+), 44 deletions(-) diff --git a/sapl/parlamentares/views.py b/sapl/parlamentares/views.py index 7b09c4067..aa636df79 100644 --- a/sapl/parlamentares/views.py +++ b/sapl/parlamentares/views.py @@ -1,6 +1,6 @@ +from datetime import datetime import json import logging -from datetime import datetime from django.contrib import messages from django.contrib.contenttypes.models import ContentType @@ -35,6 +35,7 @@ from .models import (CargoMesa, Coligacao, ComposicaoColigacao, ComposicaoMesa, NivelInstrucao, Parlamentar, Partido, SessaoLegislativa, SituacaoMilitar, TipoAfastamento, TipoDependente, Votante) + CargoMesaCrud = CrudAux.build(CargoMesa, 'cargo_mesa') PartidoCrud = CrudAux.build(Partido, 'partidos') TipoDependenteCrud = CrudAux.build(TipoDependente, 'tipo_dependente') @@ -45,6 +46,7 @@ TipoMilitarCrud = CrudAux.build(SituacaoMilitar, 'tipo_situa_militar') DependenteCrud = MasterDetailCrud.build( Dependente, 'parlamentar', 'dependente') + class SessaoLegislativaCrud(CrudAux): model = SessaoLegislativa @@ -54,6 +56,7 @@ class SessaoLegislativaCrud(CrudAux): class UpdateView(CrudAux.UpdateView): form_class = SessaoLegislativaForm + class VotanteView(MasterDetailCrud): model = Votante parent_field = 'parlamentar' @@ -89,6 +92,7 @@ class FrenteList(MasterDetailCrud): class BaseMixin(Crud.PublicMixin, MasterDetailCrud.BaseMixin): list_field_names = ['nome', 'data_criacao', 'data_extincao'] + @classmethod def url_name(cls, suffix): return '%s_parlamentar_%s' % (cls.model._meta.model_name, suffix) @@ -276,13 +280,16 @@ def parlamentares_frente_selected(request): logger = logging.getLogger(__name__) username = request.user.username try: - logger.info("user=" + username + ". Tentando objet objeto Frente com id={}.".format(request.GET['frente_id'])) + logger.info("user=" + username + + ". Tentando objet objeto Frente com id={}.".format(request.GET['frente_id'])) frente = Frente.objects.get(id=int(request.GET['frente_id'])) except ObjectDoesNotExist: - logger.error("user=" + username + ". Frente buscada (id={}) não existe. Retornada lista vazia.".format(request.GET['frente_id'])) + logger.error("user=" + username + + ". Frente buscada (id={}) não existe. Retornada lista vazia.".format(request.GET['frente_id'])) lista_parlamentar_id = [] else: - logger.info("user=" + username + ". Frente (id={}) encontrada com sucesso.".format(request.GET['frente_id'])) + logger.info("user=" + username + + ". Frente (id={}) encontrada com sucesso.".format(request.GET['frente_id'])) lista_parlamentar_id = frente.parlamentares.all().values_list( 'id', flat=True) return JsonResponse({'id_list': list(lista_parlamentar_id)}) @@ -292,8 +299,14 @@ class FrenteCrud(Crud): model = Frente help_topic = 'tipo_situa_militar' public = [RP_DETAIL, RP_LIST] - list_field_names = ['nome', 'data_criacao', 'data_extincao', 'parlamentares'] + list_field_names = ['nome', 'data_criacao', + 'data_extincao', 'parlamentares'] + class BaseMixin(Crud.BaseMixin): + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context['subnav_template_name'] = '' + return context class CreateView(Crud.CreateView): form_class = FrenteForm @@ -301,18 +314,8 @@ class FrenteCrud(Crud): def form_valid(self, form): return super(Crud.CreateView, self).form_valid(form) - class DetailView(Crud.DetailView): - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context['subnav_template_name'] = '' - return context - class UpdateView(Crud.UpdateView): form_class = FrenteForm - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - context['subnav_template_name'] = '' - return context class MandatoCrud(MasterDetailCrud): @@ -369,7 +372,7 @@ class ComposicaoColigacaoCrud(MasterDetailCrud): class LegislaturaCrud(CrudAux): - + model = Legislatura help_topic = 'legislatura' @@ -380,11 +383,13 @@ class LegislaturaCrud(CrudAux): def get_initial(self): username = self.request.user.username try: - self.logger.error("user=" + username + ". Tentando obter última Legislatura.") + self.logger.error("user=" + username + + ". Tentando obter última Legislatura.") ultima_legislatura = Legislatura.objects.latest('numero') numero = ultima_legislatura.numero + 1 except Legislatura.DoesNotExist: - self.logger.error("user=" + username + ". Legislatura não encontrada. Número definido como 1.") + self.logger.error( + "user=" + username + ". Legislatura não encontrada. Número definido como 1.") numero = 1 return {'numero': numero} @@ -485,10 +490,12 @@ class ParlamentarCrud(Crud): def take_legislatura_id(self): username = self.request.user.username try: - self.logger.debug("user=" + username + ". Tentando obter id da legislatura.") + self.logger.debug("user=" + username + + ". Tentando obter id da legislatura.") return int(self.request.GET['pk']) except: - self.logger.error("user=" + username + ". Legislatura não possui ID. Buscando em todas as entradas.") + self.logger.error( + "user=" + username + ". Legislatura não possui ID. Buscando em todas as entradas.") legislaturas = Legislatura.objects.all() for l in legislaturas: if l.atual(): @@ -510,14 +517,17 @@ class ParlamentarCrud(Crud): mandato_titular=F('mandato__titular')).distinct() else: try: - self.logger.debug("user=" + username + ". Tentando obter o mais recente registro do objeto Legislatura.") + self.logger.debug( + "user=" + username + ". Tentando obter o mais recente registro do objeto Legislatura.") l = Legislatura.objects.all().order_by( '-data_inicio').first() except ObjectDoesNotExist: - self.logger.error("user=" + username + ". Objeto não encontrado. Retornando todos os registros.") + self.logger.error( + "user=" + username + ". Objeto não encontrado. Retornando todos os registros.") return Legislatura.objects.all() else: - self.logger.info("user=" + username + ". Objeto encontrado com sucesso.") + self.logger.info("user=" + username + + ". Objeto encontrado com sucesso.") if l is None: return Legislatura.objects.all() return queryset.filter(mandato__legislatura_id=l).annotate( @@ -556,8 +566,8 @@ class ParlamentarCrud(Crud): # ou igual a data de fim da legislatura try: self.logger.debug("user=" + username + ". Tentando obter filiação do parlamentar com (data<={} e data_desfiliacao>={}) " - "ou (data<={} e data_desfiliacao=Null))." - .format(legislatura.data_fim, legislatura.data_fim, legislatura.data_fim)) + "ou (data<={} e data_desfiliacao=Null))." + .format(legislatura.data_fim, legislatura.data_fim, legislatura.data_fim)) filiacao = parlamentar.filiacao_set.get(Q( data__lte=legislatura.data_fim, data_desfiliacao__gte=legislatura.data_fim) | Q( @@ -583,7 +593,8 @@ class ParlamentarCrud(Crud): # Caso encontre UMA filiação nessas condições else: - self.logger.debug("user=" + username + ". Filiação encontrada com sucesso.") + self.logger.debug("user=" + username + + ". Filiação encontrada com sucesso.") row[1] = (filiacao.partido.sigla, None, None) return context @@ -615,13 +626,16 @@ class ParlamentarMateriasView(FormView): parlamentar_pk = kwargs['pk'] username = request.user.username try: - self.logger.debug("user=" + username + ". Tentando obter Autor (object_id={}).".format(parlamentar_pk)) + self.logger.debug( + "user=" + username + ". Tentando obter Autor (object_id={}).".format(parlamentar_pk)) autor = Autor.objects.get( content_type=ContentType.objects.get_for_model(Parlamentar), object_id=parlamentar_pk) except ObjectDoesNotExist: - mensagem = _('Este Parlamentar (pk={}) não é Autor de matéria.'.format(parlamentar_pk)) - self.logger.error("user=" + username + ". Este Parlamentar (pk={}) não é Autor de matéria.".format(parlamentar_pk)) + mensagem = _( + 'Este Parlamentar (pk={}) não é Autor de matéria.'.format(parlamentar_pk)) + self.logger.error( + "user=" + username + ". Este Parlamentar (pk={}) não é Autor de matéria.".format(parlamentar_pk)) messages.add_message(request, messages.ERROR, mensagem) return HttpResponseRedirect( reverse( @@ -709,7 +723,8 @@ class MesaDiretoraView(FormView): sessao_atual = sessoes.filter(data_inicio__year__lte=year).exclude( data_inicio__gt=timezone.now()).order_by('-data_inicio').first() - mesa = sessao_atual.composicaomesa_set.all().order_by('cargo_id') if sessao_atual else [] + mesa = sessao_atual.composicaomesa_set.all().order_by( + 'cargo_id') if sessao_atual else [] cargos_ocupados = [m.cargo for m in mesa] cargos = CargoMesa.objects.all() @@ -765,7 +780,8 @@ def altera_field_mesa(request): else: year = timezone.now().year try: - logger.debug("user=" + username + ". Tentando obter id de sessoes com data_inicio.ano={}.".format(year)) + logger.debug( + "user=" + username + ". Tentando obter id de sessoes com data_inicio.ano={}.".format(year)) sessao_selecionada = sessoes.get(data_inicio__year=year).id except ObjectDoesNotExist: logger.error("user=" + username + ". Id de sessoes com data_inicio.ano={} não encontrado. " @@ -818,24 +834,29 @@ def insere_parlamentar_composicao(request): composicao = ComposicaoMesa() try: - logger.debug("user=" + username + ". Tentando obter SessaoLegislativa com id={}.".format(request.POST['sessao'])) + logger.debug( + "user=" + username + ". Tentando obter SessaoLegislativa com id={}.".format(request.POST['sessao'])) composicao.sessao_legislativa = SessaoLegislativa.objects.get( id=int(request.POST['sessao'])) except MultiValueDictKeyError: - logger.error("user=" + username + ". 'MultiValueDictKeyError', nenhuma sessão foi inserida!") + logger.error( + "user=" + username + ". 'MultiValueDictKeyError', nenhuma sessão foi inserida!") return JsonResponse({'msg': ('Nenhuma sessão foi inserida!', 0)}) try: - logger.debug("user=" + username + ". Tentando obter Parlamentar com id={}.".format(request.POST['parlamentar'])) + logger.debug( + "user=" + username + ". Tentando obter Parlamentar com id={}.".format(request.POST['parlamentar'])) composicao.parlamentar = Parlamentar.objects.get( id=int(request.POST['parlamentar'])) except MultiValueDictKeyError: - logger.error("user=" + username + ". 'MultiValueDictKeyError', nenhum parlamentar foi inserido!") + logger.error( + "user=" + username + ". 'MultiValueDictKeyError', nenhum parlamentar foi inserido!") return JsonResponse({ 'msg': ('Nenhum parlamentar foi inserido!', 0)}) try: - logger.info("user=" + username + ". Tentando obter CargoMesa com id={}.".format(request.POST['cargo'])) + logger.info("user=" + username + + ". Tentando obter CargoMesa com id={}.".format(request.POST['cargo'])) composicao.cargo = CargoMesa.objects.get( id=int(request.POST['cargo'])) parlamentar_ja_inserido = ComposicaoMesa.objects.filter( @@ -848,14 +869,16 @@ def insere_parlamentar_composicao(request): composicao.save() except MultiValueDictKeyError: - logger.error("user=" + username + ". 'MultiValueDictKeyError', nenhum cargo foi inserido!") + logger.error("user=" + username + + ". 'MultiValueDictKeyError', nenhum cargo foi inserido!") return JsonResponse({'msg': ('Nenhum cargo foi inserido!', 0)}) logger.info("user=" + username + ". Parlamentar inserido com sucesso!") return JsonResponse({'msg': ('Parlamentar inserido com sucesso!', 1)}) else: - logger.error("user=" + username + " não tem permissão para esta operação!") + logger.error("user=" + username + + " não tem permissão para esta operação!") return JsonResponse( {'msg': ('Você não tem permissão para esta operação!', 0)}) @@ -873,7 +896,8 @@ def remove_parlamentar_composicao(request): if 'composicao_mesa' in request.POST: try: - logger.debug("user=" + username + ". Tentando obter ComposicaoMesa com id={}.".format(request.POST['composicao_mesa'])) + logger.debug("user=" + username + ". Tentando obter ComposicaoMesa com id={}.".format( + request.POST['composicao_mesa'])) composicao = ComposicaoMesa.objects.get( id=request.POST['composicao_mesa']) except ObjectDoesNotExist: @@ -885,12 +909,14 @@ def remove_parlamentar_composicao(request): composicao.delete() - logger.info("user=" + username + ". ComposicaoMesa com id={} excluido com sucesso!".format(request.POST['composicao_mesa'])) + logger.info("user=" + username + ". ComposicaoMesa com id={} excluido com sucesso!".format( + request.POST['composicao_mesa'])) return JsonResponse( {'msg': ( 'Parlamentar excluido com sucesso!', 1)}) else: - logger.info("user=" + username + ". Nenhum parlamentar escolhido para ser excluído.") + logger.info("user=" + username + + ". Nenhum parlamentar escolhido para ser excluído.") return JsonResponse( {'msg': ( 'Selecione algum parlamentar para ser excluido!', 0)}) @@ -909,8 +935,8 @@ def partido_parlamentar_sessao_legislativa(sessao, parlamentar): logger = logging.getLogger(__name__) try: logger.debug("Tentando obter filiação do parlamentar com (data<={} e data_desfiliacao>={}) " - "ou (data<={} e data_desfiliacao=Null))." - .format(sessao.data_fim, sessao.data_fim, sessao.data_fim)) + "ou (data<={} e data_desfiliacao=Null))." + .format(sessao.data_fim, sessao.data_fim, sessao.data_fim)) logger.info("Tentando obter filiação correspondente.") filiacao = parlamentar.filiacao_set.get(Q( @@ -966,7 +992,8 @@ def altera_field_mesa_public_view(request): else: try: year = timezone.now().year - logger.info("user=" + username + ". Tentando obter sessões com data_inicio.ano = {}.".format(year)) + logger.info("user=" + username + + ". Tentando obter sessões com data_inicio.ano = {}.".format(year)) sessao_selecionada = sessoes.get(data_inicio__year=year).id except ObjectDoesNotExist: logger.error("user=" + username + ". Sessões não encontradas com com data_inicio.ano = {}. "