From: hylom Date: Fri, 6 Apr 2018 12:19:58 +0000 (+0900) Subject: search: add comment/journal/submission/pll/user search X-Git-Tag: v0.1.1~37 X-Git-Url: http://git.osdn.net/view?p=newslash%2Fnewslash.git;a=commitdiff_plain;h=5ee81cc74ccd893d3cf56f2935da282b3878795e search: add comment/journal/submission/pll/user search --- diff --git a/src/newslash_web/lib/Newslash/Web/Controller/Search.pm b/src/newslash_web/lib/Newslash/Web/Controller/Search.pm index 02fccbd5..ca4fb123 100644 --- a/src/newslash_web/lib/Newslash/Web/Controller/Search.pm +++ b/src/newslash_web/lib/Newslash/Web/Controller/Search.pm @@ -12,6 +12,7 @@ sub search { my $query = $c->param('q'); my $start = $c->param('start') || 0; + my $target = $c->param('target') || "story"; my $item_per_page = 10; @@ -30,6 +31,7 @@ sub search { my $req= { query => $query, limit => $item_per_page, offset => $start, + target => $target, }; $ua->post($url => {Accept => 'application/json'} => json => $req => sub { my ($ua_, $tx) = @_; @@ -64,6 +66,7 @@ sub search { } $c->render(query_words => $query, + target => $target, message => $message, error => 1, status => $code, @@ -77,15 +80,29 @@ sub search { $c->app->log->error("searchd Error: receive invalid message"); $message = "searchd_error"; $c->render(query_words => $query, + target => $target, message => $message, error => 1, status => 500, ); $c->rendered(500); return; - } + } + + # convert data + my $users = $c->model('users'); + for my $item (@{$result->{hits}}) { + if ($item->{author}) { + if ($item->{author} == 1) { + $item->{author} = $users->anonymous_user; + } else { + $item->{author} = $users->select(uid => $item->{author}); + } + } + } $c->render(query_words => $query, + target => $target, results => $result, message => "", error => 0, diff --git a/src/newslash_web/templates/search/search.html.tt2 b/src/newslash_web/templates/search/search.html.tt2 index d051acc0..b3f61cdb 100644 --- a/src/newslash_web/templates/search/search.html.tt2 +++ b/src/newslash_web/templates/search/search.html.tt2 @@ -1,16 +1,32 @@ [% WRAPPER common/layout enable_sidebar=1 %] - +[% USE date %]
-
- - + +
+
+ + +
+
+ +
-
- + +
+ +
@@ -35,6 +51,11 @@ +
+ [% result.type %] + [% IF result.author %]by [% result.author.nickname %][% END %] + ([% date.format(result.create_time, '%Y-%m-%d %H:%M', 'ja_JP') %]) +
[% result.content_text FILTER html %]
@@ -45,20 +66,21 @@ [%- IF results.total_hits > (start + item_per_page); next_page = 1; ELSE; next_page = 0; END%] [%- IF start > 0; prev_page = 1; ELSE; prev_page = 0; END %] [%- IF next_page || prev_page %] + [% IF target; target_token = "&target=" _ target; ELSE; target_token = ""; END %]
[%- IF prev_page -%] [%- IF start == item_per_page %] - ≪前 + ≪前 [%- ELSE %] - ≪最初 - ≪前 + ≪最初 + ≪前 [%- END %] [%- END -%] [%- IF next_page -%] - 次≫ + 次≫ [%- END -%]