Changeset 55 for server/trunk/web/lib/Sophie/Controller/Search.pm
- Timestamp:
- 12/01/10 01:43:14 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
server/trunk/web/lib/Sophie/Controller/Search.pm
r53 r55 72 72 } 73 73 74 sub format_search : Private { 75 my ( $self, $c, $searchspec ) = @_; 76 77 my $rs = $c->stash->{rs}->search( 78 {}, 79 { 80 page => $searchspec->{page} || 1, 81 rows => $searchspec->{rows} || 10, 82 }, 83 ); 84 85 if (!$searchspec->{page}) { 86 my $pager = $rs->pager; 87 $c->stash->{xmlrpc} = { 88 pages => $pager->last_page, 89 current_page => $pager->current_page, 90 total_entries => $pager->total_entries, 91 entries_per_page => $pager->entries_per_page, 92 }; 93 } 94 $c->stash->{xmlrpc}{results} = [ $rs->get_column('pkgid')->all ]; 95 } 96 97 sub bypkgid : XMLRPCPath('/search/rpm/bypkgid') { 98 my ( $self, $c, $searchspec, $pkgid ) = @_; 99 100 $c->stash->{rs} = $c->model('Base')->resultset('Rpms')->search( 101 { 102 -and => [ 103 (exists($searchspec->{src}) 104 ? { issrc => $searchspec->{src} ? 1 : 0 } 105 : ()), 106 { pkgid => $pkgid }, 107 { pkgid => 108 { IN => $c->forward('distrib_search', [ $searchspec 109 ])->get_column('pkgid')->as_query, }, 110 }, 111 ] 112 }, 113 ); 114 115 $c->forward('format_search', $searchspec); 116 } 117 74 118 sub bytag : XMLRPCPath('/search/rpm/bytag') { 75 119 my ( $self, $c, $searchspec, $tag, $tagvalue ) = @_; … … 78 122 ->search({ tagname => lc($tag), value => $tagvalue}) 79 123 ->get_column('pkgid'); 80 $c->stash->{ xmlrpc} = [$c->model('Base')->resultset('Rpms')->search(124 $c->stash->{rs} = $c->model('Base')->resultset('Rpms')->search( 81 125 { 82 126 -and => [ … … 93 137 ] 94 138 }, 95 $c->forward('search_param'),96 )->get_column('pkgid')->all ]139 ); 140 $c->forward('format_search', $searchspec); 97 141 98 142 } … … 114 158 } 115 159 )->get_column('pkgid'); 116 $c->stash->{ xmlrpc} = [$c->model('Base')->resultset('Rpms')->search(160 $c->stash->{rs} = $c->model('Base')->resultset('Rpms')->search( 117 161 { 118 162 -and => [ … … 129 173 ] 130 174 }, 131 $c->forward('search_param'),132 )->get_column('pkgid')->all ]175 ); 176 $c->forward('format_search', $searchspec); 133 177 } 134 178 … … 145 189 }) 146 190 ->get_column('pkgid'); 147 $c->stash->{ xmlrpc} = [$c->model('Base')->resultset('Rpms')->search(191 $c->stash->{rs} = $c->model('Base')->resultset('Rpms')->search( 148 192 { 149 193 -and => [ … … 160 204 ] 161 205 }, 162 $c->forward('search_param'),163 )->get_column('pkgid')->all ]206 ); 207 $c->forward('format_search', $searchspec); 164 208 } 165 209 … … 183 227 { '~*' => $name, }, 184 228 }, 185 { pkgid => 186 { IN => $deprs->as_query, }, 187 }, ] 229 # { pkgid => 230 # { IN => $deprs->as_query, }, 231 # }, 232 ] 188 233 }, 189 234 { pkgid => … … 196 241 ); 197 242 198 if ($c->req->xmlrpc->method) { 199 $c->stash->{xmlrpc} = [ 200 $c->stash->{rs}->get_column('pkgid')->all 201 ]; 202 } 243 $c->forward('format_search', $searchspec); 203 244 } 204 245 … … 230 271 }, 231 272 ); 232 if ($c->req->xmlrpc->method) { 233 $c->stash->{xmlrpc} = [ 234 $c->stash->{rs}->get_column('pkgid')->all 235 ]; 236 } 273 $c->forward('format_search', $searchspec); 237 274 } 238 275 … … 265 302 }, 266 303 ); 267 if ($c->req->xmlrpc->method) { 268 $c->stash->{xmlrpc} = [ 269 $c->stash->{rs}->get_column('pkgid')->all 270 ]; 271 } 304 $c->forward('format_search', $searchspec); 272 305 } 273 306
Note: See TracChangeset
for help on using the changeset viewer.