Implement get_threads() and send em to /view
This commit is contained in:
parent
c66b23b21a
commit
48de91f31b
11
PostText.pl
11
PostText.pl
|
@ -9,6 +9,7 @@ use Mojo::Pg;
|
|||
# Load the local modules too
|
||||
use lib 'lib';
|
||||
use PostText::Model::Thread;
|
||||
#use Data::Dumper; # For your debugging pleasure
|
||||
|
||||
# Load Mojo plugins
|
||||
plugin 'Config';
|
||||
|
@ -34,14 +35,18 @@ get '/', sub ($c) { $c->redirect_to('view') };
|
|||
|
||||
# View
|
||||
get '/view', sub ($c) {
|
||||
$c->render()
|
||||
my $threads = $c->thread->get_threads();
|
||||
|
||||
$c->stash(threads => $threads);
|
||||
|
||||
$c->render();
|
||||
};
|
||||
|
||||
# Post
|
||||
any [qw{GET POST}], '/post', sub ($c) {
|
||||
my $thread_author = $c->param('name');
|
||||
my $thread_author = $c->param('name' );
|
||||
my $thread_title = $c->param('title');
|
||||
my $thread_body = $c->param('post');
|
||||
my $thread_body = $c->param('post' );
|
||||
|
||||
if ($thread_author && $thread_title && $thread_body) {
|
||||
$c->thread->create_thread($thread_author, $thread_title, $thread_body);
|
||||
|
|
|
@ -25,6 +25,6 @@ Run the tests locally (against development environment)
|
|||
## TODOs
|
||||
|
||||
1. Moar tests...
|
||||
1. Retreive threads for View route
|
||||
1. Pick a date format
|
||||
1. Validate input
|
||||
1. **Moar tests!!**
|
||||
|
|
|
@ -25,4 +25,17 @@ sub create_thread($self, $author, $title, $body, $hidden = 0, $flagged = 0) {
|
|||
END_SQL
|
||||
}
|
||||
|
||||
sub get_threads($self) {
|
||||
$self->pg->db->query(<<~'END_SQL')->hashes()
|
||||
SELECT thread_id AS id,
|
||||
TO_CHAR(thread_date, 'Dy Mon DD HH:MI:SS AM TZ YYYY') AS date,
|
||||
thread_author AS author,
|
||||
thread_title AS title,
|
||||
thread_body AS body
|
||||
FROM threads
|
||||
WHERE NOT hidden_status
|
||||
ORDER BY thread_date DESC;
|
||||
END_SQL
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
@ -1,4 +1,13 @@
|
|||
% layout 'main';
|
||||
% title 'View Threads';
|
||||
<h2><%= title %></h2>
|
||||
<p>Some threads here...</p>
|
||||
<div class="threads">
|
||||
<% for my $thread (@$threads) { =%>
|
||||
<article class="thread">
|
||||
<h3 class="title"><%= %$thread{'title'} %></h3>
|
||||
<h4 class="date"><%= %$thread{'date'} %></h4>
|
||||
<h5 class="author"><%= %$thread{'author'} %></h5>
|
||||
<p class="body"><%= %$thread{'body'} %></p>
|
||||
</article>
|
||||
<% } =%>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue