fix: tournamnet: can join tournament

This commit is contained in:
starnakin 2024-03-11 10:36:34 +01:00 committed by AdrienLSH
parent 1352041a19
commit ad6694f91e
4 changed files with 10 additions and 6 deletions

View File

@ -79,7 +79,7 @@ class Tourmanent
*/ */
async init() async init()
{ {
let response = await this.client._get(`/api/tournaments/${id}`); let response = await this.client._get(`/api/tournaments/${this.id}`);
if (response.status !== 200) if (response.status !== 200)
return response.status; return response.status;

View File

@ -17,12 +17,12 @@ class Tourmanents
/** /**
* *
* @param {Number} id * @param {Number} id
* @returns {?Promise<Tournament>} * @returns {Promise<Tournament>}
*/ */
async getTournament(id) async getTournament(id)
{ {
let tournament = new Tourmanent(this.client); let tournament = new Tourmanent(this.client, id);
if (await tournament.init(id)) if (await tournament.init())
return null; return null;
return tournament; return tournament;
} }

View File

@ -55,7 +55,7 @@ export default class extends AbstractAuthenticatedView
document.getElementById("level").innerText = this.tournament.level; document.getElementById("level").innerText = this.tournament.level;
document.getElementById("state").innerText = this.tournament.state; document.getElementById("state").innerText = this.tournament.state;
if (this.tournament.state === "waiting") if (this.tournament.started === false)
button.disabled = false; button.disabled = false;
} }

View File

@ -5,6 +5,7 @@ from games.serializers import GameSerializer
class TournamentSerializer(serializers.ModelSerializer): class TournamentSerializer(serializers.ModelSerializer):
levels = serializers.SerializerMethodField(read_only=True, required=False) levels = serializers.SerializerMethodField(read_only=True, required=False)
state = serializers.SerializerMethodField(read_only=True, required=False)
level = serializers.ReadOnlyField() level = serializers.ReadOnlyField()
started = serializers.ReadOnlyField() started = serializers.ReadOnlyField()
finished = serializers.ReadOnlyField() finished = serializers.ReadOnlyField()
@ -12,7 +13,10 @@ class TournamentSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = TournamentModel model = TournamentModel
fields = ["name", "nb_players", "nb_players_by_game", "level", "started", "finished", "levels", "id"] fields = ["name", "nb_players", "nb_players_by_game", "level", "started", "finished", "levels", "id", "state"]
def get_state(self, instance: TournamentModel):
return ["waiting", "started", "finished"][instance.started + instance.finished]
def get_levels(self, instance: TournamentModel): def get_levels(self, instance: TournamentModel):
levels: list[list[int]] = [] levels: list[list[int]] = []