X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=lib%2FNDWeb%2FController%2FForum.pm;h=4145781c7c2e346a69f5e7b618fd78d258cf259c;hb=95365cc1a5b8827230e5213bf4dd3377949af7f0;hp=d242ed99e9a1cb2fbf30e7580371e0dc49cef567;hpb=ffd7bf407e56bf271981151b6845f26ff1b366bc;p=ndwebbie.git diff --git a/lib/NDWeb/Controller/Forum.pm b/lib/NDWeb/Controller/Forum.pm index d242ed9..4145781 100644 --- a/lib/NDWeb/Controller/Forum.pm +++ b/lib/NDWeb/Controller/Forum.pm @@ -314,7 +314,6 @@ sub moveThreads : Local { sub newThread : Local { my ( $self, $c, $board ) = @_; - my $dbh = $c->model; $c->forward('findBoard'); $board = $c->stash->{board}; @@ -322,16 +321,21 @@ sub newThread : Local { unless ($c->stash->{board}->{post}){ $c->acl_access_denied('test',$c->action,'No post access to board.') } - + + $c->forward('insertThread'); + $c->forward('addPost',[$c->stash->{thread}]); +} + +sub insertThread : Private { + my ( $self, $c, $board ) = @_; + my $dbh = $c->model; + my $insert = $dbh->prepare(q{INSERT INTO forum_threads (ftid,fbid,subject,uid) VALUES(DEFAULT,$1,$2,$3) RETURNING (ftid); }); - - $insert->execute($board->{fbid},html_escape($c->req->param('subject')),$c->stash->{UID}); - my $thread = $insert->fetchrow; + $insert->execute($board,html_escape($c->req->param('subject')),$c->stash->{UID}); + $c->stash(thread => $insert->fetchrow); $insert->finish; - $c->forward('addPost',[$thread]); - } sub addPost : Local {