class FoldersController < ApplicationController
if Manifest.manifest.magic_numbers['run_mode'] == 0
- before_filter :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
+ before_action :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
else
- before_filter :authenticate_reader, :only => [:root, :index, :show, :watch]
- before_filter :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
- end
-
- def self.model
- Folder
+ before_action :authenticate_reader, :only => [:root, :index, :show, :watch]
+ before_action :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
end
def root
set_model
@item = Folder.root
- respond_to do |format|
- show_html_format format
- show_json_format format
+ if params[:ref]
+ respond_to do |format|
+ show_json_format format
+ end
+ else
+ respond_to do |format|
+ children_html_format format
+ children_json_format format
+ end
end
end
end
def index
- filer_list
+ if params['path'] # secret api
+ list = Folder.where(['name = ?', params['path']])
+ respond_to do |format|
+ format.json {
+ res = {
+ :page_status => {:type => :unlimited},
+ :list => list
+ }
+ render json: res.to_json
+ }
+ end
+ else
+ filer_list
+ end
end
- def show_html_format format
+ def children_html_format format
format.html {
- @filer = Locmare::Filer.new self.class.model.item_name, @item.children, nil, :none, @operators
+ @filer = Locmare::Filer.new Folder.item_name, @item.children, nil, @operators
render :action => :show
}
end
- def show_json_format format
+ def children_json_format format
format.json {
@items = @item.children
- render json: @items.to_json(self.class.model.list_json_opt)
+ render json: @items.to_json(Folder.list_json_opt)
}
end
def show
set_show
- if @item.category_id == 10
- redirect_to @item.remote_name
- else
+ if params[:ref]
respond_to do |format|
- show_html_format format
- show_prof_format format
show_json_format format
end
+ else
+ if params[:format] == 'prof'
+ respond_to do |format|
+ show_prof_format format
+ end
+ else
+ if @item.category_id == 10
+ redirect_to @item.remote_name
+ else
+ respond_to do |format|
+ children_html_format format
+ children_json_format format
+ end
+ end
+ end
end
end
+ def count
+ list_count
+ end
+
+ def destroy
+ set_model
+ @item = @my_model_class.edit(params[:id], @operators)
+ render_destroy '/' + @my_model_class.path_name
+ end
+
end