1 class StoriesController < ApplicationController
2 layout 'test' if MagicNumber['test_layout']
3 if MagicNumber['run_mode'] == 0
4 before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
5 before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
7 before_filter :authenticate_reader, :only => [:index, :show, :play]
8 before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
9 before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
11 before_filter :authenticate_admin!, :only => [:list, :browse]
14 @page = Story.page params[:page]
15 @page_size = Story.page_size params[:page_size]
16 @stories = Story.list(@page, @page_size)
18 respond_to do |format|
20 @paginate = Story.list_paginate(@page, @page_size)
22 format.json { render :json => @stories.to_json(Story.list_json_opt) }
27 @story = Story.show(params[:id], [@user, @admin])
29 respond_to do |format|
31 @sheet = StorySheet.play_sheet(@story, @author)
33 @new_sheets = Sheet.mylist(@author, 1, 5)
36 format.json { render json: @story.story_as_json(@author) }
41 @story = Story.show(params[:id], [@user, @admin])
42 @page = StorySheet.page params[:page]
43 @sheet = StorySheet.play_sheet(@story, @author, @page)
44 respond_to do |format|
46 @paginate = StorySheet.play_paginate(@story, @page)
48 @new_sheets = Sheet.mylist(@author, 1, 5)
51 format.json {render text: StorySheet.list_as_json_text(@story_sheets, @author)}
53 render :json => "callback(" + @story_sheets.to_json_list + ");"
61 respond_to do |format|
62 format.html { render layout: 'system' }# index.html.erb
63 format.json { render json: @stories }
68 @story = Story.find(params[:id])
70 respond_to do |format|
71 format.html { render layout: 'system' } # show.html.erb
72 format.json { render json: @story }
79 respond_to do |format|
80 format.html # new.html.erb
82 format.json { render json: @story.story_as_json(@author) }
87 @story = Story.edit(params[:id], @author)
88 respond_to do |format|
97 @story.attributes = params[:story]
98 @story.overwrite @author
99 @comic = Comic.edit(@story.comic_id, @author) if @story.comic_id
101 respond_to do |format|
103 flash[:notice] = I18n.t('flash.notice.created', :model => Story.model_name.human)
104 format.html { redirect_to story_path(@story) }
105 format.json { render json: @story.story_as_json(@author) }
107 flash[:notice] = I18n.t('flash.notice.not_created', :model => Story.model_name.human)
108 format.html { render action: "new" }
109 format.json { render json: @story.errors, status: :unprocessable_entity }
115 @story = Story.edit(params[:id], @author)
117 @story.attributes = params[:story]
118 @story.overwrite @author
119 respond_to do |format|
121 flash[:notice] = I18n.t('flash.notice.updated', :model => Story.model_name.human)
122 format.html { redirect_to story_path(@story) }
123 format.json { head :ok }
125 flash[:notice] = I18n.t('flash.notice.not_updated', :model => Story.model_name.human)
126 format.html { render action: "edit" }
127 format.json { render json: @story.errors, status: :unprocessable_entity }
133 @story = Story.edit(params[:id], @author)
134 respond_to do |format|
135 if @story.destroy_and_shorten
136 flash[:notice] = I18n.t('flash.notice.destroyed', :model => Story.model_name.human)
137 format.html { redirect_to comic_path(@story.comic)}
138 format.json { head :ok }
140 flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Story.model_name.human)
141 format.html { redirect_to story_path(@story) }
142 format.json { render json: @story.errors, status: :unprocessable_entity }