Browse Source

Fix #3022 - sessao

pull/3025/head
João Rodrigues 6 years ago
parent
commit
5563a67dcb
  1. 139
      sapl/sessao/forms.py

139
sapl/sessao/forms.py

@ -1,6 +1,8 @@
import django_filters
from crispy_forms.layout import Button, Fieldset, HTML, Layout
from datetime import datetime from datetime import datetime
from crispy_forms.layout import HTML, Button, Fieldset, Layout
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
@ -9,26 +11,29 @@ from django.db.models import Q
from django.forms import ModelForm from django.forms import ModelForm
from django.forms.widgets import CheckboxSelectMultiple from django.forms.widgets import CheckboxSelectMultiple
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
import django_filters
from sapl.settings import MAX_DOC_UPLOAD_SIZE
from sapl.base.models import Autor, TipoAutor from sapl.base.models import Autor, TipoAutor
from sapl.crispy_layout_mixin import SaplFormHelper from sapl.crispy_layout_mixin import (form_actions, to_row,
from sapl.crispy_layout_mixin import form_actions, to_row, SaplFormLayout SaplFormHelper, SaplFormLayout)
from sapl.materia.forms import MateriaLegislativaFilterSet from sapl.materia.forms import MateriaLegislativaFilterSet
from sapl.materia.models import (MateriaLegislativa, StatusTramitacao, from sapl.materia.models import (MateriaLegislativa, StatusTramitacao,
TipoMateriaLegislativa) TipoMateriaLegislativa)
from sapl.parlamentares.models import Parlamentar, Mandato from sapl.parlamentares.models import Mandato, Parlamentar
from sapl.utils import (RANGE_DIAS_MES, RANGE_MESES, from sapl.settings import MAX_DOC_UPLOAD_SIZE
MateriaPesquisaOrderingFilter, autor_label, from sapl.utils import (autor_label, autor_modal,
autor_modal, timezone, choice_anos_com_sessaoplenaria, choice_anos_com_sessaoplenaria,
FileFieldCheckMixin) FileFieldCheckMixin,
MateriaPesquisaOrderingFilter,
from .models import (Bancada, ExpedienteMateria, JustificativaAusencia, RANGE_DIAS_MES, RANGE_MESES,
Orador, OradorExpediente, OrdemDia, PresencaOrdemDia, SessaoPlenaria, timezone, validar_arquivo)
SessaoPlenariaPresenca, TipoResultadoVotacao,
OcorrenciaSessao, RetiradaPauta, TipoRetiradaPauta, OradorOrdemDia, ORDENACAO_RESUMO, from .models import (Bancada, ExpedienteMateria,
ResumoOrdenacao, RegistroLeitura) JustificativaAusencia, OcorrenciaSessao, Orador,
OradorExpediente, OradorOrdemDia, OrdemDia,
ORDENACAO_RESUMO, PresencaOrdemDia,
RegistroLeitura, ResumoOrdenacao, RetiradaPauta,
SessaoPlenaria, SessaoPlenariaPresenca,
TipoResultadoVotacao, TipoRetiradaPauta)
MES_CHOICES = RANGE_MESES MES_CHOICES = RANGE_MESES
@ -156,49 +161,13 @@ class SessaoPlenariaForm(FileFieldCheckMixin, ModelForm):
upload_anexo = self.cleaned_data.get('upload_anexo', False) upload_anexo = self.cleaned_data.get('upload_anexo', False)
if upload_pauta: if upload_pauta:
if len(upload_pauta.name) > 200: validar_arquivo(upload_pauta, "Pauta da Sessão")
raise ValidationError(
"Certifique-se de que o nome do arquivo no campo 'Pauta da Sessão' tenha " \
"no máximo 200 caracteres (ele possui {})".format(len(upload_pauta.name))
)
if upload_pauta.size > MAX_DOC_UPLOAD_SIZE:
raise ValidationError(
"O arquivo Pauta da Sessão deve ser menor que {0:.1f} mb, o tamanho atual" \
" desse arquivo é {1:.1f} mb".format(
(MAX_DOC_UPLOAD_SIZE/1024)/1024,
(upload_pauta.size/1024)/1024
)
)
if upload_ata: if upload_ata:
if len(upload_ata.name) > 200: validar_arquivo(upload_ata, "Ata da Sessão")
raise ValidationError(
"Certifique-se de que o nome do arquivo no campo 'Ata da Sessão' tenha no" \
" máximo 200 caracteres (ele possui {})".format(len(upload_ata.name))
)
if upload_ata.size > MAX_DOC_UPLOAD_SIZE:
raise ValidationError(
"O arquivo Ata da Sessão deve ser menor que {0:.1f} mb, o tamanho atual " \
"desse arquivo é {1:.1f} mb".format(
(MAX_DOC_UPLOAD_SIZE/1024)/1024,
(upload_ata.size/1024)/1024
)
)
if upload_anexo: if upload_anexo:
if len(upload_anexo.name) > 200: validar_arquivo(upload_anexo, "Anexo da Sessão")
raise ValidationError(
"Certifique-se de que o nome do arquivo no campo 'Anexo da Sessão' 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 da Sessão 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 return self.cleaned_data
@ -716,20 +685,7 @@ class OradorForm(ModelForm):
upload_anexo = self.cleaned_data.get('upload_anexo', False) upload_anexo = self.cleaned_data.get('upload_anexo', False)
if upload_anexo: if upload_anexo:
if len(upload_anexo.name) > 200: validar_arquivo(upload_anexo, "Anexo do Orador")
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 return self.cleaned_data
@ -769,20 +725,7 @@ class OradorExpedienteForm(ModelForm):
upload_anexo = self.cleaned_data.get('upload_anexo', False) upload_anexo = self.cleaned_data.get('upload_anexo', False)
if upload_anexo: if upload_anexo:
if len(upload_anexo.name) > 200: validar_arquivo(upload_anexo, "Anexo do Orador")
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 return self.cleaned_data
@ -824,20 +767,7 @@ class OradorOrdemDiaForm(ModelForm):
upload_anexo = self.cleaned_data.get('upload_anexo', False) upload_anexo = self.cleaned_data.get('upload_anexo', False)
if upload_anexo: if upload_anexo:
if len(upload_anexo.name) > 200: validar_arquivo(upload_anexo, "Anexo do Orador")
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 return self.cleaned_data
@ -1080,20 +1010,7 @@ class JustificativaAusenciaForm(ModelForm):
upload_anexo = self.cleaned_data.get('upload_anexo', False) upload_anexo = self.cleaned_data.get('upload_anexo', False)
if upload_anexo: if upload_anexo:
if len(upload_anexo.name) > 200: validar_arquivo(upload_anexo, "Anexo de Justificativa")
raise ValidationError(
"Certifique-se de que o nome do arquivo no campo " \
"'Anexo de Justificativa' 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 de Justificativa 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 not sessao_plenaria.finalizada or sessao_plenaria.finalizada is None: if not sessao_plenaria.finalizada or sessao_plenaria.finalizada is None:
raise ValidationError( raise ValidationError(

Loading…
Cancel
Save