Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. package Moblo::Post;
  2. use Mojo::Base 'Mojolicious::Controller';
  3. use DateTime;
  4. use Data::Dumper;
  5.  
  6. sub create{
  7. my $self = shift;
  8. my $title = $self->param('title');
  9. my $content = $self->param('content');
  10. my $user = $self->_user_from_session;
  11.  
  12. $self->db->resultset('Post')->create({
  13. title => $title,
  14. content => $content,
  15. author => $self->session('username'),
  16. #aici e cred ca e buba !!!. In tutorial era sintaxa: author_id => $user->id
  17. #care crapa
  18. author_id => $self->session('id'),
  19. date_published => DateTime->now->iso8601,
  20. });
  21.  
  22. my $a = $user;
  23.  
  24. warn "|Dumper(/$a)|";
  25.  
  26. $self->flash(post_saved => 1);
  27. $self->redirect_to('restricted_area');
  28. warn "|$content|";
  29. }
  30.  
  31. sub delete{
  32. my $self = shift;
  33. my $posts = $self->db->resultset('Post');
  34. $self->app->log->info($self->stash('id'));
  35. $posts->search({ id => $self->stash('id') })->delete;
  36. $self->flash(post_deleted => '1');
  37. $self->redirect_to('restricted_area');
  38. }
  39.  
  40. sub show{
  41. my $self = shift;
  42. my $post = $self->_post_from_stash;
  43. my $user = $self->_user_from_session;
  44. warn "|$post|";
  45.  
  46. if(defined $post){
  47. $self->render(post => $post, logged_in => defined($user), user => $user);
  48. } else {
  49. $self->render_not_found;
  50.  
  51. }
  52. }
  53.  
  54. sub comment{
  55. my $self = shift;
  56.  
  57. # Retrieve dbic objects
  58. my $post = $self->_post_from_stash;
  59. my $user = $self->_user_from_session;
  60.  
  61. $post->create_related('comments',{
  62. user_id => $user->id,
  63. content => xml_escape($self->param('content')),
  64. });
  65. }
  66.  
  67. # This should be a helper.
  68. sub _user_from_session{
  69. my $self = shift;
  70.  
  71. if( $self->session('logged_in'))
  72. {
  73. return $self->db->resultset('User')->find($self->session('user_id'));
  74. }
  75.  
  76. }
  77.  
  78. sub _post_from_stash{
  79. my $self = shift;
  80. return $self->db->resultset('Post')->find($self->stash('id'));
  81. }
  82.  
  83. 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement