Browse Source

Fix #2127 Checagem de datas de Frente Parlamentar e coluna extra na l… (#2131)

* Fix #2127 Checagem de datas de Frente Parlamentar e coluna extra na listagem

* Update views.py
pull/2139/head
Talitha Pumar 6 years ago
committed by Edward
parent
commit
217a4a0e1e
  1. 32
      sapl/parlamentares/forms.py
  2. 10
      sapl/parlamentares/views.py

32
sapl/parlamentares/forms.py

@ -318,18 +318,32 @@ class FrenteForm(ModelForm):
model = Frente
fields = '__all__'
def clean(self):
frente = super(FrenteForm, self).clean()
cd = self.cleaned_data
if not self.is_valid():
return self.cleaned_data
if cd['data_criacao'] >= cd['data_extincao']:
raise ValidationError(_("Data Dissolução não pode ser anterior a Data Criação"))
return cd
@transaction.atomic
def save(self, commit=True):
frente = super(FrenteForm, self).save(commit)
content_type = ContentType.objects.get_for_model(Frente)
object_id = frente.pk
tipo = TipoAutor.objects.get(descricao__icontains='Frente')
Autor.objects.create(
content_type=content_type,
object_id=object_id,
tipo=tipo,
nome=frente.nome
)
if not self.instance.pk:
frente = super(FrenteForm, self).save(commit)
content_type = ContentType.objects.get_for_model(Frente)
object_id = frente.pk
tipo = TipoAutor.objects.get(descricao__icontains='Frente')
Autor.objects.create(
content_type=content_type,
object_id=object_id,
tipo=tipo,
nome=frente.nome
)
return frente

10
sapl/parlamentares/views.py

@ -87,8 +87,7 @@ class FrenteList(MasterDetailCrud):
CreateView, UpdateView, DeleteView = None, None, None
class BaseMixin(Crud.PublicMixin, MasterDetailCrud.BaseMixin):
list_field_names = ['nome', 'data_criacao']
list_field_names = ['nome', 'data_criacao', 'data_extincao']
@classmethod
def url_name(cls, suffix):
return '%s_parlamentar_%s' % (cls.model._meta.model_name, suffix)
@ -282,7 +281,8 @@ class FrenteCrud(CrudAux):
model = Frente
help_topic = 'tipo_situa_militar'
public = [RP_DETAIL, RP_LIST]
list_field_names = ['nome', 'data_criacao', 'parlamentares']
list_field_names = ['nome', 'data_criacao', 'data_extincao', 'parlamentares']
class CreateView(Crud.CreateView):
form_class = FrenteForm
@ -290,6 +290,10 @@ class FrenteCrud(CrudAux):
def form_valid(self, form):
return super(Crud.CreateView, self).form_valid(form)
class UpdateView(Crud.UpdateView):
form_class = FrenteForm
class MandatoCrud(MasterDetailCrud):
model = Mandato

Loading…
Cancel
Save