|
@ -40,7 +40,7 @@ from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES, |
|
|
ChoiceWithoutValidationField, |
|
|
ChoiceWithoutValidationField, |
|
|
MateriaPesquisaOrderingFilter, RangeWidgetOverride, |
|
|
MateriaPesquisaOrderingFilter, RangeWidgetOverride, |
|
|
autor_label, autor_modal, models_with_gr_for_model, |
|
|
autor_label, autor_modal, models_with_gr_for_model, |
|
|
qs_override_django_filter) |
|
|
qs_override_django_filter, gerar_hash_arquivo) |
|
|
|
|
|
|
|
|
from .models import (AcompanhamentoMateria, Anexada, Autoria, DespachoInicial, |
|
|
from .models import (AcompanhamentoMateria, Anexada, Autoria, DespachoInicial, |
|
|
DocumentoAcessorio, Numeracao, Proposicao, Relatoria, |
|
|
DocumentoAcessorio, Numeracao, Proposicao, Relatoria, |
|
@ -1113,9 +1113,14 @@ class ProposicaoForm(forms.ModelForm): |
|
|
widget=widgets.HiddenInput(), |
|
|
widget=widgets.HiddenInput(), |
|
|
required=False) |
|
|
required=False) |
|
|
|
|
|
|
|
|
|
|
|
receber_recibo = forms.TypedChoiceField( |
|
|
|
|
|
choices=YES_NO_CHOICES, |
|
|
|
|
|
label='Deseja protocolar com recibo?') |
|
|
|
|
|
|
|
|
class Meta: |
|
|
class Meta: |
|
|
model = Proposicao |
|
|
model = Proposicao |
|
|
fields = ['tipo', |
|
|
fields = ['tipo', |
|
|
|
|
|
'receber_recibo', |
|
|
'descricao', |
|
|
'descricao', |
|
|
'texto_original', |
|
|
'texto_original', |
|
|
'materia_de_vinculo', |
|
|
'materia_de_vinculo', |
|
@ -1123,11 +1128,13 @@ class ProposicaoForm(forms.ModelForm): |
|
|
'tipo_materia', |
|
|
'tipo_materia', |
|
|
'numero_materia', |
|
|
'numero_materia', |
|
|
'ano_materia', |
|
|
'ano_materia', |
|
|
'tipo_texto'] |
|
|
'tipo_texto', |
|
|
|
|
|
'hash_code'] |
|
|
|
|
|
|
|
|
widgets = { |
|
|
widgets = { |
|
|
'descricao': widgets.Textarea(attrs={'rows': 4}), |
|
|
'descricao': widgets.Textarea(attrs={'rows': 4}), |
|
|
'tipo': TipoProposicaoSelect()} |
|
|
'tipo': TipoProposicaoSelect(), |
|
|
|
|
|
'hash_code': forms.HiddenInput(),} |
|
|
|
|
|
|
|
|
def __init__(self, *args, **kwargs): |
|
|
def __init__(self, *args, **kwargs): |
|
|
self.texto_articulado_proposicao = sapl.base.models.AppConfig.attr( |
|
|
self.texto_articulado_proposicao = sapl.base.models.AppConfig.attr( |
|
@ -1149,11 +1156,13 @@ class ProposicaoForm(forms.ModelForm): |
|
|
to_column(('ano_materia', 4)) |
|
|
to_column(('ano_materia', 4)) |
|
|
), |
|
|
), |
|
|
|
|
|
|
|
|
|
|
|
to_column(('receber_recibo', 3)), |
|
|
to_column( |
|
|
to_column( |
|
|
(Alert('teste', |
|
|
(Alert('teste', |
|
|
css_class="ementa_materia hidden alert-info", |
|
|
css_class="ementa_materia hidden alert-info", |
|
|
dismiss=False), 12)), |
|
|
dismiss=False), 12)), |
|
|
to_column(('descricao', 12)), |
|
|
to_column(('descricao', 12)), |
|
|
|
|
|
|
|
|
] |
|
|
] |
|
|
|
|
|
|
|
|
if self.texto_articulado_proposicao: |
|
|
if self.texto_articulado_proposicao: |
|
@ -1196,6 +1205,7 @@ class ProposicaoForm(forms.ModelForm): |
|
|
"Arquivo muito grande. ( > {0}MB )".format(max_size)) |
|
|
"Arquivo muito grande. ( > {0}MB )".format(max_size)) |
|
|
return texto_original |
|
|
return texto_original |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def clean(self): |
|
|
def clean(self): |
|
|
super(ProposicaoForm, self).clean() |
|
|
super(ProposicaoForm, self).clean() |
|
|
|
|
|
|
|
@ -1221,6 +1231,7 @@ class ProposicaoForm(forms.ModelForm): |
|
|
def save(self, commit=True): |
|
|
def save(self, commit=True): |
|
|
cd = self.cleaned_data |
|
|
cd = self.cleaned_data |
|
|
inst = self.instance |
|
|
inst = self.instance |
|
|
|
|
|
|
|
|
if inst.pk: |
|
|
if inst.pk: |
|
|
if 'tipo_texto' in cd: |
|
|
if 'tipo_texto' in cd: |
|
|
|
|
|
|
|
@ -1245,6 +1256,14 @@ class ProposicaoForm(forms.ModelForm): |
|
|
inst.numero_proposicao = ( |
|
|
inst.numero_proposicao = ( |
|
|
numero__max + 1) if numero__max else 1 |
|
|
numero__max + 1) if numero__max else 1 |
|
|
|
|
|
|
|
|
|
|
|
inst.save() |
|
|
|
|
|
if cd['receber_recibo'] == 'True': |
|
|
|
|
|
inst.hash_code = '' |
|
|
|
|
|
else: |
|
|
|
|
|
_hash = gerar_hash_arquivo(inst.texto_original.path, str(inst.pk)) |
|
|
|
|
|
|
|
|
|
|
|
inst.hash_code = _hash |
|
|
|
|
|
|
|
|
inst.save() |
|
|
inst.save() |
|
|
|
|
|
|
|
|
return inst |
|
|
return inst |
|
|