Ejemplo n.º 1
0
    def post(self, request, spark_id):
        instance = self.get_object()
        goal_limit = instance.goal_limit

        match = MatchModel.last_match(instance)
        if match is None:
            return Response(data={"error": "Please start match first"})

        white, black = self.request.data["data"].split(",")
        try:
            white = int(white)
            black = int(black)
        except ValueError:
            return Response(data={"error": "Wrong data. Data needs to be two numeric values separated by comma"})

        white = min(white, goal_limit)
        black = min(black, goal_limit)

        for index in range(match.white_count, white):
            GoalModel.objects.create(whites=True, match=match)

        for index in range(match.black_count, black):
            GoalModel.objects.create(whites=False, match=match)

        if white >= goal_limit or black >= goal_limit:
            match.finish()

        match.send_to_pusher()
        return Response({})
Ejemplo n.º 2
0
    def get(self, request, *args, **kwargs):
        match = MatchModel.last_match(request.spark)
        if match:
            return redirect(reverse('league:preview'))

        team1, _= PlayerModel.objects.get_or_create(name="Team 1")
        team2, _ = PlayerModel.objects.get_or_create(name="Team 2")

        MatchModel.create_match(request.spark, team1, team2)
        return redirect(reverse('league:preview'))
Ejemplo n.º 3
0
    def get(self, request, *args, **kwargs):
        old_match = MatchModel.objects.filter(device=request.spark, finished=True).last()
        old_match.cancel()

        match = MatchModel.last_match(request.spark)
        if match:
            return redirect(reverse('league:preview'))

        white_players = old_match.white_side_players.all()
        black_players = old_match.black_side_players.all()

        wp1 = white_players[0]
        bp1 = black_players[0]

        wp2 = white_players[1] if len(white_players) > 1 else None
        bp2 = black_players[1] if len(black_players) > 1 else None

        MatchModel.create_match(request.spark, bp1, wp1, bp2, wp2)
        return redirect(reverse('league:preview'))
Ejemplo n.º 4
0
    def get(self, request, *args, **kwargs):
        match = MatchModel.last_match(request.spark)
        if not match:
            return redirect(reverse('league:index'))

        return self.render_to_response({"match": match, "spark": request.spark})
Ejemplo n.º 5
0
    def get(self, request, players_num, *args, **kwargs):
        if MatchModel.last_match(request.spark):
            return redirect(reverse('league:preview'))

        return self.render_to_response({"form": StartMatchForm(), "four_players": players_num == '4'})
Ejemplo n.º 6
0
    def get(self, request, *args, **kwargs):
        if MatchModel.last_match(request.spark):
            return redirect(reverse('league:preview'))

        return self.render_to_response({})