X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/5044c03a66e63b3e1fe4e0fdeec4a3f77fed0310..acefccc4d506ed4bd3f51d3d88bc3a826b28be76:/services/api/lib/whitelist_update.rb diff --git a/services/api/lib/whitelist_update.rb b/services/api/lib/whitelist_update.rb index 7413edf4bc..8fccd0f45c 100644 --- a/services/api/lib/whitelist_update.rb +++ b/services/api/lib/whitelist_update.rb @@ -2,7 +2,16 @@ module WhitelistUpdate def check_update_whitelist permitted_fields attribute_names.each do |field| if not permitted_fields.include? field.to_sym and self.send((field.to_s + "_changed?").to_sym) - errors.add field, "Illegal update of field #{field}" + errors.add field, "cannot be modified in this state" + end + end + end + + def validate_state_change + if self.state_changed? + unless state_transitions[self.state_was].andand.include? self.state + errors.add :state, "cannot change from #{self.state_was} to #{self.state}" + return false end end end