Browse Source

Refatora create/update

pull/341/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
committed by Edward Ribeiro
parent
commit
715f89f313
  1. 12
      parlamentares/forms.py
  2. 12
      parlamentares/views.py

12
parlamentares/forms.py

@ -1,6 +1,7 @@
from crispy_forms.helper import FormHelper from crispy_forms.helper import FormHelper
from crispy_forms.layout import HTML, Fieldset, Layout, Submit from crispy_forms.layout import HTML, Fieldset, Layout, Submit
from django import forms from django import forms
from django.core.exceptions import ValidationError
from django.db import transaction from django.db import transaction
from django.forms import ModelForm from django.forms import ModelForm
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
@ -59,8 +60,8 @@ def validate(data, data_desfiliacao, parlamentar, filiacao):
# Dá erro caso a data de desfiliação seja anterior a de filiação # Dá erro caso a data de desfiliação seja anterior a de filiação
if data_desfiliacao and data_desfiliacao < data_filiacao: if data_desfiliacao and data_desfiliacao < data_filiacao:
error_msg = _("A data de filiação não pode anterior \ error_msg = _("A data de desfiliação não pode anterior \
à data de desfiliação") à data de filiação")
raise forms.ValidationError(error_msg) raise forms.ValidationError(error_msg)
return False return False
@ -125,11 +126,10 @@ class FiliacaoForm(ModelForm):
@transaction.atomic @transaction.atomic
def save(self, commit=False): def save(self, commit=False):
filiacao = super(FiliacaoForm, self).save(commit) filiacao = super(FiliacaoForm, self).save(commit)
if not validate(self.cleaned_data['data'], if not validate(self.cleaned_data['data'],
self.cleaned_data['data_desfiliacao'], self.cleaned_data['data_desfiliacao'],
filiacao.parlamentar, filiacao.parlamentar,
filiacao): filiacao):
return self.form_invalid(form) return self.form_invalid(form)
filiacao.save() filiacao.save()

12
parlamentares/views.py

@ -37,20 +37,12 @@ class FiliacaoCrud(MasterDetailCrud):
parent_field = 'parlamentar' parent_field = 'parlamentar'
help_path = '' help_path = ''
class CreateView(crud.masterdetail.CrudCreateView): class CreateView(MasterDetailCrud.CreateView):
form_class = FiliacaoForm form_class = FiliacaoForm
@classmethod class UpdateView(MasterDetailCrud.UpdateView):
def get_url_regex(self):
return r'^(?P<pk>\d+)/%s/create$' % self.model._meta.model_name
class UpdateView(crud.masterdetail.CrudUpdateView):
form_class = FiliacaoForm form_class = FiliacaoForm
@classmethod
def get_url_regex(self):
return r'^%s/(?P<pk>\d+)/edit$' % self.model._meta.model_name
class ParlamentarCrud(Crud): class ParlamentarCrud(Crud):
model = Parlamentar model = Parlamentar

Loading…
Cancel
Save