fix exercise_file duplication bug

This commit is contained in:
Karol
2019-10-07 18:50:07 +02:00
parent 49d438cef8
commit 6a296cbe65
5 changed files with 19 additions and 11 deletions

View File

@@ -7,6 +7,7 @@ module CodeOcean
def validate(record)
existing_files = File.where(name: record.name, path: record.path, file_type_id: record.file_type_id,
context_id: record.context_id, context_type: record.context_type).to_a
unless existing_files.empty?
if (not record.context.is_a?(Exercise)) || (record.context.new_record?)
record.errors[:base] << 'Duplicate'

View File

@@ -35,13 +35,13 @@ class Exercise < ApplicationRecord
validates :public, boolean_presence: true
validates :title, presence: true
validates :token, presence: true, uniqueness: true
validates_uniqueness_of :uuid
@working_time_statistics = nil
attr_reader :working_time_statistics
MAX_EXERCISE_FEEDBACKS = 20
def average_percentage
if average_score and maximum_score != 0.0 and submissions.exists?(cause: 'submit')
(average_score / maximum_score * 100).round(2)