fix my tournaments

sync_v2
Raz 7 months ago
parent c93a7ebf8b
commit f3894c2db5
  1. 53
      tournaments/templates/registration/my_tournaments.html
  2. 1
      tournaments/urls.py
  3. 32
      tournaments/views.py

@ -13,25 +13,35 @@
<div class="grid-x"> <div class="grid-x">
<div class="cell medium-10 large-5 topblock padding10"> <div class="cell medium-10 large-5 topblock padding10">
<div> <div>
<label class="title">Vos tournois en cours</label> <div class="table-row-5-colums-tournament header">
<label class="title">Vos tournois en cours</label>
</div>
{% if running_tournaments %} {% if running_tournaments %}
{% for tournament in running_tournaments %} {% for tournament in running_tournaments %}
{% include 'tournaments/tournament_row.html' %} {% include 'tournaments/tournament_row.html' %}
{% endfor %} {% endfor %}
{% else %} {% else %}
Aucun tournoi en cours <div>
Aucun tournoi en cours
</div>
{% endif %} {% endif %}
</div> </div>
<div> <div>
<label class="title">Vos tournois à venir</label> <div class="table-row-5-colums-tournament header">
<label class="title">Vos tournois à venir</label>
</div>
{% if upcoming_tournaments %} {% if upcoming_tournaments %}
{% for tournament in upcoming_tournaments %} {% for tournament in upcoming_tournaments %}
{% include 'tournaments/tournament_row.html' %} {% include 'tournaments/tournament_row.html' %}
{% endfor %} {% endfor %}
{% else %} {% else %}
Aucun tournoi à venir <div>
Aucun tournoi à venir
</div>
{% endif %} {% endif %}
</div> </div>
@ -39,13 +49,26 @@
<div class="cell large-offset-1 medium-10 large-5 topblock padding10"> <div class="cell large-offset-1 medium-10 large-5 topblock padding10">
<div> <div>
<label class="title">Vos tournois terminés</label>
<div class="table-row-5-colums-tournament header">
<label class="title">Vos tournois terminés</label>
</div>
{% if ended_tournaments %} {% if ended_tournaments %}
{% for tournament in ended_tournaments %} {% for tournament in ended_tournaments %}
{% include 'tournaments/tournament_row.html' %} {% include 'tournaments/tournament_row.html' %}
{% endfor %} {% endfor %}
<div class="table-row-5-colums-tournament footer">
{% if ended_tournaments|length >= 12 %}
<div class="small">
<a href="{% url 'all-my-ended-tournaments' %}">voir tous vos tournois terminés</a>
</div>
{% endif %}
</div>
{% else %} {% else %}
Aucun tournoi terminé <div>
Aucun tournoi terminé
</div>
{% endif %} {% endif %}
</div> </div>
</div> </div>

@ -60,6 +60,7 @@ urlpatterns = [
path('signup/', views.signup, name='signup'), # URL pattern for signup path('signup/', views.signup, name='signup'), # URL pattern for signup
# path('profile/', views.profile, name='profile'), # URL pattern for signup # path('profile/', views.profile, name='profile'), # URL pattern for signup
path('my-tournaments/', views.my_tournaments, name='my-tournaments'), # URL pattern for signup path('my-tournaments/', views.my_tournaments, name='my-tournaments'), # URL pattern for signup
path('all_my_ended_tournaments/', views.all_my_ended_tournaments, name='all-my-ended-tournaments'), # URL pattern for signup
path('tournaments/<str:tournament_id>/register/', views.register_tournament, name='register_tournament'), path('tournaments/<str:tournament_id>/register/', views.register_tournament, name='register_tournament'),
path('tournaments/<str:tournament_id>/unregister/', views.unregister_tournament, name='unregister_tournament'), path('tournaments/<str:tournament_id>/unregister/', views.unregister_tournament, name='unregister_tournament'),
path('password_reset/', auth_views.PasswordResetView.as_view(), name='password_reset'), path('password_reset/', auth_views.PasswordResetView.as_view(), name='password_reset'),

@ -903,10 +903,40 @@ def my_tournaments(request):
return render(request, 'registration/my_tournaments.html', { return render(request, 'registration/my_tournaments.html', {
'upcoming_tournaments': upcoming_tournaments, 'upcoming_tournaments': upcoming_tournaments,
'running_tournaments': running_tournaments, 'running_tournaments': running_tournaments,
'ended_tournaments': ended_tournaments, 'ended_tournaments': ended_tournaments[:12],
'user_name': user.username 'user_name': user.username
}) })
@login_required
def all_my_ended_tournaments(request):
user_licence_id = request.user.licence_id
# If no licence_id, return empty lists
if user_licence_id is None:
return render(request, '/tournaments.html', {
'tournaments': [],
'title': "Palmarès",
})
# Get all tournaments for the user based on their licence
validator = LicenseValidator(user_licence_id)
stripped_license = validator.stripped_license
def filter_user_tournaments(tournaments):
return [t for t in tournaments if t.team_registrations.filter(
player_registrations__licence_id__icontains=stripped_license,
walk_out=False
).exists()]
ended_tournaments = filter_user_tournaments(finished_tournaments(None))
return render(request,
"tournaments/tournaments_list.html",
{
'tournaments': ended_tournaments,
'title': "Palmarès",
})
from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.mixins import LoginRequiredMixin
class ProfileUpdateView(LoginRequiredMixin, UpdateView): class ProfileUpdateView(LoginRequiredMixin, UpdateView):

Loading…
Cancel
Save