Browse Source

Mudancas docadm (#962)

* Mudanças em Protocolo e doc adm

* Eduardo Edson feedback! :)
pull/965/head
Edward 8 years ago
committed by GitHub
parent
commit
02876ff05b
  1. 22
      sapl/protocoloadm/forms.py
  2. 2
      sapl/protocoloadm/models.py
  3. 16
      sapl/protocoloadm/views.py
  4. 2
      sapl/templates/protocoloadm/layouts.yaml

22
sapl/protocoloadm/forms.py

@ -540,6 +540,15 @@ class TramitacaoAdmEditForm(TramitacaoAdmForm):
class DocumentoAdministrativoForm(ModelForm): class DocumentoAdministrativoForm(ModelForm):
data = forms.DateField(initial=datetime.today)
ano_protocolo = forms.ChoiceField(required=False,
label=Protocolo._meta.
get_field('ano').verbose_name,
choices=RANGE_ANOS,
widget=forms.Select(
attrs={'class': 'selector'}))
class Meta: class Meta:
model = DocumentoAdministrativo model = DocumentoAdministrativo
fields = ['tipo', fields = ['tipo',
@ -547,6 +556,7 @@ class DocumentoAdministrativoForm(ModelForm):
'ano', 'ano',
'data', 'data',
'numero_protocolo', 'numero_protocolo',
'ano_protocolo',
'assunto', 'assunto',
'interessado', 'interessado',
'tramitacao', 'tramitacao',
@ -561,23 +571,22 @@ class DocumentoAdministrativoForm(ModelForm):
def clean(self): def clean(self):
numero_protocolo = self.data['numero_protocolo'] numero_protocolo = self.data['numero_protocolo']
ano = self.data['ano'] ano_protocolo = self.data['ano_protocolo']
if numero_protocolo and ano: if numero_protocolo and ano_protocolo:
try: try:
self.fields['protocolo'].initial = Protocolo.objects.get( self.fields['protocolo'].initial = Protocolo.objects.get(
numero=numero_protocolo, numero=numero_protocolo,
ano=ano).pk ano=ano_protocolo).pk
except ObjectDoesNotExist: except ObjectDoesNotExist:
msg = _('Protocolo %s/%s inexistente' % ( msg = _('Protocolo %s/%s inexistente' % (
numero_protocolo, ano)) numero_protocolo, ano_protocolo))
raise ValidationError(str(msg)) raise ValidationError(str(msg))
return self.cleaned_data return self.cleaned_data
def save(self, commit=True): def save(self, commit=True):
documento = super(DocumentoAdministrativoForm, self).save(False) documento = super(DocumentoAdministrativoForm, self).save(False)
if self.fields['protocolo'].initial: if self.fields['protocolo'].initial:
documento.protocolo = Protocolo.objects.get( documento.protocolo = Protocolo.objects.get(
id=int(self.fields['protocolo'].initial)) id=int(self.fields['protocolo'].initial))
@ -587,11 +596,12 @@ class DocumentoAdministrativoForm(ModelForm):
return documento return documento
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
row1 = to_row( row1 = to_row(
[('tipo', 4), ('numero', 4), ('ano', 4)]) [('tipo', 4), ('numero', 4), ('ano', 4)])
row2 = to_row( row2 = to_row(
[('data', 6), ('numero_protocolo', 6)]) [('data', 4), ('numero_protocolo', 4), ('ano_protocolo', 4)])
row3 = to_row( row3 = to_row(
[('assunto', 12)]) [('assunto', 12)])

2
sapl/protocoloadm/models.py

@ -110,7 +110,7 @@ class DocumentoAdministrativo(models.Model):
protocolo = models.ForeignKey( protocolo = models.ForeignKey(
Protocolo, Protocolo,
blank=True, blank=True,
null=True) null=True, verbose_name=_('Protocolo'))
data = models.DateField(verbose_name=_('Data')) data = models.DateField(verbose_name=_('Data'))
numero_protocolo = models.PositiveIntegerField( numero_protocolo = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Núm. Protocolo')) blank=True, null=True, verbose_name=_('Núm. Protocolo'))

16
sapl/protocoloadm/views.py

@ -87,7 +87,7 @@ class DocumentoAdministrativoCrud(Crud):
class BaseMixin(Crud.BaseMixin): class BaseMixin(Crud.BaseMixin):
list_field_names = ['tipo', 'numero', 'ano', 'data', list_field_names = ['tipo', 'numero', 'ano', 'data',
'numero_protocolo', 'assunto', 'numero_protocolo', 'ano_protocolo', 'assunto',
'interessado', 'tramitacao', 'texto_integral'] 'interessado', 'tramitacao', 'texto_integral']
class ListView(DocumentoAdministrativoMixin, Crud.ListView): class ListView(DocumentoAdministrativoMixin, Crud.ListView):
@ -95,9 +95,17 @@ class DocumentoAdministrativoCrud(Crud):
class CreateView(DocumentoAdministrativoMixin, Crud.CreateView): class CreateView(DocumentoAdministrativoMixin, Crud.CreateView):
form_class = DocumentoAdministrativoForm form_class = DocumentoAdministrativoForm
layout_key = None
class UpdateView(DocumentoAdministrativoMixin, Crud.UpdateView): class UpdateView(DocumentoAdministrativoMixin, Crud.UpdateView):
form_class = DocumentoAdministrativoForm form_class = DocumentoAdministrativoForm
layout_key = None
def get_initial(self):
if self.object.protocolo:
p = self.object.protocolo
return {'ano_protocolo': p.ano,
'numero_protocolo': p.numero}
class DetailView(DocumentoAdministrativoMixin, Crud.DetailView): class DetailView(DocumentoAdministrativoMixin, Crud.DetailView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
@ -303,8 +311,10 @@ class CriarDocumentoProtocolo(PermissionRequiredMixin, CreateView):
doc = {} doc = {}
doc['tipo'] = protocolo.tipo_documento doc['tipo'] = protocolo.tipo_documento
doc['ano'] = curr_year doc['ano'] = curr_year
doc['data'] = protocolo.data doc['data'] = datetime.today()
doc['numero_protocolo'] = protocolo.numero doc['numero_protocolo'] = protocolo.numero
doc['ano_protocolo'] = protocolo.ano
doc['protocolo'] = protocolo.id
doc['assunto'] = protocolo.assunto_ementa doc['assunto'] = protocolo.assunto_ementa
doc['interessado'] = protocolo.interessado doc['interessado'] = protocolo.interessado
doc['numero'] = numero_max + 1 if numero_max else 1 doc['numero'] = numero_max + 1 if numero_max else 1
@ -329,7 +339,7 @@ class ProtocoloMostrarView(PermissionRequiredMixin, TemplateView):
else: else:
context['materia'] = materia context['materia'] = materia
elif protocolo.tipo_documento: if protocolo.tipo_documento:
context[ context[
'documentos'] = protocolo.documentoadministrativo_set.all().order_by('-ano', '-numero') 'documentos'] = protocolo.documentoadministrativo_set.all().order_by('-ano', '-numero')

2
sapl/templates/protocoloadm/layouts.yaml

@ -6,7 +6,7 @@ TipoDocumentoAdministrativo:
DocumentoAdministrativo: DocumentoAdministrativo:
{% trans 'Indentificação Básica' %}: {% trans 'Indentificação Básica' %}:
- tipo numero ano - tipo numero ano
- data numero_protocolo - data protocolo
- assunto - assunto
- interessado tramitacao - interessado tramitacao
- texto_integral - texto_integral

Loading…
Cancel
Save