class BrickLayer::DataSetsController < BrickLayer::AdminController before_filter :set_model_constant before_filter :get_data_sets, :only => [:index, :list] before_filter :get_data_set, :only => [:show, :edit, :update, :destroy] respond_to :html respond_to :json, :except => [:edit] def index respond_with(@data_sets) end def new @data_set = @model_constant.new end def show respond_with(@data_set) end def edit end def create @data_set = @model_constant.new(params[:data_set]) if @data_set.save respond_to do |format| format.html { redirect_to data_set_path(params[:model], :id => @data_set.id), notice: "#{@modal_constant.class.to_s.titlecase} was successfully created." } format.json { render json: @data_set, status: :created, location: @data_set } end else respond_to do |format| format.html { render action: "new" } format.json { render json: @data_set.errors, status: :unprocessable_entity } end end end def update if @data_set.update_attributes(params[:data_set]) respond_to do |format| format.html { redirect_to data_set_path(:model => params[:model], :id => @data_set.id), notice: '#{@modal_constant.class.name} was successfully updated.' } format.json { head :ok } end else respond_to do |format| format.html { render action: "edit" } format.json { render json: @data_set.errors, status: :unprocessable_entity } end end end def destroy @data_set.destroy respond_to do |format| format.html { redirect_to data_sets_path(params[:model]) } format.json { head :ok } end end def search @data_sets = BrickLayer::Search.perform_search(params) respond_to do |format| format.html format.json { render json: @data_sets } end end private def set_model_constant if params[:model] @model_constant = params[:model].gsub('"','').singularize.camelize.constantize else @model_constant = BrickLayer::DataSet end end def get_data_sets @data_sets = @model_constant.all end def get_data_set unless params[:id].blank? @data_set = @model_constant.find(params[:id]) else @data_set = nil end end end