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
class ParlamentarBancadaForm(ModelForm):
class ParlamentarBancadaCreateForm(ModelForm):
logger = logging.getLogger(__name__)
def __init__(self, *args, **kwargs):
@ -762,6 +762,34 @@ class ParlamentarBancadaForm(ModelForm):
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 Meta:
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,
CargoBlocoForm, CargoBlocoPartidoForm, FiliacaoForm,
FrenteForm, LegislaturaForm, MandatoForm,
ParlamentarBancadaForm, ParlamentarCreateForm,
ParlamentarBancadaCreateForm,
ParlamentarBancadaEditForm, ParlamentarCreateForm,
ParlamentarFilterSet, ParlamentarForm,
ParlamentarFrenteForm, VincularParlamentarForm,
VotanteForm)
@ -151,7 +152,7 @@ class ParlamentarBancadaCrud(MasterDetailCrud):
public = [RP_LIST, RP_DETAIL]
class CreateView(MasterDetailCrud.CreateView):
form_class = ParlamentarBancadaForm
form_class = ParlamentarBancadaCreateForm
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
@ -163,7 +164,7 @@ class ParlamentarBancadaCrud(MasterDetailCrud):
return self.initial
class UpdateView(MasterDetailCrud.UpdateView):
form_class = ParlamentarBancadaForm
form_class = ParlamentarBancadaEditForm
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)

Loading…
Cancel
Save