engine/app/controllers/admin/custom_fields_controller.rb

37 lines
897 B
Ruby

module Admin
class CustomFieldsController < BaseController
layout false
before_filter :set_parent_and_fields
def edit
@field = @fields.find(params[:id])
render :action => "edit_#{@field.kind.downcase}"
end
def update
@field = @fields.find(params[:id])
if @field.update_attributes(params[:custom_field])
render :json => @field.to_json
else
render :json => { :error => t('flash.admin.custom_fields.update.alert') }
end
end
protected
def set_parent_and_fields
if params[:parent] == 'asset_collection'
@parent = current_site.asset_collections.where(:slug => params[:slug]).first
@fields = @parent.asset_custom_fields
else
@parent = current_site.content_types.where(:slug => params[:slug]).first
@fields = @parent.content_custom_fields
end
end
end
end