Commit 12bd2adb authored by Maël Kervella's avatar Maël Kervella Committed by Pierre Cadart

Calcul la date dans views pour affichage plus condensé + préfiltre les révisions

Si quelqu'un sait faire le préfiltre avec des request de type .filter je suis preneur.
J'ai peur que la solution actuelle soit lente pour un grand nombre d'event (tous parsés)
Mais de toute façon le filtre est obligé d'être dans views
parent 22bba5c3
......@@ -37,24 +37,24 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</tr>
</thead>
{% for revision in revisions_list %}
{% for reversion in revision.version_set.all %}
{% for reversion in revision.revision.version_set.all %}
{% if reversion.content_type.name in 'ban,whitelist,user,vente,interface'|slice:',' %}
<tr>
<td>{{ revision.date_created }}</td>
<td>{{ revision.datetime }}</td>
{% if reversion.content_type.name == 'ban' %}
<td>{{ revision.user.get_username }} a banni <a href="{% url 'users:profil' reversion.object.user_id %}">{{ reversion.object.user.get_username }}</a> (<i>{{ reversion.object.raison }}</i>)</td>
<td>{{ revision.revision.user.get_username }} a banni <a href="{% url 'users:profil' reversion.object.user_id %}">{{ reversion.object.user.get_username }}</a> (<i>{{ reversion.object.raison }}</i>)</td>
{% elif reversion.content_type.name == 'whitelist' %}
<td>{{ revision.user.get_username }} a autorisé gracieusement <a href="{% url 'users:profil' reversion.object.user_id %}">{{ reversion.object.user.get_username }}</a> (<i>{{ reversion.object.raison }}</i>)</td>
<td>{{ revision.revision.user.get_username }} a autorisé gracieusement <a href="{% url 'users:profil' reversion.object.user_id %}">{{ reversion.object.user.get_username }}</a> (<i>{{ reversion.object.raison }}</i>)</td>
{% elif reversion.content_type.name == 'user' %}
<td>{{ revision.user.get_username }} a ajouté <a href="{% url 'users:profil' reversion.object.id %}">{{ reversion.object.get_username }}</a></td>
<td>{{ revision.revision.user.get_username }} a ajouté <a href="{% url 'users:profil' reversion.object.id %}">{{ reversion.object.get_username }}</a></td>
{% elif reversion.content_type.name == 'vente' %}
<td><a href="{% url 'users:profil' reversion.object.facture.user_id %}">{{ reversion.object.facture.user.get_username }}</a> a acheté {{ reversion.object.number }}x {{ reversion.object.name }}{% if reversion.object.iscotisation %} (<i>+{{ reversion.object.duration }} mois</i>){% endif %}</td>
{% elif reversion.content_type.name == 'interface' %}
<td>{{ revision.user.get_username }} a ajouté une interface à <a href="{% url 'users:profil' reversion.object.machine.user_id %}">{{ reversion.object.machine.user.get_username }}</a> (<i>MAC : {{ reversion.object.mac_bare }}</i>)</td>
<td>{{ revision.revision.user.get_username }} a ajouté une interface à <a href="{% url 'users:profil' reversion.object.machine.user_id %}">{{ reversion.object.machine.user.get_username }}</a> (<i>MAC : {{ reversion.object.mac_bare }}</i>)</td>
{% endif %}
{% if is_bureau %}
<td>
<a class="btn btn-danger btn-sm" role="button" href="{% url 'logs:revert-action' revision.id %}">
<a class="btn btn-danger btn-sm" role="button" href="{% url 'logs:revert-action' revision.revision.id %}">
<i class="glyphicon glyphicon-remove"></i>
Annuler
</a>
......
......@@ -69,7 +69,16 @@ def form(ctx, template, request):
def index(request):
options, created = GeneralOption.objects.get_or_create()
pagination_number = options.pagination_number
revisions = Revision.objects.all().order_by('date_created').reverse().select_related('user').prefetch_related('version_set__object')
revisions_not_filtered = Revision.objects.all().order_by('date_created').reverse().select_related('user').prefetch_related('version_set__object')
revisions = []
for revision in revisions_not_filtered :
reversions = revision.version_set.all()
for reversion in reversions :
if reversion.content_type.name in ['ban', 'whitelist', 'vente', 'cotisation', 'interface', 'machine', 'user'] :
revisions.append( {'datetime':revision.date_created.strftime('%d/%m/%y %H:%M:%S'), 'revision':revision } )
break
paginator = Paginator(revisions, pagination_number)
page = request.GET.get('page')
try:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment