From d3042653391dacbf68da45c2d77bb1d2b9e75875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Rodrigues?= Date: Tue, 29 Oct 2019 14:41:10 -0300 Subject: [PATCH] Fix #3022 - Oradores --- sapl/sessao/forms.py | 54 +++++++++++++++---- .../migrations/0049_auto_20191029_1434.py | 32 +++++++++++ sapl/sessao/models.py | 2 +- 3 files changed, 78 insertions(+), 10 deletions(-) create mode 100644 sapl/sessao/migrations/0049_auto_20191029_1434.py diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index cb1dbdb0c..902583bac 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -715,9 +715,21 @@ class OradorForm(ModelForm): upload_anexo = self.cleaned_data.get('upload_anexo', False) - if upload_anexo and upload_anexo.size > MAX_DOC_UPLOAD_SIZE: - raise ValidationError("O arquivo Anexo do Orador deve ser menor que {0:.1f} mb, o tamanho atual desse arquivo é {1:.1f} mb" \ - .format((MAX_DOC_UPLOAD_SIZE/1024)/1024, (upload_anexo.size/1024)/1024)) + if upload_anexo: + if len(upload_anexo.name) > 200: + raise ValidationError( + "Certifique-se de que o nome do arquivo no campo " \ + "'Anexo do Orador' tenha no máximo 200 caracteres " \ + "(ele possui {})".format(len(upload_anexo.name)) + ) + if upload_anexo.size > MAX_DOC_UPLOAD_SIZE: + raise ValidationError( + "O arquivo Anexo do Orador deve ser menor que {0:.1f} mb," \ + " o tamanho atual desse arquivo é {1:.1f} mb".format( + (MAX_DOC_UPLOAD_SIZE/1024)/1024, + (upload_anexo.size/1024)/1024 + ) + ) return self.cleaned_data @@ -756,9 +768,21 @@ class OradorExpedienteForm(ModelForm): upload_anexo = self.cleaned_data.get('upload_anexo', False) - if upload_anexo and upload_anexo.size > MAX_DOC_UPLOAD_SIZE: - raise ValidationError("O arquivo Anexo do Orador deve ser menor que {0:.1f} mb, o tamanho atual desse arquivo é {1:.1f} mb" \ - .format((MAX_DOC_UPLOAD_SIZE/1024)/1024, (upload_anexo.size/1024)/1024)) + if upload_anexo: + if len(upload_anexo.name) > 200: + raise ValidationError( + "Certifique-se de que o nome do arquivo no campo " \ + "'Anexo do Orador' tenha no máximo 200 caracteres " \ + "(ele possui {})".format(len(upload_anexo.name)) + ) + if upload_anexo.size > MAX_DOC_UPLOAD_SIZE: + raise ValidationError( + "O arquivo Anexo do Orador deve ser menor que {0:.1f} mb," \ + " o tamanho atual desse arquivo é {1:.1f} mb".format( + (MAX_DOC_UPLOAD_SIZE/1024)/1024, + (upload_anexo.size/1024)/1024 + ) + ) return self.cleaned_data @@ -799,9 +823,21 @@ class OradorOrdemDiaForm(ModelForm): upload_anexo = self.cleaned_data.get('upload_anexo', False) - if upload_anexo and upload_anexo.size > MAX_DOC_UPLOAD_SIZE: - raise ValidationError("O arquivo Anexo do Orador deve ser menor que {0:.1f} mb, o tamanho atual desse arquivo é {1:.1f} mb" \ - .format((MAX_DOC_UPLOAD_SIZE/1024)/1024, (upload_anexo.size/1024)/1024)) + if upload_anexo: + if len(upload_anexo.name) > 200: + raise ValidationError( + "Certifique-se de que o nome do arquivo no campo " \ + "'Anexo do Orador' tenha no máximo 200 caracteres " \ + "(ele possui {})".format(len(upload_anexo.name)) + ) + if upload_anexo.size > MAX_DOC_UPLOAD_SIZE: + raise ValidationError( + "O arquivo Anexo do Orador deve ser menor que {0:.1f} mb," \ + " o tamanho atual desse arquivo é {1:.1f} mb".format( + (MAX_DOC_UPLOAD_SIZE/1024)/1024, + (upload_anexo.size/1024)/1024 + ) + ) return self.cleaned_data diff --git a/sapl/sessao/migrations/0049_auto_20191029_1434.py b/sapl/sessao/migrations/0049_auto_20191029_1434.py new file mode 100644 index 000000000..ebd5fb3e8 --- /dev/null +++ b/sapl/sessao/migrations/0049_auto_20191029_1434.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.20 on 2019-10-29 17:34 +from __future__ import unicode_literals + +from django.db import migrations, models +import sapl.sessao.models +import sapl.utils + + +class Migration(migrations.Migration): + + dependencies = [ + ('sessao', '0048_auto_20191029_1418'), + ] + + operations = [ + migrations.AlterField( + model_name='orador', + name='upload_anexo', + field=models.FileField(blank=True, max_length=300, null=True, storage=sapl.utils.OverwriteStorage(), upload_to=sapl.sessao.models.anexo_upload_path, verbose_name='Anexo do Orador'), + ), + migrations.AlterField( + model_name='oradorexpediente', + name='upload_anexo', + field=models.FileField(blank=True, max_length=300, null=True, storage=sapl.utils.OverwriteStorage(), upload_to=sapl.sessao.models.anexo_upload_path, verbose_name='Anexo do Orador'), + ), + migrations.AlterField( + model_name='oradorordemdia', + name='upload_anexo', + field=models.FileField(blank=True, max_length=300, null=True, storage=sapl.utils.OverwriteStorage(), upload_to=sapl.sessao.models.anexo_upload_path, verbose_name='Anexo do Orador'), + ), + ] diff --git a/sapl/sessao/models.py b/sapl/sessao/models.py index 5a3fa219b..65168d638 100644 --- a/sapl/sessao/models.py +++ b/sapl/sessao/models.py @@ -436,7 +436,7 @@ class AbstractOrador(models.Model): # Oradores observacao = models.CharField( max_length=150, blank=True, verbose_name=_('Observação')) upload_anexo = models.FileField( - max_length=200, + max_length=300, blank=True, null=True, storage=OverwriteStorage(),