OSDN Git Service

fix: omniauth twitter
[pettanr/pettanr.git] / app / controllers / comics_controller.rb
1 class ComicsController < 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_story, :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_story
18     filer_list param: params[:id]
19   end
20   
21   def by_author
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         'comic_stories', 'by_comic', @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       format.atom 
41       format.rss 
42     end
43   end
44   
45   def play
46     set_play
47     @finder.per(-1)    # no limit no pager
48     play_list
49     respond_to do |format|
50       format.html {
51         if @item.own? @operators
52           @new_story_items = assist_items('home', 'stories', finder: :find_private, param: @operators)
53         end
54       }
55       list_json_format @finder, format
56     end
57   end
58   
59   def new
60     form_new
61   end
62   
63   def edit
64     form_edit
65   end
66   
67   def create
68     set_model
69     @item = @my_model_class.new
70     @item.supply_default 
71     @my_model_class.fold_extend_settings params[@my_model_class.item_name]
72     @item.attributes = @item.permit_params params
73     @item.overwrite @operators
74     render_create
75   end
76   
77   def update
78     set_edit
79     @my_model_class.fold_extend_settings params[@my_model_class.item_name]
80     @item.attributes = @item.permit_params params
81     @item.overwrite @operators
82     render_update
83   end
84   
85   def destroy
86     set_model
87     @item = @my_model_class.edit(params[:id], @operators)
88     render_destroy '/home/' + @item.path_name
89   end
90   
91 end