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):
|
if not _is_allowed_image_filename(original_name):
|
||||||
return None
|
return None
|
||||||
os.makedirs(TEAM_UPLOAD_DIR, exist_ok=True)
|
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")
|
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}"
|
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)
|
target = os.path.join(TEAM_UPLOAD_DIR, unique_name)
|
||||||
file_obj.save(target)
|
file_obj.save(target)
|
||||||
|
|||||||
@@ -9,7 +9,8 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="team-grid" aria-label="Team Cards">
|
<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">
|
<article class="member-card">
|
||||||
{% if member and member.photo %}
|
{% if member and member.photo %}
|
||||||
<img class="member-photo" src="{{ url_for('static', filename=member.photo) }}" alt="Teamfoto {{ member.name }}">
|
<img class="member-photo" src="{{ url_for('static', filename=member.photo) }}" alt="Teamfoto {{ member.name }}">
|
||||||
@@ -25,7 +26,11 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</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>
|
||||||
|
|
||||||
<section class="values">
|
<section class="values">
|
||||||
|
|||||||
Reference in New Issue
Block a user