OSDN Git Service

fix test
[pettanr/pettanr.git] / app / controllers / scrolls_controller.rb
1 class ScrollsController < 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       :top, :index, :show, :play, :by_panel, :by_author, :count, :count_by_panel, :count_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 self.model
14     Scroll
15   end
16   
17   def index
18     filer_list
19   end
20   
21   def by_author
22     filer_list
23   end
24   
25   def by_panel
26     filer_list
27   end
28   
29   def show_html_format format
30     format.html {
31       play_list = Locmare::ListGroup.list 'scroll_panel', 'play'
32       @play_count = play_list.count(@operators, 
33         {:id => @item.id, :my_play => @item.own?(@operators)}
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     @item = self.class.model.show(params[:id], @operators)
49     set_play
50     play_list
51     respond_to do |format|
52       format.html {
53         if @item.own? @operators
54           @fresh_panel_items = assist_items('panel', 'public')
55           @new_panel_items = assist_items('panel', 'private')
56         end
57       }
58       format.json { render json: @items.to_json }
59     end
60   end
61   
62   def count
63     list_count
64   end
65   
66   def count_by_author
67     list_count
68   end
69   
70   def count_by_panel
71     list_count
72   end
73   
74   def new
75     form_new
76   end
77   
78   def edit
79     form_edit
80   end
81   
82   def create
83     set_model
84     @item = @my_model_class.new
85     @item.supply_default 
86     @item.attributes = params[@my_model_class.item_name]
87     @item.overwrite @operators
88     render_create
89   end
90   
91   def update
92     set_edit
93     @item.attributes = params[@my_model_class.item_name]
94     @item.overwrite @operators
95     render_update
96   end
97   
98   def destroy
99     set_model
100     @item = @my_model_class.edit(params[:id], @operators)
101     respond_to do |format|
102       if @item.destroy_with_leafs
103         flash[:notice] = I18n.t('flash.notice.destroyed', :model => Scroll.model_name.human)
104         format.html { redirect_to '/home/scrolls' }
105         format.json { head :ok }
106       else
107         flash[:notice] = I18n.t('flash.notice.not_destroyed', :model => Scroll.model_name.human)
108         format.html { redirect_to @item }
109         format.json { render json: @item.errors, status: :unprocessable_entity }
110       end
111     end
112   end
113 end