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

45
sapl/protocoloadm/views.py

@ -2,6 +2,7 @@ import json
from datetime import date, datetime from datetime import date, datetime
from braces.views import FormValidMessageMixin from braces.views import FormValidMessageMixin
from django.contrib import messages
from django.contrib.auth.mixins import PermissionRequiredMixin from django.contrib.auth.mixins import PermissionRequiredMixin
from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ObjectDoesNotExist
from django.core.urlresolvers import reverse 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.views.generic.base import TemplateView
from django_filters.views import FilterView from django_filters.views import FilterView
from sapl.base.models import AppConfig
import sapl.crud.base import sapl.crud.base
from sapl.crud.base import (Crud, CrudBaseMixin, CrudCreateView, from sapl.crud.base import (Crud, CrudBaseMixin, CrudCreateView,
CrudDeleteView, CrudListView, CrudUpdateView, CrudDeleteView, CrudListView, CrudUpdateView,
@ -206,18 +209,26 @@ class ProtocoloDocumentoView(PermissionRequiredMixin,
def form_valid(self, form): def form_valid(self, form):
f = form.save(commit=False) f = form.save(commit=False)
if form.cleaned_data['numeracao'] == '1': try:
numeracao = Protocolo.objects.filter( 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')) ano=date.today().year).aggregate(Max('numero'))
elif form.cleaned_data['numeracao'] == '2': elif numeracao == 'U':
numeracao = Protocolo.objects.all().aggregate(Max('numero')) numero = Protocolo.objects.all().aggregate(Max('numero'))
if numeracao['numero__max'] is None: if numero['numero__max'] is None:
numeracao['numero__max'] = 0 numero['numero__max'] = 0
f.tipo_processo = '0' # TODO validar o significado f.tipo_processo = '0' # TODO validar o significado
f.anulado = False f.anulado = False
f.numero = numeracao['numero__max'] + 1 f.numero = numero['numero__max'] + 1
f.ano = datetime.now().year f.ano = datetime.now().year
f.data = datetime.now().strftime('%Y-%m-%d') f.data = datetime.now().strftime('%Y-%m-%d')
f.hora = datetime.now().strftime('%H:%M') f.hora = datetime.now().strftime('%H:%M')
@ -319,18 +330,26 @@ class ProtocoloMateriaView(PermissionRequiredMixin, CreateView):
return reverse('sapl.protocoloadm:protocolo') return reverse('sapl.protocoloadm:protocolo')
def form_valid(self, form): def form_valid(self, form):
if self.request.POST['numeracao'] == '1': try:
numeracao = Protocolo.objects.filter( 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')) ano=date.today().year).aggregate(Max('numero'))
else: elif numeracao == 'U':
numeracao = Protocolo.objects.all().aggregate(Max('numero')) numero = Protocolo.objects.all().aggregate(Max('numero'))
if numeracao is None: if numeracao is None:
numeracao['numero__max'] = 0 numero['numero__max'] = 0
protocolo = Protocolo() protocolo = Protocolo()
protocolo.numero = numeracao['numero__max'] + 1 protocolo.numero = numero['numero__max'] + 1
protocolo.ano = datetime.now().year protocolo.ano = datetime.now().year
protocolo.data = datetime.now().strftime("%Y-%m-%d") protocolo.data = datetime.now().strftime("%Y-%m-%d")
protocolo.hora = datetime.now().strftime("%H:%M") protocolo.hora = datetime.now().strftime("%H:%M")

Loading…
Cancel
Save