X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fcontrollers%2Fground_colors_controller.rb;h=53bc819bf0af56594dcfeb0764553ba5ffde3974;hb=02ea4fc4bbe7a54dd576c1cd700aa9e32710abf8;hp=da5244f26a5106f3cbf70398b7250a062f11e083;hpb=2aa10ee1ef8c348a958cb53b44c51b2cebfaadb7;p=pettanr%2Fpettanr.git diff --git a/app/controllers/ground_colors_controller.rb b/app/controllers/ground_colors_controller.rb index da5244f2..53bc819b 100644 --- a/app/controllers/ground_colors_controller.rb +++ b/app/controllers/ground_colors_controller.rb @@ -1,32 +1,117 @@ class GroundColorsController < ApplicationController layout 'test' if MagicNumber['test_layout'] if MagicNumber['run_mode'] == 0 - before_filter :authenticate_user, :only => [] - before_filter :authenticate_author, :only => [] + before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy] + before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy] else before_filter :authenticate_reader, :only => [:index, :show] - before_filter :authenticate_user, :only => [] - before_filter :authenticate_author, :only => [] + before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy] + before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy] end - # GET /ground_colors - # GET /ground_colors.json + @@model = GroundColor def index - @page = GroundColor.page params[:page] - @page_size = GroundColor.page_size params[:page_size] - @ground_colors = GroundColor.list(@page, @page_size) + set_filer respond_to do |format| - format.html # index.html.erb - format.json { render :json => @ground_colors.to_json(GroundColor.list_json_opt) } + format_filer format + format.json { render json: @items.to_json(@@model.list_json_opt) } end end def show - @ground_color = GroundColor.show(params[:id], [@user, @admin]) + @item = GroundColor.show(params[:id], @operators) respond_to do |format| - format.html # show.html.erb - format.json { render json: @ground_color.to_json(GroundColor.show_json_opt) } + format.html { + @ground_color = @item + } + format_prof format + format.json { render json: @item.to_json(GroundColor.show_json_opt) } end end + + def new + raise Pettanr::NotWork unless @author.working_panel + @panel = Panel.edit(@author.working_panel, @author) + @ground_color = GroundColor.new :panel_id => @panel.id, :code => params[:code].to_i + @ground_color.supply_default + + respond_to do |format| + format.html + format.json { render :json => @ground_color.to_json(GroundColor.show_json_opt) } + end + end + + def edit + @ground_color = GroundColor.show(params[:id], @author) + @panel = Panel.edit(@ground_color.panel.id, @author) + + respond_to do |format| + format.html + end + end + + def create + raise Pettanr::NotWork unless @author.working_panel + @panel = Panel.edit(@author.working_panel, @author) + + @ground_color = GroundColor.new + @ground_color.attributes = params[:ground_color] + @ground_color.overwrite @panel.id + + respond_to do |format| + if @ground_color.valid? + if @ground_color.store @author + flash[:notice] = I18n.t('flash.notice.created', :model => Panel.model_name.human) + format.html { redirect_to @panel } + format.json { render json: @panel.panel_elements_as_json, status: :created, location: @panel } + else + flash[:notice] = I18n.t('flash.notice.not_created', :model => GroundColor.model_name.human) + format.html { render action: "new" } + format.json { render json: @ground_color.errors, status: :unprocessable_entity } + end + else + flash[:notice] = I18n.t('flash.notice.not_created', :model => GroundColor.model_name.human) + format.html { render action: "new" } + format.json { render json: @ground_color.errors, status: :unprocessable_entity } + end + end + end + + def update + @ground_color = GroundColor.show(params[:id], @author) + @ground_color.attributes = params[:ground_color] + @panel = Panel.edit(@ground_color.panel.id, @author) + @ground_color.overwrite @panel.id + + respond_to do |format| + if @ground_color.store @author + flash[:notice] = I18n.t('flash.notice.updated', :model => GroundColor.model_name.human) + format.html { redirect_to @ground_color } + format.json { head :ok } + else + flash[:notice] = I18n.t('flash.notice.not_updated', :model => GroundColor.model_name.human) + format.html { render action: "edit" } + format.json { render json: @ground_color.errors, status: :unprocessable_entity } + end + end + end + + def destroy + @ground_color = GroundColor.show(params[:id], @author) + @panel = Panel.edit(@ground_color.panel.id, @author) + + respond_to do |format| + if @ground_color.remove @author + flash[:notice] = I18n.t('flash.notice.destroyed', :model => GroundColor.model_name.human) + format.html { redirect_to @panel } + format.json { head :ok } + else + flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => GroundColor.model_name.human) + format.html { redirect_to @ground_color } + format.json { render json: @ground_color.errors, status: :unprocessable_entity } + end + end + end + end