diff --git a/sapl/audiencia/forms.py b/sapl/audiencia/forms.py index 87bfeec4a..3ad74cca9 100644 --- a/sapl/audiencia/forms.py +++ b/sapl/audiencia/forms.py @@ -1,5 +1,5 @@ from django import forms -from django.core.exceptions import ValidationError +from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.db import transaction from django.utils.translation import ugettext_lazy as _ from sapl.audiencia.models import AudienciaPublica, TipoAudienciaPublica @@ -31,7 +31,12 @@ class AudienciaForm(forms.ModelForm): class Meta: model = AudienciaPublica - fields = '__all__' + fields = ['tipo', 'numero', 'nome', + 'tema', 'data', 'hora_inicio', 'hora_fim', + 'observacao', 'audiencia_cancelada', 'url_audio', + 'url_video', 'upload_pauta', 'upload_ata', + 'upload_anexo', 'tipo_materia', 'numero_materia', + 'ano_materia'] def __init__(self, **kwargs): @@ -50,7 +55,9 @@ class AudienciaForm(forms.ModelForm): def clean(self): - super(AudienciaForm, self).clean() + cleaned_data = super(AudienciaForm, self).clean() + if not self.is_valid(): + return cleaned_data try: materia = MateriaLegislativa.objects.get( diff --git a/sapl/audiencia/views.py b/sapl/audiencia/views.py index 1802d77b5..c0e353139 100644 --- a/sapl/audiencia/views.py +++ b/sapl/audiencia/views.py @@ -34,12 +34,20 @@ class AudienciaCrud(Crud): class UpdateView(Crud.UpdateView): form_class = AudienciaForm + + def get_initial(self): + self.initial['tipo_materia'] = self.object.materia.tipo.id + self.initial['numero_materia'] = self.object.materia.numero + self.initial['ano_materia'] = self.object.materia.ano + return self.initial class DeleteView(Crud.DeleteView): pass class DetailView(Crud.DetailView): + layout_key = 'AudienciaPublicaDetail' + @xframe_options_exempt def get(self, request, *args, **kwargs): return super().get(request, *args, **kwargs) diff --git a/sapl/templates/audiencia/layouts.yaml b/sapl/templates/audiencia/layouts.yaml index ed1e24738..90433db63 100644 --- a/sapl/templates/audiencia/layouts.yaml +++ b/sapl/templates/audiencia/layouts.yaml @@ -10,3 +10,15 @@ AudienciaPublica: - upload_pauta upload_ata upload_anexo - observacao - audiencia_cancelada + +AudienciaPublicaDetail: + {% trans 'Audiência Pública' %}: + - nome:10 numero + - tema + {% trans 'Dados' %}: + - materia tipo + - data hora_inicio hora_fim + - url_audio url_video + - upload_pauta upload_ata upload_anexo + - observacao + - audiencia_cancelada \ No newline at end of file