Module: TheSortableTreeController::Rebuild

Includes:
DefineVariablesMethod
Defined in:
app/controllers/the_sortable_tree_controller.rb

Overview

DefineVariablesMethod

Instance Method Summary collapse

Methods included from DefineVariablesMethod

#the_define_common_variables

Instance Method Details

#rebuildObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/controllers/the_sortable_tree_controller.rb', line 18

def rebuild
  id        = !params[:id].nil? ? params[:id].sub("_menuitem","") : ""
  parent_id = !params[:parent_id].nil? ? params[:parent_id].sub("_menuitem","") : ""
  prev_id   = !params[:prev_id].nil? ? params[:prev_id].sub("_menuitem","") : ""
  next_id   = !params[:next_id].nil? ? params[:next_id].sub("_menuitem","") : ""

  render :text => "Do nothing" and return if parent_id.empty? && prev_id.empty? && next_id.empty?

  variable, collection, klass = self.the_define_common_variables
  variable = self.instance_variable_set(variable, klass.find(id))

  if prev_id.empty? && next_id.empty?
    variable.move_to_child_of klass.find(parent_id)
  elsif !prev_id.empty?
    variable.move_to_right_of klass.find(prev_id)
  elsif !next_id.empty?
    variable.move_to_left_of klass.find(next_id)
  end

  render(:nothing => true)
end