OSDN Git Service

rails upgrade to 4
[pettanr/pettanr.git] / app / controllers / stories_controller.rb
1 class StoriesController < ApplicationController
2   if Manifest.manifest.magic_numbers['run_mode'] == 0
3     before_action :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
4     before_action :authenticate_author, :only => [:new, :create, :edit, :update, :destroy]
5   else
6     before_action :authenticate_reader, :only => [
7       :index, :show, :play, :by_comic, :by_sheet, :by_author
8     ]
9     before_action :authenticate_user, :only => [:new, :create, :edit, :update, :destroy]
10     before_action :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, :page_size => -1}  # set no limit options
34       )
35     }
36   end
37   
38   def show
39     set_show
40     respond_to do |format|
41       show_html_format format
42       show_prof_format format
43       show_json_format format
44     end
45   end
46   
47   def play
48     set_play
49     @list.options.merge!({'per_page' => 1})    # show one sheet
50     @list.reset
51     play_list
52     respond_to do |format|
53       format.html {
54         @pager = @list.page_status.pager
55         if @item.own? @operators
56           @new_sheet_items = assist_items('home', 'sheets')
57         end
58       }
59       list_json_format @list, format
60     end
61   end
62   
63   def new
64     form_new
65   end
66   
67   def edit
68     form_edit
69   end
70   
71   def create
72     set_model
73     @story = @item
74     @item = @my_model_class.new
75     @item.supply_default 
76     @item.attributes = @item.permit_params params
77     @item.overwrite @operators
78     render_create
79   end
80   
81   def update
82     set_edit
83     @story = @item
84     @item.attributes = @item.permit_params params
85     @item.overwrite @operators
86     render_update
87   end
88   
89   def destroy
90     set_model
91     @item = @my_model_class.edit(params[:id], @operators)
92     render_destroy '/home/' + @item.path_name
93   end
94   
95 end