|
@ -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 |
|
|