|
|
@ -1,5 +1,5 @@ |
|
|
import json |
|
|
|
|
|
from datetime import datetime |
|
|
from datetime import datetime |
|
|
|
|
|
import json |
|
|
|
|
|
|
|
|
from django.contrib import messages |
|
|
from django.contrib import messages |
|
|
from django.contrib.contenttypes.models import ContentType |
|
|
from django.contrib.contenttypes.models import ContentType |
|
|
@ -33,6 +33,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') |
|
|
SessaoLegislativaCrud = CrudAux.build(SessaoLegislativa, 'sessao_legislativa') |
|
|
SessaoLegislativaCrud = CrudAux.build(SessaoLegislativa, 'sessao_legislativa') |
|
|
@ -412,7 +413,6 @@ class ParlamentarCrud(Crud): |
|
|
class BaseMixin(Crud.BaseMixin): |
|
|
class BaseMixin(Crud.BaseMixin): |
|
|
ordered_list = False |
|
|
ordered_list = False |
|
|
list_field_names = [ |
|
|
list_field_names = [ |
|
|
'avatar_html', |
|
|
|
|
|
'nome_parlamentar', |
|
|
'nome_parlamentar', |
|
|
'filiacao_atual', |
|
|
'filiacao_atual', |
|
|
'ativo', |
|
|
'ativo', |
|
|
@ -437,6 +437,10 @@ class ParlamentarCrud(Crud): |
|
|
class UpdateView(Crud.UpdateView): |
|
|
class UpdateView(Crud.UpdateView): |
|
|
form_class = ParlamentarForm |
|
|
form_class = ParlamentarForm |
|
|
|
|
|
|
|
|
|
|
|
@property |
|
|
|
|
|
def layout_key(self): |
|
|
|
|
|
return 'ParlamentarUpdate' |
|
|
|
|
|
|
|
|
class CreateView(Crud.CreateView): |
|
|
class CreateView(Crud.CreateView): |
|
|
form_class = ParlamentarCreateForm |
|
|
form_class = ParlamentarCreateForm |
|
|
|
|
|
|
|
|
@ -493,8 +497,7 @@ class ParlamentarCrud(Crud): |
|
|
mandato_titular=F('mandato__titular')) |
|
|
mandato_titular=F('mandato__titular')) |
|
|
|
|
|
|
|
|
def get_headers(self): |
|
|
def get_headers(self): |
|
|
return ['', |
|
|
return [_('Parlamentar'), _('Partido'), |
|
|
_('Parlamentar'), _('Partido'), |
|
|
|
|
|
_('Ativo?'), _('Titular?')] |
|
|
_('Ativo?'), _('Titular?')] |
|
|
|
|
|
|
|
|
def get_context_data(self, **kwargs): |
|
|
def get_context_data(self, **kwargs): |
|
|
@ -505,26 +508,19 @@ class ParlamentarCrud(Crud): |
|
|
context['legislaturas'] = legislaturas |
|
|
context['legislaturas'] = legislaturas |
|
|
context['legislatura_id'] = self.take_legislatura_id() |
|
|
context['legislatura_id'] = self.take_legislatura_id() |
|
|
|
|
|
|
|
|
# Tira Link do avatar_html e coloca no nome |
|
|
|
|
|
for row in context['rows']: |
|
|
for row in context['rows']: |
|
|
|
|
|
|
|
|
# preenche coluna foto, se vazia |
|
|
|
|
|
if not row[0][0]: |
|
|
|
|
|
img = "<center><img width='50px' \ |
|
|
|
|
|
height='50px' src='%s'/></center>" \ |
|
|
|
|
|
% static('img/avatar.png') |
|
|
|
|
|
row[0] = (img, row[0][1]) |
|
|
|
|
|
|
|
|
|
|
|
# Coloca a filiação atual ao invés da última |
|
|
|
|
|
if row[0][1]: |
|
|
|
|
|
# Pega o Parlamentar por meio da pk |
|
|
# Pega o Parlamentar por meio da pk |
|
|
parlamentar = Parlamentar.objects.get( |
|
|
parlamentar = Parlamentar.objects.get( |
|
|
id=(row[0][1].split('/')[-1])) |
|
|
id=(row[0][1].split('/')[-1])) |
|
|
|
|
|
|
|
|
|
|
|
row[0] += (parlamentar, ) |
|
|
|
|
|
|
|
|
# Pega a Legislatura |
|
|
# Pega a Legislatura |
|
|
legislatura = Legislatura.objects.get( |
|
|
legislatura = Legislatura.objects.get( |
|
|
id=context['legislatura_id']) |
|
|
id=context['legislatura_id']) |
|
|
|
|
|
|
|
|
|
|
|
# Coloca a filiação atual ao invés da última |
|
|
# As condições para mostrar a filiação são: |
|
|
# As condições para mostrar a filiação são: |
|
|
# A data de filiacao deve ser menor que a data de fim |
|
|
# A data de filiacao deve ser menor que a data de fim |
|
|
# da legislatura e data de desfiliação deve nula, ou maior, |
|
|
# da legislatura e data de desfiliação deve nula, ou maior, |
|
|
@ -538,21 +534,18 @@ class ParlamentarCrud(Crud): |
|
|
|
|
|
|
|
|
# Caso não exista filiação com essas condições |
|
|
# Caso não exista filiação com essas condições |
|
|
except ObjectDoesNotExist: |
|
|
except ObjectDoesNotExist: |
|
|
row[2] = ('Não possui filiação', None) |
|
|
row[1] = ('Não possui filiação', None) |
|
|
|
|
|
|
|
|
# Caso exista mais de uma filiação nesse intervalo |
|
|
# Caso exista mais de uma filiação nesse intervalo |
|
|
# Entretanto, NÃO DEVE OCORRER |
|
|
# Entretanto, NÃO DEVE OCORRER |
|
|
except MultipleObjectsReturned: |
|
|
except MultipleObjectsReturned: |
|
|
row[2] = ( |
|
|
row[1] = ( |
|
|
'O Parlamentar possui duas filiações conflitantes', |
|
|
'O Parlamentar possui duas filiações conflitantes', |
|
|
None) |
|
|
None) |
|
|
|
|
|
|
|
|
# Caso encontre UMA filiação nessas condições |
|
|
# Caso encontre UMA filiação nessas condições |
|
|
else: |
|
|
else: |
|
|
row[2] = (filiacao.partido.sigla, None) |
|
|
row[1] = (filiacao.partido.sigla, None) |
|
|
|
|
|
|
|
|
row[1] = (row[1][0], row[0][1]) |
|
|
|
|
|
row[0] = (row[0][0], None) |
|
|
|
|
|
|
|
|
|
|
|
return context |
|
|
return context |
|
|
|
|
|
|
|
|
|