diff --git a/battleship/migrations/0004_player_attended.py b/battleship/migrations/0004_player_attended.py new file mode 100644 index 0000000..cbd15a3 --- /dev/null +++ b/battleship/migrations/0004_player_attended.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.15 on 2022-08-26 12:52 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('battleship', '0003_auto_20220826_1242'), + ] + + operations = [ + migrations.AddField( + model_name='player', + name='attended', + field=models.BooleanField(default=False), + ), + ] diff --git a/battleship/models.py b/battleship/models.py index 4b1cf41..ed57585 100644 --- a/battleship/models.py +++ b/battleship/models.py @@ -22,6 +22,7 @@ class Player(models.Model): field = models.CharField(max_length=100, default=' ' * 100) number = models.IntegerField() token = models.CharField(max_length=30, default=generate_token) + attended = models.BooleanField(default=False) class Meta: constraints = [ diff --git a/battleship/views.py b/battleship/views.py index 76840cb..db531aa 100644 --- a/battleship/views.py +++ b/battleship/views.py @@ -17,16 +17,15 @@ def new_game(request): player1 = Player.objects.create( game=game, number=0, - token=generate_token() + attended=True ) player2 = Player.objects.create( game=game, number=1, - token=generate_token() ) return JsonResponse({ 'game_id': game.id, - 'player_token': player2.attend_token, + 'player_token': player2.token, 'my_token': player1.token }) @@ -38,10 +37,10 @@ def attend_game(request): data = json.loads(request.body.decode('utf-8')) game_id = data['game_id'] attend_token = data['attend_token'] - player = Player.objects.get(game_id=game_id, attend_token=attend_token) + player = Player.objects.get(game_id=game_id, token=attend_token) if player.token is not None: return JsonResponse({}, status=403) - player.token = generate_token() + player.attended = True player.save() return JsonResponse({ 'token': player.token @@ -75,10 +74,7 @@ def check_opponent(request): token = data['token'] player = Player.objects.get(game_id=game_id, token=token) player2 = Player.objects.filter(game_id=game_id, number=(1 - player.number)).first() - if player2.token is None: - return JsonResponse({"attend": False, "ready": False}) - print(player2.field) - value = {"attend": True, "ready": 'o' in player2.field} + value = {"attend": player2.attended, "ready": 'o' in player2.field} print(value) return JsonResponse(value)