X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fcontrollers%2Fstories_controller.rb;h=becb8d1c1ee2d958cd588ca340ba7166498efada;hb=8c860bbc3faaff8c7a458b28f1cac7e30ff490df;hp=1058c62a74e1c91509fec6c21bfba4661d816f98;hpb=4d24ee5624fe3cf7126e9c07d450b93766c8f6c3;p=pettanr%2Fpettanr.git diff --git a/app/controllers/stories_controller.rb b/app/controllers/stories_controller.rb index 1058c62a..becb8d1c 100644 --- a/app/controllers/stories_controller.rb +++ b/app/controllers/stories_controller.rb @@ -4,15 +4,11 @@ class StoriesController < ApplicationController before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy] else before_filter :authenticate_reader, :only => [ - :index, :show, :play, :by_comic, :by_sheet, :by_author, :count, :count_by_comic, :count_by_sheet, :count_by_author + :index, :show, :play, :by_comic, :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 - - def self.model - Story - end def index filer_list @@ -32,10 +28,11 @@ class StoriesController < ApplicationController def show_html_format format format.html { - if @operators.author - @new_sheet_items = assist_items('sheet', 'private_list') - #@new_sheet_filer = assist_filer 'sheet', @new_sheet_items - end + play_list = Locmare::ListGroup.list( + 'story_sheets', 'by_story', @operators, + {:id => @item.id, :my_play => @item.own?(@operators)} + ) + @play_count = play_list.count(@operators) } end @@ -49,47 +46,19 @@ class StoriesController < ApplicationController end def play - @item = Story.show(params[:id], @operators) - @page = StorySheet.page params[:page] - @sheet = StorySheet.play_sheet(@item, @operators, @page) + play_list + # no limit + # no pager respond_to do |format| format.html { - @paginate = StorySheet.play_paginate(@item, @page) - if @operators.author - @new_sheet_items = assist_items('sheet', 'private_list') - @new_sheet_filer = assist_filer 'sheet', @new_sheet_items - end - } - format.json { - if @sheet - @story_sheets = SheetPanel.play_list @sheet, @author - render text: SheetPanel.list_as_json_text(@story_sheets, @author) - else - render text: '' + if @item.own? @operators + @new_sheet_items = assist_items('home', 'sheets') end } - format.jsonp { - render :json => "callback(" + @story_sheets.to_json_list + ");" - } + list_json_format @list, format end end - def count - list_count - end - - def count_by_comic - list_count - end - - def count_by_sheet - list_count - end - - def count_by_author - list_count - end - def new form_new end @@ -99,55 +68,36 @@ class StoriesController < ApplicationController end def create - @story = Story.new - @story.supply_default - @story.attributes = params[:story] - @story.overwrite - @comic = Comic.edit(@story.comic_id, @operators) if @story.comic_id - - respond_to do |format| - if @story.store @operators - flash[:notice] = I18n.t('flash.notice.created', :model => Story.model_name.human) - format.html { redirect_to play_story_path(@story, :page => @story.t.to_i + 1) } - format.json { render json: @story.to_json(Story.show_json_opt) } - else - flash[:notice] = I18n.t('flash.notice.not_created', :model => Story.model_name.human) - format.html { render action: "new" } - format.json { render json: @story.errors, status: :unprocessable_entity } - end - end + set_model + @story = @item + @item = @my_model_class.new + @item.supply_default + @item.attributes = params[@my_model_class.item_name] + @item.overwrite @operators + render_create end def update - @story = Story.edit(params[:id], @operators) - ot = @story.t - @story.attributes = params[:story] - @story.overwrite - respond_to do |format| - if @story.store @operators, ot - flash[:notice] = I18n.t('flash.notice.updated', :model => Story.model_name.human) - format.html { redirect_to play_story_path(@story, :page => @story.t.to_i + 1) } - format.json { head :ok } - else - flash[:notice] = I18n.t('flash.notice.not_updated', :model => Story.model_name.human) - format.html { render action: "edit" } - format.json { render json: @story.errors, status: :unprocessable_entity } - end - end + set_edit + @story = @item + @item.attributes = params[@my_model_class.item_name] + @item.overwrite @operators + render_update end - + def destroy - @story = Story.edit(params[:id], @operators) + @item = Story.edit(params[:id], @operators) respond_to do |format| - if @story.destroy_and_shorten + if @item.destroy_with_leafs flash[:notice] = I18n.t('flash.notice.destroyed', :model => Story.model_name.human) - format.html { redirect_to comic_path(@story.comic)} + format.html { redirect_to '/home/stories' } format.json { head :ok } else flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Story.model_name.human) - format.html { redirect_to story_path(@story) } - format.json { render json: @story.errors, status: :unprocessable_entity } + format.html { redirect_to @item } + format.json { render json: @item.errors, status: :unprocessable_entity } end end end + end