Browse Source
Corrige Matéria Legislativa em Audiência (#3282)
* Conserta bug em listagem de audiência
* Adiciona verificação para numeração existente
Co-authored-by: eribeiro <edwardr@senado.leg.br>
pull/3112/head
Vinícius Cantuária
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
7 additions and
7 deletions
-
sapl/audiencia/forms.py
-
sapl/audiencia/views.py
|
@ -115,12 +115,14 @@ class AudienciaForm(FileFieldCheckMixin, forms.ModelForm): |
|
|
raise ValidationError(msg) |
|
|
raise ValidationError(msg) |
|
|
|
|
|
|
|
|
if not cleaned_data['numero']: |
|
|
if not cleaned_data['numero']: |
|
|
|
|
|
|
|
|
ultima_audiencia = AudienciaPublica.objects.all().order_by('numero').last() |
|
|
ultima_audiencia = AudienciaPublica.objects.all().order_by('numero').last() |
|
|
if ultima_audiencia: |
|
|
if ultima_audiencia: |
|
|
cleaned_data['numero'] = ultima_audiencia.numero + 1 |
|
|
cleaned_data['numero'] = ultima_audiencia.numero + 1 |
|
|
else: |
|
|
else: |
|
|
cleaned_data['numero'] = 1 |
|
|
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_inicio'] and self.cleaned_data['hora_fim']: |
|
|
if self.cleaned_data['hora_fim'] < self.cleaned_data['hora_inicio']: |
|
|
if self.cleaned_data['hora_fim'] < self.cleaned_data['hora_inicio']: |
|
|
|
@ -29,15 +29,13 @@ class AudienciaCrud(Crud): |
|
|
def get_context_data(self, **kwargs): |
|
|
def get_context_data(self, **kwargs): |
|
|
context = super().get_context_data(**kwargs) |
|
|
context = super().get_context_data(**kwargs) |
|
|
|
|
|
|
|
|
audiencia_materia = {} |
|
|
audiencia_materia = {str(a.id): a.materia for a in context['object_list']} |
|
|
for o in context['object_list']: |
|
|
|
|
|
# indexado pelo numero da audiencia |
|
|
|
|
|
audiencia_materia[str(o.numero)] = o.materia |
|
|
|
|
|
|
|
|
|
|
|
for row in context['rows']: |
|
|
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]: |
|
|
if coluna_materia[0]: |
|
|
materia = audiencia_materia[row[0][0]] |
|
|
audiencia_id = row[0][1].split('/')[-1] |
|
|
|
|
|
materia = audiencia_materia[audiencia_id] |
|
|
if materia: |
|
|
if materia: |
|
|
url_materia = reverse('sapl.materia:materialegislativa_detail', |
|
|
url_materia = reverse('sapl.materia:materialegislativa_detail', |
|
|
kwargs={'pk': materia.id}) |
|
|
kwargs={'pk': materia.id}) |
|
|