Ignore:
Timestamp:
01/25/11 23:46:51 (13 years ago)
Author:
nanardon
Message:
  • factorize and optimize code
Location:
server/trunk/web/lib/Sophie/Controller
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • server/trunk/web/lib/Sophie/Controller/Distrib.pm

    r275 r349  
    104104                $distrib->{distribution} 
    105105                    ? (-or => [ 
    106                             { name =>      $distrib->{distribution} }, 
     106                            { 'me.name' =>      $distrib->{distribution} }, 
    107107                            { shortname => $distrib->{distribution} }, 
    108108                        ], 
     
    125125            { 
    126126                $distrib->{arch} 
    127                     ? (arch => $distrib->{arch}) 
     127                    ? ('Arch.arch' => $distrib->{arch}) 
    128128                    : () 
    129129            }, 
  • server/trunk/web/lib/Sophie/Controller/Search.pm

    r330 r349  
    191191    my ($self, $c, $searchspec, $deptype, $depname, $depsense, $depevr ) = @_; 
    192192 
    193     my $distrs = $c->forward('distrib_search', [ $searchspec, 1 ]); 
    194  
    195     return $c->model('Base::Deps')->search( 
     193        $c->model('BaseSearch')->best_rpm_filter($searchspec) 
     194        ->search({}, { join => [ 'Deps' ]})->search( 
    196195        { 
    197196            -and => [ 
     
    200199            ($depsense 
    201200                ? ({-nest => \[ 
    202                     'rpmdepmatch(flags, evr, rpmsenseflag(?), ?)', 
     201                    'rpmdepmatch(Deps.flags, Deps.evr, rpmsenseflag(?), ?)', 
    203202                    [ plain_text => $depsense], 
    204203                    [ plain_text => $depevr ] 
    205204                ]}) 
    206205            : ()), 
    207             ($distrs  
    208                 ? ({ pkgid => { IN => $distrs->get_column('pkgid')->as_query, 
    209                         },}) 
    210                 : ()), 
    211             (exists($searchspec->{src}) 
    212                 ? { pkgid => { IN => $c->model('Base::Rpms')->search( 
    213                             { issrc => $searchspec->{src} ? 1 : 0 } 
    214                         )->get_column('pkgid')->as_query, }, } 
    215                 : ()), 
    216206            ($searchspec->{pkgid} 
    217                 ? { pkgid => $searchspec->{pkgid} } 
     207                ? { 'Deps.pkgid' => $searchspec->{pkgid} } 
    218208                : ()), 
    219209            ] 
    220210        }, 
    221211        { 
    222             '+select' => [ { rpmsenseflag => 'flags' }, 'depname', ], 
     212            '+select' => [ { rpmsenseflag => 'Deps.flags' }, 'Deps.depname', ], 
    223213            '+as'     => [ qw(sense name) ], 
    224214 
  • server/trunk/web/lib/Sophie/Controller/Search/Rpm.pm

    r330 r349  
    9797    $searchspec ||= {}; 
    9898 
    99     my $distrs = $c->forward('/search/distrib_search', [ $searchspec, 1 ]); 
     99    #my $distrs = $c->forward('/search/distrib_search', [ $searchspec, 1 ]); 
    100100 
    101101    my $deprs = $c->forward( 
     
    113113            order_by => [ 'name', 'evr using >>', 'issrc', 'arch' ], 
    114114            rows => $searchspec->{rows}, 
     115            select => [ 'pkgid' ], 
     116            as => [ 'pkgid' ], 
    115117        } 
    116118    ); 
Note: See TracChangeset for help on using the changeset viewer.