X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fcontrollers%2Fstory_sheets_controller.rb;h=ac40f9bf75e1cf0d30fe3a7fac4f619640dafe98;hb=091b085aa054691dfe37d6f55f699dcb80f63ee5;hp=020fee17c05f34c20afa545290f0cf29e9ec9be7;hpb=10d7d403b74c06dcbf42a132b9712c3817547284;p=pettanr%2Fpettanr.git diff --git a/app/controllers/story_sheets_controller.rb b/app/controllers/story_sheets_controller.rb index 020fee17..ac40f9bf 100644 --- a/app/controllers/story_sheets_controller.rb +++ b/app/controllers/story_sheets_controller.rb @@ -1,117 +1,76 @@ class StorySheetsController < ApplicationController - layout 'test' if MagicNumber['test_layout'] - if MagicNumber['run_mode'] == 0 + if Manifest.manifest.magic_numbers['run_mode'] == 0 before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy] before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy] else - before_filter :authenticate_reader, :only => [:index, :show] + before_filter :authenticate_reader, :only => [ + :index, :show, :by_story, :by_sheet, :by_author + ] before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy] before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy] end - before_filter :authenticate_admin!, :only => [:list, :browse] - + def index - @page = StorySheet.page params[:page] - @page_size = StorySheet.page_size params[:page_size] - @story_sheets = StorySheet.list(@page, @page_size) - - respond_to do |format| - format.html { - @paginate = StorySheet.list_paginate(@page, @page_size) - } - format.json { render :json => @story_sheets.to_json(StorySheet.list_json_opt) } - end + filer_list end - - def show - @story_sheet = StorySheet.show(params[:id], [@user, @admin]) - - respond_to do |format| - format.html # show.html.erb - format.prof { render :template => 'top/prof', :layout => true } - format.json { render json: @story_sheet.to_json(StorySheet.show_json_opt) } - end + + def by_story + filer_list end - def list - @story_sheets = StorySheet.all - - respond_to do |format| - format.html { render layout: 'system' }# index.html.erb - format.json { render json: @story_sheets } - end + def by_sheet + filer_list end - - def browse - @story_sheet = StorySheet.find(params[:id]) - + + def by_author + filer_list + end + + def show + set_show respond_to do |format| - format.html { render layout: 'system' } # show.html.erb - format.json { render json: @story_sheet } + show_prof_format format + show_json_format format end end def new - @story_sheet = StorySheet.new - @story_sheet.supply_default - respond_to do |format| - format.html # new.html.erb - format.js - format.json { render json: @story_sheet.to_json(StorySheet.show_json_opt) } - end + form_new end - + def edit - @story_sheet = StorySheet.edit(params[:id], @author) - respond_to do |format| - format.html - format.js - end + form_edit end - + def create - @story_sheet = StorySheet.new - @story_sheet.supply_default - @story_sheet.attributes = params[:story_sheet] - @story_sheet.overwrite @author - @story = Story.edit(@story_sheet.story_id, @author) if @story_sheet.story_id - @sheet = Sheet.show(@story_sheet.sheet_id, @author) if @story_sheet.sheet_id + @my_model_class = self.class.model + @item = @my_model_class.new + @item.supply_default + @item.attributes = params[@item.item_name] + @item.overwrite @operators + @binder = @my_model_class.binder_model.edit(@item.binder_id, @operators) if @item.binder_id + @panel = @my_model_class.destination_model.show(@item.destination_id, @operators) if @item.destination_id - respond_to do |format| - if @story_sheet.store - flash[:notice] = I18n.t('flash.notice.created', :model => StorySheet.model_name.human) - format.html { redirect_to play_story_path(@story) } - format.json { render json: @story_sheet.to_json(StorySheet.show_json_opt) } - else - flash[:notice] = I18n.t('flash.notice.not_created', :model => StorySheet.model_name.human) - format.html { render action: "new" } - format.json { render json: @story_sheet.errors, status: :unprocessable_entity } - end - end + leaf_render_create play_story_path(@binder) end def update - @story_sheet = StorySheet.edit(params[:id], @author) - ot = @story_sheet.t - @story_sheet.attributes = params[:story_sheet] - @story_sheet.overwrite @author - @story = Story.edit(@story_sheet.story_id, @author) if @story_sheet.story_id - respond_to do |format| - if @story_sheet.store ot - flash[:notice] = I18n.t('flash.notice.updated', :model => StorySheet.model_name.human) - format.html { redirect_to play_story_path(@story) } - format.json { head :ok } - else - flash[:notice] = I18n.t('flash.notice.not_updated', :model => StorySheet.model_name.human) - format.html { render action: "edit" } - format.json { render json: @story_sheet.errors, status: :unprocessable_entity } - end - end + @my_model_class = self.class.model + @item = @my_model_class.edit(params[:id], @operators) + ot = @item.t + @item.attributes = params[@item.item_name] + @item.overwrite @operators + @binder = @my_model_class.binder_model.edit(@item.binder_id, @operators) if @item.binder_id + # no check permission for destination + # swapable hidden panel + #@panel = @my_model_class.destination_model.show(@item.destination_id, @operators) if @item.destination_id + + leaf_render_update ot, play_story_path(@binder) end - + def destroy - @story_sheet = StorySheet.edit(params[:id], @author) - @story = Story.edit(@story_sheet.story_id, @author) if @story_sheet.story_id + @story_sheet = StorySheet.edit(params[:id], @operators) + @story = Story.edit(@story_sheet.story_id, @operators) if @story_sheet.story_id respond_to do |format| if @story_sheet.destroy_and_shorten flash[:notice] = I18n.t('flash.notice.destroyed', :model => StorySheet.model_name.human)