Moved changeset consistency checks to library code.

This commit is contained in:
Matt Amos 2008-11-26 12:56:42 +00:00
parent a4e5e8437f
commit 1ffb5c1502
2 changed files with 24 additions and 18 deletions

View file

@ -27,4 +27,19 @@ module ConsistencyValidations
raise OSM::APIChangesetAlreadyClosedError.new(new.changeset)
end
end
##
# subset of consistency checks which should be applied to almost
# all the changeset controller's writable methods.
def check_changeset_consistency(changeset, user)
# check user credentials - only the user who opened a changeset
# may alter it.
if changeset.nil?
raise OSM::APIChangesetMissingError.new
elsif user.id != changeset.user_id
raise OSM::APIUserChangesetMismatchError.new
elsif not changeset.is_open?
raise OSM::APIChangesetAlreadyClosedError.new(changeset)
end
end
end