def home(request): host_scores = [] users = User.objects.all() for user in users: score = get_user_score(user) host_scores.append(UserScores(name=user.username, score=score)) host_scores.sort(key=operator.attrgetter('score')) host_scores.reverse() if request.user.is_authenticated() and get_player(request.user) is not None and get_active_game(request.user): return render(request, 'home.html', {'game': get_active_game(request.user), 'user_scores': host_scores[0:5]}) else: return render(request, 'home.html', {'host_games': get_host_games(), 'user_scores': host_scores[0:5]})
def load_game(request): game = Game.objects.filter(pk=get_active_game(request.user).pk) player = Player.objects.filter(user=request.user) units = get_units(player.first()) settlements = get_settlements(player.first()) opponent = Player.objects.filter(game=game.first()).exclude(user=request.user) opponent_units = json.dumps([]) opponent_settlements = json.dumps([]) if opponent.exists(): opponent_units = get_opponent_units(player.first(), opponent.first()) opponent_settlements = get_opponent_settlements(player.first(), opponent.first()) game = serializers.serialize('json', game, use_natural_keys=True) player = serializers.serialize('json', player, use_natural_keys=True) opponent = serializers.serialize('json', opponent, use_natural_keys=True) data = {'game': game, 'player': player, 'units': units, 'settlements': settlements, 'opponent': opponent, 'opponent_units': opponent_units, 'opponent_settlements': opponent_settlements} return HttpResponse(json.dumps(data), content_type='application/json')