diff --git a/materia/forms.py b/materia/forms.py index 889af33a2..945ba33c4 100644 --- a/materia/forms.py +++ b/materia/forms.py @@ -52,6 +52,24 @@ class ProposicaoForm(ModelForm): raise ValidationError("Arquivo muito grande. ( > 5mb )") return texto_original + def clean(self): + cleaned_data = self.cleaned_data + + if cleaned_data['tipo'].descricao == 'Parecer': + try: + materia = MateriaLegislativa.objects.get( + tipo_id=cleaned_data['tipo_materia'], + ano=cleaned_data['ano_materia'], + numero=cleaned_data['numero_materia']) + except ObjectDoesNotExist: + msg = _('Matéria adicionada não existe!') + raise ValidationError(msg) + else: + cleaned_data['materia'] = materia + cleaned_data['autor'] = materia.autoria_set.first().autor + + return cleaned_data + class Meta: model = Proposicao fields = ['tipo', 'data_envio', 'descricao', 'texto_original'] diff --git a/materia/urls.py b/materia/urls.py index 31ee3db9c..e53f6940c 100644 --- a/materia/urls.py +++ b/materia/urls.py @@ -28,8 +28,9 @@ urlpatterns = [ LegislacaoCitadaCrud.get_urls() + TramitacaoCrud.get_urls() + RelatoriaCrud.get_urls() + - DocumentoAcessorioCrud.get_urls() + - ProposicaoCrud.get_urls())), + DocumentoAcessorioCrud.get_urls())), + + url(r'proposicao/', include(ProposicaoCrud.get_urls())), # Integração com Compilação url(r'^materia/(?P[0-9]+)/ta$',