1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-06-21 11:18:27 +02:00

Display tournament list

This commit is contained in:
Yohann D'ANELLO
2020-04-29 16:26:52 +02:00
parent eead385218
commit e865910ee3
10 changed files with 135 additions and 23 deletions

View File

@ -100,9 +100,9 @@ class Team(models.Model):
validation_status = models.CharField(
max_length=8,
choices=[
("invalid", _("Registration not validated")),
("waiting", _("Waiting for validation")),
("valid", _("Registration validated")),
("0invalid", _("Registration not validated")),
("1waiting", _("Waiting for validation")),
("1valid", _("Registration validated")),
],
verbose_name=_("validation status"),
)
@ -184,9 +184,9 @@ class Payment(models.Model):
validation_status = models.CharField(
max_length=8,
choices=[
("invalid", _("Registration not validated")),
("waiting", _("Waiting for validation")),
("valid", _("Registration validated")),
("0invalid", _("Registration not validated")),
("1waiting", _("Waiting for validation")),
("2valid", _("Registration validated")),
],
verbose_name=_("validation status"),
)

20
apps/tournament/tables.py Normal file
View File

@ -0,0 +1,20 @@
import django_tables2 as tables
from django.utils.translation import gettext as _
from .models import Tournament
class TournamentTable(tables.Table):
date_start = tables.Column(
verbose_name=_("dates").capitalize(),
)
def render_date_start(self, record):
return _("From {start:%b %d %Y} to {end:%b %d %Y}").format(start=record.date_start, end=record.date_end)
class Meta:
model = Tournament
fields = ("name", "date_start", "date_inscription", "date_solutions", "size", )
attrs = {
'class': 'table table-condensed table-striped table-hover'
}

9
apps/tournament/urls.py Normal file
View File

@ -0,0 +1,9 @@
from django.urls import path
from .views import TournamentListView
app_name = "tournament"
urlpatterns = [
path('list/', TournamentListView.as_view(), name="list"),
]

View File

@ -1,3 +1,24 @@
from django.shortcuts import render
from django.db.models import Q
from django.utils.translation import gettext_lazy as _
from django_tables2.views import SingleTableView
# Create your views here.
from member.models import TFJMUser
from .models import Tournament
from .tables import TournamentTable
class TournamentListView(SingleTableView):
model = Tournament
table_class = TournamentTable
extra_context = dict(title=_("Tournaments list"),)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
team_users = TFJMUser.objects.filter(Q(team__isnull=False) | Q(role="admin") | Q(role="organizer"))
valid_team_users = team_users.filter(Q(team__validation_status="valid") | Q(role="admin") | Q(role="organizer"))
context["team_users_emails"] = [user.email for user in team_users]
context["valid_team_users_emails"] = [user.email for user in valid_team_users]
return context