Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions BrainPortal/app/controllers/tasks_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -235,14 +235,19 @@ def new #:nodoc:

# Filter list of files as provided by the get request
file_ids = params[:file_ids] || []
cb_file_ids = CbrainFileList.where(:id => file_ids).pluck(:id)
other_file_ids = file_ids.map(&:to_i) - cb_file_ids
if @tool_config.try(:inputs_readonly) || @task.class.properties[:readonly_input_files]
access = :read
else
access = :write
end
@files = Userfile.find_accessible_by_user(file_ids, current_user, :access_requested => access) rescue []
if @files.count == 0
flash[:error] = "You must select at least one file to which you have write access."
cb_files = Userfile.find_accessible_by_user(cb_file_ids, current_user, :access_requested => :read) rescue []
other_files = Userfile.find_accessible_by_user(other_file_ids, current_user, :access_requested => access) rescue []
@files = cb_files + other_files
if @files.count != file_ids.count
flash[:error] = "Select files to which you have #{access} access."
flash[:error] = "You must select at least one file." if @files.count == 0
redirect_to :controller => :userfiles, :action => :index
return
end
Expand Down