diff --git a/aimmo/game_renderer.py b/aimmo/game_renderer.py index 6aafc8221..e73c13227 100644 --- a/aimmo/game_renderer.py +++ b/aimmo/game_renderer.py @@ -3,6 +3,7 @@ """ from django.shortcuts import render, get_object_or_404 +from django.contrib.auth.models import User from aimmo import app_settings, exceptions from models import Game @@ -55,19 +56,18 @@ def _connection_on_k8s_mode(game_port): return game_port == 0 -def get_avatar_id_from_user_id(user_id, game_id): +def get_avatar_id_from_user(user, game_id): """ A helper function which will return an avatar ID that is assigned to a particular django user owner in a game. - :param user_id: A django user ID taken from the request. + :param user: A django user object taken from the request. :param game_id: The game ID in which the avatar is being requested from. :return: An integer containing the avatar_ID. """ game = get_object_or_404(Game, id=game_id) - - if not game.can_user_play(user_id): + if not game.can_user_play(user): raise exceptions.UserCannotPlayGameException - avatar = game.avatar_set.get(owner=user_id) + avatar = game.avatar_set.get(owner=user.id) return avatar.id diff --git a/aimmo/tests/tests.py b/aimmo/tests/tests.py index 566e46660..1cc2da984 100644 --- a/aimmo/tests/tests.py +++ b/aimmo/tests/tests.py @@ -184,7 +184,6 @@ def test_current_avatar_api_for_non_existant_game(self): def test_current_avatar_api_for_unauthorised_games(self): self.game.public = False - self.game.can_play = [self.user] self.game.save() c = self.login() response = c.get(reverse('aimmo/current_avatar_in_game', kwargs={'game_id': 1})) diff --git a/aimmo/views.py b/aimmo/views.py index b072054df..3c6113405 100644 --- a/aimmo/views.py +++ b/aimmo/views.py @@ -100,8 +100,7 @@ def connection_parameters(request, game_id): env_connection_settings = game_renderer.get_environment_connection_settings(game_id) try: - avatar_id = game_renderer.get_avatar_id_from_user_id(user_id=request.user.id, - game_id=game_id) + avatar_id = game_renderer.get_avatar_id_from_user(user=request.user, game_id=game_id) except UserCannotPlayGameException: LOGGER.warning('HTTP 401 returned. User {} unauthorised to play.'.format(request.user.id)) return HttpResponse('User unauthorized to play', @@ -196,8 +195,7 @@ def add_game(request): def current_avatar_in_game(request, game_id): try: - avatar_id = game_renderer.get_avatar_id_from_user_id(user_id=request.user.id, - game_id=game_id) + avatar_id = game_renderer.get_avatar_id_from_user(user=request.user, game_id=game_id) except UserCannotPlayGameException: LOGGER.warning('HTTP 401 returned. User {} unauthorised to play.'.format(request.user.id)) return HttpResponse('User unauthorized to play',