OSDN Git Service

remove counter api
[pettanr/pettanr.git] / app / controllers / comics_controller.rb
1 class ComicsController < 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_story, :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_story
18     filer_list
19   end
20   
21   def by_author
22     filer_list
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, :my_play => @item.own?(@operators)}
30       )
31       @play_count = play_list.count(@operators)
32     }
33   end
34   
35   def show
36     set_show
37     respond_to do |format|
38       show_html_format format
39       show_prof_format format
40       show_json_format format
41       format.atom 
42       format.rss 
43     end
44   end
45   
46   def play
47     set_play
48     @list = Locmare::ListGroup.list(
49       @my_controller.name, 
50       @my_action.name, @operators, 
51       {:id => @item.id, :offset => 0, :limit => -1}# no limit
52     )
53     @items = @list.items(@operators)
54     @count = @list.count @operators
55     # no pager
56     respond_to do |format|
57       format.html {
58         if @item.own? @operators
59           @new_story_items = assist_items('home', 'stories')
60         end
61       }
62       format.json { render json: @items.to_json }
63     end
64   end
65   
66   def new
67     form_new
68   end
69   
70   def edit
71     form_edit
72   end
73   
74   def create
75     set_model
76     @item = @my_model_class.new
77     @item.supply_default 
78     @my_model_class.fold_extend_settings params[@my_model_class.item_name]
79     @item.attributes = params[@my_model_class.item_name]
80     @item.overwrite @operators
81     render_create
82   end
83   
84   def update
85     set_edit
86     @my_model_class.fold_extend_settings params[@my_model_class.item_name]
87     @item.attributes = params[@my_model_class.item_name]
88     @item.overwrite @operators
89     render_update
90   end
91   
92   def destroy
93     @item = Comic.edit(params[:id], @operators)
94     respond_to do |format|
95       if @item.destroy_with_leafs
96         flash[:notice] = I18n.t('flash.notice.destroyed', :model => Comic.model_name.human)
97         format.html { redirect_to '/home/comics' }
98         format.json { head :ok }
99       else
100         flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Comic.model_name.human)
101         format.html { redirect_to @item }
102         format.json { render json: @item.errors, status: :unprocessable_entity }
103       end
104     end
105   end
106 end