OSDN Git Service

Controller::Journal: implement user journals page
authorhylom <hylom@users.sourceforge.jp>
Tue, 1 Nov 2016 10:54:06 +0000 (19:54 +0900)
committerhylom <hylom@users.sourceforge.jp>
Tue, 1 Nov 2016 10:54:18 +0000 (19:54 +0900)
src/newslash_web/lib/Newslash/Web/Controller/Journal.pm
src/newslash_web/templates/journal/user_journals.html.tt2 [new file with mode: 0644]

index 308c574..3b1643a 100644 (file)
@@ -1,6 +1,6 @@
 package Newslash::Web::Controller::Journal;
 use Mojo::Base 'Mojolicious::Controller';
-use Data::Dumper;
+use Mojo::Util qw(dumper);
 
 sub journal {
     my $c = shift;
@@ -21,6 +21,29 @@ sub journal {
     $c->render(journal => $journal, comments => $comments);
 }
 
+sub user_journals {
+    my $c = shift;
+    my $users = $c->model('users');
+    my $limit = 10;
+    my $offset = 0;
+
+    my $user_name = $c->stash('user_name');
+    $user_name =~ s/\A~(.*)\z/$1/;
+    my $user = $users->select(nickname => $user_name);
+
+    my $journals = $c->model('journals')->select(uid => $user->{uid}, limit => $limit, offset => $offset);
+
+    if (!$journals) {
+        $c->render('Not found', status => '404');
+        return;
+    }
+
+    $c->render(journals => $journals);
+}
+
+sub create {
+}
+
 
 1;
 
diff --git a/src/newslash_web/templates/journal/user_journals.html.tt2 b/src/newslash_web/templates/journal/user_journals.html.tt2
new file mode 100644 (file)
index 0000000..f16f19f
--- /dev/null
@@ -0,0 +1,14 @@
+[% WRAPPER common/layout sidebar=1 %]
+
+
+<div class="main-column">
+  <div class="index main-contents">
+    [%- FOREACH story IN journals -%]
+    [%- INCLUDE common/article %]
+    [%- END -%]
+  </div><!-- .index -->
+</div>
+
+[%- INCLUDE common/sidebar -%]
+
+[% END %]