OSDN Git Service

fix: fetch fail
[pettanr/pettanr.git] / app / controllers / scrolls_controller.rb
1 class ScrollsController < 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       :top, :index, :show, :play, :by_panel, :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_author
18     filer_list param: params[:id]
19   end
20   
21   def by_panel
22     filer_list param: params[:id]
23   end
24   
25   def show_html_format format
26     format.html {
27       @play_list = Locmare::ListGroup.list(
28         'scroll_panels', 'by_scroll', @operators, 
29         {:id => @item.id, :page_size => -1}  # set no limit options}
30       )
31     }
32   end
33   
34   def show
35     set_show
36     respond_to do |format|
37       show_html_format format
38       show_prof_format format
39       show_json_format format
40     end
41   end
42   
43   def play
44     set_play
45     play_list
46     respond_to do |format|
47       format.html {
48         if @item.own? @operators
49           @fresh_panel_items = assist_items('panels', 'index')
50           @new_panel_items = assist_items('home', 'panels', finder: :find_private, param: @operators)
51         end
52       }
53       list_json_format @finder, format
54     end
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     set_model
67     @item = @my_model_class.new
68     @item.supply_default 
69     @item.attributes = @item.permit_params params
70     @item.overwrite @operators
71     render_create
72   end
73   
74   def update
75     set_edit
76     @item.attributes = @item.permit_params params
77     @item.overwrite @operators
78     render_update
79   end
80   
81   def destroy
82     set_model
83     @item = @my_model_class.edit(params[:id], @operators)
84     render_destroy '/home/' + @item.path_name
85   end
86   
87 end