03 sept 2026 - apropape gata, de schimbat setarile pt productie
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user