Browse Source

retira menu de parlamentares do cadastro de FrenteCrud

pull/2457/head
Leandro Roberto 6 years ago
parent
commit
8ef52003c3
  1. 105
      sapl/parlamentares/views.py

105
sapl/parlamentares/views.py

@ -1,6 +1,6 @@
from datetime import datetime
import json import json
import logging import logging
from datetime import datetime
from django.contrib import messages from django.contrib import messages
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
@ -35,6 +35,7 @@ from .models import (CargoMesa, Coligacao, ComposicaoColigacao, ComposicaoMesa,
NivelInstrucao, Parlamentar, Partido, SessaoLegislativa, NivelInstrucao, Parlamentar, Partido, SessaoLegislativa,
SituacaoMilitar, TipoAfastamento, TipoDependente, Votante) SituacaoMilitar, TipoAfastamento, TipoDependente, Votante)
CargoMesaCrud = CrudAux.build(CargoMesa, 'cargo_mesa') CargoMesaCrud = CrudAux.build(CargoMesa, 'cargo_mesa')
PartidoCrud = CrudAux.build(Partido, 'partidos') PartidoCrud = CrudAux.build(Partido, 'partidos')
TipoDependenteCrud = CrudAux.build(TipoDependente, 'tipo_dependente') TipoDependenteCrud = CrudAux.build(TipoDependente, 'tipo_dependente')
@ -45,6 +46,7 @@ TipoMilitarCrud = CrudAux.build(SituacaoMilitar, 'tipo_situa_militar')
DependenteCrud = MasterDetailCrud.build( DependenteCrud = MasterDetailCrud.build(
Dependente, 'parlamentar', 'dependente') Dependente, 'parlamentar', 'dependente')
class SessaoLegislativaCrud(CrudAux): class SessaoLegislativaCrud(CrudAux):
model = SessaoLegislativa model = SessaoLegislativa
@ -54,6 +56,7 @@ class SessaoLegislativaCrud(CrudAux):
class UpdateView(CrudAux.UpdateView): class UpdateView(CrudAux.UpdateView):
form_class = SessaoLegislativaForm form_class = SessaoLegislativaForm
class VotanteView(MasterDetailCrud): class VotanteView(MasterDetailCrud):
model = Votante model = Votante
parent_field = 'parlamentar' parent_field = 'parlamentar'
@ -89,6 +92,7 @@ class FrenteList(MasterDetailCrud):
class BaseMixin(Crud.PublicMixin, MasterDetailCrud.BaseMixin): class BaseMixin(Crud.PublicMixin, MasterDetailCrud.BaseMixin):
list_field_names = ['nome', 'data_criacao', 'data_extincao'] list_field_names = ['nome', 'data_criacao', 'data_extincao']
@classmethod @classmethod
def url_name(cls, suffix): def url_name(cls, suffix):
return '%s_parlamentar_%s' % (cls.model._meta.model_name, suffix) return '%s_parlamentar_%s' % (cls.model._meta.model_name, suffix)
@ -276,13 +280,16 @@ def parlamentares_frente_selected(request):
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
username = request.user.username username = request.user.username
try: 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'])) frente = Frente.objects.get(id=int(request.GET['frente_id']))
except ObjectDoesNotExist: 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 = [] lista_parlamentar_id = []
else: 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( lista_parlamentar_id = frente.parlamentares.all().values_list(
'id', flat=True) 'id', flat=True)
return JsonResponse({'id_list': list(lista_parlamentar_id)}) return JsonResponse({'id_list': list(lista_parlamentar_id)})
@ -292,8 +299,14 @@ class FrenteCrud(Crud):
model = Frente model = Frente
help_topic = 'tipo_situa_militar' help_topic = 'tipo_situa_militar'
public = [RP_DETAIL, RP_LIST] 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): class CreateView(Crud.CreateView):
form_class = FrenteForm form_class = FrenteForm
@ -301,18 +314,8 @@ class FrenteCrud(Crud):
def form_valid(self, form): def form_valid(self, form):
return super(Crud.CreateView, self).form_valid(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): class UpdateView(Crud.UpdateView):
form_class = FrenteForm form_class = FrenteForm
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['subnav_template_name'] = ''
return context
class MandatoCrud(MasterDetailCrud): class MandatoCrud(MasterDetailCrud):
@ -380,11 +383,13 @@ class LegislaturaCrud(CrudAux):
def get_initial(self): def get_initial(self):
username = self.request.user.username username = self.request.user.username
try: 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') ultima_legislatura = Legislatura.objects.latest('numero')
numero = ultima_legislatura.numero + 1 numero = ultima_legislatura.numero + 1
except Legislatura.DoesNotExist: 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 numero = 1
return {'numero': numero} return {'numero': numero}
@ -485,10 +490,12 @@ class ParlamentarCrud(Crud):
def take_legislatura_id(self): def take_legislatura_id(self):
username = self.request.user.username username = self.request.user.username
try: 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']) return int(self.request.GET['pk'])
except: 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() legislaturas = Legislatura.objects.all()
for l in legislaturas: for l in legislaturas:
if l.atual(): if l.atual():
@ -510,14 +517,17 @@ class ParlamentarCrud(Crud):
mandato_titular=F('mandato__titular')).distinct() mandato_titular=F('mandato__titular')).distinct()
else: else:
try: 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( l = Legislatura.objects.all().order_by(
'-data_inicio').first() '-data_inicio').first()
except ObjectDoesNotExist: 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() return Legislatura.objects.all()
else: else:
self.logger.info("user=" + username + ". Objeto encontrado com sucesso.") self.logger.info("user=" + username +
". Objeto encontrado com sucesso.")
if l is None: if l is None:
return Legislatura.objects.all() return Legislatura.objects.all()
return queryset.filter(mandato__legislatura_id=l).annotate( return queryset.filter(mandato__legislatura_id=l).annotate(
@ -583,7 +593,8 @@ class ParlamentarCrud(Crud):
# Caso encontre UMA filiação nessas condições # Caso encontre UMA filiação nessas condições
else: 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) row[1] = (filiacao.partido.sigla, None, None)
return context return context
@ -615,13 +626,16 @@ class ParlamentarMateriasView(FormView):
parlamentar_pk = kwargs['pk'] parlamentar_pk = kwargs['pk']
username = request.user.username username = request.user.username
try: 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( autor = Autor.objects.get(
content_type=ContentType.objects.get_for_model(Parlamentar), content_type=ContentType.objects.get_for_model(Parlamentar),
object_id=parlamentar_pk) object_id=parlamentar_pk)
except ObjectDoesNotExist: except ObjectDoesNotExist:
mensagem = _('Este Parlamentar (pk={}) não é Autor de matéria.'.format(parlamentar_pk)) mensagem = _(
self.logger.error("user=" + username + ". Este Parlamentar (pk={}) não é Autor de matéria.".format(parlamentar_pk)) '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) messages.add_message(request, messages.ERROR, mensagem)
return HttpResponseRedirect( return HttpResponseRedirect(
reverse( reverse(
@ -709,7 +723,8 @@ class MesaDiretoraView(FormView):
sessao_atual = sessoes.filter(data_inicio__year__lte=year).exclude( sessao_atual = sessoes.filter(data_inicio__year__lte=year).exclude(
data_inicio__gt=timezone.now()).order_by('-data_inicio').first() 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_ocupados = [m.cargo for m in mesa]
cargos = CargoMesa.objects.all() cargos = CargoMesa.objects.all()
@ -765,7 +780,8 @@ def altera_field_mesa(request):
else: else:
year = timezone.now().year year = timezone.now().year
try: 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 sessao_selecionada = sessoes.get(data_inicio__year=year).id
except ObjectDoesNotExist: except ObjectDoesNotExist:
logger.error("user=" + username + ". Id de sessoes com data_inicio.ano={} não encontrado. " 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() composicao = ComposicaoMesa()
try: 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( composicao.sessao_legislativa = SessaoLegislativa.objects.get(
id=int(request.POST['sessao'])) id=int(request.POST['sessao']))
except MultiValueDictKeyError: 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)}) return JsonResponse({'msg': ('Nenhuma sessão foi inserida!', 0)})
try: 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( composicao.parlamentar = Parlamentar.objects.get(
id=int(request.POST['parlamentar'])) id=int(request.POST['parlamentar']))
except MultiValueDictKeyError: except MultiValueDictKeyError:
logger.error("user=" + username + ". 'MultiValueDictKeyError', nenhum parlamentar foi inserido!") logger.error(
"user=" + username + ". 'MultiValueDictKeyError', nenhum parlamentar foi inserido!")
return JsonResponse({ return JsonResponse({
'msg': ('Nenhum parlamentar foi inserido!', 0)}) 'msg': ('Nenhum parlamentar foi inserido!', 0)})
try: 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( composicao.cargo = CargoMesa.objects.get(
id=int(request.POST['cargo'])) id=int(request.POST['cargo']))
parlamentar_ja_inserido = ComposicaoMesa.objects.filter( parlamentar_ja_inserido = ComposicaoMesa.objects.filter(
@ -848,14 +869,16 @@ def insere_parlamentar_composicao(request):
composicao.save() composicao.save()
except MultiValueDictKeyError: 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)}) return JsonResponse({'msg': ('Nenhum cargo foi inserido!', 0)})
logger.info("user=" + username + ". Parlamentar inserido com sucesso!") logger.info("user=" + username + ". Parlamentar inserido com sucesso!")
return JsonResponse({'msg': ('Parlamentar inserido com sucesso!', 1)}) return JsonResponse({'msg': ('Parlamentar inserido com sucesso!', 1)})
else: 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( return JsonResponse(
{'msg': ('Você não tem permissão para esta operação!', 0)}) {'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: if 'composicao_mesa' in request.POST:
try: 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( composicao = ComposicaoMesa.objects.get(
id=request.POST['composicao_mesa']) id=request.POST['composicao_mesa'])
except ObjectDoesNotExist: except ObjectDoesNotExist:
@ -885,12 +909,14 @@ def remove_parlamentar_composicao(request):
composicao.delete() 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( return JsonResponse(
{'msg': ( {'msg': (
'Parlamentar excluido com sucesso!', 1)}) 'Parlamentar excluido com sucesso!', 1)})
else: 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( return JsonResponse(
{'msg': ( {'msg': (
'Selecione algum parlamentar para ser excluido!', 0)}) 'Selecione algum parlamentar para ser excluido!', 0)})
@ -966,7 +992,8 @@ def altera_field_mesa_public_view(request):
else: else:
try: try:
year = timezone.now().year 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 sessao_selecionada = sessoes.get(data_inicio__year=year).id
except ObjectDoesNotExist: except ObjectDoesNotExist:
logger.error("user=" + username + ". Sessões não encontradas com com data_inicio.ano = {}. " logger.error("user=" + username + ". Sessões não encontradas com com data_inicio.ano = {}. "

Loading…
Cancel
Save