Changeset 122
- Timestamp:
- 12/13/10 04:53:13 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
server/trunk/web/lib/Sophie/Controller/Search.pm
r96 r122 333 333 my $distrs = $c->forward('distrib_search', [ $searchspec, 1 ]); 334 334 335 my $deprs = $c->model('Base ')->resultset('Deps')->search(335 my $deprs = $c->model('Base::Deps')->search( 336 336 { 337 337 deptype => $deptype, … … 496 496 $searchspec ||= {}; 497 497 498 my $distrs = $c->forward('distrib_search', [ $searchspec, 1 ]); 498 499 my @col = qw(dirname basename md5 size pkgid count); 499 my $filers =$c->stash->{rs} = $c->model('Base::Files')500 $c->stash->{rs} = $c->model('Base::Files') 500 501 ->search( 501 502 { … … 506 507 basename => $basename, 507 508 ($searchspec->{content} ? { has_content => 1 } : ()), 508 pkgid => { 509 IN => $c->forward('distrib_search', 510 [ $searchspec ])->get_column('pkgid')->as_query, 511 }, 509 ($distrs 510 ? (pkgid => { IN => $distrs->get_column('pkgid')->as_query, },) 511 : ()), 512 512 ], 513 513 }, … … 528 528 } 529 529 530 sub dep_search : XMLRPCPath('/search/dep/match') { 531 my ($self, $c, $searchspec, $deptype, $depname, $depsense, $depevr) = @_; 532 533 my $distrs = $c->forward('distrib_search', [ $searchspec, 1 ]); 534 $c->stash->{rs} = $c->model('Base::Deps')->search( 535 { 536 -and => [ 537 { deptype => $deptype }, 538 { depname => $depname }, 539 ($depsense 540 ? ({-nest => \[ 541 'rpmdepmatch(flags, evr, rpmsenseflag(?), ?)', 542 [ plain_text => $depsense], 543 [ plain_text => $depevr ] 544 ]}) 545 : ()), 546 ($distrs 547 ? ({ pkgid => { IN => $distrs->get_column('pkgid')->as_query, 548 },}) 549 : ()), 550 (exists($searchspec->{src}) 551 ? { pkgid => { IN => $c->model('Base::Rpms')->search( 552 { issrc => $searchspec->{src} ? 1 : 0 } 553 )->get_column('pkgid')->as_query, }, } 554 : ()), 555 ] 556 }, 557 { 558 'select' => [ 'rpmsenseflag("flags")', qw(depname evr flags pkgid) ], 559 'as' => [ qw(sense name evr flags pkgid) ], 560 561 } 562 ); 563 564 $c->stash->{column} = [ qw(name sense evr flags pkgid) ]; 565 $c->forward('format_search', $searchspec); 566 } 567 530 568 =head1 AUTHOR 531 569
Note: See TracChangeset
for help on using the changeset viewer.