From 265af1fdb1c595e2bd4805f29b5ea1a6c71a9432 Mon Sep 17 00:00:00 2001 From: "bzrmirror%bugzilla.org" Date: Wed, 18 Sep 2013 15:18:07 +0000 Subject: [PATCH] Bug 916979 - Bug.search ignores the "limit" parameter a/r=glob git-svn-id: svn://10.0.0.236/trunk@265017 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/webtools/bugzilla/.bzrrev | 2 +- mozilla/webtools/bugzilla/Bugzilla/Bug.pm | 4 ---- mozilla/webtools/bugzilla/Bugzilla/WebService/Bug.pm | 12 ++++++------ 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/mozilla/webtools/bugzilla/.bzrrev b/mozilla/webtools/bugzilla/.bzrrev index 04ae4bf47e1..334c61aa610 100644 --- a/mozilla/webtools/bugzilla/.bzrrev +++ b/mozilla/webtools/bugzilla/.bzrrev @@ -1 +1 @@ -8740 \ No newline at end of file +8741 \ No newline at end of file diff --git a/mozilla/webtools/bugzilla/Bugzilla/Bug.pm b/mozilla/webtools/bugzilla/Bugzilla/Bug.pm index 302b5859564..ba941788b3f 100644 --- a/mozilla/webtools/bugzilla/Bugzilla/Bug.pm +++ b/mozilla/webtools/bugzilla/Bugzilla/Bug.pm @@ -270,10 +270,6 @@ use constant FIELD_MAP => { summary => 'short_desc', url => 'bug_file_loc', whiteboard => 'status_whiteboard', - - # These are special values for the WebService Bug.search method. - limit => 'LIMIT', - offset => 'OFFSET', }; use constant REQUIRED_FIELD_MAP => { diff --git a/mozilla/webtools/bugzilla/Bugzilla/WebService/Bug.pm b/mozilla/webtools/bugzilla/Bugzilla/WebService/Bug.pm index fd8ea8fef32..14d56713c1a 100644 --- a/mozilla/webtools/bugzilla/Bugzilla/WebService/Bug.pm +++ b/mozilla/webtools/bugzilla/Bugzilla/WebService/Bug.pm @@ -493,19 +493,19 @@ sub search { } my %match_params = %{ $params }; - delete $params->{include_fields}; - delete $params->{exclude_fields}; + delete $match_params{include_fields}; + delete $match_params{exclude_fields}; # If no other parameters have been passed other than limit and offset # then we throw error if system is configured to do so. - if (!grep(!/^(limit|offset)$/i, keys %$params) + if (!grep(!/^(limit|offset)$/, keys %match_params) && !Bugzilla->params->{search_allow_no_criteria}) { ThrowUserError('buglist_parameters_required'); } - $options{order_columns} = [ split(/\s*,\s*/, delete $params->{order}) ] if $params->{order}; - $options{params} = $params; + $options{order_columns} = [ split(/\s*,\s*/, delete $match_params{order}) ] if $match_params{order}; + $options{params} = \%match_params; my $search = new Bugzilla::Search(%options); my ($data) = $search->data; @@ -518,7 +518,7 @@ sub search { my @bug_ids = map { $_->[0] } @$data; my $bug_objects = Bugzilla::Bug->new_from_list(\@bug_ids); - my @bugs = map { $self->_bug_to_hash($_, \%match_params) } @$bug_objects; + my @bugs = map { $self->_bug_to_hash($_, $params) } @$bug_objects; return { bugs => \@bugs }; }