Browse Source

HOT-FIX: autopep8 by IDE

pull/2963/head
Leandro Roberto 5 years ago
parent
commit
5f5f8f64ed
  1. 103
      sapl/protocoloadm/views.py

103
sapl/protocoloadm/views.py

@ -34,10 +34,10 @@ from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa, Unid
from sapl.materia.views import gerar_pdf_impressos from sapl.materia.views import gerar_pdf_impressos
from sapl.parlamentares.models import Legislatura, Parlamentar from sapl.parlamentares.models import Legislatura, Parlamentar
from sapl.protocoloadm.models import Protocolo from sapl.protocoloadm.models import Protocolo
from sapl.relatorios.views import relatorio_doc_administrativos
from sapl.utils import (create_barcode, get_base_url, get_client_ip, from sapl.utils import (create_barcode, get_base_url, get_client_ip,
get_mime_type_from_file_extension, lista_anexados, get_mime_type_from_file_extension, lista_anexados,
show_results_filter_set, mail_service_configured) show_results_filter_set, mail_service_configured)
from sapl.relatorios.views import relatorio_doc_administrativos
from .forms import (AcompanhamentoDocumentoForm, AnularProtocoloAdmForm, from .forms import (AcompanhamentoDocumentoForm, AnularProtocoloAdmForm,
DocumentoAcessorioAdministrativoForm, DocumentoAcessorioAdministrativoForm,
@ -290,7 +290,7 @@ class AcompanhamentoDocumentoView(CreateView):
de mensagens e clique no link que nós enviamos para \ de mensagens e clique no link que nós enviamos para \
confirmar o acompanhamento deste documento.') confirmar o acompanhamento deste documento.')
messages.add_message(request, messages.SUCCESS, msg) messages.add_message(request, messages.SUCCESS, msg)
# Caso esse Acompanhamento já exista # Caso esse Acompanhamento já exista
# avisa ao usuário que esse documento já está sendo acompanhado # avisa ao usuário que esse documento já está sendo acompanhado
else: else:
@ -302,7 +302,7 @@ class AcompanhamentoDocumentoView(CreateView):
return self.render_to_response( return self.render_to_response(
{'form': form, {'form': form,
'documento': documento, 'documento': documento,
}) })
return HttpResponseRedirect(self.get_success_url()) return HttpResponseRedirect(self.get_success_url())
else: else:
return self.render_to_response( return self.render_to_response(
@ -917,7 +917,7 @@ class PesquisarDocumentoAdministrativoView(DocumentoAdministrativoMixin,
page_obj = context['page_obj'] page_obj = context['page_obj']
context['page_range'] = make_pagination( context['page_range'] = make_pagination(
page_obj.number, paginator.num_pages) page_obj.number, paginator.num_pages)
return context return context
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
@ -942,21 +942,22 @@ class PesquisarDocumentoAdministrativoView(DocumentoAdministrativoMixin,
length = self.object_list.filter(restrito=False).count() length = self.object_list.filter(restrito=False).count()
else: else:
length = self.object_list.count() length = self.object_list.count()
is_relatorio = url!='' and request.GET.get('relatorio',None) is_relatorio = url != '' and request.GET.get('relatorio', None)
self.paginate_by = None if is_relatorio else self.paginate_by self.paginate_by = None if is_relatorio else self.paginate_by
context = self.get_context_data(filter=self.filterset, context = self.get_context_data(filter=self.filterset,
filter_url=url, filter_url=url,
numero_res=length numero_res=length
) )
context['show_results'] = show_results_filter_set( context['show_results'] = show_results_filter_set(
self.request.GET.copy()) self.request.GET.copy())
if is_relatorio: if is_relatorio:
return relatorio_doc_administrativos(request,context) return relatorio_doc_administrativos(request, context)
else: else:
return self.render_to_response(context) return self.render_to_response(context)
class AnexadoCrud(MasterDetailCrud): class AnexadoCrud(MasterDetailCrud):
model = Anexado model = Anexado
parent_field = 'documento_principal' parent_field = 'documento_principal'
@ -994,7 +995,7 @@ class DocumentoAnexadoEmLoteView(PermissionRequiredMixin, FilterView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super( context = super(
DocumentoAnexadoEmLoteView, self DocumentoAnexadoEmLoteView, self
).get_context_data(**kwargs) ).get_context_data(**kwargs)
context['root_pk'] = self.kwargs['pk'] context['root_pk'] = self.kwargs['pk']
@ -1004,17 +1005,17 @@ class DocumentoAnexadoEmLoteView(PermissionRequiredMixin, FilterView):
# Verifica se os campos foram preenchidos # Verifica se os campos foram preenchidos
if not self.request.GET.get('tipo', " "): if not self.request.GET.get('tipo', " "):
msg =_('Por favor, selecione um tipo de documento.') msg = _('Por favor, selecione um tipo de documento.')
messages.add_message(self.request, messages.ERROR, msg) messages.add_message(self.request, messages.ERROR, msg)
if not self.request.GET.get('data_0', " ") or not self.request.GET.get('data_1', " "): if not self.request.GET.get('data_0', " ") or not self.request.GET.get('data_1', " "):
msg =_('Por favor, preencha as datas.') msg = _('Por favor, preencha as datas.')
messages.add_message(self.request, messages.ERROR, msg) messages.add_message(self.request, messages.ERROR, msg)
return context return context
if not self.request.GET.get('data_0', " ") or not self.request.GET.get('data_1', " "): if not self.request.GET.get('data_0', " ") or not self.request.GET.get('data_1', " "):
msg =_('Por favor, preencha as datas.') msg = _('Por favor, preencha as datas.')
messages.add_message(self.request, messages.ERROR, msg) messages.add_message(self.request, messages.ERROR, msg)
return context return context
@ -1026,17 +1027,19 @@ class DocumentoAnexadoEmLoteView(PermissionRequiredMixin, FilterView):
context['object_list'] = [] context['object_list'] = []
for obj in context['temp_object_list']: for obj in context['temp_object_list']:
if not obj.pk == int(context['root_pk']): if not obj.pk == int(context['root_pk']):
documento_principal = DocumentoAdministrativo.objects.get(id=context['root_pk']) documento_principal = DocumentoAdministrativo.objects.get(
id=context['root_pk'])
documento_anexado = obj documento_anexado = obj
is_anexado = Anexado.objects.filter(documento_principal=documento_principal, is_anexado = Anexado.objects.filter(documento_principal=documento_principal,
documento_anexado=documento_anexado).exists() documento_anexado=documento_anexado).exists()
if not is_anexado: if not is_anexado:
ciclico = False ciclico = False
anexados_anexado = Anexado.objects.filter(documento_principal=documento_anexado) anexados_anexado = Anexado.objects.filter(
documento_principal=documento_anexado)
while anexados_anexado and not ciclico: while anexados_anexado and not ciclico:
anexados = [] anexados = []
for anexo in anexados_anexado: for anexo in anexados_anexado:
if documento_principal == anexo.documento_anexado: if documento_principal == anexo.documento_anexado:
@ -1049,18 +1052,18 @@ class DocumentoAnexadoEmLoteView(PermissionRequiredMixin, FilterView):
if not ciclico: if not ciclico:
context['object_list'].append(obj) context['object_list'].append(obj)
context['numero_res'] = len(context['object_list']) context['numero_res'] = len(context['object_list'])
context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else '' context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
context['show_results'] = show_results_filter_set(qr) context['show_results'] = show_results_filter_set(qr)
return context return context
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
marcados = request.POST.getlist('documento_id') marcados = request.POST.getlist('documento_id')
data_anexacao = datetime.strptime( data_anexacao = datetime.strptime(
request.POST['data_anexacao'], "%d/%m/%Y" request.POST['data_anexacao'], "%d/%m/%Y"
).date() ).date()
@ -1075,22 +1078,22 @@ class DocumentoAnexadoEmLoteView(PermissionRequiredMixin, FilterView):
v_data_desanexacao = data_desanexacao v_data_desanexacao = data_desanexacao
if len(marcados) == 0: if len(marcados) == 0:
msg =_('Nenhum documento foi selecionado') msg = _('Nenhum documento foi selecionado')
messages.add_message(request, messages.ERROR, msg) messages.add_message(request, messages.ERROR, msg)
if data_anexacao > v_data_desanexacao: if data_anexacao > v_data_desanexacao:
msg=_('Data de anexação posterior à data de desanexação.') msg = _('Data de anexação posterior à data de desanexação.')
messages.add_message(request, messages.ERROR, msg) messages.add_message(request, messages.ERROR, msg)
return self.get(request, self.kwargs) return self.get(request, self.kwargs)
if data_anexacao > v_data_desanexacao: if data_anexacao > v_data_desanexacao:
msg =_('Data de anexação posterior à data de desanexação.') msg = _('Data de anexação posterior à data de desanexação.')
messages.add_message(request, messages.ERROR, msg) messages.add_message(request, messages.ERROR, msg)
return self.get(request, messages.ERROR, msg) return self.get(request, messages.ERROR, msg)
principal = DocumentoAdministrativo.objects.get(pk = kwargs['pk']) principal = DocumentoAdministrativo.objects.get(pk=kwargs['pk'])
for documento in DocumentoAdministrativo.objects.filter(id__in = marcados): for documento in DocumentoAdministrativo.objects.filter(id__in=marcados):
anexado = Anexado() anexado = Anexado()
anexado.documento_principal = principal anexado.documento_principal = principal
anexado.documento_anexado = documento anexado.documento_anexado = documento
@ -1101,7 +1104,8 @@ class DocumentoAnexadoEmLoteView(PermissionRequiredMixin, FilterView):
msg = _('Documento(s) anexado(s).') msg = _('Documento(s) anexado(s).')
messages.add_message(request, messages.SUCCESS, msg) messages.add_message(request, messages.SUCCESS, msg)
success_url = reverse('sapl.protocoloadm:anexado_list', kwargs={'pk': kwargs['pk']}) success_url = reverse('sapl.protocoloadm:anexado_list', kwargs={
'pk': kwargs['pk']})
return HttpResponseRedirect(success_url) return HttpResponseRedirect(success_url)
@ -1149,7 +1153,8 @@ class TramitacaoAdmCrud(MasterDetailCrud):
'-timestamp', '-timestamp',
'-id').first() '-id').first()
#TODO: Esta checagem foi inserida na issue #2027, mas é mesmo necessária? # TODO: Esta checagem foi inserida na issue #2027, mas é mesmo
# necessária?
if ultima_tramitacao: if ultima_tramitacao:
if ultima_tramitacao.unidade_tramitacao_destino: if ultima_tramitacao.unidade_tramitacao_destino:
context['form'].fields[ context['form'].fields[
@ -1231,13 +1236,12 @@ class TramitacaoAdmCrud(MasterDetailCrud):
MasterDetailCrud.DetailView): MasterDetailCrud.DetailView):
template_name = 'protocoloadm/tramitacaoadministrativo_detail.html' template_name = 'protocoloadm/tramitacaoadministrativo_detail.html'
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context['user'] = self.request.user context['user'] = self.request.user
return context return context
class DeleteView(MasterDetailCrud.DeleteView): class DeleteView(MasterDetailCrud.DeleteView):
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -1278,7 +1282,8 @@ class TramitacaoAdmCrud(MasterDetailCrud):
if da.tramitacaoadministrativo_set.count() == 0: if da.tramitacaoadministrativo_set.count() == 0:
da.tramitacao = False da.tramitacao = False
da.save() da.save()
TramitacaoAdministrativo.objects.filter(id__in=tramitacoes_deletar).delete() TramitacaoAdministrativo.objects.filter(
id__in=tramitacoes_deletar).delete()
return HttpResponseRedirect(url) return HttpResponseRedirect(url)
@ -1471,7 +1476,6 @@ class PrimeiraTramitacaoEmLoteAdmView(PermissionRequiredMixin, FilterView):
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super(PrimeiraTramitacaoEmLoteAdmView, context = super(PrimeiraTramitacaoEmLoteAdmView,
self).get_context_data(**kwargs) self).get_context_data(**kwargs)
@ -1493,8 +1497,8 @@ class PrimeiraTramitacaoEmLoteAdmView(PermissionRequiredMixin, FilterView):
if self.primeira_tramitacao: if self.primeira_tramitacao:
context['title'] = _('Primeira Tramitação em Lote') context['title'] = _('Primeira Tramitação em Lote')
# Pega somente documentos que não possuem tramitação # Pega somente documentos que não possuem tramitação
context['object_list'] = [obj for obj in context['object_list'] context['object_list'] = [obj for obj in context['object_list']
if obj.tramitacaoadministrativo_set.all().count() == 0] if obj.tramitacaoadministrativo_set.all().count() == 0]
else: else:
context['title'] = _('Tramitação em Lote') context['title'] = _('Tramitação em Lote')
context['form'].fields['unidade_tramitacao_local'].initial = UnidadeTramitacao.objects.get( context['form'].fields['unidade_tramitacao_local'].initial = UnidadeTramitacao.objects.get(
@ -1516,32 +1520,33 @@ class PrimeiraTramitacaoEmLoteAdmView(PermissionRequiredMixin, FilterView):
messages.add_message(request, messages.ERROR, msg) messages.add_message(request, messages.ERROR, msg)
return self.get(request, self.kwargs) return self.get(request, self.kwargs)
form = TramitacaoEmLoteAdmForm(request.POST, form = TramitacaoEmLoteAdmForm(request.POST,
initial= {'documentos': documentos_ids, initial={'documentos': documentos_ids,
'user': user, 'ip':ip}) 'user': user, 'ip': ip})
if form.is_valid(): if form.is_valid():
form.save() form.save()
msg = _('Tramitação completa.') msg = _('Tramitação completa.')
self.logger.info('user=' + user.username + '. Tramitação completa.') self.logger.info('user=' + user.username +
'. Tramitação completa.')
messages.add_message(request, messages.SUCCESS, msg) messages.add_message(request, messages.SUCCESS, msg)
return self.get_success_url() return self.get_success_url()
return self.form_invalid(form) return self.form_invalid(form)
def get_success_url(self): def get_success_url(self):
return HttpResponseRedirect(reverse('sapl.protocoloadm:primeira_tramitacao_em_lote_docadm')) return HttpResponseRedirect(reverse('sapl.protocoloadm:primeira_tramitacao_em_lote_docadm'))
def form_invalid(self, form, *args, **kwargs): def form_invalid(self, form, *args, **kwargs):
for key, erros in form.errors.items(): for key, erros in form.errors.items():
if not key=='__all__': if not key == '__all__':
[messages.add_message(self.request, messages.ERROR, form.fields[key].label + ": " + e) for e in erros] [messages.add_message(
self.request, messages.ERROR, form.fields[key].label + ": " + e) for e in erros]
else: else:
[messages.add_message(self.request, messages.ERROR, e) for e in erros] [messages.add_message(self.request, messages.ERROR, e)
return self.get(self.request, kwargs, {'form':form}) for e in erros]
return self.get(self.request, kwargs, {'form': form})
class TramitacaoEmLoteAdmView(PrimeiraTramitacaoEmLoteAdmView): class TramitacaoEmLoteAdmView(PrimeiraTramitacaoEmLoteAdmView):
@ -1569,21 +1574,18 @@ class TramitacaoEmLoteAdmView(PrimeiraTramitacaoEmLoteAdmView):
return context return context
def pega_ultima_tramitacao(self): def pega_ultima_tramitacao(self):
return TramitacaoAdministrativo.objects.values( return TramitacaoAdministrativo.objects.values(
'documento_id').annotate(data_encaminhamento=Max( 'documento_id').annotate(data_encaminhamento=Max(
'data_encaminhamento'), 'data_encaminhamento'),
id=Max('id')).values_list('id', flat=True) id=Max('id')).values_list('id', flat=True)
def filtra_tramitacao_status(self, status): def filtra_tramitacao_status(self, status):
lista = self.pega_ultima_tramitacao() lista = self.pega_ultima_tramitacao()
return TramitacaoAdministrativo.objects.filter( return TramitacaoAdministrativo.objects.filter(
id__in=lista, id__in=lista,
status=status).distinct().values_list('documento_id', flat=True) status=status).distinct().values_list('documento_id', flat=True)
def filtra_tramitacao_destino(self, destino): def filtra_tramitacao_destino(self, destino):
lista = self.pega_ultima_tramitacao() lista = self.pega_ultima_tramitacao()
return TramitacaoAdministrativo.objects.filter( return TramitacaoAdministrativo.objects.filter(
@ -1591,7 +1593,6 @@ class TramitacaoEmLoteAdmView(PrimeiraTramitacaoEmLoteAdmView):
unidade_tramitacao_destino=destino).distinct().values_list( unidade_tramitacao_destino=destino).distinct().values_list(
'documento_id', flat=True) 'documento_id', flat=True)
def filtra_tramitacao_destino_and_status(self, status, destino): def filtra_tramitacao_destino_and_status(self, status, destino):
lista = self.pega_ultima_tramitacao() lista = self.pega_ultima_tramitacao()
return TramitacaoAdministrativo.objects.filter( return TramitacaoAdministrativo.objects.filter(

Loading…
Cancel
Save