diff options
author | terry%mozilla.org <> | 2000-01-14 05:25:08 +0100 |
---|---|---|
committer | terry%mozilla.org <> | 2000-01-14 05:25:08 +0100 |
commit | 000687a8129f2d52fae8baf2e535db97eebd4c54 (patch) | |
tree | eb5e9d326889033cf9e7c87685047b43d2df795a | |
parent | 58259e7b438a18c7e99b0c93622f97a6b9e4d314 (diff) | |
download | bugzilla-000687a8129f2d52fae8baf2e535db97eebd4c54.tar.gz bugzilla-000687a8129f2d52fae8baf2e535db97eebd4c54.tar.xz |
Allow displaying of a "keywords" column.
-rwxr-xr-x | buglist.cgi | 57 | ||||
-rwxr-xr-x | colchange.cgi | 6 |
2 files changed, 42 insertions, 21 deletions
diff --git a/buglist.cgi b/buglist.cgi index 07ca5071c..86a0a2ae2 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -27,16 +27,19 @@ use strict; require "CGI.pl"; use Date::Parse; -use vars @::legal_platform, - @::versions, - @::legal_product, - %::MFORM, +use vars %::MFORM, @::components, - @::legal_severity, - @::legal_priority, + @::db, @::default_column_list, + @::keywordsbyname, + @::legal_keywords, + @::legal_platform, + @::legal_priority, + @::legal_product, @::legal_resolution_no_dup, - @::legal_target_milestone; + @::legal_severity, + @::legal_target_milestone, + @::versions; @@ -185,7 +188,6 @@ if (defined $::COOKIE{'COLUMNLIST'}) { } my $minvotes; -my $votecolnum; if (defined $::FORM{'votes'}) { my $c = trim($::FORM{'votes'}); if ($c ne "") { @@ -199,7 +201,6 @@ if (defined $::FORM{'votes'}) { if (! (grep {/^votes$/} @collist)) { push(@collist, 'votes'); } - $votecolnum = lsearch(\@collist, 'votes'); } } @@ -561,6 +562,8 @@ foreach my $c (@collist) { } else { $tablestart .= $::title{$c}; } + } elsif ($c eq "keywords") { + $tablestart .= "<TH valign=left>Keywords</TH>"; } } @@ -600,19 +603,31 @@ while (@row = FetchSQLData()) { pnl "<A HREF=\"show_bug.cgi?id=$bug_id\">"; pnl "$bug_id</A> "; foreach my $c (@collist) { - if (!exists $::needquote{$c}) { - next; - } - my $value = shift @row; - if (!defined $value) { - next; - } - if ($::needquote{$c}) { - $value = html_quote($value); - } else { - $value = "<nobr>$value</nobr>"; + if (exists $::needquote{$c}) { + my $value = shift @row; + if (!defined $value) { + next; + } + if ($::needquote{$c}) { + $value = html_quote($value); + } else { + $value = "<nobr>$value</nobr>"; + } + pnl "<td>$value"; + } elsif ($c eq "keywords") { + my $query = + $::db->query("SELECT keyworddefs.name + FROM keyworddefs, keywords + WHERE keywords.bug_id = $bug_id + AND keyworddefs.id = keywords.keywordid + ORDER BY keyworddefs.name"); + my @list; + my @row; + while (@row= $query->fetchrow()) { + push(@list, $row[0]); + } + pnl("<td>" . join(", ", @list) . "</td>"); } - pnl "<td>$value"; } if ($dotweak) { my $value = shift @row; diff --git a/colchange.cgi b/colchange.cgi index 077b0bc29..d3a42fc69 100755 --- a/colchange.cgi +++ b/colchange.cgi @@ -30,6 +30,9 @@ print "Content-type: text/html\n"; # The master list not only says what fields are possible, but what order # they get displayed in. +ConnectToDatabase(); +GetVersionTable(); + my @masterlist = ("opendate", "changeddate", "severity", "priority", "platform", "owner", "reporter", "status", "resolution", "component", "product", "version", "project", "os", "votes"); @@ -43,6 +46,9 @@ if (Param("useqacontact")) { if (Param("usestatuswhiteboard")) { push(@masterlist, "status_whiteboard"); } +if (@::legal_keywords) { + push(@masterlist, "keywords"); +} push(@masterlist, ("summary", "summaryfull")); |