Bug 136603 - show_bug.cgi's XML retrieval needs a summary mode. Patch by gerv; r=bbaetz, a=justdave.

This commit is contained in:
gerv%gerv.net 2003-01-15 07:59:53 +00:00
Родитель 8508177592
Коммит 485ec08be2
2 изменённых файлов: 47 добавлений и 18 удалений

Просмотреть файл

@ -76,9 +76,30 @@ my @bug_list;
if ($::COOKIE{"BUGLIST"}) {
@bug_list = split(/:/, $::COOKIE{"BUGLIST"});
}
$vars->{'bug_list'} = \@bug_list;
# Work out which fields we are displaying (currently XML only.)
# If no explicit list is defined, we show all fields. We then exclude any
# on the exclusion list. This is so you can say e.g. "Everything except
# attachments" without listing almost all the fields.
my @fieldlist = (Bug::fields(), 'group', 'long_desc', 'attachment');
my %displayfields;
if ($cgi->param("field")) {
@fieldlist = $cgi->param("field");
}
foreach (@fieldlist) {
$displayfields{$_} = 1;
}
foreach ($cgi->param("excludefield")) {
$displayfields{$_} = undef;
}
$vars->{'displayfields'} = \%displayfields;
print "Content-type: $format->{'ctype'}\n\n";
$template->process("$format->{'template'}", $vars)
|| ThrowTemplateError($template->error());

Просмотреть файл

@ -38,15 +38,20 @@
[% ELSE %]
<bug>
[% FOREACH field = bug.fields %]
[% IF displayfields.$field %]
[%+ PROCESS bug_field %]
[% END %]
[% END %]
[%# Now handle 'special' fields #%]
[% IF displayfields.group %]
[% FOREACH g = bug.groups %]
[% NEXT UNLESS g.ison %]
<group>[% g.name FILTER xml %]</group>
[% END %]
[% END %]
[% IF displayfields.long_desc %]
[% FOREACH c = bug.longdescs %]
<long_desc>
<who>[% c.email FILTER xml %]</who>
@ -54,7 +59,9 @@
<thetext>[% c.body FILTER xml %]</thetext>
</long_desc>
[% END %]
[% END %]
[% IF displayfields.attachment %]
[% FOREACH a = bug.attachments %]
<attachment>
<attachid>[% a.attachid %]</attachid>
@ -62,6 +69,7 @@
<desc>[% a.description FILTER xml %]</desc>
</attachment>
[% END %]
[% END %]
</bug>
[% END %]
[% END %]