Error message for version mismatch is now more informative.
This commit is contained in:
parent
204fa87064
commit
22005a38a6
2 changed files with 6 additions and 5 deletions
|
@ -7,7 +7,7 @@ module ConsistencyValidations
|
|||
# This will throw an exception if there is an inconsistency
|
||||
def check_consistency(old, new, user)
|
||||
if new.version != old.version
|
||||
raise OSM::APIVersionMismatchError.new(new.version, old.version)
|
||||
raise OSM::APIVersionMismatchError.new(new.id, new.class.to_s, new.version, old.version)
|
||||
elsif new.changeset.nil?
|
||||
raise OSM::APIChangesetMissingError.new
|
||||
elsif new.changeset.user_id != user.id
|
||||
|
|
|
@ -95,15 +95,16 @@ module OSM
|
|||
|
||||
# Raised when the provided version is not equal to the latest in the db.
|
||||
class APIVersionMismatchError < APIError
|
||||
def initialize(provided, latest)
|
||||
@provided, @latest = provided, latest
|
||||
def initialize(id, type, provided, latest)
|
||||
@id, @type, @provided, @latest = id, type, provided, latest
|
||||
end
|
||||
|
||||
attr_reader :provided, :latest
|
||||
attr_reader :provided, :latest, :id, :type
|
||||
|
||||
def render_opts
|
||||
{ :text => "Version mismatch: Provided " + provided.to_s +
|
||||
", server had: " + latest.to_s, :status => :conflict }
|
||||
", server had: " + latest.to_s + " of " + type + " " + id.to_s,
|
||||
:status => :conflict }
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue