Browse Source

Alterando consulta e apresentação de Anexadas

pull/3080/head
ricardocanela 6 years ago
parent
commit
0b36fe3047
  1. 32
      sapl/base/views.py
  2. 17
      sapl/templates/base/anexadas_ciclicas.html

32
sapl/base/views.py

@ -1198,7 +1198,7 @@ class ListarInconsistenciasView(PermissionRequiredMixin, ListView):
tabela.append(
('anexadas_ciclicas',
'Matérias Anexadas cíclicas',
len(anexados_ciclicos(True))
len(materias_anexadas_ciclicas())
)
)
tabela.append(
@ -1209,6 +1209,34 @@ class ListarInconsistenciasView(PermissionRequiredMixin, ListView):
)
return tabela
def materias_anexadas_ciclicas():
todos = []
for a in Anexada.objects.select_related('materia_principal',
'materia_anexada',
'materia_principal__tipo',
'materia_anexada__tipo'):
visitados = [a.materia_principal]
anexadas = [a.materia_anexada]
while len(anexadas) > 0:
ma = anexadas.pop()
if ma not in visitados:
visitados.append(ma)
anexadas.extend([a.materia_anexada for a in Anexada.objects.filter(materia_principal=ma)])
else:
ciclo_list = visitados + [ma]
todos.append(ciclo_list)
todos_set = []
todos_pruned = []
for t in todos:
if set(t) not in todos_set:
todos_set.append(set(t))
todos_pruned.append(t)
ciclicos = todos_pruned
return ciclicos
def anexados_ciclicos(ofMateriaLegislativa):
ciclicos = []
@ -1299,7 +1327,7 @@ class ListarAnexadasCiclicasView(PermissionRequiredMixin, ListView):
paginate_by = 10
def get_queryset(self):
return anexados_ciclicos(True)
return materias_anexadas_ciclicas()
def get_context_data(self, **kwargs):
context = super(

17
sapl/templates/base/anexadas_ciclicas.html

@ -10,19 +10,20 @@
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Matéria Fim do Ciclo</th>
<th>Matéria Início do Ciclo</th>
<th>Ciclo</th>
</tr>
</thead>
<tbody>
{% for data, fim, inicio in anexadas_ciclicas %}
{% for ciclos in anexadas_ciclicas %}
<tr>
<td>{{ data }}</td>
<td>
<a href="{% url 'sapl.materia:materialegislativa_detail' fim.pk %}">{{ fim }}</a>
</td>
<td>
<a href="{% url 'sapl.materia:materialegislativa_detail' inicio.pk %}">{{ inicio }}</a>
{{ page_obj.start_index|add:forloop.counter0 }} )
{% for ciclo in ciclos %}
<a href="{% url 'sapl.materia:materialegislativa_detail' ciclo.pk %}">{{ ciclo }}</a>
{% if not forloop.last %}
->
{% endif %}
{% endfor %}
</td>
</tr>
{% endfor %}

Loading…
Cancel
Save