feat: add simple stats

This commit is contained in:
2025-06-22 22:00:18 +02:00
parent 6828af76dc
commit 7e8b665c7c
2 changed files with 25 additions and 1 deletions

View File

@@ -4,6 +4,20 @@
<h1 class="title is-1">{% translate "Aktualitätscheck" %}</h1>
<p class="subtitle is-2">{% translate "Überprüfe ob es in Tierheimen neue Tiere gibt die ein Zuhause suchen" %}</p>
<div class="block">
<div class="columns">
<div class="column">
<strong>{% translate 'Geprüfte Tierheime' %}:</strong> {{ num_rescue_orgs_checked }}
</div>
<div class="column">
<strong>{% translate 'Tierheime zur Prüfung' %}:</strong> {{ num_rescue_orgs_to_check }}
</div>
<div class="column">
<strong>Geprüft sind {{ percentage_checked|stringformat:"0.2f" }}%</strong>
</div>
</div>
</div>
<div class="block">
<h2 class="title is-3">{% translate "Am längsten nicht geprüft" %}</h2>
<div class="grid is-col-min-15">

View File

@@ -1,4 +1,5 @@
import logging
from datetime import timedelta
from django.contrib.auth.views import redirect_to_login
from django.http import HttpResponseRedirect, JsonResponse, HttpResponse
@@ -6,7 +7,7 @@ from django.http.response import HttpResponseForbidden
from django.shortcuts import render, redirect, get_object_or_404
from django.urls import reverse
from django.contrib.auth.decorators import login_required
from django.utils import translation
from django.utils import translation, timezone
from django.core.exceptions import PermissionDenied
from django.contrib.auth.decorators import user_passes_test
from django.core.serializers import serialize
@@ -733,9 +734,18 @@ def rescue_organization_check(request, context=None):
org.id: RescueOrgInternalComment(instance=org) for org in rescue_orgs_to_check
}
rescue_orgs_last_checked = RescueOrganization.objects.filter().order_by("-last_checked")[:10]
timeframe = timezone.now().date() - timedelta(days=14)
num_rescue_orgs_to_check = RescueOrganization.objects.filter(last_checked__lt=timeframe).count()
num_rescue_orgs_checked = RescueOrganization.objects.filter(last_checked__gte=timeframe).count()
percentage_checked = num_rescue_orgs_checked/(num_rescue_orgs_to_check+num_rescue_orgs_checked)
context["rescue_orgs_to_check"] = rescue_orgs_to_check
context["rescue_orgs_last_checked"] = rescue_orgs_last_checked
context["comment_forms"] = comment_forms
context["num_rescue_orgs_to_check"] = num_rescue_orgs_to_check
context["percentage_checked"] = percentage_checked
context["num_rescue_orgs_checked"] = num_rescue_orgs_checked
return render(request, 'fellchensammlung/rescue-organization-check.html', context=context)