Files
codeocean/app/controllers/concerns/submission_parameters.rb
2015-04-23 17:39:18 +02:00

22 lines
834 B
Ruby

module SubmissionParameters
include FileParameters
def reject_illegal_file_attributes!(submission_params)
if Exercise.exists?(id: submission_params[:exercise_id])
submission_params[:files_attributes].try(:reject!) do |_, file_attributes|
file = CodeOcean::File.find_by(id: file_attributes[:file_id])
file.nil? || file.hidden || file.read_only
end
end
end
private :reject_illegal_file_attributes!
def submission_params
::NewRelic::Agent.add_custom_parameters({ current_user: current_user })
submission_params = params[:submission].permit(:cause, :exercise_id, files_attributes: file_attributes).merge(user_id: current_user.id, user_type: current_user.class.name)
reject_illegal_file_attributes!(submission_params)
submission_params
end
private :submission_params
end