From c712d457006fbf7c29bd621549db7a732131ecb8 Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Sat, 30 Dec 2006 06:18:54 +0000 Subject: Bug 346121: Creating an attachment upon new bug doesn't create attachment link in comment #0 - Patch by Frédéric Buclin r=bkor a=justdave MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- post_bug.cgi | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'post_bug.cgi') diff --git a/post_bug.cgi b/post_bug.cgi index 715437141..2c40a4441 100755 --- a/post_bug.cgi +++ b/post_bug.cgi @@ -187,10 +187,26 @@ if (defined $cgi->param('version')) { # Add an attachment if requested. if (defined($cgi->upload('data')) || $cgi->param('attachurl')) { $cgi->param('isprivate', $cgi->param('commentprivacy')); - Bugzilla::Attachment->insert_attachment_for_bug(!THROW_ERROR, - $bug, $user, $timestamp, - \$vars) - || ($vars->{'message'} = 'attachment_creation_failed'); + my $attach_id = Bugzilla::Attachment->insert_attachment_for_bug(!THROW_ERROR, + $bug, $user, $timestamp, \$vars); + + if ($attach_id) { + # Update the comment to include the new attachment ID. + # This string is hardcoded here because Template::quoteUrls() + # expects to find this exact string. + my $new_comment = "Created an attachment (id=$attach_id)\n" . + $cgi->param('description') . "\n"; + # We can use $bug->longdescs here because we are sure that the bug + # description is of type CMT_NORMAL. No need to include it if it's + # empty, though. + if ($bug->longdescs->[0]->{'body'} !~ /^\s+$/) { + $new_comment .= "\n" . $bug->longdescs->[0]->{'body'}; + } + $bug->update_comment($bug->longdescs->[0]->{'id'}, $new_comment); + } + else { + $vars->{'message'} = 'attachment_creation_failed'; + } # Determine if Patch Viewer is installed, for Diff link eval { -- cgit v1.2.3-24-g4f1b