Browse Source

Fix #3022 - materia

pull/3025/head
João Rodrigues 6 years ago
parent
commit
f8ba84a654
  1. 51
      sapl/materia/forms.py

51
sapl/materia/forms.py

@ -4,8 +4,8 @@ import os
import sapl import sapl
from crispy_forms.bootstrap import Alert, InlineRadios from crispy_forms.bootstrap import Alert, InlineRadios
from crispy_forms.layout import (HTML, Button, Field, Fieldset, from crispy_forms.layout import (Button, Field, Fieldset, HTML, Layout, Row)
Layout, Row)
from django import forms from django import forms
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import ObjectDoesNotExist, ValidationError from django.core.exceptions import ObjectDoesNotExist, ValidationError
@ -28,8 +28,8 @@ from sapl.base.signals import post_save_signal
from sapl.comissoes.models import Comissao, Composicao, Participacao from sapl.comissoes.models import Comissao, Composicao, Participacao
from sapl.compilacao.models import (STATUS_TA_IMMUTABLE_PUBLIC, from sapl.compilacao.models import (STATUS_TA_IMMUTABLE_PUBLIC,
STATUS_TA_PRIVATE) STATUS_TA_PRIVATE)
from sapl.crispy_layout_mixin import (SaplFormLayout, form_actions, from sapl.crispy_layout_mixin import (form_actions, SaplFormHelper,
to_column, to_row, SaplFormHelper) SaplFormLayout, to_column, to_row)
from sapl.materia.models import (AssuntoMateria, Autoria, MateriaAssunto, from sapl.materia.models import (AssuntoMateria, Autoria, MateriaAssunto,
MateriaLegislativa, Orgao, MateriaLegislativa, Orgao,
RegimeTramitacao, StatusTramitacao, RegimeTramitacao, StatusTramitacao,
@ -40,7 +40,6 @@ from sapl.norma.models import (LegislacaoCitada, NormaJuridica,
from sapl.parlamentares.models import Legislatura, Partido, Parlamentar from sapl.parlamentares.models import Legislatura, Partido, Parlamentar
from sapl.protocoloadm.models import (Anexado, DocumentoAdministrativo, from sapl.protocoloadm.models import (Anexado, DocumentoAdministrativo,
Protocolo) Protocolo)
from sapl.settings import MAX_DOC_UPLOAD_SIZE
from sapl.utils import (autor_label, autor_modal, from sapl.utils import (autor_label, autor_modal,
ChoiceWithoutValidationField, ChoiceWithoutValidationField,
choice_anos_com_materias, FileFieldCheckMixin, choice_anos_com_materias, FileFieldCheckMixin,
@ -48,7 +47,7 @@ from sapl.utils import (autor_label, autor_modal,
lista_anexados, MateriaPesquisaOrderingFilter, lista_anexados, MateriaPesquisaOrderingFilter,
models_with_gr_for_model, qs_override_django_filter, models_with_gr_for_model, qs_override_django_filter,
RangeWidgetOverride, SEPARADOR_HASH_PROPOSICAO, RangeWidgetOverride, SEPARADOR_HASH_PROPOSICAO,
YES_NO_CHOICES) validar_arquivo, YES_NO_CHOICES)
from .models import (AcompanhamentoMateria, Anexada, Autoria, from .models import (AcompanhamentoMateria, Anexada, Autoria,
DespachoInicial, DocumentoAcessorio, Numeracao, DespachoInicial, DocumentoAcessorio, Numeracao,
@ -255,18 +254,7 @@ class MateriaLegislativaForm(FileFieldCheckMixin, ModelForm):
texto_original = self.cleaned_data.get('texto_original', False) texto_original = self.cleaned_data.get('texto_original', False)
if texto_original: if texto_original:
if len(texto_original.name) > 200: validar_arquivo(texto_original, "Texto Original")
raise ValidationError(
"Certifique-se de que o nome do arquivo no campo 'Texto Original' tenha no " \
"máximo 200 caracteres (ele possui {})".format(len(texto_original.name))
)
if texto_original.size > MAX_DOC_UPLOAD_SIZE:
raise ValidationError(
"O arquivo Texto Original deve ser menor que {0:.1f} mb, o tamanho atual desse" \
" arquivo é {1:.1f} mb".format(
(MAX_DOC_UPLOAD_SIZE / 1024) / 1024, (texto_original.size / 1024) / 1024
)
)
return cleaned_data return cleaned_data
@ -368,21 +356,7 @@ class DocumentoAcessorioForm(FileFieldCheckMixin, ModelForm):
arquivo = self.cleaned_data.get('arquivo', False) arquivo = self.cleaned_data.get('arquivo', False)
if arquivo: if arquivo:
if len(arquivo.name) > 200: validar_arquivo(arquivo, "Texto Integral")
raise ValidationError(
"Certifique-se de que o nome do arquivo no campo " \
"'Texto Integral' tenha no máximo 200 caracteres " \
"(ele possui {})".format(len(arquivo.name))
)
if arquivo.size > MAX_DOC_UPLOAD_SIZE:
raise ValidationError(
"O arquivo Texto Integral deve ser menor que " \
"{0:.1f} mb, o tamanho atual desse arquivo é " \
"{1:.1f} mb".format(
(MAX_DOC_UPLOAD_SIZE / 1024) / 1024,
(arquivo.size / 1024) / 1024
)
)
return self.cleaned_data return self.cleaned_data
@ -1958,16 +1932,7 @@ class ProposicaoForm(FileFieldCheckMixin, forms.ModelForm):
texto_original = self.cleaned_data.get('texto_original', False) texto_original = self.cleaned_data.get('texto_original', False)
if texto_original: if texto_original:
if len(texto_original.name) > 200: validar_arquivo(texto_original, "Texto Original")
raise ValidationError(
"Certifique-se de que o nome do arquivo no campo 'Texto Original' tenha no máximo 200 " \
"caracteres (ele possui {})".format(len(texto_original.name))
)
if texto_original.size > MAX_DOC_UPLOAD_SIZE:
raise ValidationError(
"O arquivo Texto Original deve ser menor que {0:.1f} mb, o tamanho atual desse arquivo é " \
"{1:.1f} mb".format((MAX_DOC_UPLOAD_SIZE / 1024) / 1024, (texto_original.size / 1024) / 1024)
)
return texto_original return texto_original

Loading…
Cancel
Save