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(): def protocolos_duplicados():
protocolos = {} return [
for p in Protocolo.objects.order_by('-ano', 'numero'): protocolo for protocolo in Protocolo.objects.values(
key = "{}/{}".format(p.numero, p.ano) 'numero', 'ano').order_by('-ano', 'numero').annotate(total=Count('numero')).filter(total__gt=1)
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]
class ListarProtocolosDuplicadosView(PermissionRequiredMixin, ListView): 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() protocolos = protocolos_duplicados()
for protocolo in protocolos: for protocolo in protocolos:
protocolos_clones = Protocolo.objects.filter(numero=protocolo[0].numero, ano=protocolo[0].ano).order_by('id')[1:] protocolo_principal = Protocolo.objects.filter(numero=protocolo['numero'], ano=protocolo['ano']).order_by('-id')[0]
for protocolo_dispensavel in protocolos_clones: Protocolo.objects.filter(numero=protocolo['numero'], ano=protocolo['ano']).exclude(id=protocolo_principal.id).delete()
protocolo_dispensavel.delete()
class Migration(migrations.Migration): class Migration(migrations.Migration):

8
sapl/templates/base/protocolos_duplicados.html

@ -15,12 +15,14 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for protocolo, quantidade in protocolos_duplicados %} {% for protocolo in protocolos_duplicados %}
<tr> <tr>
<td> <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>
<td>{{ quantidade }}</td> <td>{{ protocolo.total }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>

Loading…
Cancel
Save