feat: aggiunti: loggica random, tema scuro, correzioni mail, miglioramenti generali, cache;
This commit is contained in:
@@ -268,9 +268,20 @@ def get_team_presences(start_date: date, end_date: date, office_id: str = None,
|
||||
office_lookup = {o.id: o.name for o in offices}
|
||||
|
||||
# Build response
|
||||
from services.parking import get_user_parking_ratio
|
||||
result = []
|
||||
for user in users:
|
||||
user_presences = [p for p in presences if p.user_id == user.id]
|
||||
|
||||
office_mode = "fairness"
|
||||
if user.office_id:
|
||||
office = next((o for o in offices if o.id == user.office_id), None)
|
||||
if office:
|
||||
office_mode = office.assignment_mode or "fairness"
|
||||
|
||||
user_ratio = None
|
||||
if office_mode == "fairness" and user.office_id:
|
||||
user_ratio = get_user_parking_ratio(user.id, user.office_id, db)
|
||||
|
||||
result.append({
|
||||
"id": user.id,
|
||||
@@ -279,7 +290,8 @@ def get_team_presences(start_date: date, end_date: date, office_id: str = None,
|
||||
"office_name": office_lookup.get(user.office_id),
|
||||
"presences": [{"date": p.date, "status": p.status} for p in user_presences],
|
||||
"parking_dates": parking_lookup.get(user.id, []),
|
||||
"parking_info": parking_info_lookup.get(user.id, [])
|
||||
"parking_info": parking_info_lookup.get(user.id, []),
|
||||
"ratio": user_ratio
|
||||
})
|
||||
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user