OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[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
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_author
18     filer_list
19   end
20   
21   def by_panel
22     filer_list
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, :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     end
42   end
43   
44   def play
45     set_play
46     play_list
47     respond_to do |format|
48       format.html {
49         if @item.own? @operators
50           @fresh_panel_items = assist_items('panels', 'index')
51           @new_panel_items = assist_items('home', 'panels')
52         end
53       }
54       list_json_format @list, format
55     end
56   end
57   
58   def new
59     form_new
60   end
61   
62   def edit
63     form_edit
64   end
65   
66   def create
67     set_model
68     @item = @my_model_class.new
69     @item.supply_default 
70     @item.attributes = params[@my_model_class.item_name]
71     @item.overwrite @operators
72     render_create
73   end
74   
75   def update
76     set_edit
77     @item.attributes = params[@my_model_class.item_name]
78     @item.overwrite @operators
79     render_update
80   end
81   
82   def destroy
83     set_model
84     @item = @my_model_class.edit(params[:id], @operators)
85     render_destroy '/home/' + @item.path_name
86   end
87 end