Changeset 351 for server/trunk/web/lib/Sophie/Controller
- Timestamp:
- 01/26/11 02:29:37 (13 years ago)
- Location:
- server/trunk/web/lib/Sophie/Controller
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
server/trunk/web/lib/Sophie/Controller/Search.pm
r350 r351 191 191 my ($self, $c, $searchspec, $deptype, $depname, $depsense, $depevr ) = @_; 192 192 193 $c->model('BaseSearch')->best_rpm_filter($searchspec) 194 ->search({}, { select => [], join => [ 'Deps' ]})->search( 193 my $rs = $c->model('Base::Deps')->search( 195 194 { 196 195 -and => [ … … 199 198 ($depsense 200 199 ? ({-nest => \[ 201 'rpmdepmatch( Deps.flags, Deps.evr, rpmsenseflag(?), ?)',200 'rpmdepmatch(flags, me.evr, rpmsenseflag(?), ?)', 202 201 [ plain_text => $depsense], 203 202 [ plain_text => $depevr ] … … 205 204 : ()), 206 205 ($searchspec->{pkgid} 207 ? { ' Deps.pkgid' => $searchspec->{pkgid} }206 ? { 'pkgid' => $searchspec->{pkgid} } 208 207 : ()), 209 208 ] 210 209 }, 211 210 { 212 '+select' => [ { rpmsenseflag => ' Deps.flags' }, 'Deps.depname',213 ' Deps.evr' ],211 '+select' => [ { rpmsenseflag => 'flags' }, 'depname', 212 'me.evr' ], 214 213 '+as' => [ qw(sense name evr) ], 215 214 216 215 } 217 216 ); 217 if (exists($searchspec->{src})) { 218 $rs = $rs->search_related('Rpms', 219 { issrc => $searchspec->{src} ? 1 : 0 } 220 ) 221 } 222 return $c->model('BaseSearch')->apply_rpm_filter($rs, $searchspec); 218 223 } 219 224 … … 231 236 $searchspec ||= {}; 232 237 233 $c->model('BaseSearch')->best_rpm_filter($searchspec) 234 ->search({}, { select => [], join => [ 'Files' ]})->search( 238 my $rs = $c->model('Base::Files')->search( 235 239 { 236 240 -and => [ … … 242 246 ($searchspec->{content} ? { has_content => 1 } : ()), 243 247 ($searchspec->{pkgid} 244 ? { ' Files.pkgid' => { IN => $searchspec->{pkgid} } }248 ? { 'pkgid' => { IN => $searchspec->{pkgid} } } 245 249 : ()), 246 250 ], … … 248 252 { 249 253 '+select' => [ 250 ' Files.contents is NOT NULL as has_content',254 'contents is NOT NULL as has_content', 251 255 { rpmfilesmode => 'mode' }, 252 map { 'Files.' . $_ } $c->model('Base::Files')->result_source->columns,253 256 ], 254 '+as' => [ qw(has_content perm), 255 $c->model('Base::Files')->result_source->columns ], 256 } 257 ); 257 '+as' => [ qw(has_content perm), ] 258 } 259 ); 260 if (exists($searchspec->{src})) { 261 $rs = $rs->search_related('Rpms', 262 { issrc => $searchspec->{src} ? 1 : 0 } 263 ) 264 } 265 return $c->model('BaseSearch')->apply_rpm_filter($rs, $searchspec); 258 266 } 259 267 -
server/trunk/web/lib/Sophie/Controller/Search/Rpm.pm
r350 r351 104 104 $depsense, $depevr 105 105 ], 106 )->get_column(' Deps.pkgid');106 )->get_column('me.pkgid'); 107 107 $c->stash->{rs} = $c->model('Base::Rpms')->search( 108 108 { … … 135 135 136 136 my $filers = $c->forward('/search/file_rs', [ $searchspec, $file ]) 137 ->get_column(' Files.pkgid');137 ->get_column('me.pkgid'); 138 138 $c->stash->{rs} = $c->model('Base::Rpms')->search( 139 139 {
Note: See TracChangeset
for help on using the changeset viewer.