Module: ReorderChildren::PagesControllerExtensions

Defined in:
lib/reorder_children/pages_controller_extensions.rb

Instance Method Summary collapse

Instance Method Details

#reorderObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/reorder_children/pages_controller_extensions.rb', line 3

def reorder
  if request.post?
    sort_order = params[:sort_order].to_s.split(',').map { |i| Integer(i) rescue nil }.compact
    sort_order.each_with_index do |id, index|
      Page.update(id, :position => index)
    end
  
    if defined? ResponseCache == 'constant'
      ResponseCache.instance.clear
    else
      Radiant::Cache.clear
    end
  
    redirect_to admin_pages_url
  else
    @page = Page.find(params[:id])
    @children = @page.children
  end
end