ajout d'un toggle pour permission d'upload des documents dans admin pannel
CI - Security, Lint & Tests / validate (push) Failing after 1m3s

ajout de compteur d'heure disponible
ajout du calendrier de dispo dans les profils publics
This commit is contained in:
cedrick2711
2026-08-26 22:33:24 -04:00
parent 820cccb25e
commit bfb25f4d16
16 changed files with 1966 additions and 74 deletions
+27
View File
@@ -82,6 +82,33 @@
</div>
</div>
<div class="card">
<div class="card-header">
<h3><i class="fas fa-toggle-{% if settings.document_uploads_enabled %}on{% else %}off{% endif %}"></i> Document Uploads</h3>
</div>
<div class="card-body">
<p>
Status:
<span class="badge badge-{% if settings.document_uploads_enabled %}success{% else %}danger{% endif %}">
{% if settings.document_uploads_enabled %}ENABLED{% else %}DISABLED{% endif %}
</span>
</p>
<p class="text-muted" style="font-size: 0.85rem; margin: 8px 0;">
{% if settings.document_uploads_enabled %}
Managers and coaches can upload contracts. Players can upload signed contracts.
{% else %}
Only admins can upload or sign contracts. Other roles are blocked.
{% endif %}
</p>
<form method="POST" action="{{ url_for('admin.toggle_document_uploads') }}">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
<button type="submit" class="btn btn-{% if settings.document_uploads_enabled %}warning{% else %}success{% endif %}">
{% if settings.document_uploads_enabled %}Disable Uploads{% else %}Enable Uploads{% endif %}
</button>
</form>
</div>
</div>
<div class="card">
<div class="card-header">
<h3><i class="fas fa-calendar-check"></i> Season Management</h3>
+8
View File
@@ -21,6 +21,7 @@
<th>{{ _('Username') }}</th>
<th>{{ _('Email') }}</th>
<th>{{ _('Role') }}</th>
<th>{{ _('Hours') }}</th>
<th>{{ _('Status') }}</th>
<th>{{ _('Joined') }}</th>
<th>{{ _('Actions') }}</th>
@@ -38,6 +39,13 @@
<td>{{ u.username }}</td>
<td>{{ u.email }}</td>
<td><span class="badge badge-{{ u.role }}">{{ u.role | capitalize }}</span></td>
<td>
{% if u.role in ('player', 'coach') %}
{{ '%.1f'|format(hours.get(u.id, 0.0)) }}
{% else %}
—
{% endif %}
</td>
<td>
{% if u.is_active_account %}
<span class="badge badge-success">Active</span>
+25
View File
@@ -81,6 +81,31 @@
</table>
</div>
{% endif %}
{% if profile_user.role in ('player', 'coach') and availability %}
<hr class="my-4">
<h4 class="mb-3"><i class="fas fa-clock"></i> {{ _('Availability') }}
<small class="text-muted">({{ '%.1f'|format(availability_hours or 0.0) }} h)</small>
</h4>
<div class="readonly-availability-grid">
{% set day_names = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] %}
{% for day_idx in range(7) %}
<div class="ra-day-column">
<div class="ra-day-header">{{ day_names[day_idx][:3] }}</div>
{% set day_slots = availability | selectattr('day_of_week', 'equalto', day_idx) | list %}
{% if day_slots %}
{% for slot in day_slots | sort(attribute='start_time') %}
<div class="ra-slot selected">
{{ slot.start_time.strftime('%H:%M') }}–{{ slot.end_time.strftime('%H:%M') }}
</div>
{% endfor %}
{% else %}
<div class="ra-slot ra-empty">—</div>
{% endif %}
</div>
{% endfor %}
</div>
{% endif %}
</div>
</div>
{% endblock %}