Browse Source

criado crud parlamentarFrente

pull/3043/head
ricardocanela 6 years ago
committed by João Rodrigues
parent
commit
2247935f51
  1. 25
      sapl/parlamentares/forms.py
  2. 4
      sapl/parlamentares/urls.py
  3. 38
      sapl/parlamentares/views.py
  4. 9
      sapl/templates/parlamentares/frente_detail.html
  5. 13
      sapl/templates/parlamentares/layouts.yaml
  6. 10
      sapl/templates/parlamentares/parlamentarfrente_list.html

25
sapl/parlamentares/forms.py

@ -24,7 +24,8 @@ import django_filters
from .models import (ComposicaoColigacao, Filiacao, Frente, Legislatura, from .models import (ComposicaoColigacao, Filiacao, Frente, Legislatura,
Mandato, Parlamentar, Votante, Bloco, Bancada, CargoBloco, Mandato, Parlamentar, Votante, Bloco, Bancada, CargoBloco,
CargoBlocoPartido, AfastamentoParlamentar, TipoAfastamento) CargoBlocoPartido, AfastamentoParlamentar, TipoAfastamento,
ParlamentarFrente)
class ImageThumbnailFileInput(ClearableFileInput): class ImageThumbnailFileInput(ClearableFileInput):
@ -419,6 +420,28 @@ class ComposicaoColigacaoForm(ModelForm):
return self.cleaned_data return self.cleaned_data
class ParlamentarFrenteForm(ModelForm):
logger = logging.getLogger(__name__)
def __init__(self, *args, **kwargs):
super(ParlamentarFrenteForm, self).__init__(*args, **kwargs)
self.fields['frente'].widget = forms.HiddenInput()
class Meta:
model = ParlamentarFrente
fields = '__all__'
def clean(self):
super(ParlamentarFrenteForm, self).clean()
cd = self.cleaned_data
if not self.is_valid():
return self.cleaned_data
return cd
class FrenteForm(ModelForm): class FrenteForm(ModelForm):
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

4
sapl/parlamentares/urls.py

