]> de.git.xonotic.org Git - xonotic/xonstat.git/blobdiff - xonstat/views.py
Add player_game_index view, route, and template. It shows the recent games (paged...
[xonotic/xonstat.git] / xonstat / views.py
index bc722249f179c302ef4e68de3aee0b269c9cf6ea..53f64332fe494927165348b9b16d033aba39b14a 100755 (executable)
@@ -53,6 +53,34 @@ def player_info(request):
             'recent_games':recent_games}
 
 
+def player_game_index(request):
+    player_id = request.matchdict['player_id']
+    current_page = request.matchdict['page']
+
+    try:
+        player = DBSession.query(Player).filter_by(player_id=player_id).one()
+
+        games_q = DBSession.query(PlayerGameStat, Game, Server, Map).\
+                filter(PlayerGameStat.player_id == player_id).\
+                filter(PlayerGameStat.game_id == Game.game_id).\
+                filter(Game.server_id == Server.server_id).\
+                filter(Game.map_id == Map.map_id).\
+                order_by(Game.game_id.desc())
+
+        games = Page(games_q, current_page, url=page_url)
+
+        log.debug(games)
+        log.debug(player)
+        
+    except Exception as e:
+        player = None
+        games = None
+        raise e
+
+    return {'player':player,
+            'games':games}
+
+
 ##########################################################################
 # This is the game views area - only views pertaining to Xonotic
 # games and their related information goes here