OSDN Git Service

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