diff --git a/sapl/api/serializers.py b/sapl/api/serializers.py
index b3ff9213e..ebd40add9 100644
--- a/sapl/api/serializers.py
+++ b/sapl/api/serializers.py
@@ -139,7 +139,7 @@ class ParlamentarResumeSerializer(serializers.ModelSerializer):
# Caso não exista filiação com essas condições
except ObjectDoesNotExist:
- self.logger.error("user=" + username + ". Parlamentar com (data<={} e data_desfiliacao>={}) "
+ self.logger.warning("user=" + username + ". Parlamentar com (data<={} e data_desfiliacao>={}) "
"ou (data<={} e data_desfiliacao=Null)) não possui filiação."
.format(legislatura.data_fim, legislatura.data_fim, legislatura.data_fim))
filiacao = 'Não possui filiação'
diff --git a/sapl/materia/views.py b/sapl/materia/views.py
index db28dd2c3..773ca0eaf 100644
--- a/sapl/materia/views.py
+++ b/sapl/materia/views.py
@@ -736,8 +736,14 @@ class ProposicaoCrud(Crud):
container_field = 'autor__user'
class BaseMixin(Crud.BaseMixin):
- list_field_names = ['data_envio', 'data_recebimento', 'descricao',
- 'tipo', 'conteudo_gerado_related', 'cancelado', ]
+ list_field_names = [
+ 'data_envio',
+ 'data_recebimento',
+ 'descricao',
+ 'tipo',
+ 'conteudo_gerado_related',
+ 'cancelado'
+ ]
class BaseLocalMixin:
form_class = ProposicaoForm
@@ -751,22 +757,23 @@ class ProposicaoCrud(Crud):
def get(self, request, *args, **kwargs):
if not self._action_is_valid(request, *args, **kwargs):
- return redirect(reverse('sapl.materia:proposicao_detail',
- kwargs={'pk': kwargs['pk']}))
+ return redirect(reverse('sapl.materia:proposicao_detail', kwargs={'pk': kwargs['pk']}))
return super().get(self, request, *args, **kwargs)
def post(self, request, *args, **kwargs):
if not self._action_is_valid(request, *args, **kwargs):
- return redirect(reverse('sapl.materia:proposicao_detail',
- kwargs={'pk': kwargs['pk']}))
+ return redirect(reverse('sapl.materia:proposicao_detail', kwargs={'pk': kwargs['pk']}))
return super().post(self, request, *args, **kwargs)
class DetailView(Crud.DetailView):
layout_key = 'Proposicao'
- permission_required = (RP_DETAIL, 'materia.detail_proposicao_enviada',
- 'materia.detail_proposicao_devolvida',
- 'materia.detail_proposicao_incorporada')
+ permission_required = (
+ RP_DETAIL,
+ 'materia.detail_proposicao_enviada',
+ 'materia.detail_proposicao_devolvida',
+ 'materia.detail_proposicao_incorporada'
+ )
logger = logging.getLogger(__name__)
@@ -785,7 +792,6 @@ class ProposicaoCrud(Crud):
return context
def get(self, request, *args, **kwargs):
-
action = request.GET.get('action', '')
user = request.user
username = user.username
@@ -802,10 +808,8 @@ class ProposicaoCrud(Crud):
msg_error = _('Proposição já foi enviada e recebida.')
elif p.data_envio:
msg_error = _('Proposição já foi enviada.')
- elif not p.texto_original and\
- not p.texto_articulado.exists():
- msg_error = _('Proposição não possui nenhum tipo de '
- 'Texto associado.')
+ elif not p.texto_original and not p.texto_articulado.exists():
+ msg_error = _('Proposição não possui nenhum tipo de Texto associado.')
else:
if p.texto_articulado.exists():
ta = p.texto_articulado.first()
@@ -813,8 +817,7 @@ class ProposicaoCrud(Crud):
ta.editing_locked = True
ta.save()
- receber_recibo = BaseAppConfig.attr(
- 'receber_recibo_proposicao')
+ receber_recibo = BaseAppConfig.attr('receber_recibo_proposicao')
if not receber_recibo:
ta = p.texto_articulado.first()
@@ -824,45 +827,39 @@ class ProposicaoCrud(Crud):
p.data_envio = timezone.now()
p.save()
- messages.success(request, _(
- 'Proposição enviada com sucesso.'))
+ messages.success(request, _('Proposição enviada com sucesso.'))
try:
- self.logger.debug("user=" + username + ". Tentando obter número do objeto MateriaLegislativa com "
- "atributos tipo={} e ano={}."
- .format(p.tipo.tipo_conteudo_related, p.ano))
+ self.logger.debug("User={}. Tentando obter número do objeto MateriaLegislativa "
+ "com atributos tipo={} e ano={}."
+ .format(username, p.tipo.tipo_conteudo_related, p.ano))
if p.numero_materia_futuro:
numero = p.numero_materia_futuro
else:
numero = MateriaLegislativa.objects.filter(tipo=p.tipo.tipo_conteudo_related,
ano=p.ano).last().numero + 1
- messages.success(request, _(
- '%s : nº %s de %s
Atenção! Este número é apenas um provável '
- 'número que pode não corresponder com a realidade'
- % (p.tipo, numero, p.ano)))
+ messages.success(request, _("{}: nº {} de {}
Atenção! Este número é apenas um provável "
+ "número que pode não corresponder com a realidade"
+ .format(p.tipo, numero, p.ano)))
except ValueError as e:
- self.logger.error(
- "user=" + username + "." + str(e))
+ self.logger.warning("User=" + username + ". " + str(e))
pass
except AttributeError as e:
- self.logger.error(
- "user=" + username + "." + str(e))
+ self.logger.warning("User=" + username + ". " + str(e))
pass
except TypeError as e:
- self.logger.error(
- "user=" + username + "." + str(e))
+ self.logger.warning("User=" + username + ". " + str(e))
pass
elif action == 'return':
if not p.data_envio:
- self.logger.error(
- "user=" + username + ". Proposição (numero={}) ainda não foi enviada.".format(p.numero_proposicao))
+ self.logger.warning("User={}. Proposição (numero={}) ainda não foi enviada."
+ .format(username, p.numero_proposicao))
msg_error = _('Proposição ainda não foi enviada.')
elif p.data_recebimento:
- self.logger.error("user=" + username + ". Proposição (numero={}) já foi recebida, não é "
- "possível retorná-la.".format(p.numero_proposicao))
- msg_error = _('Proposição já foi recebida, não é '
- 'possível retorná-la.')
+ self.logger.warning("User={}. Proposição (numero={}) já foi recebida, "
+ "não é possível retorná-la.".format(username, p.numero_proposicao))
+ msg_error = _('Proposição já foi recebida, não é possível retorná-la.')
else:
p.data_envio = None
p.save()
@@ -871,27 +868,24 @@ class ProposicaoCrud(Crud):
ta.privacidade = STATUS_TA_PRIVATE
ta.editing_locked = False
ta.save()
- self.logger.info(
- "user=" + username + ". Proposição (numero={}) Retornada com sucesso.".format(p.numero_proposicao))
- messages.success(request, _(
- 'Proposição Retornada com sucesso.'))
+ self.logger.info("User={}. Proposição (numero={}) Retornada com sucesso."
+ .format(username, p.numero_proposicao))
+ messages.success(request, _('Proposição Retornada com sucesso.'))
if msg_error:
messages.error(request, msg_error)
# retornar redirecionando para limpar a variavel action
- return redirect(reverse('sapl.materia:proposicao_detail',
- kwargs={'pk': kwargs['pk']}))
+ return redirect(reverse('sapl.materia:proposicao_detail', kwargs={'pk': kwargs['pk']}))
def dispatch(self, request, *args, **kwargs):
username = request.user.username
try:
- self.logger.debug(
- "user=" + username + ". Tentando obter objeto Proposicao com pk={}".format(kwargs['pk']))
+ self.logger.debug("User={}. Tentando obter objeto Proposicao com pk={}".format(username, kwargs['pk']))
p = Proposicao.objects.get(id=kwargs['pk'])
except Exception as e:
- self.logger.error(
- "user=" + username + ". Erro ao obter proposicao com pk={}. Retornando 404. ".format(kwargs['pk']) + str(e))
+ self.logger.warning("User={}. Erro ao obter proposicao com pk={}. Retornando 404. {}"
+ .format(username, kwargs['pk'], str(e)))
raise Http404()
if not self.has_permission():
@@ -901,47 +895,38 @@ class ProposicaoCrud(Crud):
if not p.data_envio and not p.data_devolucao:
raise Http404()
- if p.data_devolucao and not request.user.has_perm(
- 'materia.detail_proposicao_devolvida'):
+ if p.data_devolucao and not request.user.has_perm('materia.detail_proposicao_devolvida'):
raise Http404()
- if p.data_envio and not p.data_recebimento\
- and not request.user.has_perm(
- 'materia.detail_proposicao_enviada'):
+ if p.data_envio and not p.data_recebimento \
+ and not request.user.has_perm('materia.detail_proposicao_enviada'):
raise Http404()
- if p.data_envio and p.data_recebimento\
- and not request.user.has_perm(
- 'materia.detail_proposicao_incorporada'):
+ if p.data_envio and p.data_recebimento \
+ and not request.user.has_perm('materia.detail_proposicao_incorporada'):
raise Http404()
- return super(PermissionRequiredMixin, self).dispatch(
- request, *args, **kwargs)
+ return super(PermissionRequiredMixin, self).dispatch(request, *args, **kwargs)
class DeleteView(BaseLocalMixin, Crud.DeleteView):
-
logger = logging.getLogger(__name__)
def _action_is_valid(self, request, *args, **kwargs):
- proposicao = Proposicao.objects.filter(
- id=kwargs['pk']).values_list(
- 'data_envio', 'data_recebimento')
+ proposicao = Proposicao.objects.filter(id=kwargs['pk']).values_list('data_envio', 'data_recebimento')
username = request.user.username
if proposicao:
if proposicao[0][0] and proposicao[0][1]:
- self.logger.error("user=" + username + ". Proposição (id={}) já foi enviada e recebida."
- "Não pode mais ser excluida.".format(kwargs['pk']))
- msg = _('Proposição já foi enviada e recebida.'
- 'Não pode mais ser excluida.')
+ self.logger.warning("User={}. Proposição (id={}) já foi enviada e recebida."
+ "Não pode mais ser excluida.".format(username, kwargs['pk']))
+ msg = _('Proposição já foi enviada e recebida. Não pode mais ser excluida.')
elif proposicao[0][0] and not proposicao[0][1]:
- self.logger.error("user=" + username + ". Proposição (id={}) já foi enviada mas ainda não recebida "
- "pelo protocolo. Use a opção Recuperar Proposição "
- "para depois excluí-la.".format(kwargs['pk']))
- msg = _('Proposição já foi enviada mas ainda não recebida '
- 'pelo protocolo. Use a opção Recuperar Proposição '
- 'para depois excluí-la.')
+ self.logger.warning("""\
+ User={}. Proposição (id={}) já foi enviada, mas ainda não recebida pelo protocolo. \
+ Use a opção Recuperar Proposição para depois excluí-la.""".format(username, kwargs['pk']))
+ msg = _("Proposição já foi enviada mas ainda não recebida pelo protocolo. "
+ "Use a opção Recuperar Proposição para depois excluí-la.")
if proposicao[0][0] or proposicao[0][1]:
messages.error(request, msg)
@@ -949,20 +934,18 @@ class ProposicaoCrud(Crud):
return True
class UpdateView(BaseLocalMixin, Crud.UpdateView):
-
logger = logging.getLogger(__name__)
form_class = ProposicaoForm
def form_valid(self, form):
tz = timezone.get_current_timezone()
- objeto_antigo = Proposicao.objects.get(
- pk=self.kwargs['pk']
- )
+ objeto_antigo = Proposicao.objects.get(pk=self.kwargs['pk'])
dict_objeto_antigo = objeto_antigo.__dict__
tipo_texto = self.request.POST.get('tipo_texto', '')
- if tipo_texto=='D' and objeto_antigo.texto_articulado.exists() or tipo_texto=='T' and not objeto_antigo.texto_articulado.exists():
+ if tipo_texto == 'D' and objeto_antigo.texto_articulado.exists()\
+ or tipo_texto == 'T' and not objeto_antigo.texto_articulado.exists():
self.object.user = self.request.user
self.object.ip = get_client_ip(self.request)
self.object.ultima_edicao = tz.localize(datetime.now())
@@ -972,7 +955,10 @@ class ProposicaoCrud(Crud):
dict_objeto_novo = self.object.__dict__
atributos = [
- 'tipo_id', 'descricao', 'observacao', 'texto_original',
+ 'tipo_id',
+ 'descricao',
+ 'observacao',
+ 'texto_original',
'materia_de_vinculo_id'
]
@@ -987,27 +973,22 @@ class ProposicaoCrud(Crud):
return super().form_valid(form)
def _action_is_valid(self, request, *args, **kwargs):
-
- proposicao = Proposicao.objects.filter(
- id=kwargs['pk']).values_list(
- 'data_envio', 'data_recebimento')
+ proposicao = Proposicao.objects.filter(id=kwargs['pk']).values_list('data_envio', 'data_recebimento')
username = request.user.username
if proposicao:
msg = ''
if proposicao[0][0] and proposicao[0][1]:
- self.logger.error('user=' + username + '. Proposição (id={}) já foi enviada e recebida.'
- 'Não pode mais ser editada'.format(kwargs['pk']))
- msg = _('Proposição já foi enviada e recebida.'
- 'Não pode mais ser editada')
+ self.logger.warning('User={}. Proposição (id={}) já foi enviada e recebida. '
+ 'Não pode mais ser editada'.format(username, kwargs['pk']))
+ msg = _('Proposição já foi enviada e recebida. Não pode mais ser editada')
elif proposicao[0][0] and not proposicao[0][1]:
- self.logger.error('user=' + username + '. Proposição (id={}) já foi enviada mas ainda não recebida '
- 'pelo protocolo. Use a opção Recuperar Proposição '
- 'para voltar para edição.'.format(kwargs['pk']))
- msg = _('Proposição já foi enviada mas ainda não recebida '
- 'pelo protocolo. Use a opção Recuperar Proposição '
- 'para voltar para edição.')
+ self.logger.warning("""\
+ User={}. Proposição (id={}) já foi enviada, mas ainda não recebida pelo protocolo. \
+ Use a opção Recuperar Proposição para voltar para edição.""".format(username, kwargs['pk']))
+ msg = _("Proposição já foi enviada, mas ainda não recebida pelo protocolo. "
+ "Use a opção Recuperar Proposição para voltar para edição.")
if proposicao[0][0] or proposicao[0][1]:
messages.error(request, msg)
@@ -1015,22 +996,17 @@ class ProposicaoCrud(Crud):
return True
def get_success_url(self):
-
tipo_texto = self.request.POST.get('tipo_texto', '')
username = self.request.user.username
if tipo_texto == 'T':
- messages.info(self.request,
- _('Sempre que uma Proposição é inclusa ou '
- 'alterada e a opção "Texto Articulado " for '
- 'marcada, você será redirecionado para a '
- 'edição do Texto Eletrônico.'))
- self.logger.debug('user=' + username + '. Sempre que uma Proposição é inclusa ou '
- 'alterada e a opção "Texto Articulado " for '
- 'marcada, você será redirecionado para a '
- 'edição do Texto Eletrônico.')
- return reverse('sapl.materia:proposicao_ta',
- kwargs={'pk': self.object.pk})
+ messages.info(self.request, _("""\
+ Sempre que uma Proposição é inclusa ou alterada e a opção "Texto Articulado " for marcada, \
+ você será redirecionado para a edição do Texto Eletrônico."""))
+ self.logger.debug("""\
+ User={}. Sempre que uma Proposição é inclusa ou alterada e a opção "Texto Articulado" for marcada, \
+ você será redirecionado para a edição do Texto Eletrônico.""".format(username))
+ return reverse('sapl.materia:proposicao_ta', kwargs={'pk': self.object.pk})
else:
return Crud.UpdateView.get_success_url(self)
@@ -1061,43 +1037,38 @@ class ProposicaoCrud(Crud):
username = self.request.user.username
if tipo_texto == 'T':
- messages.info(self.request,
- _('Sempre que uma Proposição é inclusa ou '
- 'alterada e a opção "Texto Articulado " for '
- 'marcada, você será redirecionado para o '
- 'Texto Eletrônico. Use a opção "Editar Texto" '
- 'para construir seu texto.'))
- self.logger.debug('user=' + username + '. Sempre que uma Proposição é inclusa ou '
- 'alterada e a opção "Texto Articulado " for '
- 'marcada, você será redirecionado para o '
- 'Texto Eletrônico. Use a opção "Editar Texto" '
- 'para construir seu texto.')
- return reverse('sapl.materia:proposicao_ta',
- kwargs={'pk': self.object.pk})
+ messages.info(self.request, _("""\
+ Sempre que uma Proposição é inclusa ou alterada e a opção "Texto Articulado" for marcada, \
+ você será redirecionado para o Texto Eletrônico. \
+ Use a opção "Editar Texto" para construir seu texto."""))
+ self.logger.debug("""\
+ User={}. Sempre que uma Proposição é inclusa ou alterada e a opção "Texto Articulado" for marcada, \
+ você será redirecionado para o Texto Eletrônico. \
+ Use a opção "Editar Texto" para construir seu texto.""".format(username))
+ return reverse('sapl.materia:proposicao_ta', kwargs={'pk': self.object.pk})
else:
return Crud.CreateView.get_success_url(self)
class ListView(Crud.ListView):
- ordering = ['-data_envio', 'descricao']
+ ordering = [
+ '-data_envio',
+ 'descricao'
+ ]
def get_rows(self, object_list):
for obj in object_list:
if obj.data_recebimento is None:
- obj.data_recebimento = 'Não recebida'\
- if obj.data_envio else 'Não enviada'
+ obj.data_recebimento = 'Não recebida' if obj.data_envio else 'Não enviada'
else:
- obj.data_recebimento = timezone.localtime(
- obj.data_recebimento)
- obj.data_recebimento = formats.date_format(
- obj.data_recebimento, "DATETIME_FORMAT")
+ obj.data_recebimento = timezone.localtime(obj.data_recebimento)
+ obj.data_recebimento = formats.date_format(obj.data_recebimento, "DATETIME_FORMAT")
if obj.data_envio is None:
obj.data_envio = 'Em elaboração...'
else:
obj.data_envio = timezone.localtime(obj.data_envio)
- obj.data_envio = formats.date_format(
- obj.data_envio, "DATETIME_FORMAT")
+ obj.data_envio = formats.date_format(obj.data_envio, "DATETIME_FORMAT")
return [self._as_row(obj) for obj in object_list]
@@ -2757,11 +2728,11 @@ def create_zip_docacessorios(materia):
def get_zip_docacessorios(request, pk):
logger = logging.getLogger(__name__)
- username = request.user.username
+ username = 'Usuário anônimo' if request.user.is_anonymous else request.user.username
materia = get_object_or_404(MateriaLegislativa, pk=pk)
try:
external_name, zipfilename = create_zip_docacessorios(materia)
- logger.info("user= {}. Gerou o zip compilado de documento acessorios")
+ logger.info("user= {}. Gerou o zip compilado de documento acessorios".format(username))
except FileNotFoundError:
logger.error("user= {}.Não há arquivos cadastrados".format(username))
msg=_('Não há arquivos cadastrados nesses documentos acessórios.')
@@ -2822,10 +2793,10 @@ def create_pdf_docacessorios(materia):
def get_pdf_docacessorios(request, pk):
materia = get_object_or_404(MateriaLegislativa, pk=pk)
logger = logging.getLogger(__name__)
- username = request.user.username
+ username = 'Usuário anônimo' if request.user.is_anonymous else request.user.username
try:
external_name, pdffilename = create_pdf_docacessorios(materia)
- logger.info("user= {}. Gerou o pdf compilado de documento acessorios")
+ logger.info("user= {}. Gerou o pdf compilado de documento acessorios".format(username))
except FileNotFoundError:
logger.error("user= {}.Não há arquivos cadastrados".format(username))
msg=_('Não há arquivos cadastrados nesses documentos acessórios.')
diff --git a/sapl/norma/forms.py b/sapl/norma/forms.py
index 2be8315a7..7feb3b3c3 100644
--- a/sapl/norma/forms.py
+++ b/sapl/norma/forms.py
@@ -163,7 +163,7 @@ class NormaJuridicaForm(FileFieldCheckMixin, ModelForm):
numero=cleaned_data['numero'],
tipo=cleaned_data['tipo']).exists()
if norma:
- self.logger.error("Já existe uma norma de mesmo Tipo ({}), Ano ({}) "
+ self.logger.warning("Já existe uma norma de mesmo Tipo ({}), Ano ({}) "
"e Número ({}) no sistema."
.format(cleaned_data['tipo'], cleaned_data['ano'], cleaned_data['numero']))
raise ValidationError("Já existe uma norma de mesmo Tipo, Ano "
diff --git a/sapl/norma/views.py b/sapl/norma/views.py
index 44c2cfeac..98825f4cf 100644
--- a/sapl/norma/views.py
+++ b/sapl/norma/views.py
@@ -329,7 +329,7 @@ def recuperar_norma(request):
response = JsonResponse({'ementa': norma.ementa,
'id': norma.id})
except ObjectDoesNotExist:
- logger.error('user=' + username + '. NormaJuridica buscada (tipo={}, ano={}, numero={}) não existe. '
+ logger.warning('user=' + username + '. NormaJuridica buscada (tipo={}, ano={}, numero={}) não existe. '
'Definida com ementa vazia e id 0.'.format(tipo, ano, numero))
response = JsonResponse({'ementa': '', 'id': 0})