Browse Source

Refatoração

pull/2893/head
João Rodrigues 6 years ago
parent
commit
b0685219fc
  1. 12
      sapl/base/views.py
  2. 5
      sapl/protocoloadm/migrations/0022_deduplica_protocolos.py
  3. 8
      sapl/templates/base/protocolos_duplicados.html

12
sapl/base/views.py

@ -1615,14 +1615,10 @@ class ListarProtocolosComMateriasView(PermissionRequiredMixin, ListView):
def protocolos_duplicados():
protocolos = {}
for p in Protocolo.objects.order_by('-ano', 'numero'):
key = "{}/{}".format(p.numero, p.ano)
val = protocolos.get(key, list())
val.append(p)
protocolos[key] = val
return [(v[0], len(v)) for (k, v) in protocolos.items() if len(v) > 1]
return [
protocolo for protocolo in Protocolo.objects.values(
'numero', 'ano').order_by('-ano', 'numero').annotate(total=Count('numero')).filter(total__gt=1)
]
class ListarProtocolosDuplicadosView(PermissionRequiredMixin, ListView):

5
sapl/protocoloadm/migrations/0022_deduplica_protocolos.py

@ -10,9 +10,8 @@ def deduplica_protocolos(apps, schema_editor):
protocolos = protocolos_duplicados()
for protocolo in protocolos:
protocolos_clones = Protocolo.objects.filter(numero=protocolo[0].numero, ano=protocolo[0].ano).order_by('id')[1:]
for protocolo_dispensavel in protocolos_clones:
protocolo_dispensavel.delete()
protocolo_principal = Protocolo.objects.filter(numero=protocolo['numero'], ano=protocolo['ano']).order_by('-id')[0]
Protocolo.objects.filter(numero=protocolo['numero'], ano=protocolo['ano']).exclude(id=protocolo_principal.id).delete()
class Migration(migrations.Migration):

8
sapl/templates/base/protocolos_duplicados.html

@ -15,12 +15,14 @@
</tr>
</thead>
<tbody>
{% for protocolo, quantidade in protocolos_duplicados %}
{% for protocolo in protocolos_duplicados %}
<tr>
<td>
<a href="{% url 'sapl.protocoloadm:protocolo' %}?numero={{ protocolo.numero }}&ano={{ protocolo.ano }}">{{ protocolo }}</a>
<a href="{% url 'sapl.protocoloadm:protocolo' %}?numero={{ protocolo.numero }}&ano={{ protocolo.ano }}">
{{ protocolo.numero }}/{{ protocolo.ano }}
</a>
</td>
<td>{{ quantidade }}</td>
<td>{{ protocolo.total }}</td>
</tr>
{% endfor %}
</tbody>

Loading…
Cancel
Save