/* * aegis - project change supervisor * Copyright (C) 1997, 1998, 2000, 2001 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 history of a change */ auto script_name; script_name = getenv("SCRIPT_NAME"); if (script_name == "") script_name = "http://localhost/cgi-bin/aegis.cgi"; columns({width = 1000;}); print("Content-Type: text/html"); print(""); print(""); print("Change History Report"); print("

"); print("Project ``" ## quote_html(project_name()) ## "'',"); print("Change " ## change_number() ## ","); print("
History"); print("

"); auto ps, cs; ps = project[project_name()].state; cs = ps.branch.change[change_number()]; /* * scan all completed changes * for any of the named files */ print("
"); print(""); auto j; for (j in keys(cs.history)) { auto ch; ch = cs.history[j]; print(""); } print("
WhatWhenWhoComment
"); print(ch.what); print(""); print(ch.when); print(""); auto href, email, long_name; email = ch.who; try { email = user[ch.who].email_address; } catch (email) { email = ""; } if (email == "") email = ch.who; href = "mailto:" ## email; print(""); long_name = ch.who; try { long_name = passwd[ch.who].pw_comment; } catch (long_name) { long_name = ch.who; } print(quote_html(long_name) ## ""); print(""); auto part; for (part in wrap_html(quote_html(ch.why), 80)) print(part); auto t; if (j == count(cs.history) - 1) t = now(); else t = cs.history[j + 1].when; t = working_days(ch.when, t); if (t >= 0.1) { if (ch.why != "") print("
"); print("Elapsed: " ## sprintf("%5.3f", t) ## " working days."); } print("
"); print("Listed " ## count(cs.history) ## " state transitions."); print("
"); print("A similar report may be obtained from the command line, with one of"); print("
ael change_history -p " ## quote_html(project_name()) ##
	" -c " ## change_number());
print("aer change_history -p " ## quote_html(project_name()) ##
	" -c " ## change_number() ## "
"); print("
"); print("This page was generated " ## now() ## "."); print("");