/* * 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 changes being integrated */ columns({width = 1000; }); print("Content-Type: text/html"); print(""); print(""); auto pn; pn = project_name(); print("Project " ## quote_html(pn) ## " Changes"); print("

"); print("Project ``" ## quote_html(pn) ## "'',
"); print("List of Changes
"); print("Being Integrated"); print("

"); print("
"); print(""); auto script_name; script_name = getenv("SCRIPT_NAME"); if (script_name == "") script_name = "http://localhost/cgi-bin/aegis.cgi"; auto ps, cn, total; ps = project[pn].state.branch; total = 0; for (cn in sort(keys(ps.change))) { auto cs; cs = ps.change[cn]; if (cs.state != being_integrated) continue; ++total; print(""); } print("
ChangeStateDescription
"); auto href, junk; href = "file@chan_menu+project@" ## quote_url(pn) ## "+change@" ## cn; try { if (count(keys(cs.branch))) href = "file@proj_menu+project@" ## quote_url(pn) ## "." ## cn; } catch (junk) ; href = script_name ## "?" ## href; print("" ## cn ## ""); print(""); print(cs.state); if (cs.state == being_developed || cs.state == being_integrated) { auto who, hi, h, email, long_name; for (hi = count(cs.history) - 1; hi >= 0; --hi) { h = cs.history[hi]; if ( h.what == develop_begin || h.what == develop_end || h.what == integrate_begin || h.what == integrate_pass ) { who = h.who; email = who; try { email = user[who].email_address; } catch (email) { email = ""; } if (email == "") email = who; href = "mailto:" ## email; long_name = who; try { long_name = passwd[who].pw_comment; } catch (long_name) { long_name = who; } print("
" ## quote_html(long_name) ## ""); break; } } } print("
"); auto part; for (part in wrap_html(quote_html(cs.brief_description), 80)) print(part); print("
"); print("Listed " ## total ## " changes."); print("
A similar report may be obtained from the command line, with"); print("
aeifail -l -p " ## quote_html(pn) ## "
"); print("
"); print("This page was generated " ## now() ## "."); print("");