]> de.git.xonotic.org Git - xonotic/xonstat.git/blob - xonstat/templates/game_info.mako
fastest_cap -> fastest
[xonotic/xonstat.git] / xonstat / templates / game_info.mako
1 <%inherit file="base.mako"/>
2 <%namespace name="nav" file="nav.mako" />
3 <%namespace file="scoreboard.mako" import="scoreboard" />
4 <%namespace file="accuracy.mako" import="accuracy" />
5
6 <%block name="navigation">
7 ${nav.nav('games')}
8 </%block>
9
10 <%block name="css">
11     ${parent.css()}
12     <link href="/static/css/sprites.css" rel="stylesheet">
13 </%block>
14
15 <%block name="js">
16       <script src="/static/js/bootstrap-collapse.min.js"></script>
17       <script>
18         $(".collapse").collapse();
19
20         // show accordion only when loaded to prevent rollup from being seen
21         $("#acc-accordion").css('display', '');
22       </script>
23 </%block>
24
25 <%block name="title">
26 Game Information
27 </%block>
28
29
30 % if game is None:
31 <h2>Sorry, that game wasn't found!</h2>
32
33 % else:
34 <div class="row">
35   <div class="span6">
36     <h2>Game Detail</h2>
37     <p>
38       Played: <span class="abstime" data-epoch="${game.epoch()}" title="${game.start_dt.strftime('%a, %d %b %Y %H:%M:%S UTC')}">${game.fuzzy_date()}</span><br />
39       Game Type: ${game.game_type_cd}<br />
40       Server: <a href="${request.route_url("server_info", id=server.server_id)}" name="Server info page for ${server.name}">${server.name}</a><br />
41       Map: <a href="${request.route_url("map_info", id=map.map_id)}" name="Map info page for ${map.name}">${map.name}</a><br />
42       % if game.duration is not None:
43         Duration: ${"%s:%02d" % (game.duration.seconds/60, game.duration.seconds%60)}
44       % endif
45     </p>
46   </div>
47 </div>
48
49 <div class="row">
50   <div class="span12 game">
51     <h3>Scoreboard</h3>
52     ${scoreboard(game.game_type_cd, pgstats, show_elo, show_latency)}
53   </div>
54 </div>
55
56 % if len(captimes) > 0:
57 <div class="row">
58   <div class="span6">
59     <h3>Best Flag Capture Times</h3>
60     <table class="table table-bordered table-condensed">
61       <thead>
62         <tr>
63            <th>Nick</th>
64            <th>Captime</th>
65         </tr>
66       </thead>
67       <tbody>
68       % for pgs in captimes:
69         <tr>
70           <td>
71           % if pgs.player_id > 2:
72             <a href="${request.route_url("player_info", id=pgs.player_id)}"
73              title="Go to the info page for this player">
74             <span class="nick">${pgs.nick_html_colors()|n}</span>
75             </a>
76           % else:
77             <span class="nick">${pgs.nick_html_colors()|n}</span>
78           % endif
79           </td>
80           <td>${round(float(pgs.fastest.seconds) + (pgs.fastest.microseconds/1000000.0), 2)}</td>
81         </tr>
82       % endfor
83       </tbody>
84     </table>
85   </div>
86 </div>
87 % endif
88
89
90 % if len(pgstats) > 0 and len(pwstats) > 0:
91 <div class="row">
92   <div class="span12">
93     <h3>Accuracy Information</h3>
94     <div class="accordion" id="acc-accordion" style="display:none;">
95     % for pgstat in pgstats:
96     % if pgstat.player_game_stat_id in pwstats:
97       <div class="accordion-group">
98         <div class="accordion-heading">
99           <a class="accordion-toggle" data-toggle="collapse" data-parent="#acc-accordion" href="#accuracy-${pgstat.player_game_stat_id}">
100           Accuracy for ${pgstat.nick_html_colors()|n}
101           </a>
102         </div>
103         <div id="accuracy-${pgstat.player_game_stat_id}" class="accordion-body collapse in">
104           <div class="accordion-inner">
105             ${accuracy(pwstats[pgstat.player_game_stat_id])}
106           </div>
107         </div>
108       </div>
109     % endif
110     % endfor
111   </div>
112 </div>
113 % endif
114
115 </div>
116 % endif