@ -13,10 +13,13 @@ from sapl.comissoes.models import (Comissao, Composicao, DocumentoAcessorio,
Participacao , Reuniao , Periodo )
from sapl . parlamentares . models import Legislatura , Mandato , Parlamentar
class ComposicaoForm ( forms . ModelForm ) :
comissao = forms . CharField ( required = False , label = ' Comissao ' , widget = forms . HiddenInput ( ) )
comissao = forms . CharField (
required = False , label = ' Comissao ' , widget = forms . HiddenInput ( ) )
logger = logging . getLogger ( __name__ )
class Meta :
model = Composicao
exclude = [ ]
@ -55,6 +58,7 @@ class ComposicaoForm(forms.ModelForm):
class PeriodoForm ( forms . ModelForm ) :
logger = logging . getLogger ( __name__ )
class Meta :
model = Periodo
exclude = [ ]
@ -90,11 +94,9 @@ class PeriodoForm(forms.ModelForm):
' deve estar contido em uma única '
' legislatura existente ' )
return cleaned_data
class ParticipacaoCreateForm ( forms . ModelForm ) :
logger = logging . getLogger ( __name__ )
@ -137,7 +139,6 @@ class ParticipacaoCreateForm(forms.ModelForm):
qs = Parlamentar . objects . filter ( id__in = ids )
self . fields [ ' parlamentar ' ] . queryset = qs
def clean ( self ) :
cleaned_data = super ( ParticipacaoCreateForm , self ) . clean ( )
@ -155,15 +156,16 @@ class ParticipacaoCreateForm(forms.ModelForm):
' à data de desligamento ' ) )
composicao = Composicao . objects . get ( id = self . initial [ ' parent_pk ' ] )
cargos_unicos = [ c . cargo . nome for c in composicao . participacao_set . filter ( cargo__unico = True ) ]
cargos_unicos = [
c . cargo . nome for c in composicao . participacao_set . filter ( cargo__unico = True ) ]
if cleaned_data [ ' cargo ' ] . nome in cargos_unicos :
msg = _ ( ' Este cargo é único para esta Comissão. ' )
self . logger . error ( ' Este cargo ( {} ) é único para esta Comissão. ' . format ( cleaned_data [ ' cargo ' ] . nome ) )
self . logger . error ( ' Este cargo ( {} ) é único para esta Comissão. ' . format (
cleaned_data [ ' cargo ' ] . nome ) )
raise ValidationError ( msg )
return cleaned_data
def create_participacao ( self ) :
composicao = Composicao . objects . get ( id = self . initial [ ' parent_pk ' ] )
data_inicio_comissao = composicao . periodo . data_inicio
@ -259,6 +261,7 @@ class ParticipacaoEditForm(forms.ModelForm):
class ComissaoForm ( forms . ModelForm ) :
logger = logging . getLogger ( __name__ )
class Meta :
model = Comissao
fields = ' __all__ '
@ -274,8 +277,6 @@ class ComissaoForm(forms.ModelForm):
self . fields [ ' data_prorrogada_temp ' ] . widget . attrs [ ' disabled ' ] = ' disabled '
self . fields [ ' data_fim_comissao ' ] . widget . attrs [ ' disabled ' ] = ' disabled '
def clean ( self ) :
super ( ComissaoForm , self ) . clean ( )
@ -283,8 +284,10 @@ class ComissaoForm(forms.ModelForm):
return self . cleaned_data
if len ( self . cleaned_data [ ' nome ' ] ) > 100 :
msg = _ ( ' Nome da Comissão informado ( {} ) tem mais de 50 caracteres. ' . format ( self . cleaned_data [ ' nome ' ] ) )
self . logger . error ( ' Nome da Comissão deve ter no máximo 50 caracteres. ' )
msg = _ ( ' Nome da Comissão informado ( {} ) tem mais de 50 caracteres. ' . format (
self . cleaned_data [ ' nome ' ] ) )
self . logger . error (
' Nome da Comissão deve ter no máximo 50 caracteres. ' )
raise ValidationError ( msg )
if ( self . cleaned_data [ ' data_extincao ' ] and
self . cleaned_data [ ' data_extincao ' ] <
@ -317,7 +320,8 @@ class ComissaoForm(forms.ModelForm):
if ( self . cleaned_data [ ' data_final_prevista_temp ' ] and self . cleaned_data [ ' data_instalacao_temp ' ] and
self . cleaned_data [ ' data_final_prevista_temp ' ] <
self . cleaned_data [ ' data_instalacao_temp ' ] ) :
msg = _ ( ' Data Prevista para Término não pode ser menor que a de Instalação. ' )
msg = _ (
' Data Prevista para Término não pode ser menor que a de Instalação. ' )
self . logger . error ( ' Data Prevista para Término ( {} ) não pode ser menor que a de Instalação ( {} ). '
. format ( self . cleaned_data [ ' data_final_prevista_temp ' ] , self . cleaned_data [ ' data_instalacao_temp ' ] ) )
raise ValidationError ( msg )
@ -337,7 +341,7 @@ class ComissaoForm(forms.ModelForm):
comissao = super ( ComissaoForm , self ) . save ( commit )
content_type = ContentType . objects . get_for_model ( Comissao )
object_id = comissao . pk
tipo = TipoAutor . objects . get ( descricao__icontains = ' Comiss ' )
tipo = TipoAutor . objects . get ( content_type = content_type )
nome = comissao . sigla + ' - ' + comissao . nome
Autor . objects . create (
content_type = content_type ,
@ -364,19 +368,20 @@ class ReuniaoForm(ModelForm):
def clean ( self ) :
super ( ReuniaoForm , self ) . clean ( )
if not self . is_valid ( ) :
return self . cleaned_data
if self . cleaned_data [ ' hora_fim ' ] :
if ( self . cleaned_data [ ' hora_fim ' ] <
self . cleaned_data [ ' hora_inicio ' ] ) :
msg = _ ( ' A hora de término da reunião não pode ser menor que a de início ' )
msg = _ (
' A hora de término da reunião não pode ser menor que a de início ' )
self . logger . error ( " A hora de término da reunião ( {} ) não pode ser menor que a de início ( {} ). "
. format ( self . cleaned_data [ ' hora_fim ' ] , self . cleaned_data [ ' hora_inicio ' ] ) )
raise ValidationError ( msg )
return self . cleaned_data
class DocumentoAcessorioCreateForm ( forms . ModelForm ) :
parent_pk = forms . CharField ( required = False ) # widget=forms.HiddenInput())
@ -395,7 +400,6 @@ class DocumentoAcessorioCreateForm(forms.ModelForm):
documentos = reuniao . documentoacessorio_set . all ( )
return self . create_documentoacessorio ( )
def create_documentoacessorio ( self ) :
reuniao = Reuniao . objects . get ( id = self . initial [ ' parent_pk ' ] )