add some missing files, complete separation of templates, factor common page wrapper...
[buildfarm-server.git] / templates / status.tt
1 [%
2  flag_imgs = {
3      perl = '/img/camel.png',
4      python = '/img/python.png',
5      debug = '/img/bug.png',
6      pam => '/img/pam.png',
7      cassert => '/img/cassert.png',
8      openssl => '/img/ssl_icon.gif',
9      nls => '/img/translateicon.gif',
10      krb5 => '/img/krb.gif',
11      tcl => '/img/tcl.png',
12      vpath => '/img/vpath.png',
13      xml => '/img/xml.png',
14      'thread-safety' => '/img/threads.gif',
15      'integer-datetimes' = '/img/days.png',
16      git => '/img/git.png',
17      }
18 -%]
19 [%- BLOCK img ; IF flag == 'depend' or flag == 'gnu-ld' ; ; ELSIF flag_imgs.$flag %]<img src="[% flag_imgs.$flag %]" title="[% flag %]" alt="[% flag %]" height="16" width="16" class="inline" align="bottom" />  [% ELSE %][%#
20                                                                                                                                                                                                           flag ; ' '
21 %][% END ; END -%]
22 [%- BLOCK cl %] class="[% SWITCH bgfor.replace('-.*','') -%]
23   [%- CASE 'OK' %]pass[% CASE 'ContribCheck' %]warn[% CASE [ 'Check' 'InstallCheck' ] %]warnx[% CASE %]fail[% END %]"
24 [%- END -%]
25 [% WRAPPER 'page.tt' 
26         title = 'PostgreSQL BuildFarm Status'
27         bodyclass = 'none'
28         pagebutton = 'status'
29 %]
30     <h1>PostgreSQL BuildFarm Status</h1>
31     <p>
32       Shown here is the latest status of each farm member 
33       for each branch it has reported on in the last 30 days.
34     </p>
35     <p>
36        Use the farm member link for history of that member 
37        on the relevant branch.
38     </p>
39 <table><tr><th class="head" rowspan="2">Legend</th>
40 [% FOREACH flagset IN flag_imgs %]
41 <td><img src="[% flagset.value %]" title="[% flagset.key %]" alt="[% flagset.key %]" height="16" width="16" class="inline"  align="center"/> =  [% flagset.key %]</td>
42 [% IF loop.count == 7 %]</tr><tr>[% END %]
43 [% END %]
44 </tr></table>
45 <br />
46     <table cellspacing="0">
47 [% brch = "" %]
48 [% FOREACH row IN statrows %]
49 [% IF row.branch != brch ; brch = row.branch %]
50 <tr><th class="head" colspan="4">Branch: [% brch %]</th></tr>
51 <tr><th>Alias</th><th>System</th><th>Status</th><th>Flags</th></tr>
52 [% END %]
53 <tr [% PROCESS cl bgfor=row.stage %]>
54     <td><a 
55     href="show_history.pl?nm=[% row.sysname %]&amp;br=[% row.branch %]"
56     title="History"
57     >[% row.sysname %]</a></td>
58     <td><span class="opsys">[% row.operating_system %]
59             [% row.os_version %]</span> <span class="compiler">
60             [%- row.compiler %]
61             [% row.compiler_version %]</span> <span class="arch">
62             [%- row.architecture %]</span></td>
63     <td class="status">
64             [%- row.when_ago | replace('\s','&nbsp;') %]&nbsp;ago&nbsp;
65             [% row.stage -%]
66             <a href="show_log.pl?nm=
67                [%- row.sysname %]&amp;dt=
68                [%- row.snapshot | uri %]">
69                 [%- IF row.stage != 'OK' %]Details[% ELSE %]Config[% END -%]</a></td>
70
71     <td class="flags">[% FOREACH flag IN row.build_flags.split().sort() ; PROCESS img ; END %]</td>
72 </tr>
73 [% END %]
74     </table>
75 [% END %]