diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 3fa0d29f8..9bc2ee8fb 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -63,10 +63,11 @@ TipoResultadoVotacaoCrud = CrudAux.build( def reordernar_materias_expediente(request, pk): expedientes = ExpedienteMateria.objects.filter( sessao_plenaria_id=pk) + logger = logging.getLogger('reordenar.materias.expediente') + for exp_num, e in enumerate(expedientes, 1): e.numero_ordem = exp_num e.save() - return HttpResponseRedirect( reverse('sapl.sessao:expedientemateria_list', kwargs={'pk': pk})) @@ -1087,6 +1088,7 @@ def insere_parlamentar_composicao(request): Esta função lida com qualquer operação de inserção na composição da Mesa Diretora """ + if request.user.has_perm( '%s.add_%s' % ( AppConfig.label, IntegranteMesa._meta.model_name)): @@ -1471,6 +1473,8 @@ class ResumoView(DetailView): class ResumoAtaView(ResumoView): template_name = 'sessao/resumo_ata.html' + logger = logging.getLogger(__name__) + logger.info('- Gerando Resumo.') class ExpedienteView(FormMixin, DetailView): @@ -1478,6 +1482,8 @@ class ExpedienteView(FormMixin, DetailView): form_class = ExpedienteForm model = SessaoPlenaria + logger = logging.getLogger(__name__) + def get_context_data(self, **kwargs): context = FormMixin.get_context_data(self, **kwargs) context['title'] = '%s (%s)' % ( @@ -1492,6 +1498,7 @@ class ExpedienteView(FormMixin, DetailView): if 'apagar-expediente' in request.POST: ExpedienteSessao.objects.filter( sessao_plenaria_id=self.object.id).delete() + logger.info('- Expediente deletado.') return self.form_valid(form) if form.is_valid(): @@ -1512,6 +1519,8 @@ class ExpedienteView(FormMixin, DetailView): msg = _('Registro salvo com sucesso') messages.add_message(self.request, messages.SUCCESS, msg) + logger.info('- Expediente salvo.') + return self.form_valid(form) else: msg = _('Erro ao salvar registro') @@ -1566,6 +1575,8 @@ class OcorrenciaSessaoView(FormMixin, DetailView): msg = _('Registro deletado com sucesso') messages.add_message(self.request, messages.SUCCESS, msg) + logger.info('- Ocorrência de Sessão deletada.') + def save(self,form): conteudo = form.cleaned_data['conteudo'] @@ -1576,10 +1587,11 @@ class OcorrenciaSessaoView(FormMixin, DetailView): ocorrencia.conteudo = conteudo ocorrencia.save() - logger.warning('TESTANDO LOG TESTANDO') msg = _('Registro salvo com sucesso') messages.add_message(self.request, messages.SUCCESS, msg) + logger.info('- Ocorrência de Sessão atualizada.') + @method_decorator(permission_required('sessao.add_ocorrenciasessao')) def post(self, request, *args, **kwargs): self.object = self.get_object() @@ -1681,6 +1693,8 @@ class VotacaoView(SessaoPermissionMixin): template_name = 'sessao/votacao/votacao.html' form_class = VotacaoForm + logger = logging.getLogger(__name__) + def get(self, request, *args, **kwargs): self.object = self.get_object() context = self.get_context_data(object=self.object) @@ -1766,6 +1780,7 @@ class VotacaoView(SessaoPermissionMixin): request.POST['resultado_votacao']) votacao.save() except: + logger.error('- Problemas ao salvar registro de votação.') return self.form_invalid(form) else: ordem = OrdemDia.objects.get( @@ -1813,18 +1828,22 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): expediente = None form_class = VotacaoNominalForm + logger = logging.getLogger(__name__) + def get(self, request, *args, **kwargs): if self.ordem: ordem_id = kwargs['oid'] if RegistroVotacao.objects.filter(ordem_id=ordem_id).exists(): msg = _('Esta matéria já foi votada!') messages.add_message(request, messages.ERROR, msg) + logger.info('- Matéria já votada!') return HttpResponseRedirect(reverse( 'sapl.sessao:ordemdia_list', kwargs={'pk': kwargs['pk']})) try: ordem = OrdemDia.objects.get(id=ordem_id) except ObjectDoesNotExist: + logger.error('- Objeto Ordem Dia não existe.') raise Http404() presentes = PresencaOrdemDia.objects.filter( @@ -1855,6 +1874,7 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): try: expediente = ExpedienteMateria.objects.get(id=expediente_id) except ObjectDoesNotExist: + logger.error('- Objeto Expediente Matéria não existe.') raise Http404() presentes = SessaoPlenariaPresenca.objects.filter( @@ -1893,6 +1913,7 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): try: materia_votacao = OrdemDia.objects.get(id=ordem_id) except ObjectDoesNotExist: + logger.error('- Objeto Matéria Votação não existe.') raise Http404() elif self.expediente: expediente_id = kwargs['oid'] @@ -1900,6 +1921,7 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): materia_votacao = ExpedienteMateria.objects.get( id=expediente_id) except ObjectDoesNotExist: + logger.error('- Objeto Matéria Votação não existe.') raise Http404() if 'cancelar-votacao' in request.POST: @@ -2038,6 +2060,7 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): voto = voto_parlamentar.get( parlamentar=parlamentar) except ObjectDoesNotExist: + logger.error('- Objeto Voto não existe.') yield [parlamentar, None] else: yield [parlamentar, voto.voto] @@ -2056,6 +2079,8 @@ class VotacaoNominalAbstract(SessaoPermissionMixin): class VotacaoNominalEditAbstract(SessaoPermissionMixin): template_name = 'sessao/votacao/nominal_edit.html' + logger = logging.getLogger(__name__) + def get(self, request, *args, **kwargs): context = {} @@ -2066,6 +2091,7 @@ class VotacaoNominalEditAbstract(SessaoPermissionMixin): votacao = RegistroVotacao.objects.filter(ordem_id=ordem_id).last() if not ordem or not votacao: + logger.error('- Objeto Ordem Dia ou Votação não existe.') raise Http404() materia = ordem.materia @@ -2080,6 +2106,7 @@ class VotacaoNominalEditAbstract(SessaoPermissionMixin): expediente_id=expediente_id).last() if not expediente or not votacao: + logger.error('- Objeto Expediente ou Votação não existe.') raise Http404() materia = expediente.materia @@ -2135,6 +2162,7 @@ class VotacaoNominalEditAbstract(SessaoPermissionMixin): try: materia_votacao = OrdemDia.objects.get(id=ordem_id) except ObjectDoesNotExist: + logger.error('- Objeto Ordem Dia não existe.') raise Http404() elif self.expediente: @@ -2144,6 +2172,7 @@ class VotacaoNominalEditAbstract(SessaoPermissionMixin): materia_votacao = ExpedienteMateria.objects.get( id=expediente_id) except ObjectDoesNotExist: + logger.error('- Objeto Matéria Expediente não existe.') raise Http404() if(int(request.POST['anular_votacao']) == 1): @@ -2675,6 +2704,8 @@ class PesquisarSessaoPlenariaView(FilterView): filterset_class = SessaoPlenariaFilterSet paginate_by = 10 + logger = logging.getLogger(__name__) + def get_filterset_kwargs(self, filterset_class): super(PesquisarSessaoPlenariaView, self).get_filterset_kwargs(filterset_class) @@ -2730,6 +2761,8 @@ class PesquisarSessaoPlenariaView(FilterView): context['show_results'] = show_results_filter_set( self.request.GET.copy()) + logger.info(' - Pesquisa de Sessões Plenárias.') + return self.render_to_response(context) @@ -2737,6 +2770,9 @@ class PesquisarPautaSessaoView(PesquisarSessaoPlenariaView): filterset_class = PautaSessaoFilterSet template_name = 'sessao/pauta_sessao_filter.html' + logger = logging.getLogger(__name__) + logger.info(' - Pesquisa de Pauta de Sessão.') + def get_context_data(self, **kwargs): context = super(PesquisarPautaSessaoView, self).get_context_data(**kwargs) @@ -2757,6 +2793,8 @@ class AdicionarVariasMateriasExpediente(PermissionRequiredForAppCrudMixin, template_name = 'sessao/adicionar_varias_materias_expediente.html' app_label = AppConfig.label + logger = logging.getLogger(__name__) + def get_filterset_kwargs(self, filterset_class): super(AdicionarVariasMateriasExpediente, self).get_filterset_kwargs(filterset_class) @@ -2806,11 +2844,13 @@ class AdicionarVariasMateriasExpediente(PermissionRequiredForAppCrudMixin, msg = _('%s adicionado(a) com sucesso!' % MateriaLegislativa.objects.get(id=m)) messages.add_message(request, messages.SUCCESS, msg) + logger.info(msg) except MultiValueDictKeyError: msg = _('Formulário Inválido. Você esqueceu de selecionar ' + 'o tipo de votação de %s' % MateriaLegislativa.objects.get(id=m)) messages.add_message(request, messages.ERROR, msg) + logger.info(msg) return self.get(request, self.kwargs) if tipo_votacao: @@ -2845,6 +2885,8 @@ class AdicionarVariasMateriasOrdemDia(AdicionarVariasMateriasExpediente): filterset_class = AdicionarVariasMateriasFilterSet template_name = 'sessao/adicionar_varias_materias_ordem.html' + logger = logging.getLogger(__name__) + def get_filterset_kwargs(self, filterset_class): super(AdicionarVariasMateriasExpediente, self).get_filterset_kwargs(filterset_class) @@ -2878,11 +2920,13 @@ class AdicionarVariasMateriasOrdemDia(AdicionarVariasMateriasExpediente): msg = _('%s adicionado(a) com sucesso!' % MateriaLegislativa.objects.get(id=m)) messages.add_message(request, messages.SUCCESS, msg) + logger.info(msg) except MultiValueDictKeyError: msg = _('Formulário Inválido. Você esqueceu de selecionar ' + 'o tipo de votação de %s' % MateriaLegislativa.objects.get(id=m)) messages.add_message(request, messages.ERROR, msg) + logger.info(msg) return self.get(request, self.kwargs) if tipo_votacao: diff --git a/sapl/settings.py b/sapl/settings.py index 8fadacbce..7a3aba0be 100755 --- a/sapl/settings.py +++ b/sapl/settings.py @@ -292,43 +292,12 @@ SASS_PROCESSOR_INCLUDE_DIRS = (BOWER_COMPONENTS_ROOT.child( # suprime texto de ajuda default do django-filter FILTERS_HELP_TEXT_FILTER = False - -# FIXME update cripy-forms and remove this -# hack to suppress many annoying warnings from crispy_forms -# see sapl.temp_suppress_crispy_form_warnings -# LOGGING = SUPRESS_CRISPY_FORM_WARNINGS_LOGGING -# -# -# LOGGING_CONSOLE = config('LOGGING_CONSOLE', default=False, cast=bool) -# if DEBUG and LOGGING_CONSOLE: -# # Descomentar linha abaixo fará com que logs aparecam, inclusive SQL -# # LOGGING['handlers']['console']['level'] = 'DEBUG' -# LOGGING['loggers']['django']['level'] = 'DEBUG' -# LOGGING.update({ -# 'formatters': { -# 'verbose': { -# 'format': '%(levelname)s %(asctime)s %(pathname)s ' -# '%(funcName)s %(message)s' -# }, -# 'simple': { -# 'format': '%(levelname)s %(message)s' -# }, -# }, -# }) -# LOGGING['handlers']['console']['formatter'] = 'verbose' -# LOGGING['loggers'][BASE_DIR.name] = { -# 'handlers': ['console'], -# 'level': 'DEBUG', -# } -# LOGGING['loggers']['APPNAME']['handlers'] = ['file'], -# LOGGING['loggers']['APPNAME']['level'] = 'DEBUG' - LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'verbose': { - 'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s' + 'format': '%(levelname)s %(asctime)s %(filename)s %(funcName)s %(lineno)d %(name)s %(message)s' }, 'simple': { 'format': '%(levelname)s %(asctime)s %(message)s' @@ -342,23 +311,23 @@ LOGGING = { }, 'handlers': { 'console': { - 'level': 'DEBUG', + 'level': 'INFO', 'class': 'logging.StreamHandler', 'formatter': 'simple', }, 'applogfile': { - 'level':'DEBUG', + 'level':'INFO', 'class':'logging.handlers.RotatingFileHandler', - 'filename': 'APPNAME.log', + 'filename': 'SAPL.log', 'maxBytes': 1024*1024*15, # 15MB 'backupCount': 10, - 'formatter': 'simple', + 'formatter': 'verbose', }, }, 'loggers': { 'django.request': { 'handlers': ['applogfile'], - 'level': 'DEBUG', + 'level': 'INFO', 'propagate': True, }, }