Sha256: 592cc871248a2b45e1206e99919f5150de4b15b1a21564bed28b213e05a069f1

Contents?: true

Size: 1.46 KB

Versions: 7

Compression:

Stored size: 1.46 KB

Contents

class Admin::ScaffoldController < Admin::BaseController
  respond_to :html, :js
  before_filter :prepend_resource_views_prefix
    
  def index
    @search = current_resource_class.search(params[:search])
    set_collection @search.page(params[:page] || 1)
  end

  def new
     set_object current_resource_class.new  
  end
  
  def edit
  end
  
  def create
      set_object current_resource_class.new(params[:"#{resource_name}"])
      
      if current_resource.respond_to?("administrator=")
        current_resource.administrator ||= current_administrator
      end
      
      current_resource.save
      respond_with(current_resource)
  end
  
  def update
    current_resource.attributes = params[:"#{resource_name}"]
    current_resource.save
    respond_with(current_resource)
  end
  
  def destroy
    current_resource.destroy
    respond_with(current_resource)
  end
  
  protected
  
  # overrides checkin default
  def fetch_object
    if params[:id]
      set_object(current_resource_class.find(params[:id]))
    end
  end
    
  # helpers overrides
  def current_resource_class
    @current_resource_class ||= params[:_admin_resource_type].classify.constantize
  end

  private 

  def prepend_resource_views_prefix
    lookup_context.prefixes.unshift "admin/#{collection_name}"
  end

  def set_object(value)
    instance_variable_set("@#{resource_name}", value)    
  end
  
  def set_collection(value)
    instance_variable_set("@#{collection_name}", value)
  end
  
  
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
fullstack-admin-0.2.11 app/controllers/admin/scaffold_controller.rb
fullstack-admin-0.2.9 app/controllers/admin/scaffold_controller.rb
fullstack-admin-0.2.8 app/controllers/admin/scaffold_controller.rb
fullstack-admin-0.2.7 app/controllers/admin/scaffold_controller.rb
fullstack-admin-0.2.6 app/controllers/admin/scaffold_controller.rb
fullstack-admin-0.2.5 app/controllers/admin/scaffold_controller.rb
fullstack-admin-0.2.4 app/controllers/admin/scaffold_controller.rb