mirror of
https://github.com/ENSL/ensl.org.git
synced 2025-05-30 08:20:45 +00:00
Purged git history and removed sensitive information.
This commit is contained in:
commit
6bcc8dc76b
862 changed files with 25312 additions and 0 deletions
105
app/controllers/data_files_controller.rb
Normal file
105
app/controllers/data_files_controller.rb
Normal file
|
@ -0,0 +1,105 @@
|
|||
class DataFilesController < ApplicationController
|
||||
before_filter :get_file, :only => ['show', 'edit', 'update', 'destroy', 'rate', :addFile, :delFile]
|
||||
|
||||
def show
|
||||
end
|
||||
|
||||
def admin
|
||||
raise AccessError unless cuser and cuser.admin?
|
||||
@files = []
|
||||
DataFile.all.each do |f|
|
||||
@files << f unless File.exists?(f.path)
|
||||
end
|
||||
@movies = []
|
||||
DataFile.movies.each do |f|
|
||||
@movies << f unless f.movie or f.preview or (f.related and f.related.movie)
|
||||
end
|
||||
end
|
||||
|
||||
def new
|
||||
@file = DataFile.new
|
||||
@file.directory = Directory.find params[:id]
|
||||
raise AccessError unless @file.can_create? cuser
|
||||
end
|
||||
|
||||
def edit
|
||||
raise AccessError unless @file.can_update? cuser
|
||||
end
|
||||
|
||||
def create
|
||||
@file = DataFile.new params[:data_file]
|
||||
@file.size = 0
|
||||
raise AccessError unless @file.can_create? cuser
|
||||
|
||||
if @file.save
|
||||
flash[:notice] = t(:files_create)
|
||||
if @file.article
|
||||
redirect_to @file.article
|
||||
elsif @file.movie
|
||||
redirect_to @file.movie
|
||||
else
|
||||
redirect_to @file
|
||||
end
|
||||
else
|
||||
render :action => "new"
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
raise AccessError unless @file.can_update? cuser
|
||||
if @file.update_attributes params[:data_file]
|
||||
flash[:notice] = t(:files_update)
|
||||
redirect_to(@file)
|
||||
else
|
||||
render :action => "edit"
|
||||
end
|
||||
end
|
||||
|
||||
def addFile
|
||||
raise AccessError unless @file.can_update? cuser
|
||||
@related = @file.directory.files.not(@file).find params[:data_file][:related_id]
|
||||
@related.related = @file
|
||||
@related.save
|
||||
redirect_to edit_data_file_url(@file)
|
||||
end
|
||||
|
||||
def delFile
|
||||
raise AccessError unless @file.can_update? cuser
|
||||
@related = @file.related_files.first params[:related_id]
|
||||
@related.related = nil
|
||||
@related.save
|
||||
redirect_to edit_data_file_url(@file)
|
||||
end
|
||||
|
||||
def destroy
|
||||
raise AccessError unless @file.can_destroy? cuser
|
||||
@file.destroy
|
||||
redirect_to_back
|
||||
end
|
||||
|
||||
def rate
|
||||
raise AccessError unless cuser
|
||||
if params[:id2].to_i > 0 and params[:id2].to_i <= 5
|
||||
@file.rate_it(params[:id2], cuser.id)
|
||||
end
|
||||
head :ok
|
||||
end
|
||||
|
||||
def trash
|
||||
raise AccessError unless cuser and cuser.admin?
|
||||
@result = ""
|
||||
DataFile.all.each do |file|
|
||||
unless File.exists?(file.path)
|
||||
file.destroy
|
||||
@result << file.to_s + "<br />"
|
||||
end
|
||||
end
|
||||
render :text => @result, :layout => true
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def get_file
|
||||
@file = DataFile.find params[:id]
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue