03 sept 2026 - apropape gata, de schimbat setarile pt productie

This commit is contained in:
2026-09-04 13:46:38 +03:00
parent 2f4c19b653
commit 3649b0126d
5 changed files with 125 additions and 5 deletions
+48
View File
@@ -26,6 +26,8 @@ from datetime import date, timedelta
from .models import DigitalCertificate
from .forms import DigitalCertificateForm
import csv
from django.contrib.auth.decorators import login_required
from django.shortcuts import render
@login_required
@@ -914,3 +916,49 @@ def export_inventory_csv(request):
)
return response
from datetime import datetime
@login_required
def maintenance_report(request):
# Preluăm datele exact așa cum le introduce utilizatorul (ex: 20.05.2026 sau 20-05-2026)
start_date_raw = request.GET.get("start_date")
end_date_raw = request.GET.get("end_date")
records = None
# Funcție ajutătoare pentru a traduce formatul românesc în formatul bazei de date
def parse_romanian_date(date_str):
if not date_str:
return None
clean_str = str(date_str).strip()
# Unificăm separatorii (transformăm cratima în punct pentru a verifica mai ușor)
clean_str = clean_str.replace("-", ".")
try:
# Traducem din ZZ.LL.AAAA în AAAA-LL-ZZ
parsed = datetime.strptime(clean_str, "%d.%m.%Y")
return parsed.strftime("%Y-%m-%d")
except ValueError:
# Dacă deja este în formatul corect (ex. a fost introdus manual AAAA-LL-ZZ), îl lăsăm așa
return clean_str
# Convertim datele pentru baza de date
start_date_db = parse_romanian_date(start_date_raw)
end_date_db = parse_romanian_date(end_date_raw)
if start_date_db and end_date_db:
records = MaintenanceRecord.objects.filter(
date__range=[start_date_db, end_date_db]
).order_by("-date")
context = {
"records": records,
"start_date": start_date_raw, # Trimitem înapoi formatul original pentru a rămâne afișat în formular
"end_date": end_date_raw,
}
return render(request, "equipment/maintenance_report.html", context)