From: mkanat%bugzilla.org <> Date: Tue, 20 Jan 2009 20:26:16 +0000 (+0000) Subject: Bug 473052: Modify WebService::Bug.add_comment to return the new comment ID X-Git-Tag: bugzilla-3.3.2~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a2ceff53d05ed1a9440609c21e78364e8e8b020;p=thirdparty%2Fbugzilla.git Bug 473052: Modify WebService::Bug.add_comment to return the new comment ID Patch By Kip Hampton r=mkanat, a=mkanat --- diff --git a/Bugzilla/WebService/Bug.pm b/Bugzilla/WebService/Bug.pm index 5626d1a849..715ebe833d 100755 --- a/Bugzilla/WebService/Bug.pm +++ b/Bugzilla/WebService/Bug.pm @@ -337,11 +337,23 @@ sub add_comment { # Append comment $bug->add_comment($comment, { isprivate => $params->{private}, work_time => $params->{work_time} }); + + # Capture the call to bug->update (which creates the new comment) in + # a transaction so we're sure to get the correct comment_id. + + my $dbh = Bugzilla->dbh; + $dbh->bz_start_transaction(); + $bug->update(); + my $new_comment_id = $dbh->bz_last_key('longdescs', 'comment_id'); + + $dbh->bz_commit_transaction(); + # Send mail. Bugzilla::BugMail::Send($bug->bug_id, { changer => Bugzilla->user->login }); - return undef; + + return { id => $self->type('int', $new_comment_id) }; } 1; @@ -977,6 +989,10 @@ be ignored. =back +=item B + +A hash with one element, C whose value is the id of the newly-created comment. + =item B =over @@ -1002,6 +1018,8 @@ You did not have the necessary rights to edit the bug. =item Added in Bugzilla B<3.2>. +=item Modified to return the new comment's id in Bugzilla B<3.4> + =back =back