добавил в веб-интерфейс отображение рядом с номером игра фото, если фотографии у игрока нет

This commit is contained in:
2026-06-22 15:52:47 +03:00
parent f63061a06d
commit 3e6f767a12
7 changed files with 147 additions and 15 deletions

View File

@@ -59,6 +59,7 @@ def _player_to_editor_dict(p: dict) -> dict:
"number": str(p.get("number", "") or ""),
"position": p.get("position", "") or "",
"is_captain": bool(p.get("is_captain")),
"photo_enabled": bool(p.get("photo_enabled")),
}
@@ -90,7 +91,8 @@ def get_match_lineup_for_editor(
COALESCE(p.first_name, '') AS first_name,
COALESCE(mlp.number::text, '') AS number,
COALESCE(p.position, '') AS position,
COALESCE(mlp.is_captain, FALSE) AS is_captain
COALESCE(mlp.is_captain, FALSE) AS is_captain,
COALESCE(p.photo_enabled, FALSE) AS photo_enabled
FROM match_lineup_players mlp
JOIN players p
ON p.id = mlp.player_id
@@ -141,6 +143,7 @@ def get_match_lineup_for_editor(
"number": row[7] or "",
"position": row[8] or "",
"is_captain": bool(row[9]),
"photo_enabled": bool(row[10]),
}
side = row[0]
@@ -232,11 +235,24 @@ def get_match_lineup_for_vmix(
COALESCE(mlp.is_captain, FALSE) AS is_captain,
COALESCE(p.position, '') AS pos,
p.photo,
COALESCE(p.photo_enabled, FALSE) AS photo_enabled,
CASE WHEN mlp.side = 'home' THEN %s ELSE %s END AS team_id
COALESCE(p.photo_enabled, FALSE) AS photo_enabled
FROM match_lineup_players mlp
LEFT JOIN players p
ON p.id = mlp.player_id
LEFT JOIN LATERAL (
SELECT p.*
FROM players p
WHERE p.team_id = CASE WHEN mlp.side = 'home' THEN %s ELSE %s END
AND (
p.id = mlp.player_id
OR (
COALESCE(p.number::text, '') <> ''
AND COALESCE(p.number::text, '') = COALESCE(mlp.number::text, '')
)
)
ORDER BY
CASE WHEN p.id = mlp.player_id THEN 0 ELSE 1 END,
p.id
LIMIT 1
) p ON TRUE
WHERE mlp.match_id = %s
ORDER BY
CASE
@@ -298,7 +314,7 @@ def get_match_lineup_for_vmix(
"pos": row[10] or "",
"photo": row[11] or "",
"photo_enabled": bool(row[12]),
"team_id": row[13],
"team_id": home_team_id if row[0] == "home" else away_team_id,
}
side = row[0]