Browse Source

Val camp regime e fixa de opções de prot ao incorp

pull/760/head
LeandroRoberto 8 years ago
parent
commit
0849e3b942
  1. 30
      sapl/materia/forms.py
  2. 1
      sapl/templates/materia/confirmar_proposicao.html

30
sapl/materia/forms.py

@ -1021,11 +1021,13 @@ class ConfirmarProposicaoForm(ProposicaoForm):
required=False, queryset=RegimeTramitacao.objects.all()) required=False, queryset=RegimeTramitacao.objects.all())
gerar_protocolo = forms.ChoiceField( gerar_protocolo = forms.ChoiceField(
label=_('Gerar Protocolo na incorporação?'), required=False,
label=_(
'Gerar Protocolo na incorporação?'),
choices=YES_NO_CHOICES, choices=YES_NO_CHOICES,
widget=widgets.RadioSelect()) widget=widgets.RadioSelect())
numero_de_paginas = forms.IntegerField(required=False, numero_de_paginas = forms.IntegerField(required=False, min_value=0,
label=_('Número de Páginas'),) label=_('Número de Páginas'),)
class Meta: class Meta:
@ -1052,13 +1054,11 @@ class ConfirmarProposicaoForm(ProposicaoForm):
'proposicao_incorporacao_obrigatoria') 'proposicao_incorporacao_obrigatoria')
if self.proposicao_incorporacao_obrigatoria != 'C': if self.proposicao_incorporacao_obrigatoria != 'C':
self.gerar_protocolo.required = False
if 'gerar_protocolo' in self._meta.fields: if 'gerar_protocolo' in self._meta.fields:
self._meta.fields.remove('gerar_protocolo') self._meta.fields.remove('gerar_protocolo')
else: else:
if 'gerar_protocolo' not in self._meta.fields: if 'gerar_protocolo' not in self._meta.fields:
self._meta.fields.append('gerar_protocolo') self._meta.fields.append('gerar_protocolo')
self.gerar_protocolo.required = False # FIXME True
if self.proposicao_incorporacao_obrigatoria == 'N': if self.proposicao_incorporacao_obrigatoria == 'N':
if 'numero_de_paginas' in self._meta.fields: if 'numero_de_paginas' in self._meta.fields:
@ -1106,8 +1106,8 @@ class ConfirmarProposicaoForm(ProposicaoForm):
if self.proposicao_incorporacao_obrigatoria != 'N': if self.proposicao_incorporacao_obrigatoria != 'N':
itens_incorporacao.append(to_column(('numero_de_paginas', 4))) itens_incorporacao.append(to_column(('numero_de_paginas', 4)))
itens_incorporacao.append(FormActions(Submit( itens_incorporacao.append(to_column((FormActions(Submit(
'incorporar', _('Incorporar'), css_class='pull-right'))) 'incorporar', _('Incorporar'), css_class='pull-right')), 12)))
fields.append( fields.append(
Fieldset(_('Registro de Incorporação'), *itens_incorporacao)) Fieldset(_('Registro de Incorporação'), *itens_incorporacao))
@ -1115,10 +1115,10 @@ class ConfirmarProposicaoForm(ProposicaoForm):
fields.append( fields.append(
Fieldset( Fieldset(
_('Registro de Devolução'), _('Registro de Devolução'),
'justificativa_devolucao', to_column(('justificativa_devolucao', 12)),
FormActions(Submit( to_column((FormActions(Submit(
'devolver', _('Devolver'), 'devolver', _('Devolver'),
css_class='btn-danger pull-right')) css_class='btn-danger pull-right')), 12))
)) ))
self.helper = FormHelper() self.helper = FormHelper()
self.helper.layout = Layout(*fields) self.helper.layout = Layout(*fields)
@ -1141,10 +1141,15 @@ class ConfirmarProposicaoForm(ProposicaoForm):
if 'incorporar' in self.data: if 'incorporar' in self.data:
cd = ProposicaoForm.clean(self) cd = ProposicaoForm.clean(self)
# FIXME em caso de incorporação validar regime e numero de páginas if self.instance.tipo.conteudo.model_class() ==\
TipoMateriaLegislativa:
if 'regime_tramitacao' not in cd or\
not cd['regime_tramitacao']:
raise ValidationError(
_('Regimente de Tramitação deve ser informado.'))
if self.instance.tipo.conteudo.model_class() == TipoDocumento and\ elif self.instance.tipo.conteudo.model_class() == TipoDocumento\
not cd['materia_de_vinculo']: and not cd['materia_de_vinculo']:
raise ValidationError( raise ValidationError(
_('Documentos não podem ser incorporados sem definir ' _('Documentos não podem ser incorporados sem definir '
@ -1163,6 +1168,7 @@ class ConfirmarProposicaoForm(ProposicaoForm):
_('Dados de Confirmação invalidos.')) _('Dados de Confirmação invalidos.'))
return cd return cd
@transaction.atomic
def save(self, commit=False): def save(self, commit=False):
# TODO Implementar workflow entre protocolo e autores # TODO Implementar workflow entre protocolo e autores
cd = self.cleaned_data cd = self.cleaned_data

1
sapl/templates/materia/confirmar_proposicao.html

@ -15,6 +15,7 @@
</div> </div>
{% endblock actions%} {% endblock actions%}
</div> </div>
<br>
{{block.super}} {{block.super}}

Loading…
Cancel
Save