style: Enhance team member photo handling and ensure fallback members are displayed when no team members are available
This commit is contained in:
+9
-1
@@ -126,8 +126,16 @@ def _save_team_photo(file_obj, identifier: str) -> str | None:
|
||||
if not _is_allowed_image_filename(original_name):
|
||||
return None
|
||||
os.makedirs(TEAM_UPLOAD_DIR, exist_ok=True)
|
||||
extension = os.path.splitext(original_name)[1].lower() or ".jpg"
|
||||
# If a photo for this identifier already exists, keep the first one and return it.
|
||||
safe_identifier = secure_filename(identifier or "member")
|
||||
try:
|
||||
for existing in sorted(os.listdir(TEAM_UPLOAD_DIR)):
|
||||
if existing.startswith(f"team_{safe_identifier}_"):
|
||||
return f"uploads/team/{existing}"
|
||||
except Exception:
|
||||
# If listing fails for any reason, proceed to save new file.
|
||||
pass
|
||||
extension = os.path.splitext(original_name)[1].lower() or ".jpg"
|
||||
unique_name = f"team_{safe_identifier}_{datetime.utcnow().strftime('%Y%m%d%H%M%S')}{extension}"
|
||||
target = os.path.join(TEAM_UPLOAD_DIR, unique_name)
|
||||
file_obj.save(target)
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
</section>
|
||||
|
||||
<section class="team-grid" aria-label="Team Cards">
|
||||
{% for member in team_members %}
|
||||
{% if team_members and team_members|length > 0 %}
|
||||
{% for member in team_members %}
|
||||
<article class="member-card">
|
||||
{% if member and member.photo %}
|
||||
<img class="member-photo" src="{{ url_for('static', filename=member.photo) }}" alt="Teamfoto {{ member.name }}">
|
||||
@@ -25,7 +26,11 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</article>
|
||||
{% endfor %}
|
||||
</section>
|
||||
|
||||
{% if not team_members or team_members|length == 0 %}
|
||||
<p>Derzeit sind keine Teammitglieder eingetragen. Bitte füge im Adminbereich Team-Einträge in der Datenbank hinzu.</p>
|
||||
{% endif %}
|
||||
</section>
|
||||
|
||||
<section class="values">
|
||||
|
||||
Reference in New Issue
Block a user