OSDN Git Service

fix: finder
[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 param: params[:id]
19   end
20   
21   def by_sheet
22     filer_list param: params[:id]
23   end
24   
25   def by_author
26     filer_list param: params[:id]
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     @finder.per( 1)   # show one sheet
50     play_list
51     respond_to do |format|
52       format.html {
53         @pager = @finder
54         if @item.own? @operators
55           @new_sheet_items = assist_items('home', 'sheets', finder: :find_private, param: @operators)
56         end
57       }
58       list_json_format @finder, 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 = @item.permit_params params
76     @item.overwrite @operators
77     render_create
78   end
79   
80   def update
81     set_edit
82     @story = @item
83     @item.attributes = @item.permit_params params
84     @item.overwrite @operators
85     render_update
86   end
87   
88   def destroy
89     set_model
90     @item = @my_model_class.edit(params[:id], @operators)
91     render_destroy '/home/' + @item.path_name
92   end
93   
94 end