38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'app/models/extract_request.rb', line 38
def validate(record)
record.errors[:base] << 'Undefined User' if record.user.blank?
record.errors[:base] << 'Undefined Extract' if record.data.blank?
record.errors[:base] << 'Unknown Extract Type' if record.data["type"].blank?
record.errors[:base] << 'Wrong Extract Type' unless ["arealevel", "microdata", "raster"].include?(record.data["type"])
record.errors[:base] << 'Unknown Extract Title' if record.data["title"].blank?
record.errors[:base] << "Wrong value in 'Include boundary files'" unless !!record.data["boundary"] == record.data["boundary"]
record.errors[:base] << "Wrong value in 'Send Extract to data grid'" unless !!record.data["datagrid"] == record.data["datagrid"]
case record.data["type"]
when "microdata"
when "arealevel"
if record.data["arealevel_variables"].empty? && record.data["arealevel_datasets"].empty?
if record.data["raster_variables"].empty? && record.data["raster_datasets"].empty?
record.errors[:base] << "Both 'Area-Level Data' and 'Raster Data' are empty"
else
record.errors[:base] << "Missing 'Georgraphic Level' for 'Raster Data'" if record.data["raster_geographic_levels"].empty?
record.errors[:base] << "Missing 'Operations' for 'Raster Data'" if record.data["raster_operations"].empty?
end
else
record.errors[:base] << "Missing 'Georgraphic Level' for 'Area-Level Data'" if record.data["arealevel_geographic_levels"].empty?
record.errors[:base] << "Missing 'Operations' for 'Raster Data'" if !(record.data["raster_variables"].empty? || record.data["raster_datasets"].empty?) && record.data["raster_operations"].empty?
end
when "raster"
end
end
|