|
|
|
@ -4,8 +4,8 @@ import os |
|
|
|
import sapl |
|
|
|
|
|
|
|
from crispy_forms.bootstrap import Alert, InlineRadios |
|
|
|
from crispy_forms.layout import (HTML, Button, Field, Fieldset, |
|
|
|
Layout, Row) |
|
|
|
from crispy_forms.layout import (Button, Field, Fieldset, HTML, Layout, Row) |
|
|
|
|
|
|
|
from django import forms |
|
|
|
from django.contrib.contenttypes.models import ContentType |
|
|
|
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.compilacao.models import (STATUS_TA_IMMUTABLE_PUBLIC, |
|
|
|
STATUS_TA_PRIVATE) |
|
|
|
from sapl.crispy_layout_mixin import (SaplFormLayout, form_actions, |
|
|
|
to_column, to_row, SaplFormHelper) |
|
|
|
from sapl.crispy_layout_mixin import (form_actions, SaplFormHelper, |
|
|
|
SaplFormLayout, to_column, to_row) |
|
|
|
from sapl.materia.models import (AssuntoMateria, Autoria, MateriaAssunto, |
|
|
|
MateriaLegislativa, Orgao, |
|
|
|
RegimeTramitacao, StatusTramitacao, |
|
|
|
@ -40,7 +40,6 @@ from sapl.norma.models import (LegislacaoCitada, NormaJuridica, |
|
|
|
from sapl.parlamentares.models import Legislatura, Partido, Parlamentar |
|
|
|
from sapl.protocoloadm.models import (Anexado, DocumentoAdministrativo, |
|
|
|
Protocolo) |
|
|
|
from sapl.settings import MAX_DOC_UPLOAD_SIZE |
|
|
|
from sapl.utils import (autor_label, autor_modal, |
|
|
|
ChoiceWithoutValidationField, |
|
|
|
choice_anos_com_materias, FileFieldCheckMixin, |
|
|
|
@ -48,7 +47,7 @@ from sapl.utils import (autor_label, autor_modal, |
|
|
|
lista_anexados, MateriaPesquisaOrderingFilter, |
|
|
|
models_with_gr_for_model, qs_override_django_filter, |
|
|
|
RangeWidgetOverride, SEPARADOR_HASH_PROPOSICAO, |
|
|
|
YES_NO_CHOICES) |
|
|
|
validar_arquivo, YES_NO_CHOICES) |
|
|
|
|
|
|
|
from .models import (AcompanhamentoMateria, Anexada, Autoria, |
|
|
|
DespachoInicial, DocumentoAcessorio, Numeracao, |
|
|
|
@ -255,18 +254,7 @@ class MateriaLegislativaForm(FileFieldCheckMixin, ModelForm): |
|
|
|
texto_original = self.cleaned_data.get('texto_original', False) |
|
|
|
|
|
|
|
if texto_original: |
|
|
|
if len(texto_original.name) > 200: |
|
|
|
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 |
|
|
|
) |
|
|
|
) |
|
|
|
validar_arquivo(texto_original, "Texto Original") |
|
|
|
|
|
|
|
return cleaned_data |
|
|
|
|
|
|
|
@ -368,21 +356,7 @@ class DocumentoAcessorioForm(FileFieldCheckMixin, ModelForm): |
|
|
|
arquivo = self.cleaned_data.get('arquivo', False) |
|
|
|
|
|
|
|
if arquivo: |
|
|
|
if len(arquivo.name) > 200: |
|
|
|
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 |
|
|
|
) |
|
|
|
) |
|
|
|
validar_arquivo(arquivo, "Texto Integral") |
|
|
|
|
|
|
|
return self.cleaned_data |
|
|
|
|
|
|
|
@ -1958,16 +1932,7 @@ class ProposicaoForm(FileFieldCheckMixin, forms.ModelForm): |
|
|
|
texto_original = self.cleaned_data.get('texto_original', False) |
|
|
|
|
|
|
|
if texto_original: |
|
|
|
if len(texto_original.name) > 200: |
|
|
|
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) |
|
|
|
) |
|
|
|
validar_arquivo(texto_original, "Texto Original") |
|
|
|
|
|
|
|
return texto_original |
|
|
|
|
|
|
|
|