Class: Blogaze::Controllers::Admin::Pages

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

Instance Method Summary collapse

Methods inherited from Controller

#get_settings, #title, #view_file

Constructor Details

#initializePages

Returns a new instance of Pages.



15
16
17
18
19
20
# File 'lib/blogaze/controllers/admin/pages.rb', line 15

def initialize
  super

  # Set title
  title "Pages"
end

Instance Method Details

#createObject

Create page



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/blogaze/controllers/admin/pages.rb', line 42

def create
  title "New Page"
  data = {
    :title => request[:title],
    :slug => request[:slug],
    :body => request[:body],
    :on_menu => request[:on_menu]
  }

  @page = ::Blogaze::Models::Page.new(data)

  if @page.valid?
    @page.save
    flash[:success] = "Page created successfully"
    redirect Pages.r('/')
  else
    respond(view_file('admin/pages/new'))
  end
end

#delete(page_id) ⇒ Object

Delete page

Parameters:

  • page_id (Integer)


100
101
102
103
104
# File 'lib/blogaze/controllers/admin/pages.rb', line 100

def delete(page_id)
  P::Blogaze::Models::age[page_id].delete
  flash[:success] = "Page deleted successfully"
  redirect Pages.r('/')
end

#edit(page_id) ⇒ Object

Edit page

Parameters:

  • page_id (Integer)


67
68
69
70
71
# File 'lib/blogaze/controllers/admin/pages.rb', line 67

def edit(page_id)
  title "Edit Page"
  @page = ::Blogaze::Models::Page[page_id]
  respond(view_file('admin/pages/edit'))
end

#indexObject

Page listing



25
26
27
28
# File 'lib/blogaze/controllers/admin/pages.rb', line 25

def index
  @pages = ::Blogaze::Models::Page.order(:title.asc).all
  respond(view_file('admin/pages/index'))
end

#newObject

New page form



33
34
35
36
37
# File 'lib/blogaze/controllers/admin/pages.rb', line 33

def new
  title "New Page"
  @page = ::Blogaze::Models::Page.new
  respond(view_file('admin/pages/new'))
end

#save(page_id) ⇒ Object

Save page

Parameters:

  • page_id (Integer)


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

def save(page_id)
  title "Edit Page"
  @page = ::Blogaze::Models::Page[page_id]
  @page.title = request[:title]
  @page.slug = request[:slug]
  @page.body = request[:body]
  @page.on_menu = request[:on_menu]

  if @page.valid?
    @page.save
    flash[:success] = "Page saved successfully"
    redirect Pages.r('/')
  else
    respond(view_file('admin/pages/edit'))
  end
end