OSDN Git Service

07083899b7b632e4b1868b7adefc8dcef0cdc936
[pettanr/pettanr.git] / app / controllers / story_sheets_controller.rb
1 class StorySheetsController < ApplicationController
2   if Manifest.manifest.magic_numbers['run_mode'] == 0
3     before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
4     before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
5   else
6     before_filter :authenticate_reader, :only => [
7       :index, :show, :by_story, :by_sheet, :by_author, :count, :count_by_story, :count_by_sheet, :count_by_author
8     ]
9     before_filter :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
10     before_filter :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
11   end
12
13   def self.model
14     StorySheet
15   end
16   
17   def index
18     filer_list
19   end
20   
21   def by_story
22     filer_list
23   end
24   
25   def by_sheet
26     filer_list
27   end
28   
29   def by_author
30     filer_list
31   end
32   
33   def show
34     set_show
35     respond_to do |format|
36       show_prof_format format
37       show_json_format format
38     end
39   end
40   
41   def count
42     list_count
43   end
44   
45   def count_by_story
46     list_count
47   end
48   
49   def count_by_sheet
50     list_count
51   end
52   
53   def count_by_author
54     list_count
55   end
56   
57   def new
58     form_new
59   end
60   
61   def edit
62     form_edit
63   end
64   
65   def create
66     @story_sheet = StorySheet.new 
67     @story_sheet.supply_default
68     @story_sheet.attributes = params[:story_sheet]
69     @story_sheet.overwrite @operators
70     @story = Story.edit(@story_sheet.story_id, @operators) if @story_sheet.story_id
71     @sheet = Sheet.show(@story_sheet.sheet_id, @operators) if @story_sheet.sheet_id
72     
73     respond_to do |format|
74       if @story_sheet.store @operators
75         flash[:notice] = I18n.t('flash.notice.created', :model => StorySheet.model_name.human)
76         format.html { redirect_to play_story_path(@story) }
77         format.json { render json: @story_sheet.to_json(StorySheet.show_json_opt) }
78       else
79         flash[:notice] = I18n.t('flash.notice.not_created', :model => StorySheet.model_name.human)
80         format.html { render action: "new" }
81         format.json { render json: @story_sheet.errors, status: :unprocessable_entity }
82       end
83     end
84   end
85   
86   def update
87     @story_sheet = StorySheet.edit(params[:id], @operators)
88     ot = @story_sheet.t
89     @story_sheet.attributes = params[:story_sheet]
90     @story_sheet.overwrite @operators
91     @story = Story.edit(@story_sheet.story_id, @operators) if @story_sheet.story_id
92     respond_to do |format|
93       if @story_sheet.store @operators, ot
94         flash[:notice] = I18n.t('flash.notice.updated', :model => StorySheet.model_name.human)
95         format.html { redirect_to play_story_path(@story) }
96         format.json { head :ok }
97       else
98         flash[:notice] = I18n.t('flash.notice.not_updated', :model => StorySheet.model_name.human)
99         format.html { render action: "edit" }
100         format.json { render json: @story_sheet.errors, status: :unprocessable_entity }
101       end
102     end
103   end
104
105   def destroy
106     @story_sheet = StorySheet.edit(params[:id], @operators)
107     @story = Story.edit(@story_sheet.story_id, @operators) if @story_sheet.story_id
108     respond_to do |format|
109       if @story_sheet.destroy_and_shorten
110         flash[:notice] = I18n.t('flash.notice.destroyed', :model => StorySheet.model_name.human)
111         format.html { redirect_to play_story_path(@story) }
112         format.json { head :ok }
113       else
114         flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => StorySheet.model_name.human)
115         format.html { redirect_to story_sheet_path(@story_sheet) }
116         format.json { render json: @story_sheet.errors, status: :unprocessable_entity }
117       end
118     end
119   end
120 end