Class: Blogaze::Controllers::Admin::Posts

Inherits:
Controller show all
Defined in:
lib/blogaze/controllers/admin/posts.rb

Instance Method Summary collapse

Methods inherited from Controller

#initialize

Methods inherited from Blogaze::Controller

#get_settings, #initialize, #view_file

Constructor Details

This class inherits a constructor from Blogaze::Controllers::Admin::Controller

Instance Method Details

#createObject

Create post



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/blogaze/controllers/admin/posts.rb', line 57

def create
  @title = "New Post - Posts - Admin - #{@settings[:title]}"
  data = {
    :title => request[:title],
    :body => request[:body],
    :user_id => @userinfo.id,
    :post_tags => request[:post_tags].is_a?(String) ? request[:post_tags].gsub(', ', ',').split(',') : []
  }
  @post = ::Blogaze::Models::Post.new(data)

  if @post.valid?
    @post.save
    flash[:success] = "Post created successfully"
    redirect Posts.r('/')
  else
    @post. = @post..join(', ')
    respond(view_file('admin/posts/new'))
  end
end

#delete(post_id) ⇒ Object

Delete post



115
116
117
118
119
120
121
# File 'lib/blogaze/controllers/admin/posts.rb', line 115

def delete(post_id)
  post = ::Blogaze::Models::Post[post_id]
  post.delete
  ::Blogaze::Models::TagsRelationship.where(:object_type => 'post', :object_id => post.id).delete
  flash[:success] = "Post deleted successfully"
  redirect Posts.r('/')
end

#edit(post_id) ⇒ Object

Edit post



80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/blogaze/controllers/admin/posts.rb', line 80

def edit(post_id)
  @title = "Edit Post - Posts - Admin - #{@settings[:title]}"
  @post = ::Blogaze::Models::Post[post_id]

   = []
  @post.tags.each do |tag|
    .push tag.name
  end
  @post. = .join(', ')

  respond(view_file('admin/posts/edit'))
end

#indexObject

Post listing



39
40
41
42
43
# File 'lib/blogaze/controllers/admin/posts.rb', line 39

def index
  @title = "Posts - Admin - #{@settings[:title]}"
  @posts = ::Blogaze::Models::Post.order(:id.desc).all
  respond(view_file('admin/posts/index'))
end

#newObject

New post form



48
49
50
51
52
# File 'lib/blogaze/controllers/admin/posts.rb', line 48

def new
  @title = "New Post - Posts - Admin - #{@settings[:title]}"
  @post = ::Blogaze::Models::Post.new
  respond(view_file('admin/posts/new'))
end

#save(post_id) ⇒ Object

Save post



96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/blogaze/controllers/admin/posts.rb', line 96

def save(post_id)
  @title = "Edit Post - Posts - Admin - #{@settings[:title]}"
  @post = ::Blogaze::Models::Post[post_id]
  @post.title = request[:title]
  @post.body = request[:body]
  @post. = request[:post_tags].is_a?(String) ? request[:post_tags].gsub(', ', ',').split(',') : []

  if @post.valid?
    @post.save
    flash[:success] = "Post saved successfully"
    redirect Posts.r('/')
  else
    respond(view_file('admin/posts/edit'))
  end
end