]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 692507 - WebService API calls where appropriate should be using the shadow_db...
authorDave Lawrence <dlawrence@mozilla.com>
Fri, 24 Feb 2012 21:35:24 +0000 (16:35 -0500)
committerDave Lawrence <dlawrence@mozilla.com>
Fri, 24 Feb 2012 21:35:24 +0000 (16:35 -0500)
r=glob, a=LpSolit

Bugzilla/WebService/Bug.pm
Bugzilla/WebService/Product.pm
Bugzilla/WebService/User.pm

index 5c3645cfab58585617de83a0a3f046ce97afa0e8..457e000e5797b2c38e66aa5f6c838463c6ccc3e8 100644 (file)
@@ -67,6 +67,8 @@ BEGIN {
 sub fields {
     my ($self, $params) = validate(@_, 'ids', 'names');
 
+    Bugzilla->switch_to_shadow_db();
+
     my @fields;
     if (defined $params->{ids}) {
         my $ids = $params->{ids};
@@ -227,7 +229,7 @@ sub comments {
     my $bug_ids = $params->{ids} || [];
     my $comment_ids = $params->{comment_ids} || [];
 
-    my $dbh  = Bugzilla->dbh;
+    my $dbh  = Bugzilla->switch_to_shadow_db();
     my $user = Bugzilla->user;
 
     my %bugs;
@@ -295,6 +297,8 @@ sub _translate_comment {
 sub get {
     my ($self, $params) = validate(@_, 'ids');
 
+    Bugzilla->switch_to_shadow_db();
+
     my $ids = $params->{ids};
     defined $ids || ThrowCodeError('param_required', { param => 'ids' });
 
@@ -329,6 +333,8 @@ sub get {
 sub history {
     my ($self, $params) = validate(@_, 'ids');
 
+    Bugzilla->switch_to_shadow_db();
+
     my $ids = $params->{ids};
     defined $ids || ThrowCodeError('param_required', { param => 'ids' });
 
@@ -378,7 +384,9 @@ sub history {
 
 sub search {
     my ($self, $params) = @_;
-    
+   
+    Bugzilla->switch_to_shadow_db();
+
     if ( defined($params->{offset}) and !defined($params->{limit}) ) {
         ThrowCodeError('param_required', 
                        { param => 'limit', function => 'Bug.search()' });
@@ -428,6 +436,8 @@ sub possible_duplicates {
     my ($self, $params) = validate(@_, 'product');
     my $user = Bugzilla->user;
 
+    Bugzilla->switch_to_shadow_db();
+
     # Undo the array-ification that validate() does, for "summary".
     $params->{summary} || ThrowCodeError('param_required',
         { function => 'Bug.possible_duplicates', param => 'summary' });
@@ -540,6 +550,8 @@ sub create {
 sub legal_values {
     my ($self, $params) = @_;
 
+    Bugzilla->switch_to_shadow_db();
+
     defined $params->{field} 
         or ThrowCodeError('param_required', { param => 'field' });
 
@@ -721,6 +733,8 @@ sub update_see_also {
 sub attachments {
     my ($self, $params) = validate(@_, 'ids', 'attachment_ids');
 
+    Bugzilla->switch_to_shadow_db();
+
     if (!(defined $params->{ids}
           or defined $params->{attachment_ids}))
     {
index 7d4ddb1472309b35657703f9ba9219ef42f4608e..136870890b9a90e84388908f9427d7211f51826a 100644 (file)
@@ -47,23 +47,28 @@ BEGIN { *get_products = \&get }
 
 # Get the ids of the products the user can search
 sub get_selectable_products {
+    Bugzilla->switch_to_shadow_db();
     return {ids => [map {$_->id} @{Bugzilla->user->get_selectable_products}]}; 
 }
 
 # Get the ids of the products the user can enter bugs against
 sub get_enterable_products {
+    Bugzilla->switch_to_shadow_db();
     return {ids => [map {$_->id} @{Bugzilla->user->get_enterable_products}]}; 
 }
 
 # Get the union of the products the user can search and enter bugs against.
 sub get_accessible_products {
+    Bugzilla->switch_to_shadow_db();
     return {ids => [map {$_->id} @{Bugzilla->user->get_accessible_products}]}; 
 }
 
 # Get a list of actual products, based on list of ids or names
 sub get {
     my ($self, $params) = validate(@_, 'ids', 'names');
-    
+
+    Bugzilla->switch_to_shadow_db();
+
     # Only products that are in the users accessible products, 
     # can be allowed to be returned
     my $accessible_products = Bugzilla->user->get_accessible_products;
index 60bae73dff561cefc2b57640d3ad9df9a41e38bb..908fe00ced5ca8704699fdc77c446a19dbf9ec65 100644 (file)
@@ -114,6 +114,8 @@ sub create {
 sub get {
     my ($self, $params) = validate(@_, 'names', 'ids');
 
+    Bugzilla->switch_to_shadow_db();
+
     defined($params->{names}) || defined($params->{ids})
         || defined($params->{match})
         || ThrowCodeError('params_required',