app/controllers/spina/admin/media_picker_controller.rb
module Spina
module Admin
class MediaPickerController < AdminController
def show
@images = Image.page(params[:page])
if params[:selected_ids].present?
ids = params[:selected_ids].map(&:to_i).join(', ')
@images = @images.order(Arel.sql("CASE WHEN id IN(#{ids}) THEN 0 ELSE 1 END, created_at DESC"))
else
@images = @images.sorted
end
render params[:page].present? ? :infinite_scroll : :show
end
def select
if params[:multiple]
@images = Image.where(id: params[:image_ids].split("-"))
else
@image = Image.find(params[:image_id])
end
end
end
end
end