Class: Vario::LevelsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/vario/levels_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#add_breadcrumbs, #breadcrumb_settings_path

Instance Method Details

#createObject



10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/controllers/vario/levels_controller.rb', line 10

def create
  @level = Level.new(@setting, level_params)
  @setting.levels.unshift @level
  @level.conditions = normalize_booleans(level_params[:conditions].to_h)
  @level.conditions = normalize_booleans(level_params[:conditions].to_h)
  @setting.save
  if request.referer.present? && URI.parse(request.referer).path != setting_path(@setting)
    redirect_to request.referer
  else
    respond_with @setting, collection_location: -> { setting_path(@setting) }
  end
end

#destroyObject



40
41
42
43
44
45
46
47
48
# File 'app/controllers/vario/levels_controller.rb', line 40

def destroy
  @setting.levels.reject! { |level| level.id == params[:id] }
  @setting.save
  if request.referer.present? && URI.parse(request.referer).path != setting_path(@setting)
    redirect_to request.referer
  else
    respond_with @setting, collection_location: -> { setting_path(@setting) }
  end
end

#moveObject



50
51
52
53
54
55
56
57
# File 'app/controllers/vario/levels_controller.rb', line 50

def move
  oldIndex = @setting.levels.find_index { |level| level.id == params[:id] }
  newIndex = params[:index]
  @level = @setting.levels[oldIndex]
  @level.move(oldIndex - newIndex)

  render json: { old: oldIndex, new: newIndex }
end

#updateObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/controllers/vario/levels_controller.rb', line 23

def update
  if params[:commit] == 'delete'
    self.action_name = 'destroy'
    return destroy
  end

  @level = @setting.levels.find { |level| level.id == params[:id] }
  @level.value = level_params[:value]
  @level.conditions = normalize_booleans(level_params[:conditions].to_h)
  @setting.save
  if request.referer.present? && URI.parse(request.referer).path != setting_path(@setting)
    redirect_to request.referer
  else
    respond_with @setting, collection_location: -> { setting_path(@setting) }
  end
end