Browse Source

Trata e salva o Protocolo na criação e edição de DocAdm

pull/940/head
Eduardo Calil 9 years ago
parent
commit
2981f8b81a
  1. 29
      sapl/protocoloadm/forms.py
  2. 6
      sapl/protocoloadm/views.py

29
sapl/protocoloadm/forms.py

@ -554,14 +554,39 @@ class DocumentoAdministrativoForm(ModelForm):
'data_fim_prazo',
'observacao',
'texto_integral',
'protocolo',
]
widgets = {'protocolo': forms.HiddenInput()}
def clean(self):
numero_protocolo = self.data['numero_protocolo']
ano = self.data['ano']
if numero_protocolo and ano:
try:
self.fields['protocolo'].initial = Protocolo.objects.get(
numero=numero_protocolo,
ano=ano).pk
except ObjectDoesNotExist:
msg = _('Protocolo %s/%s inexistente' % (
numero_protocolo, ano))
raise ValidationError(str(msg))
return self.cleaned_data
def save(self, commit=True):
documento = super(DocumentoAdministrativoForm, self).save(commit)
documento = super(DocumentoAdministrativoForm, self).save(False)
if self.fields['protocolo'].initial:
documento.protocolo = Protocolo.objects.get(
id=int(self.fields['protocolo'].initial))
documento.save()
return documento
def __init__(self, *args, **kwargs):
row1 = to_row(
[('tipo', 4), ('numero', 4), ('ano', 4)])

6
sapl/protocoloadm/views.py

@ -93,6 +93,12 @@ class DocumentoAdministrativoCrud(Crud):
class ListView(DocumentoAdministrativoMixin, Crud.ListView):
pass
class CreateView(DocumentoAdministrativoMixin, Crud.CreateView):
form_class = DocumentoAdministrativoForm
class UpdateView(DocumentoAdministrativoMixin, Crud.UpdateView):
form_class = DocumentoAdministrativoForm
class DetailView(DocumentoAdministrativoMixin, Crud.DetailView):
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)

Loading…
Cancel
Save