Browse Source

Full error messages

pull/57/head
baarkerlounger 4 years ago
parent
commit
35cac321e2
  1. 6
      app/controllers/case_logs_controller.rb
  2. 10
      app/models/case_log.rb
  3. 13
      docs/api/DLUHC-CORE-Data.v1.json

6
app/controllers/case_logs_controller.rb

@ -15,7 +15,7 @@ class CaseLogsController < ApplicationController
if case_log.persisted? if case_log.persisted?
render json: case_log, status: :created render json: case_log, status: :created
else else
render json: { errors: case_log.errors.full_messages }, status: :unprocessable_entity render json: { errors: case_log.errors.messages }, status: :unprocessable_entity
end end
end end
end end
@ -26,7 +26,7 @@ class CaseLogsController < ApplicationController
if case_log.update(api_case_log_params) if case_log.update(api_case_log_params)
render json: case_log, status: :ok render json: case_log, status: :ok
else else
render json: { errors: case_log.errors.full_messages }, status: :unprocessable_entity render json: { errors: case_log.errors.messages }, status: :unprocessable_entity
end end
else else
render json: { error: "Case Log #{params[:id]} not found" }, status: :not_found render json: { error: "Case Log #{params[:id]} not found" }, status: :not_found
@ -74,7 +74,7 @@ class CaseLogsController < ApplicationController
if case_log.discard if case_log.discard
head :no_content head :no_content
else else
render json: { errors: case_log.errors.full_messages }, status: :unprocessable_entity render json: { errors: case_log.errors.messages }, status: :unprocessable_entity
end end
else else
render json: { error: "Case Log #{params[:id]} not found" }, status: :not_found render json: { error: "Case Log #{params[:id]} not found" }, status: :not_found

10
app/models/case_log.rb

@ -5,26 +5,26 @@ class CaseLogValidator < ActiveModel::Validator
def validate_tenant_age(record) def validate_tenant_age(record)
if record.tenant_age && !/^[1-9][0-9]?$|^120$/.match?(record.tenant_age.to_s) if record.tenant_age && !/^[1-9][0-9]?$|^120$/.match?(record.tenant_age.to_s)
record.errors.add :tenant_age, "must be between 0 and 120" record.errors.add :tenant_age, "Tenant age must be between 0 and 120"
end end
end end
def validate_property_number_of_times_relet(record) def validate_property_number_of_times_relet(record)
if record.property_number_of_times_relet && !/^[1-9]$|^0[1-9]$|^1[0-9]$|^20$/.match?(record.property_number_of_times_relet.to_s) if record.property_number_of_times_relet && !/^[1-9]$|^0[1-9]$|^1[0-9]$|^20$/.match?(record.property_number_of_times_relet.to_s)
record.errors.add :property_number_of_times_relet, "must be between 0 and 20" record.errors.add :property_number_of_times_relet, "Must be between 0 and 20"
end end
end end
def validate_reasonable_preference(record) def validate_reasonable_preference(record)
if record.homelessness == "No" && record.reasonable_preference == "Yes" if record.homelessness == "No" && record.reasonable_preference == "Yes"
record.errors.add :reasonable_preference, "can not be Yes if Not Homeless immediately prior to this letting has been selected" record.errors.add :reasonable_preference, "Can not be Yes if Not Homeless immediately prior to this letting has been selected"
elsif record.reasonable_preference == "Yes" elsif record.reasonable_preference == "Yes"
if !record.reasonable_preference_reason_homeless && !record.reasonable_preference_reason_unsatisfactory_housing && !record.reasonable_preference_reason_medical_grounds && !record.reasonable_preference_reason_avoid_hardship && !record.reasonable_preference_reason_do_not_know if !record.reasonable_preference_reason_homeless && !record.reasonable_preference_reason_unsatisfactory_housing && !record.reasonable_preference_reason_medical_grounds && !record.reasonable_preference_reason_avoid_hardship && !record.reasonable_preference_reason_do_not_know
record.errors.add :reasonable_preference_reason, "- if reasonable preference is Yes, a reason must be given" record.errors.add :reasonable_preference_reason, "If reasonable preference is Yes, a reason must be given"
end end
elsif record.reasonable_preference == "No" elsif record.reasonable_preference == "No"
if record.reasonable_preference_reason_homeless || record.reasonable_preference_reason_unsatisfactory_housing || record.reasonable_preference_reason_medical_grounds || record.reasonable_preference_reason_avoid_hardship || record.reasonable_preference_reason_do_not_know if record.reasonable_preference_reason_homeless || record.reasonable_preference_reason_unsatisfactory_housing || record.reasonable_preference_reason_medical_grounds || record.reasonable_preference_reason_avoid_hardship || record.reasonable_preference_reason_do_not_know
record.errors.add :reasonable_preference_reason, "- if reasonable preference is No, no reasons should be given" record.errors.add :reasonable_preference_reason, "If reasonable preference is No, no reasons should be given"
end end
end end
end end

13
docs/api/DLUHC-CORE-Data.v1.json

@ -108,7 +108,8 @@
"examples": { "examples": {
"Invalid Age": { "Invalid Age": {
"value": { "value": {
"errors": [ "errors": {
"tenant_age": [
"Tenant age must be between 0 and 120" "Tenant age must be between 0 and 120"
] ]
} }
@ -117,6 +118,7 @@
} }
} }
} }
}
}, },
"description": "Update the information of an existing case log", "description": "Update the information of an existing case log",
"requestBody": { "requestBody": {
@ -211,9 +213,13 @@
"properties": {} "properties": {}
}, },
"examples": { "examples": {
"Invalid Age": { "Invalid Age & Reasonable Preference": {
"value": { "value": {
"errors": [ "errors": {
"reasonable_preference_reason": [
"If reasonable preference is Yes, a reason must be given"
],
"tenant_age": [
"Tenant age must be between 0 and 120" "Tenant age must be between 0 and 120"
] ]
} }
@ -222,6 +228,7 @@
} }
} }
} }
}
}, },
"requestBody": { "requestBody": {
"content": { "content": {

Loading…
Cancel
Save