Changeset 45 for server/trunk
- Timestamp:
- 11/28/10 23:53:32 (14 years ago)
- Location:
- server/trunk/web
- Files:
-
- 7 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
server/trunk/web/lib/Sophie/Controller/Search.pm
r44 r45 32 32 if ($c->req->param('search')) { 33 33 $c->session->{search} = $c->req->param('search'); 34 $c->forward(' fuzzy', [ undef, $c->req->param('search') ]);34 $c->forward('quick', [ undef, split(/\s/, $c->req->param('search')) ]); 35 35 my $pager = $c->stash->{rs}->pager; 36 36 $c->stash->{pager} = $pager; … … 39 39 ]; 40 40 } 41 } 42 43 sub adv :Local { 44 my ($self, $c) = @_; 41 45 } 42 46 … … 50 54 if (!$c->req->xmlrpc->method) { 51 55 $r->{page} = $c->req->param('page') || 1; 52 $r->{rows} = 2 5;56 $r->{rows} = 20; 53 57 } 54 58 return $r; … … 77 81 : () 78 82 } 79 )->search_related('Medias') 80 ->search_related('MediasPaths') 83 )->search_related('Medias', 84 { 85 ($searchspec->{media} ? (label => $searchspec->{media}) : ()), 86 ($searchspec->{media_group} 87 ? (group_label => $searchspec->{media_group}) 88 : ()), 89 } 90 )->search_related('MediasPaths') 81 91 ->search_related('Paths') 82 92 ->search_related('Rpmfiles'); … … 214 224 } 215 225 226 sub quick : XMLRPCPath('/search/rpm/quick') { 227 my ($self, $c, $searchspec, @keywords) = @_; 228 my $tsquery = join(' & ', map { $_ =~ s/ /\\ /g; $_ } @keywords); 229 $c->stash->{rs} = $c->model('Base')->resultset('Rpms')->search( 230 { 231 -or => [ 232 { -nest => \[ 233 "to_tsvector('english', description) @@ to_tsquery(?)", 234 [ plain_text => $tsquery], 235 ], }, 236 { 237 name => [ @keywords ], 238 }, 239 ], 240 (exists($searchspec->{src}) 241 ? (issrc => $searchspec->{src} ? 1 : 0) 242 : ()), 243 pkgid => 244 { IN => $c->forward('distrib_search', [ $searchspec 245 ])->get_column('pkgid')->as_query, }, 246 247 248 }, 249 { 250 %{$c->forward('search_param')}, 251 }, 252 ); 253 if ($c->req->xmlrpc->method) { 254 $c->stash->{xmlrpc} = [ 255 $c->stash->{rs}->get_column('pkgid')->all 256 ]; 257 } 258 } 259 216 260 sub description : XMLRPCPath('/search/rpm/description') { 217 261 my ($self, $c, $searchspec, @keywords) = @_; 218 262 my $tsquery = join(' & ', map { $_ =~ s/ /\\ /g; $_ } @keywords); 219 $c->stash->{ xmlrpc} = [ map { $_->get_column('pkgid') }$c->model('Base')->resultset('Rpms')->search(263 $c->stash->{rs} = $c->model('Base')->resultset('Rpms')->search( 220 264 { 221 265 -nest => \[ … … 241 285 order_by => [ 'rank desc', 'name', 'evr using >>', 'issrc' ], 242 286 }, 243 )->all ] 244 287 ); 288 if ($c->req->xmlrpc->method) { 289 $c->stash->{xmlrpc} = [ 290 $c->stash->{rs}->get_column('pkgid')->all 291 ]; 292 } 245 293 } 246 294 -
server/trunk/web/root/templates/html/search/index.html
r43 r45 1 [% INCLUDE 'search/simple_search.tt' %]2 1 3 2 [% INCLUDE 'search/results.tt' %] -
server/trunk/web/root/templates/includes/header.tt
r43 r45 23 23 <p id="sitename">Sophie</p> 24 24 <p id="sophie_menu"> 25 <span><a href="[% c.uri_for('/search ') %]">Search</a></span>25 <span><a href="[% c.uri_for('/search/adv') %]">Search</a></span> 26 26 <span><a href="[% c.uri_for('/distrib') %]">Distribution</a></span> 27 27 <span><a href="[% c.uri_for('/explorer') %]">Explorer</a></span> … … 29 29 </div> 30 30 <div style="clear:both"></div> 31 <div style="float: right"> 32 [% INCLUDE 'search/simple_search.tt' %] 31 33 </div> 34 <div style="clear:both"></div> 35 </div> -
server/trunk/web/t/controller_0Explorer.t
r38 r45 6 6 BEGIN { use_ok 'Sophie::Controller::0Explorer' } 7 7 8 ok( request('/0explorer')->is_success, 'Request should succeed' ); 8 ok( request('/0explorer/file?json')->is_success, '/file Json Request should succeed' ); 9 ok( request('/0explorer/file/bin?json')->is_success, '/file/bin Json Request should succeed' ); 10 ok( request('/0explorer/dir?json')->is_success, '/dir JsonRequest should succeed' ); 11 ok( request('/0explorer/dir/bin?json')->is_success, '/dir/bin JsonRequest should succeed' ); 9 12 done_testing(); -
server/trunk/web/t/controller_Admin.t
r38 r45 6 6 BEGIN { use_ok 'Sophie::Controller::Admin' } 7 7 8 ok( request('/admin')->is_success, 'Request should succeed' );8 #ok( request('/admin')->is_success, 'Request should succeed' ); 9 9 done_testing(); -
server/trunk/web/t/controller_Chat-Cmd.t
r38 r45 6 6 BEGIN { use_ok 'Sophie::Controller::Chat::Cmd' } 7 7 8 ok( request('/chat/cmd')->is_success, 'Request should succeed' );8 #ok( request('/chat/cmd')->is_success, 'Request should succeed' ); 9 9 done_testing();
Note: See TracChangeset
for help on using the changeset viewer.