Bug 302669 (2nd part): show_bug.cgi?ctype=xml should allow the option of exporting attachment data - Patch by Greg Hendricks <ghendricks@novell.com> r/a=myk
git-svn-id: svn://10.0.0.236/trunk@179788 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
# Myk Melez <myk@mozilla.org>
|
||||
# Max Kanat-Alexander <mkanat@bugzilla.org>
|
||||
# Frédéric Buclin <LpSolit@gmail.com>
|
||||
# Greg Hendricks <ghendricks@novell.com>
|
||||
|
||||
|
||||
package Bugzilla::Template;
|
||||
@@ -37,6 +38,7 @@ use Bugzilla::Config qw(:DEFAULT $templatedir $datadir);
|
||||
use Bugzilla::Util;
|
||||
use Bugzilla::User;
|
||||
use Bugzilla::Error;
|
||||
use MIME::Base64;
|
||||
|
||||
# for time2str - replace by TT Date plugin??
|
||||
use Date::Format ();
|
||||
@@ -319,7 +321,13 @@ sub create {
|
||||
$var =~ s/\@/\\x40/g; # anti-spam for email addresses
|
||||
return $var;
|
||||
},
|
||||
|
||||
|
||||
# Converts data to base64
|
||||
base64 => sub {
|
||||
my ($data) = @_;
|
||||
return encode_base64($data);
|
||||
},
|
||||
|
||||
# HTML collapses newlines in element attributes to a single space,
|
||||
# so form elements which may have whitespace (ie comments) need
|
||||
# to be encoded using 
|
||||
|
||||
@@ -108,7 +108,8 @@ $vars->{'bug_list'} = \@bug_list;
|
||||
# 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 = (Bugzilla::Bug::fields(), 'group', 'long_desc', 'attachment');
|
||||
my @fieldlist = (Bugzilla::Bug::fields(), 'group', 'long_desc',
|
||||
'attachment', 'attachmentdata');
|
||||
my %displayfields;
|
||||
|
||||
if ($cgi->param("field")) {
|
||||
|
||||
@@ -96,6 +96,7 @@ foreach my $include_path (@include_paths) {
|
||||
html_linebreak => sub { return $_; },
|
||||
no_break => sub { return $_; } ,
|
||||
js => sub { return $_ } ,
|
||||
base64 => sub { return $_ } ,
|
||||
inactive => [ sub { return sub { return $_; } }, 1] ,
|
||||
closed => [ sub { return sub { return $_; } }, 1] ,
|
||||
obsolete => [ sub { return sub { return $_; } }, 1] ,
|
||||
|
||||
@@ -218,7 +218,7 @@ sub directive_ok {
|
||||
# Things which are already filtered
|
||||
# Note: If a single directive prints two things, and only one is
|
||||
# filtered, we may not catch that case.
|
||||
return 1 if $directive =~ /FILTER\ (html|csv|js|url_quote|css_class_quote|
|
||||
return 1 if $directive =~ /FILTER\ (html|csv|js|base64|url_quote|css_class_quote|
|
||||
ics|quoteUrls|time|uri|xml|lower|
|
||||
obsolete|inactive|closed|unitconvert|
|
||||
none)/x;
|
||||
|
||||
@@ -170,6 +170,8 @@
|
||||
|
|
||||
<a href="show_bug.cgi?format=multiple&id=[% bug.bug_id %]">Format For Printing</a>
|
||||
|
|
||||
<a href="show_bug.cgi?ctype=xml&id=[% bug.bug_id %]">XML</a>
|
||||
|
|
||||
<a href="enter_bug.cgi?cloned_bug_id=[% bug.bug_id %]">Clone This [% terms.Bug %]</a>
|
||||
|
||||
[%# Links to more things users can do with this bug. %]
|
||||
|
||||
@@ -77,6 +77,9 @@
|
||||
<date>[% a.attached FILTER time FILTER xml %]</date>
|
||||
<desc>[% a.description FILTER xml %]</desc>
|
||||
<ctype>[% a.contenttype FILTER xml %]</ctype>
|
||||
[% IF displayfields.attachmentdata %]
|
||||
<data>[% a.data FILTER base64 %]</data>
|
||||
[% END %]
|
||||
[% FOREACH flag = a.flags %]
|
||||
<flag name="[% flag.type.name FILTER xml %]"
|
||||
status="[% flag.status FILTER xml %]"
|
||||
|
||||
@@ -140,6 +140,14 @@
|
||||
<input type="hidden" name="format" value="multiple">
|
||||
<input type="submit" value=" Long Format ">
|
||||
</form>
|
||||
<form method="post" action="show_bug.cgi">
|
||||
<input type="hidden" name="ctype" value="xml">
|
||||
[% FOREACH id = buglist %]
|
||||
<input type="hidden" name="id" value="[% id FILTER html %]">
|
||||
[% END %]
|
||||
<input type="hidden" name="excludefield" value="attachmentdata">
|
||||
<input type="submit" value="XML">
|
||||
</form>
|
||||
|
||||
[% IF UserInGroup(Param('timetrackinggroup')) %]
|
||||
<form method="post" action="summarize_time.cgi">
|
||||
|
||||
Reference in New Issue
Block a user