Sha256: 778e005edf524423d2b27e686c197288921f827881725e0f3a95cc54dac7f22a

Contents?: true

Size: 1.2 KB

Versions: 7

Compression:

Stored size: 1.2 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_s }.include?(params[:remarkable_id])
          @clipboard.push({:id => params[:remarkable_id], :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_s == params[:remarkable_id] }
        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

7 entries across 7 versions & 1 rubygems

Version Path
alchemy_cms-2.2.rc11 app/controllers/alchemy/admin/clipboard_controller.rb
alchemy_cms-2.2.rc8 app/controllers/alchemy/admin/clipboard_controller.rb
alchemy_cms-2.2.rc7 app/controllers/alchemy/admin/clipboard_controller.rb
alchemy_cms-2.2.rc6 app/controllers/alchemy/admin/clipboard_controller.rb
alchemy_cms-2.2.rc3 app/controllers/alchemy/admin/clipboard_controller.rb
alchemy_cms-2.2.rc2 app/controllers/alchemy/admin/clipboard_controller.rb
alchemy_cms-2.2.rc1 app/controllers/alchemy/admin/clipboard_controller.rb