Allow "latest" as the date of a stage log.
[buildfarm-server.git] / templates / members.tt
1 [%#
2
3 Copyright (c) 2003-2010, Andrew Dunstan
4
5 See accompanying License file for license details
6
7 -%]
8 [% WRAPPER 'page.tt' 
9         title = 'PostgreSQL BuildFarm Members'
10         bodyclass = 'members'
11         pagebutton = 'members'
12 %]
13 <h1>PostgreSQL BuildFarm Members</h1>
14     <p>Click branch links to see build history. Click the heading links to resort the list. Select members by checkbox and hit the button at the bottom to create a status custom filter.</p>
15     <form name="filter" method="GET" action="/cgi-bin/show_status.pl">
16     <table cellspacing="0">
17     <tr>
18     <td>&nbsp;</td>
19     <th><a href="/cgi-bin/show_members.pl?sort_by=name">Name</a><br /><a href="/cgi-bin/show_members.pl?sort_by=owner">Owner</a></th>
20     <th><a href="/cgi-bin/show_members.pl?sort_by=os">OS / Version</a></th>
21     <th><a href="/cgi-bin/show_members.pl?sort_by=compiler">Compiler / Version</a></th>
22     <th><a href="/cgi-bin/show_members.pl?sort_by=arch">Arch</a></th>
23     <th>Branches reported on<br />(most recent report)</th>
24     </tr>
25 [% alt = true %]
26 [% FOREACH row IN statrows ;
27     have_recent = 0;
28     FOREACH branch_days IN row.branches.split(',') ;
29        branch_fields = branch_days.split(':');
30        branch_day = branch_fields.1;
31        IF branch_day < 365 ; have_recent = 1; END;
32     END;
33  IF have_recent ;
34 %]    <tr [%- IF alt %]class="alt"[% END -%]>
35     [% alt = ! alt %]
36     <td><input type="checkbox" name="member" value="[% row.name %]" /></td>
37     <td>[% row.name %]<br />[% row.owner_email %]
38 [% IF row.sys_notes %]
39     <br />
40       Notes: ([% row.sys_notes_date %]) [% row.sys_notes %]
41 [% END %]
42     </td>
43     <td>[% row.operating_system %]<br />[% row.os_version %]
44         [% prev_osver = row.osversion; 
45            FOREACH personality IN row.personalities;
46            IF personality.os_version != prev_osver
47          %]
48         <br / > w.e.f. [% personality.effective_date %]: [% personality.os_version %]
49         [% prev_osver = personality.os_version; END; END %]
50     </td>
51     <td>[% row.compiler %]<br />[% row.compiler_version %]
52         [% prev_compver = row.compiler_version; 
53            FOREACH personality IN row.personalities;
54            IF personality.compiler_version != prev_compver
55         %]
56         <br / > w.e.f. [% personality.effective_date %]: [% personality.compiler_version %]
57         [% prev_compver = personality.compiler_version; END; END %]
58     </td>
59     <td>[% row.arch %]</td>
60     <td class="branch">[% IF ! row.branches ; '&nbsp;' ; END -%]
61     <ul>
62     [%- 
63        FOREACH branch_days IN row.branches.split(',') ;
64        branch_fields = branch_days.split(':');
65        branch = branch_fields.0;
66        branch_day = branch_fields.1;
67        IF branch_day < 365 ;
68     %]<li><a 
69     href="show_history.pl?nm=[% row.name %]&amp;br=[% branch %]"
70     title="History"
71     >[% branch %]</a>&nbsp;([% branch_day %]&nbsp;days&nbsp;ago)</li>[% END; END %]</ul></td>
72     </tr>
73 [% END; END %]
74     </table>
75     <input type="submit" value="Make Filter" />
76     </form>
77 [% END %]