@ -29,7 +29,8 @@ from sapl.parlamentares.views import (CargoMesaCrud, ColigacaoCrud,
edita_vinculo_parlamentar_bloco, edita_vinculo_parlamentar_bloco,
deleta_vinculo_parlamentar_bloco, deleta_vinculo_parlamentar_bloco,
vincula_parlamentar_ao_bloco, vincula_parlamentar_ao_bloco,
get_sessoes_legislatura) get_sessoes_legislatura,
ParlamentarFrenteCrud)
from .apps import AppConfig from .apps import AppConfig
@ -88,6 +89,7 @@ urlpatterns = [
url(r'^sistema/frente/parlamentares-frente-selected', url(r'^sistema/frente/parlamentares-frente-selected',
parlamentares_frente_selected, parlamentares_frente_selected,
name='parlamentares_frente_selected'), name='parlamentares_frente_selected'),
url(r'^sistema/frente/', include(ParlamentarFrenteCrud.get_urls())),
url(r'^sistema/parlamentar/legislatura/', url(r'^sistema/parlamentar/legislatura/',
include(LegislaturaCrud.get_urls())), include(LegislaturaCrud.get_urls())),

38
sapl/parlamentares/views.py

@ -38,13 +38,14 @@ from .forms import (FiliacaoForm, FrenteForm, LegislaturaForm, MandatoForm,
ParlamentarCreateForm, ParlamentarForm, VotanteForm, ParlamentarCreateForm, ParlamentarForm, VotanteForm,
ParlamentarFilterSet, VincularParlamentarForm, ParlamentarFilterSet, VincularParlamentarForm,
BlocoForm, CargoBlocoForm, CargoBlocoPartidoForm, BlocoForm, CargoBlocoForm, CargoBlocoPartidoForm,
BancadaForm, AfastamentoParlamentarForm) BancadaForm, AfastamentoParlamentarForm, ParlamentarFrenteForm)
from .models import (Bancada, CargoBancada, CargoMesa, Coligacao, ComposicaoColigacao, ComposicaoMesa, from .models import (Bancada, CargoBancada, CargoMesa, Coligacao, ComposicaoColigacao, ComposicaoMesa,
Dependente, Filiacao, Frente, Legislatura, Mandato, Dependente, Filiacao, Frente, Legislatura, Mandato,
NivelInstrucao, Parlamentar, Partido, SessaoLegislativa, NivelInstrucao, Parlamentar, Partido, SessaoLegislativa,
SituacaoMilitar, TipoAfastamento, TipoDependente, Votante, SituacaoMilitar, TipoAfastamento, TipoDependente, Votante,
Bloco, CargoBlocoPartido, HistoricoPartido, CargoBloco, AfastamentoParlamentar) Bloco, CargoBlocoPartido, HistoricoPartido, CargoBloco,
ParlamentarFrente, AfastamentoParlamentar)
CargoBancadaCrud = CrudAux.build(CargoBancada, '') CargoBancadaCrud = CrudAux.build(CargoBancada, '')
@ -412,6 +413,37 @@ class FrenteCrud(Crud):
form_class = FrenteForm form_class = FrenteForm
class ParlamentarFrenteCrud(MasterDetailCrud):
model = ParlamentarFrente
parent_field = 'frente'
help_topic = 'parlamentar_frente'
public = [RP_LIST, RP_DETAIL]
class BaseMixin(MasterDetailCrud.BaseMixin):
list_field_names = ['parlamentar',
'frente',
'data_entrada',
'data_saida']
class CreateView(MasterDetailCrud.CreateView):
form_class = ParlamentarFrenteForm
def get_initial(self):
self.initial['frente'] = Frente.objects.get(pk=self.kwargs['pk'])
return self.initial
class UpdateView(MasterDetailCrud.UpdateView):
form_class = ParlamentarFrenteForm
def form_valid(self, form):
return super(Crud.UpdateView, self).form_valid(form)
class ListView(MasterDetailCrud.ListView):
layout_key = 'ParlamentarFrenteList'
class MandatoCrud(MasterDetailCrud): class MandatoCrud(MasterDetailCrud):
model = Mandato model = Mandato
parent_field = 'parlamentar' parent_field = 'parlamentar'
@ -528,6 +560,8 @@ class FiliacaoCrud(MasterDetailCrud):
form_class = FiliacaoForm form_class = FiliacaoForm
class ParlamentarCrud(Crud): class ParlamentarCrud(Crud):
model = Parlamentar model = Parlamentar
public = [RP_LIST, RP_DETAIL] public = [RP_LIST, RP_DETAIL]

9
sapl/templates/parlamentares/frente_detail.html

@ -0,0 +1,9 @@
{% extends "crud/detail.html" %}
{% load i18n %}
{% load crispy_forms_tags cropping %}
{% block actions %}
{{ block.super }}
<div class="actions btn-group btn-group-sm" role="group">
<a href="{% url 'sapl.parlamentares:parlamentarfrente_list' object.pk %}" class="btn btn-outline-primary">Listar Parlamentares Filiados</a>
</div>
{% endblock actions %}

13
sapl/templates/parlamentares/layouts.yaml

@ -157,3 +157,16 @@ AfastamentoParlamentar:
- data_inicio data_fim - data_inicio data_fim
- mandato tipo_afastamento - mandato tipo_afastamento
- observacao - observacao
ParlamentarFrente:
{% trans 'Parlamentar Frente'%}:
- frente
- parlamentar
- data_entrada
- data_saida
ParlamentarFrenteList:
{% trans 'Parlamentar Frente'%}:
- parlamentar
- data_entrada
- data_saida

10
sapl/templates/parlamentares/parlamentarfrente_list.html

@ -0,0 +1,10 @@
{% extends "crud/list.html" %}
{% load i18n %}
{% load common_tags %}
{% block more_buttons %}
<a href="{% url 'sapl.parlamentares:frente_detail' root_pk %}" class="btn btn-outline-primary">
Frente Parlamentar
</a>
{% endblock more_buttons %}
Loading…
Cancel
Save