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 => [:index, :show]
- before_filter :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
+ before_action :authenticate_reader, :only => [:root, :index, :show, :watch]
+ before_action :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
end
- def self.model
- Folder
+ def root
+ set_model
+ @item = Folder.root
+ 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
+
+ def watch
+ set_show
+ respond_to do |format|
+ format.json { render json: @item.to_json }
+ 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 {
- @folder = @item
+ @filer = Locmare::Filer.new Folder.item_name, @item.children, nil, @operators
+ render :action => :show
+ }
+ end
+
+ def children_json_format format
+ format.json {
+ @items = @item.children
+ render json: @items.to_json(Folder.list_json_opt)
}
end
def show
set_show
- respond_to do |format|
- show_html_format format
- show_prof_format format
- show_json_format format
+ if params[:ref]
+ respond_to do |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