diff --git a/sapl/audiencia/forms.py b/sapl/audiencia/forms.py index 26bca409a..72f3e9c35 100755 --- a/sapl/audiencia/forms.py +++ b/sapl/audiencia/forms.py @@ -115,12 +115,14 @@ class AudienciaForm(FileFieldCheckMixin, forms.ModelForm): raise ValidationError(msg) if not cleaned_data['numero']: - ultima_audiencia = AudienciaPublica.objects.all().order_by('numero').last() if ultima_audiencia: cleaned_data['numero'] = ultima_audiencia.numero + 1 else: cleaned_data['numero'] = 1 + else: + if AudienciaPublica.objects.filter(numero=cleaned_data['numero']).exclude(pk=self.instance.pk).exists(): + raise ValidationError(f"Já existe uma audiência com a numeração {cleaned_data['numero']}.") if self.cleaned_data['hora_inicio'] and self.cleaned_data['hora_fim']: if self.cleaned_data['hora_fim'] < self.cleaned_data['hora_inicio']: diff --git a/sapl/audiencia/views.py b/sapl/audiencia/views.py index 281075df1..b186fef50 100755 --- a/sapl/audiencia/views.py +++ b/sapl/audiencia/views.py @@ -29,15 +29,13 @@ class AudienciaCrud(Crud): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - audiencia_materia = {} - for o in context['object_list']: - # indexado pelo numero da audiencia - audiencia_materia[str(o.numero)] = o.materia + audiencia_materia = {str(a.id): a.materia for a in context['object_list']} for row in context['rows']: - coluna_materia = row[3] # se mudar a ordem de listagem mudar aqui + coluna_materia = row[3] # se mudar a ordem de listagem mudar aqui if coluna_materia[0]: - materia = audiencia_materia[row[0][0]] + audiencia_id = row[0][1].split('/')[-1] + materia = audiencia_materia[audiencia_id] if materia: url_materia = reverse('sapl.materia:materialegislativa_detail', kwargs={'pk': materia.id})