OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / controllers / stories_controller.rb
1 class StoriesController < 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, :play, :by_comic, :by_sheet, :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 index
14     filer_list
15   end
16   
17   def by_comic
18     filer_list
19   end
20   
21   def by_sheet
22     filer_list
23   end
24   
25   def by_author
26     filer_list
27   end
28   
29   def show_html_format format
30     format.html {
31       play_list = Locmare::ListGroup.list(
32         'story_sheets', 'by_story', @operators, 
33         {:id => @item.id, :my_play => @item.own?(@operators)}
34       )
35       @play_count = play_list.count(@operators)
36     }
37   end
38   
39   def show
40     set_show
41     respond_to do |format|
42       show_html_format format
43       show_prof_format format
44       show_json_format format
45     end
46   end
47   
48   def play
49     play_list
50     # no limit
51     # no pager
52     respond_to do |format|
53       format.html {
54         if @item.own? @operators
55           @new_sheet_items = assist_items('home', 'sheets')
56         end
57       }
58       list_json_format @list, format
59     end
60   end
61   
62   def new
63     form_new
64   end
65   
66   def edit
67     form_edit
68   end
69   
70   def create
71     set_model
72     @story = @item
73     @item = @my_model_class.new
74     @item.supply_default 
75     @item.attributes = params[@my_model_class.item_name]
76     @item.overwrite @operators
77     render_create
78   end
79   
80   def update
81     set_edit
82     @story = @item
83     @item.attributes = params[@my_model_class.item_name]
84     @item.overwrite @operators
85     render_update
86   end
87   
88   def destroy
89     @item = Story.edit(params[:id], @operators)
90     respond_to do |format|
91       if @item.destroy_with_leafs
92         flash[:notice] = I18n.t('flash.notice.destroyed', :model => Story.model_name.human)
93         format.html { redirect_to '/home/stories' }
94         format.json { head :ok }
95       else
96         flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Story.model_name.human)
97         format.html { redirect_to @item }
98         format.json { render json: @item.errors, status: :unprocessable_entity }
99       end
100     end
101   end
102   
103 end