Browse Source

adicionados loggins no app protocoloadm

pull/2307/head
Cesar Carvalho 7 years ago
parent
commit
575447563d
  1. 36
      sapl/protocoloadm/forms.py
  2. 17
      sapl/protocoloadm/views.py

36
sapl/protocoloadm/forms.py

@ -1,5 +1,6 @@
import django_filters
import logging
from crispy_forms.bootstrap import InlineRadios
from crispy_forms.helper import FormHelper
from crispy_forms.layout import HTML, Button, Fieldset, Layout
@ -220,6 +221,8 @@ class AnularProcoloAdmForm(ModelForm):
def clean(self):
super(AnularProcoloAdmForm, self).clean()
logger = logging.getLogger(__name__)
cleaned_data = self.cleaned_data
if not self.is_valid():
@ -229,12 +232,15 @@ class AnularProcoloAdmForm(ModelForm):
ano = cleaned_data['ano']
try:
logger.info("- Tentando obter Protocolo correspondente.")
protocolo = Protocolo.objects.get(numero=numero, ano=ano)
if protocolo.anulado:
logger.error("- Protocolo %s/%s já encontra-se anulado" % (numero, ano))
raise forms.ValidationError(
_("Protocolo %s/%s já encontra-se anulado")
% (numero, ano))
except ObjectDoesNotExist:
logger.error("- Protocolo %s/%s não existe" % (numero, ano))
raise forms.ValidationError(
_("Protocolo %s/%s não existe" % (numero, ano)))
@ -247,6 +253,8 @@ class AnularProcoloAdmForm(ModelForm):
).order_by('-ano', '-numero').exists()
if exists:
logger.error("- Protocolo %s/%s não pode ser removido pois existem "
"documentos vinculados a ele." % (numero, ano))
raise forms.ValidationError(
_("Protocolo %s/%s não pode ser removido pois existem "
"documentos vinculados a ele." % (numero, ano)))
@ -416,18 +424,24 @@ class ProtocoloMateriaForm(ModelForm):
]
def clean_autor(self):
logger = logging.getLogger(__name__)
autor_field = self.cleaned_data['autor']
try:
logger.info("- Tentando obter Autor correspondente.")
autor = Autor.objects.get(id=autor_field.id)
except ObjectDoesNotExist:
logger.error("- Autor não encontrado. Definido como None.")
autor_field = None
else:
logger.info("- Autor encontrado com sucesso.")
autor_field = autor
return autor_field
def clean(self):
super(ProtocoloMateriaForm, self).clean()
logger = logging.getLogger(__name__)
if not self.is_valid():
return self.cleaned_data
@ -435,16 +449,21 @@ class ProtocoloMateriaForm(ModelForm):
if self.is_valid():
if data['vincular_materia'] == 'True':
try:
logger.info("- Tentando obter MateriaLegislativa correspondente.")
if not data['ano_materia'] or not data['numero_materia']:
logger.error("- Favor informar o número e ano da matéria a ser vinculada")
raise ValidationError(
'Favor informar o número e ano da matéria a ser vinculada')
self.materia = MateriaLegislativa.objects.get(ano=data['ano_materia'],
numero=data['numero_materia'],
tipo=data['tipo_materia'])
if self.materia.numero_protocolo:
logger.error("- Matéria Legislativa informada já possui o protocolo {}/{} vinculado."
.format(self.materia.numero_protocolo, self.materia.ano))
raise ValidationError(_('Matéria Legislativa informada já possui o protocolo {}/{} vinculado.'
.format(self.materia.numero_protocolo, self.materia.ano)))
except ObjectDoesNotExist:
logger.error("- Matéria Legislativa informada não existente.")
raise ValidationError(_('Matéria Legislativa informada não existente.'))
return data
@ -666,6 +685,8 @@ class DocumentoAdministrativoForm(ModelForm):
def clean(self):
super(DocumentoAdministrativoForm, self).clean()
logger = logging.getLogger(__name__)
cleaned_data = self.cleaned_data
if not self.is_valid():
@ -693,14 +714,19 @@ class DocumentoAdministrativoForm(ModelForm):
# campos opcionais, mas que se informados devem ser válidos
if numero_protocolo and ano_protocolo:
try:
logger.info("- Tentando obter Protoclo correspondente.")
self.fields['protocolo'].initial = Protocolo.objects.get(
numero=numero_protocolo,
ano=ano_protocolo).pk
except ObjectDoesNotExist:
logger.error("- Protocolo %s/%s inexistente." % (
numero_protocolo, ano_protocolo))
msg = _('Protocolo %s/%s inexistente.' % (
numero_protocolo, ano_protocolo))
raise ValidationError(msg)
except MultipleObjectsReturned:
logger.error("- Existe mais de um Protocolo com este ano e número." % (
numero_protocolo, ano_protocolo))
msg = _(
'Existe mais de um Protocolo com este ano e número.' % (
numero_protocolo, ano_protocolo))
@ -782,6 +808,8 @@ class DesvincularDocumentoForm(ModelForm):
def clean(self):
super(DesvincularDocumentoForm, self).clean()
logger = logging.getLogger(__name__)
cleaned_data = self.cleaned_data
if not self.is_valid():
@ -792,11 +820,14 @@ class DesvincularDocumentoForm(ModelForm):
tipo = cleaned_data['tipo']
try:
logger.info("- Tentando obter DocumentoAdministrativo correspondente.")
documento = DocumentoAdministrativo.objects.get(numero=numero, ano=ano, tipo=tipo)
if not documento.protocolo:
logger.error("- %s %s/%s não se encontra vinculado a nenhum protocolo" % (tipo, numero, ano))
raise forms.ValidationError(
_("%s %s/%s não se encontra vinculado a nenhum protocolo" % (tipo, numero, ano)))
except ObjectDoesNotExist:
logger.error("- %s %s/%s não existe" % (tipo, numero, ano))
raise forms.ValidationError(
_("%s %s/%s não existe" % (tipo, numero, ano)))
@ -844,6 +875,8 @@ class DesvincularMateriaForm(forms.Form):
def clean(self):
super(DesvincularMateriaForm, self).clean()
logger = logging.getLogger(__name__)
cleaned_data = self.cleaned_data
if not self.is_valid():
@ -854,11 +887,14 @@ class DesvincularMateriaForm(forms.Form):
tipo = cleaned_data['tipo']
try:
logger.info("- Tentando obter MateriaLegislativa correspondente.")
materia = MateriaLegislativa.objects.get(numero=numero, ano=ano, tipo=tipo)
if not materia.numero_protocolo:
logger.error("- %s %s/%s não se encontra vinculada a nenhum protocolo" % (tipo, numero, ano))
raise forms.ValidationError(
_("%s %s/%s não se encontra vinculada a nenhum protocolo" % (tipo, numero, ano)))
except ObjectDoesNotExist:
logger.error("- %s %s/%s não existe" % (tipo, numero, ano))
raise forms.ValidationError(
_("%s %s/%s não existe" % (tipo, numero, ano)))

