universal_table/app/controllers/admin/mind_maps_controller.rb

53 lines
1.4 KiB
Ruby
Executable File

class Admin::MindMapsController < OrbitAdminController
def index
@table_fields = ["universal_table.mind_map","universal_table.created_time"]
@table = UTable.find(params[:id])
@mind_maps = Kaminari.paginate_array(@table.mind_maps).page(params[:page]).per(10)
end
def new
@table = UTable.find(params[:table])
@mind_map = MindMap.new
end
def edit
uid = params[:id].split("-").last
@mind_map = MindMap.where(:uid => uid).first
@table = @mind_map.u_table
end
def create
mind_map = MindMap.new
mind_params = mind_map_params
mind_params[:mind_map_data] = JSON.parse(mind_params[:mind_map_data])
mind_map.update_attributes(mind_map_params)
mind_map.save
redirect_to "/admin/universal_table/#{mind_map.u_table.id.to_s}/mind_maps"
end
def update
mind_map = MindMap.find(params[:id])
mind_params = mind_map_params
mind_params[:mind_map_data] = JSON.parse(mind_params[:mind_map_data])
mind_map.update_attributes(mind_map_params)
mind_map.save
redirect_to "/admin/universal_table/#{mind_map.u_table.id.to_s}/mind_maps"
end
def destroy
uid = params[:id].split("-").last
mind_map = MindMap.where(:uid => uid).first
table = mind_map.u_table
mind_map.destroy
redirect_to "/admin/universal_table/#{table.id.to_s}/mind_maps"
end
private
def mind_map_params
params.require(:mind_map).permit!
end
end