|
|
|
@ -1,27 +1,29 @@ |
|
|
|
|
|
|
|
import django_filters |
|
|
|
import logging |
|
|
|
|
|
|
|
from sapl.crispy_layout_mixin import SaplFormHelper |
|
|
|
from crispy_forms.layout import Fieldset, Layout |
|
|
|
|
|
|
|
from django import forms |
|
|
|
from django.core.exceptions import ObjectDoesNotExist, ValidationError |
|
|
|
from django.db import models |
|
|
|
from django.db.models import Q |
|
|
|
from django.forms import ModelForm, widgets, ModelChoiceField |
|
|
|
from django.forms import ModelChoiceField, ModelForm, widgets |
|
|
|
from django.utils import timezone |
|
|
|
from django.utils.translation import ugettext_lazy as _ |
|
|
|
import django_filters |
|
|
|
|
|
|
|
from sapl.base.models import Autor, TipoAutor |
|
|
|
from sapl.crispy_layout_mixin import form_actions, to_row |
|
|
|
from sapl.crispy_layout_mixin import form_actions, SaplFormHelper, to_row |
|
|
|
from sapl.materia.forms import choice_anos_com_materias |
|
|
|
from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa |
|
|
|
from sapl.materia.models import (MateriaLegislativa, |
|
|
|
TipoMateriaLegislativa) |
|
|
|
from sapl.settings import MAX_DOC_UPLOAD_SIZE |
|
|
|
from sapl.utils import NormaPesquisaOrderingFilter, RangeWidgetOverride, \ |
|
|
|
choice_anos_com_normas, FilterOverridesMetaMixin, FileFieldCheckMixin, ANO_CHOICES |
|
|
|
from sapl.utils import (ANO_CHOICES, choice_anos_com_normas, |
|
|
|
FileFieldCheckMixin, FilterOverridesMetaMixin, |
|
|
|
NormaPesquisaOrderingFilter, RangeWidgetOverride, |
|
|
|
validar_arquivo) |
|
|
|
|
|
|
|
from .models import (AnexoNormaJuridica, AssuntoNorma, NormaJuridica, NormaRelacionada, |
|
|
|
TipoNormaJuridica, AutoriaNorma) |
|
|
|
from .models import (AnexoNormaJuridica, AssuntoNorma, AutoriaNorma, |
|
|
|
NormaJuridica, NormaRelacionada, TipoNormaJuridica) |
|
|
|
|
|
|
|
|
|
|
|
def get_esferas(): |
|
|
|
@ -201,17 +203,7 @@ class NormaJuridicaForm(FileFieldCheckMixin, ModelForm): |
|
|
|
texto_integral = self.cleaned_data.get('texto_integral', False) |
|
|
|
|
|
|
|
if texto_integral: |
|
|
|
if len(texto_integral.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(texto_integral.name)) |
|
|
|
) |
|
|
|
if texto_integral.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, (texto_integral.size/1024)/1024 |
|
|
|
) |
|
|
|
) |
|
|
|
validar_arquivo(texto_integral, "Texto Integral") |
|
|
|
|
|
|
|
return texto_integral |
|
|
|
|
|
|
|
@ -299,23 +291,7 @@ class AnexoNormaJuridicaForm(FileFieldCheckMixin, ModelForm): |
|
|
|
anexo_arquivo = self.cleaned_data.get('anexo_arquivo', False) |
|
|
|
|
|
|
|
if anexo_arquivo: |
|
|
|
if len(anexo_arquivo.name) > 200: |
|
|
|
raise ValidationError( |
|
|
|
"Certifique-se de que o nome do arquivo no " \ |
|
|
|
"campo 'Arquivo Anexo' tenha no máximo 200 " \ |
|
|
|
"caracteres (ele possui {})".format( |
|
|
|
len(anexo_arquivo.name) |
|
|
|
) |
|
|
|
) |
|
|
|
if anexo_arquivo.size > MAX_DOC_UPLOAD_SIZE: |
|
|
|
raise ValidationError( |
|
|
|
"O Arquivo Anexo deve ser menor que " \ |
|
|
|
"{0:.1f} mb, o tamanho atual desse arquivo é " \ |
|
|
|
"{1:.1f} mb".format( |
|
|
|
(MAX_DOC_UPLOAD_SIZE/1024)/1024, |
|
|
|
(anexo_arquivo.size/1024)/1024 |
|
|
|
) |
|
|
|
) |
|
|
|
validar_arquivo(anexo_arquivo, "Arquivo Anexo") |
|
|
|
|
|
|
|
return cleaned_data |
|
|
|
|
|
|
|
|