/*
* aegis - project change supervisor
* Copyright (C) 2000, 2002, 2003, 2005-2008 Peter Miller
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see
* .
*/
auto pn;
pn = project_name();
auto ps, cs;
ps = project[pn].state;
auto ph, when, n, max, href;
auto script_name;
script_name = getenv("SCRIPT_NAME");
if (script_name == "")
script_name = "http://localhost/cgi-bin/aegis.cgi";
auto color_map;
color_map =
{
new_change = "128+128+128";
develop_begin = "0+0+255";
develop_begin_undo = "0+95+95";
develop_end = "128+128+255";
develop_end_2ar = "96+96+255";
develop_end_2ai = "160+160+255";
develop_end_undo = "0+255+255";
review_begin = "255+192+0";
review_begin_undo = "255+128+0";
review_pass = "255+255+0";
review_pass_undo = "192+255+64";
review_fail = "255+0+0";
integrate_begin = "0+128+0";
integrate_begin_undo = "0+128+128";
integrate_fail = "255+0+255";
integrate_pass = "0+255+0";
};
columns({width = 1000; });
print("Content-Type: text/html");
print("");
print("");
print("
");
print("");
print("");
print("");
print("");
/*
* Netscape 4.x has numerous CSS bugs, two of which need mentioning.
* 1. If a style sheet is not present Netscape says 404 Not found, when
* it should silently ignore it. 2. Style sheets who's media is not
* "screen" will be ignored. Fortunately we can use (2) to get around (1).
*/
print("");
auto stack, depth, bn;
depth=0;
stack[depth] = project[pn].state.name;
while ("" != ( bn = project[stack[depth]].state.parent_name )) {
stack[++depth] = bn;
}
while ( depth >= 0) {
print("");
}
print("");
print("Project Progress Histogram");
print("
");
for (hist in [ new_change, develop_begin, develop_begin_undo,
develop_end, develop_end_undo, review_pass, review_pass_undo,
review_fail, integrate_begin, integrate_begin_undo,
integrate_fail, integrate_pass]
)
{
clr = color_map[hist];
n = bucket[hist][year];
if (n > 0)
{
n = round(n * max);
if (n < 3)
n = 3;
href = script_name ## "?file@rect+" ## n
## "+12+color+"## clr;
print("");
}
}
print("
");
}
print("
");
print("
");
print("Please note: if the number of review_fails is zero,");
print("or relatively low compared to review_passes,");
print("then the process isn't working.");
print("Reviews are intended to find defects.");
print("