From e0dee320aa760cb19cbce970fad0e7ee0975a18f Mon Sep 17 00:00:00 2001 From: Rene Krenn Date: Thu, 25 Jan 2024 15:48:56 +0100 Subject: [PATCH] MT#56817 MT#56362 fix query param sorting for regulary chained rs Change-Id: I82d3a0ce67ffb61273fc716016885f6431852eff (cherry picked from commit c837dc1043e2f4cdbdbb41c1891c49a85814caae) --- lib/NGCP/Panel/Role/API.pm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/NGCP/Panel/Role/API.pm b/lib/NGCP/Panel/Role/API.pm index f73a46d55c..2b0af26979 100644 --- a/lib/NGCP/Panel/Role/API.pm +++ b/lib/NGCP/Panel/Role/API.pm @@ -1114,7 +1114,7 @@ sub apply_query_params { $item_rs = $param->{new_rs}($c,$q,$item_rs); } elsif (defined $param->{query} || defined $param->{query_type}) { #regular chaining: - my($sub_where,$sub_attributes) = $self->get_query_callbacks($p); + my($sub_where,$sub_attributes) = $self->get_query_callbacks($param); $item_rs = $item_rs->search($sub_where->($q,$c), $sub_attributes->($q,$c)); } } @@ -1159,22 +1159,22 @@ sub get_query_callbacks { my ($self, $param) = @_; my($sub_where,$sub_attributes); if ($param->{query_type}){ - my $param = $param->{param}; - if ($param !~ /\./) { - $param = 'me.' . $param; + my $p = $param->{param}; + if ($p !~ /\./) { + $p = 'me.' . $p; } if ('string_like' eq $param->{query_type}) { - $sub_where = sub {my ($q, $c) = @_; $q =~ s/\*/\%/g; { $param => { like => $q } }; }; + $sub_where = sub {my ($q, $c) = @_; $q =~ s/\*/\%/g; { $p => { like => $q } }; }; } elsif ('string_eq' eq $param->{query_type}) { - $sub_where = sub {my ($q, $c) = @_; { $param => $q };}; + $sub_where = sub {my ($q, $c) = @_; { $p => $q };}; } elsif ('wildcard' eq $param->{query_type}) { $sub_where = sub {my ($q, $c) = @_; { wildcard_search( search_string => $q, search => 1, exact_search => 0, int_search => 0, - col_name => $param, + col_name => $p, ) };}; } elsif ('wildcard_optional' eq $param->{query_type}) { $sub_where = sub {my ($q, $c) = @_; { wildcard_search( @@ -1182,7 +1182,7 @@ sub get_query_callbacks { search => 1, exact_search => check_wildcard_search($c->req->params), int_search => 0, - col_name => $param, + col_name => $p, ) };}; }