forbid users to import an exercise they do not have access to (previously a new one was created)

This commit is contained in:
Karol
2019-12-18 17:52:34 +01:00
parent 12c76b2fe4
commit f49cd0bed4
5 changed files with 24 additions and 4 deletions

View File

@ -28,9 +28,13 @@ module ProformaService
def base_exercise
exercise = Exercise.find_by(uuid: @task.uuid)
return exercise if exercise && ExercisePolicy.new(@user, exercise).update?
if exercise
raise Proforma::ExerciseNotOwned unless ExercisePolicy.new(@user, exercise).update?
Exercise.new(uuid: @task.uuid, unpublished: true)
exercise
else
Exercise.new(uuid: @task.uuid, unpublished: true)
end
end
def import_multi