Browse Source

Criar o formulário parlamentarbancadaedit

pull/3043/head
João Rodrigues 6 years ago
parent
commit
3a02897472
  1. 30
      sapl/parlamentares/forms.py
  2. 7
      sapl/parlamentares/views.py

30
sapl/parlamentares/forms.py

@ -711,7 +711,7 @@ class BancadaForm(ModelForm):
return bancada return bancada
class ParlamentarBancadaForm(ModelForm): class ParlamentarBancadaCreateForm(ModelForm):
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
@ -762,6 +762,34 @@ class ParlamentarBancadaForm(ModelForm):
return data return data
class ParlamentarBancadaEditForm(ModelForm):
logger = logging.getLogger(__name__)
def __init__(self, *args, **kwargs):
super(ParlamentarBancadaEditForm, self).__init__(*args, **kwargs)
self.fields['bancada'].widget = forms.HiddenInput()
class Meta:
model = ParlamentarBancada
fields = '__all__'
def clean(self):
super(ParlamentarBancadaEditForm, self).clean()
if not self.is_valid():
return self.cleaned_data
data = self.cleaned_data
if data['cargo'].cargo_unico:
parlamentares_bancada = ParlamentarBancada.objects.filter(bancada=data['bancada'])
cargos = [parlamentar_bancada.cargo for parlamentar_bancada in parlamentares_bancada]
if data['cargo'] in cargos:
raise ValidationError("Este cargo está ocupado e é unico para esta Bancada.")
return data
class CargoBlocoForm(ModelForm): class CargoBlocoForm(ModelForm):
class Meta: class Meta:
model = CargoBloco model = CargoBloco

7
sapl/parlamentares/views.py

@ -40,7 +40,8 @@ from sapl.utils import parlamentares_ativos, show_results_filter_set
from .forms import (AfastamentoParlamentarForm, BancadaForm, BlocoForm, from .forms import (AfastamentoParlamentarForm, BancadaForm, BlocoForm,
CargoBlocoForm, CargoBlocoPartidoForm, FiliacaoForm, CargoBlocoForm, CargoBlocoPartidoForm, FiliacaoForm,
FrenteForm, LegislaturaForm, MandatoForm, FrenteForm, LegislaturaForm, MandatoForm,
ParlamentarBancadaForm, ParlamentarCreateForm, ParlamentarBancadaCreateForm,
ParlamentarBancadaEditForm, ParlamentarCreateForm,
ParlamentarFilterSet, ParlamentarForm, ParlamentarFilterSet, ParlamentarForm,
ParlamentarFrenteForm, VincularParlamentarForm, ParlamentarFrenteForm, VincularParlamentarForm,
VotanteForm) VotanteForm)
@ -151,7 +152,7 @@ class ParlamentarBancadaCrud(MasterDetailCrud):
public = [RP_LIST, RP_DETAIL] public = [RP_LIST, RP_DETAIL]
class CreateView(MasterDetailCrud.CreateView): class CreateView(MasterDetailCrud.CreateView):
form_class = ParlamentarBancadaForm form_class = ParlamentarBancadaCreateForm
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
@ -163,7 +164,7 @@ class ParlamentarBancadaCrud(MasterDetailCrud):
return self.initial return self.initial
class UpdateView(MasterDetailCrud.UpdateView): class UpdateView(MasterDetailCrud.UpdateView):
form_class = ParlamentarBancadaForm form_class = ParlamentarBancadaEditForm
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)

Loading…
Cancel
Save