OSDN Git Service

fix: omniauth twitter
[pettanr/pettanr.git] / app / controllers / folders_controller.rb
1 class FoldersController < ApplicationController
2   if Manifest.manifest.magic_numbers['run_mode'] == 0
3     before_action :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
4   else
5     before_action :authenticate_reader, :only => [:root, :index, :show, :watch]
6     before_action :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
7   end
8   
9   def root
10     set_model
11     @item = Folder.root
12     if params[:ref]
13       respond_to do |format|
14         show_json_format format
15       end
16     else
17       respond_to do |format|
18         children_html_format format
19         children_json_format format
20       end
21     end
22   end
23   
24   def watch
25     set_show
26     respond_to do |format|
27       format.json { render json: @item.to_json }
28     end
29   end
30   
31   def index
32     if params['path']  # secret api
33       list = Folder.where(['name = ?', params['path']])
34       respond_to do |format|
35         format.json {
36           res = {
37             :page_status => {:type => :unlimited},
38             :list => list
39           }
40           render json: res.to_json
41         }
42       end
43     else
44       filer_list
45     end
46   end
47   
48   def children_html_format format
49     format.html {
50       @filer = Locmare::Filer.new Folder.item_name, @item.children, nil, @operators
51       render :action => :show
52     }
53   end
54   
55   def children_json_format format
56     format.json {
57       @items = @item.children
58       render json: @items.to_json(Folder.list_json_opt)
59     }
60   end
61   
62   def show
63     set_show
64     if params[:ref]
65       respond_to do |format|
66         show_json_format format
67       end
68     else
69       if params[:format] == 'prof'
70         respond_to do |format|
71           show_prof_format format
72         end
73       else
74         if @item.category_id == 10
75           redirect_to @item.remote_name
76         else
77           respond_to do |format|
78             children_html_format format
79             children_json_format format
80           end
81         end
82       end
83     end
84   end
85   
86   def count
87     list_count
88   end
89   
90   def destroy
91     set_model
92     @item = @my_model_class.edit(params[:id], @operators)
93     render_destroy '/' + @my_model_class.path_name
94   end
95   
96 end