Class: Bhf::EntriesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/bhf/entries_controller.rb

Direct Known Subclasses

EmbedEntriesController

Instance Method Summary collapse

Methods inherited from ApplicationController

#index

Instance Method Details

#createObject



16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/controllers/bhf/entries_controller.rb', line 16

def create
  before_save
  if @object.save
    manage_many_to_many
    after_save

    redirect_back_or_default(bhf_entry_path(@platform.name, @object), notice: set_message('create.success', @model))
  else
    @form_url = bhf_entries_path(@platform.name)
    render :new
  end
end

#destroyObject



63
64
65
66
67
68
69
70
# File 'app/controllers/bhf/entries_controller.rb', line 63

def destroy
  @object.destroy
  if @quick_edit
    head :ok
  else
    redirect_back_or_default(bhf_page_url(@platform.page_name, anchor: "#{@platform.name}_platform"), notice: set_message('destory.success', @model))
  end
end

#editObject



10
11
12
13
14
# File 'app/controllers/bhf/entries_controller.rb', line 10

def edit
  @form_url = bhf_entry_path(@platform.name, @object)

  render layout: 'bhf/quick_edit' if @quick_edit
end

#newObject



6
7
8
# File 'app/controllers/bhf/entries_controller.rb', line 6

def new
  @form_url = bhf_entries_path(@platform.name)
end

#sortObject



49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'app/controllers/bhf/entries_controller.rb', line 49

def sort
  return unless @platform.sortable
  
  sort_attr = @platform.sortable.to_sym

  params[:order].each do |order|
    @model.
      find(order[1].gsub("_#{@platform.name}", '')).
      update_attribute(sort_attr, order[0].to_i)
  end
  
  head :ok
end

#updateObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'app/controllers/bhf/entries_controller.rb', line 29

def update
  before_save
  if @object.update_attributes(params[@model_sym])
    manage_many_to_many
    after_save

    if @quick_edit
      render json: object_to_bhf_display_hash, status: :ok
    else
      redirect_back_or_default(bhf_entry_path(@platform.name, @object), notice: set_message('update.success', @model))
    end
  else
    @form_url = bhf_entry_path(@platform.name, @object)

    r_settings = {status: :unprocessable_entity}
    r_settings[:layout] = 'bhf/quick_edit' if @quick_edit
    render :edit, r_settings
  end
end