OSDN Git Service

mrg
[pettanr/pettanr.git] / app / controllers / folders_controller.rb
1 class FoldersController < ApplicationController
2   if Manifest.manifest.magic_numbers['run_mode'] == 0
3     before_filter :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
4   else
5     before_filter :authenticate_reader, :only => [:root, :index, :show, :watch]
6     before_filter :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
7   end
8   
9   def self.model
10     Folder
11   end
12   
13   def root
14     set_model
15     @item = Folder.root
16     if params[:ref]
17       respond_to do |format|
18         show_json_format format
19       end
20     else
21       respond_to do |format|
22         children_html_format format
23         children_json_format format
24       end
25     end
26   end
27   
28   def watch
29     set_show
30     respond_to do |format|
31       format.json { render json: @item.to_json }
32     end
33   end
34   
35   def index
36     filer_list
37   end
38   
39   def children_html_format format
40     format.html {
41       @filer = Locmare::Filer.new self.class.model.item_name, @item.children, nil, :none, @operators
42       render :action => :show
43     }
44   end
45   
46   def children_json_format format
47     format.json {
48       @items = @item.children
49       render json: @items.to_json(self.class.model.list_json_opt)
50     }
51   end
52   
53   def show
54     set_show
55     if params[:ref]
56       respond_to do |format|
57         show_json_format format
58       end
59     else
60       if params[:format] == 'prof'
61         respond_to do |format|
62           show_prof_format format
63         end
64       else
65         if @item.category_id == 10
66           redirect_to @item.remote_name
67         else
68           respond_to do |format|
69             children_html_format format
70             children_json_format format
71           end
72         end
73       end
74     end
75   end
76   
77 end