]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 440609 รข\80\93 Implement Bugzilla::Bug->check for use instead of ValidateBugID and...
authormkanat%bugzilla.org <>
Thu, 26 Jun 2008 06:00:05 +0000 (06:00 +0000)
committermkanat%bugzilla.org <>
Thu, 26 Jun 2008 06:00:05 +0000 (06:00 +0000)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=LpSolit

Bugzilla/Bug.pm
Bugzilla/WebService/Bug.pm

index ec603e2b2a4fbd901fb6f04842522d9c4acd4236..2335d0caa652b95e2c488cad19cd135877593265 100644 (file)
@@ -272,6 +272,15 @@ sub new {
     return $self;
 }
 
+sub check {
+    my $class = shift;
+    # XXX At some point we will eliminate ValidateBugID and make this
+    #     method more efficient.
+    ValidateBugID(@_);
+    my $self = $class->new(@_);
+    return $self;
+}
+
 # Docs for create() (there's no POD in this file yet, but we very
 # much need this documented right now):
 #
index 9463bce73176948643d17e5574ad25969edbe61b..dd866a67bd35a780c3a70f38c87b09175469095e 100755 (executable)
@@ -75,8 +75,7 @@ sub get {
 
     my @return;
     foreach my $bug_id (@$ids) {
-        ValidateBugID($bug_id);
-        my $bug = new Bugzilla::Bug($bug_id);
+        my $bug = Bugzilla::Bug->check($bug_id);
 
         # Timetracking fields are deleted if the user doesn't belong to
         # the corresponding group.
@@ -247,14 +246,12 @@ sub add_comment {
     
     # Check parameters
     defined $params->{id} 
-        || ThrowCodeError('param_required', { param => 'id' });
-    ValidateBugID($params->{id});
-    
+        || ThrowCodeError('param_required', { param => 'id' }); 
     my $comment = $params->{comment}; 
     defined $comment
         || ThrowCodeError('param_required', { param => 'comment' });
     
-    my $bug = new Bugzilla::Bug($params->{id});
+    my $bug = Bugzilla::Bug->check($params->{id});
     
     Bugzilla->user->can_edit_product($bug->product_id)
         || ThrowUserError("product_edit_denied", {product => $bug->product});