mirror of
https://github.com/ENSL/ensl.org.git
synced 2024-12-28 13:31:06 +00:00
62 lines
1.4 KiB
Ruby
62 lines
1.4 KiB
Ruby
|
class DirectoriesController < ApplicationController
|
||
|
before_filter :get_directory, :except => [:new, :create]
|
||
|
|
||
|
def show
|
||
|
if @directory.hidden
|
||
|
@files = @directory.files
|
||
|
render :partial => "data_files/list", :layout => true
|
||
|
else
|
||
|
@directories = Directory.ordered.filtered.all :conditions => {:parent_id => 1}
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def new
|
||
|
@directory = Directory.new
|
||
|
@directory.parent = Directory.find params[:id]
|
||
|
raise AccessError unless @directory.can_create? cuser
|
||
|
end
|
||
|
|
||
|
def edit
|
||
|
raise AccessError unless @directory.can_update? cuser
|
||
|
end
|
||
|
|
||
|
def refresh
|
||
|
@directory.process_dir
|
||
|
render :text => t(:directories_update)
|
||
|
end
|
||
|
|
||
|
def create
|
||
|
@directory = Directory.new params[:directory]
|
||
|
raise AccessError unless @directory.can_create? cuser
|
||
|
|
||
|
if @directory.save
|
||
|
flash[:notice] = t(:directories_create)
|
||
|
redirect_to(@directory)
|
||
|
else
|
||
|
render :action => "new"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def update
|
||
|
raise AccessError unless @directory.can_update? cuser
|
||
|
if @directory.update_attributes(params[:directory])
|
||
|
flash[:notice] = t(:directories_update)
|
||
|
redirect_to @directory
|
||
|
else
|
||
|
render :action => "edit"
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def destroy
|
||
|
raise AccessError unless @directory.can_destroy? cuser
|
||
|
@directory.destroy
|
||
|
redirect_to directories_url
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def get_directory
|
||
|
@directory = Directory.find params[:id]
|
||
|
end
|
||
|
end
|