Sha256: 9305532ffac6ebc87f529a266f52115a9e6d7c6a7118268932be76cfb4e2c147

Contents?: true

Size: 1.09 KB

Versions: 2

Compression:

Stored size: 1.09 KB

Contents

module Alchemy
	module Admin

		class ClipboardController < Alchemy::Admin::BaseController

			def index
				clipboard = get_clipboard(params[:remarkable_type])
				@clipboard_items = model_class.all_from_clipboard(clipboard)
				respond_to do |format|
					format.html { render :layout => false }
				end
			end

			def insert
				@clipboard = get_clipboard(params[:remarkable_type])
				@item = model_class.find(params[:remarkable_id])
				unless @clipboard.collect { |i| i[:id].to_i }.include?(params[:remarkable_id].to_i)
					@clipboard.push({:id => params[:remarkable_id].to_i, :action => params[:remove] ? 'cut' : 'copy'})
				end
				respond_to do |format|
					format.js
				end
			end

			def remove
				@clipboard = get_clipboard(params[:remarkable_type])
				@item = model_class.find(params[:remarkable_id])
				@clipboard.delete_if { |i| i[:id].to_i == params[:remarkable_id].to_i }
				respond_to do |format|
					format.js
				end
			end

			def clear
				session[:clipboard] = {}
			end

		private

			def model_class
				"alchemy/#{params[:remarkable_type]}".classify.constantize
			end

		end
	end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
alchemy_cms-2.1.12 app/controllers/alchemy/admin/clipboard_controller.rb
alchemy_cms-2.1.11 app/controllers/alchemy/admin/clipboard_controller.rb