/* * aegis - project change supervisor * Copyright (C) 2000 Peter Miller; * All rights reserved. * * 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 2 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, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. * * MANIFEST: report the project progress in a year */ auto ps, cs; ps = project[project_name()].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 year; if (count(arg) > 0) year = arg[0]; else year = 0 + strftime("%Y", now()); auto earliest, latest; earliest = mktime("1-Jan-" ## year ## " 00:00:00"); latest = mktime("31-Dec-" ## year ## " 23:59:59"); 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("
Month | Count | |
---|---|---|
"); if (n > 0) { href = script_name ## "?file@proj_prgr3"; href ##= "+project@" ## quote_url(project_name()); href ##= "+" ## strftime("1-%b-%Y", t); print(""); } print(strftime("%B", t)); if (n > 0) print(""); print(" | "); print(n); 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][month];
if (n > 0)
{
n = round(n * max);
if (n < 3)
n = 3;
href = script_name ## "?file@rect+" ## n
## "+12+color+"## clr;
print(" |
"); print("Please note: if the number of review_fails is zero,"); print("or relatively low compared to review_passs,"); print("then the process isn't working."); print("Reviews are intended to find defects."); /* ********** Legend ************************************************** */ print("
");
href = script_name ## "?file@rect+30+12+color+" ## clr;
print(" | "); print(hist); print(" |