Browse Source

Aplica o appconfig a protocolo adm

pull/585/head
Eduardo Calil 8 years ago
parent
commit
7494219cf8
  1. 38
      sapl/protocoloadm/forms.py
  2. 45
      sapl/protocoloadm/views.py

38
sapl/protocoloadm/forms.py

@ -299,13 +299,6 @@ class AnularProcoloAdmForm(ModelForm):
class ProtocoloDocumentForm(ModelForm):
NUMERACAO_CHOICES = [('1', _('Sequencial por Ano')),
('2', _('Sequencial Único'))]
numeracao = forms.ChoiceField(required=True,
choices=NUMERACAO_CHOICES,
label='')
tipo_protocolo = forms.ChoiceField(required=True,
label=_('Tipo de Protocolo'),
choices=TIPOS_PROTOCOLO,)
@ -329,8 +322,7 @@ class ProtocoloDocumentForm(ModelForm):
class Meta:
model = Protocolo
fields = ['numeracao',
'tipo_protocolo',
fields = ['tipo_protocolo',
'tipo_documento',
'num_paginas',
'assunto',
@ -341,28 +333,25 @@ class ProtocoloDocumentForm(ModelForm):
def __init__(self, *args, **kwargs):
row1 = to_row(
[(InlineRadios('numeracao'), 12)])
row2 = to_row(
[(InlineRadios('tipo_protocolo'), 12)])
row3 = to_row(
row2 = to_row(
[('tipo_documento', 6),
('num_paginas', 6)])
row4 = to_row(
row3 = to_row(
[('assunto', 12)])
row5 = to_row(
row4 = to_row(
[('interessado', 12)])
row6 = to_row(
row5 = to_row(
[('observacao', 12)])
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset(_('Protocolo - Opção de Numeração'), row1),
Fieldset(_('Identificação de Documento'),
row1,
row2,
row3,
row4,
row5,
row6,
HTML(" "),
form_actions(save_label=_('Protocolar Documento'))
)
@ -373,13 +362,6 @@ class ProtocoloDocumentForm(ModelForm):
class ProtocoloMateriaForm(ModelForm):
NUMERACAO_CHOICES = [('1', 'Sequencial por Ano'),
('2', 'Sequencial Único')]
numeracao = forms.ChoiceField(required=True,
choices=NUMERACAO_CHOICES,
label='')
tipo_protocolo = forms.ChoiceField(required=True,
label='Tipo de Protocolo',
choices=TIPOS_PROTOCOLO,)
@ -398,8 +380,7 @@ class ProtocoloMateriaForm(ModelForm):
class Meta:
model = Protocolo
fields = ['numeracao',
'tipo_protocolo',
fields = ['tipo_protocolo',
'tipo_materia',
'numero_paginas',
'autor',
@ -408,10 +389,9 @@ class ProtocoloMateriaForm(ModelForm):
def __init__(self, *args, **kwargs):
row1 = to_row(
[(InlineRadios('numeracao'), 12)])
[(InlineRadios('tipo_protocolo'), 12)])
row2 = to_row(
[('tipo_materia', 4),
(InlineRadios('tipo_protocolo'), 4),
('numero_paginas', 4)])
row3 = to_row(
[('autor', 0),
@ -426,8 +406,8 @@ class ProtocoloMateriaForm(ModelForm):
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset(_('Protocolo - Opção de Numeração'), row1),
Fieldset(_('Identificação da Matéria'),
row1,
row2,
HTML(autor_label),
HTML(autor_modal),

45
sapl/protocoloadm/views.py

@ -2,6 +2,7 @@ import json
from datetime import date, datetime
from braces.views import FormValidMessageMixin
from django.contrib import messages
from django.contrib.auth.mixins import PermissionRequiredMixin
from django.core.exceptions import ObjectDoesNotExist
from django.core.urlresolvers import reverse
@ -13,6 +14,8 @@ from django.views.generic import CreateView, DetailView, FormView, ListView
from django.views.generic.base import TemplateView
from django_filters.views import FilterView
from sapl.base.models import AppConfig
import sapl.crud.base
from sapl.crud.base import (Crud, CrudBaseMixin, CrudCreateView,
CrudDeleteView, CrudListView, CrudUpdateView,
@ -206,18 +209,26 @@ class ProtocoloDocumentoView(PermissionRequiredMixin,
def form_valid(self, form):
f = form.save(commit=False)
if form.cleaned_data['numeracao'] == '1':
numeracao = Protocolo.objects.filter(
try:
numeracao = AppConfig.objects.last().sequencia_numeracao
except AttributeError:
msg = _('É preciso definir a sequencia de ' +
'numeração na tabelas auxiliares!')
messages.add_message(self.request, messages.ERROR, msg)
return self.render_to_response(self.get_context_data())
if numeracao == 'A':
numero = Protocolo.objects.filter(
ano=date.today().year).aggregate(Max('numero'))
elif form.cleaned_data['numeracao'] == '2':
numeracao = Protocolo.objects.all().aggregate(Max('numero'))
elif numeracao == 'U':
numero = Protocolo.objects.all().aggregate(Max('numero'))
if numeracao['numero__max'] is None:
numeracao['numero__max'] = 0
if numero['numero__max'] is None:
numero['numero__max'] = 0
f.tipo_processo = '0' # TODO validar o significado
f.anulado = False
f.numero = numeracao['numero__max'] + 1
f.numero = numero['numero__max'] + 1
f.ano = datetime.now().year
f.data = datetime.now().strftime('%Y-%m-%d')
f.hora = datetime.now().strftime('%H:%M')
@ -319,18 +330,26 @@ class ProtocoloMateriaView(PermissionRequiredMixin, CreateView):
return reverse('sapl.protocoloadm:protocolo')
def form_valid(self, form):
if self.request.POST['numeracao'] == '1':
numeracao = Protocolo.objects.filter(
try:
numeracao = AppConfig.objects.last().sequencia_numeracao
except AttributeError:
msg = _('É preciso definir a sequencia de ' +
'numeração na tabelas auxiliares!')
messages.add_message(self.request, messages.ERROR, msg)
return self.render_to_response(self.get_context_data())
if numeracao == 'A':
numero = Protocolo.objects.filter(
ano=date.today().year).aggregate(Max('numero'))
else:
numeracao = Protocolo.objects.all().aggregate(Max('numero'))
elif numeracao == 'U':
numero = Protocolo.objects.all().aggregate(Max('numero'))
if numeracao is None:
numeracao['numero__max'] = 0
numero['numero__max'] = 0
protocolo = Protocolo()
protocolo.numero = numeracao['numero__max'] + 1
protocolo.numero = numero['numero__max'] + 1
protocolo.ano = datetime.now().year
protocolo.data = datetime.now().strftime("%Y-%m-%d")
protocolo.hora = datetime.now().strftime("%H:%M")

Loading…
Cancel
Save