Sha256: 4590c704674215d97a341898ff04efd746bf08ce9816ea0d320b29186a85225c

Contents?: true

Size: 1.11 KB

Versions: 2

Compression:

Stored size: 1.11 KB

Contents

class Admin::FeaturesController <  Admin::AdminController
  include FeatureGetterHelper

  before_filter :get_feature, :only => [:show, :destroy]

  def show
    @features_fields = Feature.non_common_fields
  end

  def create

    @features_fields = Feature.non_common_fields.map{|f| f[:name]}
    params_for_insert = Hash[params.select{|key, value| @features_fields.include?(key)}.map{|key, value| [key, value = value.blank?? nil : value]}]

    @new_feature = CartoDB::Connection.insert_row Cartoset::Config['features_table'], params_for_insert

    redirect_to admin_feature_path(@new_feature.cartodb_id)
  end

  def update

    @features_fields = Feature.non_common_fields.map{|f| f[:name]}
    params_for_update = params.select{|key, value| @features_fields.include?(key)}

    CartoDB::Connection.update_row Cartoset::Config['features_table'], params[:id], params_for_update

    redirect_to admin_feature_path(params[:id])
  end

  def new
    @features_fields = Feature.non_common_fields
  end

  def destroy
    CartoDB::Connection.delete_row Cartoset::Config['features_table'], params[:id]
    redirect_to admin_path
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cartoset-0.0.2 app/controllers/admin/features_controller.rb
cartoset-0.0.1 app/controllers/admin/features_controller.rb