OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[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     respond_to do |format|
17       children_html_format format
18       children_json_format format
19     end
20   end
21   
22   def watch
23     set_show
24     respond_to do |format|
25       format.json { render json: @item.to_json }
26     end
27   end
28   
29   def index
30     filer_list
31   end
32   
33   def children_html_format format
34     format.html {
35       @filer = Locmare::Filer.new self.class.model.item_name, @item.children, nil, :none, @operators
36       render :action => :show
37     }
38   end
39   
40   def children_json_format format
41     format.json {
42       @items = @item.children
43       render json: @items.to_json(self.class.model.list_json_opt)
44     }
45   end
46   
47   def show
48     set_show
49     if params[:ref]
50       respond_to do |format|
51         show_json_format format
52       end
53     else
54       if params[:format] == 'prof'
55         respond_to do |format|
56           show_prof_format format
57         end
58       else
59         if @item.category_id == 10
60           redirect_to @item.remote_name
61         else
62           respond_to do |format|
63             children_html_format format
64             children_json_format format
65           end
66         end
67       end
68     end
69   end
70   
71 end