X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fcontrollers%2Fstories_controller.rb;h=0792326543673b55988ab53daec969fefce5c873;hb=0bdfae60dc58932c99849c31d36ee5d7715db782;hp=1baf428a7752825779f807fbe0acc3a13de4c27f;hpb=4ba1fbdb35a728d31d9588cdd7a23fb642b7459c;p=pettanr%2Fpettanr.git diff --git a/app/controllers/stories_controller.rb b/app/controllers/stories_controller.rb index 1baf428a..07923265 100644 --- a/app/controllers/stories_controller.rb +++ b/app/controllers/stories_controller.rb @@ -1,144 +1,94 @@ class StoriesController < ApplicationController - layout 'test' if MagicNumber['test_layout'] - if MagicNumber['run_mode'] == 0 - before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy] - before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy] + if Manifest.manifest.magic_numbers['run_mode'] == 0 + before_action :authenticate_user, :only => [:new, :create, :edit, :update, :destroy] + before_action :authenticate_author, :only => [:new, :create, :edit, :update, :destroy] else - before_filter :authenticate_reader, :only => [:index, :show, :comic] - before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy] - before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy] + before_action :authenticate_reader, :only => [ + :index, :show, :play, :by_comic, :by_sheet, :by_author + ] + before_action :authenticate_user, :only => [:new, :create, :edit, :update, :destroy] + before_action :authenticate_author, :only => [:new, :create, :edit, :update, :destroy] end - before_filter :authenticate_admin!, :only => [:list, :browse] - + def index - @page = Story.page params[:page] - @page_size = Story.page_size params[:page_size] - @stories = Story.list(@page, @page_size) - - respond_to do |format| - format.html { - @paginate = Story.list_paginate(@page, @page_size) - } - format.json { render :json => @stories.to_json(Story.list_json_opt) } - end + filer_list + end + + def by_comic + filer_list param: params[:id] + end + + def by_sheet + filer_list param: params[:id] end - + + def by_author + filer_list param: params[:id] + end + + def show_html_format format + format.html { + @play_list = Locmare::ListGroup.list( + 'story_sheets', 'by_story', @operators, + {:id => @item.id, :page_size => -1} # set no limit options + ) + } + end + def show - @story = Story.show(params[:id], [@user, @admin]) - + set_show respond_to do |format| - format.html # show.html.erb - format.json { render json: @story.story_as_json(@author) } + show_html_format format + show_prof_format format + show_json_format format end end - def comic - @comic = Comic.show(params[:id], [@user, @admin]) - cnt = Story.count(:conditions => ['comic_id = ?', @comic.id]).to_i - @offset = Story.offset cnt, params[:offset] - @panel_count = Story.panel_count cnt, params[:count] - @stories = Story.play_list(@comic, @author, @offset, @panel_count) + def play + set_play + @finder.per( 1) # show one sheet + play_list respond_to do |format| format.html { - @paginate = Story.play_list_paginate(@comic, @offset, @panel_count) - if @author - @new_panels = Panel.mylist(@author, 0, 5) + @pager = @finder + if @item.own? @operators + @new_sheet_items = assist_items('home', 'sheets', finder: :find_private, param: @operators) end } - format.json {render text: Story.list_as_json_text(@stories, @author)} - format.jsonp { - render :json => "callback(" + @stories.to_json_list + ");" - } - end - end - - def list - @stories = Story.all - - respond_to do |format| - format.html { render layout: 'system' }# index.html.erb - format.json { render json: @stories } - end - end - - def browse - @story = Story.find(params[:id]) - - respond_to do |format| - format.html { render layout: 'system' } # show.html.erb - format.json { render json: @story } + list_json_format @finder, format end end def new - @story = Story.new - @story.supply_default - respond_to do |format| - format.html # new.html.erb - format.js - format.json { render json: @story.story_as_json(@author) } - end + form_new end - + def edit - @story = Story.edit(params[:id], @author) - respond_to do |format| - format.html - format.js - end + form_edit end - + def create - @story = Story.new - @story.supply_default - @story.attributes = params[:story] - @story.overwrite @author - @comic = Comic.edit(@story.comic_id, @author) if @story.comic_id - @panel = Panel.show(@story.panel_id, @author) if @story.panel_id - - respond_to do |format| - if @story.store - flash[:notice] = I18n.t('flash.notice.created', :model => Story.model_name.human) - format.html { redirect_to action: :comic, id: @story.comic_id } - format.json { render json: @story.story_as_json(@author) } - 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 = @item.permit_params params + @item.overwrite @operators + render_create end def update - @story = Story.edit(params[:id], @author) - ot = @story.t - @story.attributes = params[:story] - @story.overwrite @author - respond_to do |format| - if @story.store ot - flash[:notice] = I18n.t('flash.notice.updated', :model => Story.model_name.human) - format.html { redirect_to action: :comic, id: @story.comic_id } - 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 = @item.permit_params params + @item.overwrite @operators + render_update end - + def destroy - @story = Story.edit(params[:id], @author) - respond_to do |format| - if @story.destroy_and_shorten - flash[:notice] = I18n.t('flash.notice.destroyed', :model => Story.model_name.human) - format.html { redirect_to :controller => 'stories', :action => :comic, :id => @story.comic_id } - 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 } - end - end + set_model + @item = @my_model_class.edit(params[:id], @operators) + render_destroy '/home/' + @item.path_name end + end