Browse Source

Identificar protocolos com duas ou mais matérias

pull/2454/head
João Rodrigues 7 years ago
committed by João Rodrigues
parent
commit
db300eb049
  1. 53
      sapl/base/views.py
  2. 32
      sapl/templates/base/protocolos_com_materias.html

53
sapl/base/views.py

@ -1286,14 +1286,55 @@ class ListarInconsistenciasView(PermissionRequiredMixin, ListView):
permission_required = ('base.list_appconfig',)
def get_queryset(self):
tabela = {}
tabela['Protocolos Duplicados'] = len(protocolo_duplicados())
tabela = []
tabela.append(
('protocolos_duplicados',
'Protocolos duplicados',
len(protocolos_duplicados()))
)
tabela.append(
('protocolos_com_materias',
'Protocolos que excedem o limite de matérias vinculadas',
len(protocolos_com_materias()))
)
return tabela
def protocolos_com_materias():
protocolos = []
for protocolo in Protocolo.objects.all():
materias_protocolo = MateriaLegislativa.objects.filter(
ano=protocolo.ano, numero_protocolo=protocolo.numero)
if len(materias_protocolo) > 1:
protocolos.append((protocolo, len(materias_protocolo)))
return protocolos
class ListarProtocolosComMateriasView(PermissionRequiredMixin, ListView):
model = get_user_model()
template_name = 'base/protocolos_com_materias.html'
context_object_name = 'protocolos_com_materias'
permission_required = ('base.list_appconfig',)
paginate_by = 10
t = tabela.items()
return t
def get_queryset(self):
return protocolos_com_materias()
def get_context_data(self, **kwargs):
context = super(
ListarProtocolosComMateriasView, self).get_context_data(**kwargs)
paginator = context['paginator']
page_obj = context['page_obj']
context['page_range'] = make_pagination(
page_obj.number, paginator.num_pages)
context[
'NO_ENTRIES_MSG'
] = '--.'
return context
def protocolo_duplicados():
def protocolos_duplicados():
protocolos = {}
for p in Protocolo.objects.all():
key = "{}/{}".format(p.numero, p.ano)
@ -1313,7 +1354,7 @@ class ListarProtocolosDuplicadosView(PermissionRequiredMixin, ListView):
paginate_by = 10
def get_queryset(self):
return protocolo_duplicados()
return protocolos_duplicados()
def get_context_data(self, **kwargs):
context = super(

32
sapl/templates/base/protocolos_com_materias.html

@ -0,0 +1,32 @@
{% extends "base.html" %}
{% load i18n %}
{% load tz %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Protocolos que Excedem o Limite de Matérias Vinculadas</h1>
{% if not protocolos_com_materias %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Protocolo</th>
<th>Quantidade de Matérias Vinculas</th>
</tr>
</thead>
<tbody>
{% for protocolo, quantidade in protocolos_com_materias %}
<tr>
<td>
<a href="{% url 'sapl.materia:pesquisar_materia' %}?numero_protocolo={{protocolo.numero}}">{{ protocolo }}</a>
</td>
<td>{{ quantidade }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
{% endblock base_content %}
Loading…
Cancel
Save