17
sapl/protocoloadm/views.py

@ -18,6 +18,7 @@ from django.views.generic.edit import FormView
from django_filters.views import FilterView
import sapl
import logging
from sapl.base.models import Autor
from sapl.comissoes.models import Comissao
from sapl.crud.base import Crud, CrudAux, MasterDetailCrud, make_pagination
@ -51,7 +52,9 @@ def recuperar_materia_protocolo(request):
tipo = request.GET.get('tipo')
ano = request.GET.get('ano')
numero = request.GET.get('numero')
logger = logging.getLogger(__name__)
try:
logger.info("- Tentando obter matéria correspondente.")
materia = MateriaLegislativa.objects.get(
tipo=tipo, ano=ano,numero=numero)
autoria = materia.autoria_set.first()
@ -62,6 +65,7 @@ def recuperar_materia_protocolo(request):
'tipo_autor':autoria.autor.tipo.pk})
response = JsonResponse(content)
except Exception as e:
logger.error(str(e))
response = JsonResponse({'error':e})
return response
@ -306,10 +310,14 @@ class ProtocoloDocumentoView(PermissionRequiredMixin,
def form_valid(self, form):
protocolo = form.save(commit=False)
logger = logging.getLogger(__name__)
try:
logger.info("- Tentando obter sequência de numeração.")
numeracao = sapl.base.models.AppConfig.objects.last(
).sequencia_numeracao
except AttributeError:
logger.error("- É preciso definir a sequencia de "
"numeração na tabelas auxiliares!")
msg = _('É preciso definir a sequencia de ' +
'numeração na tabelas auxiliares!')
messages.add_message(self.request, messages.ERROR, msg)
@ -385,16 +393,21 @@ class ProtocoloMostrarView(PermissionRequiredMixin, TemplateView):
permission_required = ('protocoloadm.detail_protocolo', )
def get_context_data(self, **kwargs):
logger = logging.getLogger(__name__)
context = super(ProtocoloMostrarView, self).get_context_data(**kwargs)
protocolo = Protocolo.objects.get(pk=self.kwargs['pk'])
if protocolo.tipo_materia:
try:
logger.info("- Tentando obter objeto MateriaLegislativa correspondente.")
materia = MateriaLegislativa.objects.get(
numero_protocolo=protocolo.numero, ano=protocolo.ano)
except ObjectDoesNotExist:
logger.error("- Objeto não encontrado. Definido como None.")
context['materia'] = None
else:
logger.info("- Objeto encontrado.")
context['materia'] = materia
if protocolo.tipo_documento:
@ -450,10 +463,14 @@ class ProtocoloMateriaView(PermissionRequiredMixin, CreateView):
def form_valid(self, form):
protocolo = form.save(commit=False)
logger = logging.getLogger(__name__)
try:
logger.info("- Tentando obter sequência de numeração.")
numeracao = sapl.base.models.AppConfig.objects.last(
).sequencia_numeracao
except AttributeError:
logger.error("É preciso definir a sequencia de "
"numeração na tabelas auxiliares!")
msg = _('É preciso definir a sequencia de ' +
'numeração na tabelas auxiliares!')
messages.add_message(self.request, messages.ERROR, msg)

Loading…
Cancel
Save