diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index 94f50cbd0..0a927344b 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -30,7 +30,7 @@ from sapl.compilacao.models import (STATUS_TA_IMMUTABLE_PUBLIC, STATUS_TA_PRIVATE) from sapl.crispy_layout_mixin import (SaplFormLayout, form_actions, to_column, to_row) -from sapl.materia.models import (AssuntoMateria, MateriaAssunto, +from sapl.materia.models import (AssuntoMateria, Autoria, MateriaAssunto, MateriaLegislativa, Orgao, RegimeTramitacao, TipoDocumento, TipoProposicao) from sapl.norma.models import (LegislacaoCitada, NormaJuridica, @@ -162,7 +162,7 @@ class MateriaSimplificadaForm(ModelForm): class MateriaLegislativaForm(ModelForm): - autor = forms.ModelChoiceField(required=True, + autor = forms.ModelChoiceField(required=False, empty_label='------', queryset=Autor.objects.all() ) @@ -198,6 +198,18 @@ class MateriaLegislativaForm(ModelForm): return cleaned_data + def save(self, commit=False): + materia = super(MateriaLegislativaForm, self).save(commit) + materia.save() + + if self.cleaned_data['autor']: + autoria = Autoria() + autoria.primeiro_autor = True + autoria.materia = materia + autoria.autor = self.cleaned_data['autor'] + autoria.save() + + return materia class UnidadeTramitacaoForm(ModelForm):