Move changeset XML generation to a view
This commit is contained in:
parent
94b59f4403
commit
538bfed8a6
7 changed files with 102 additions and 91 deletions
|
@ -41,7 +41,8 @@ module Api
|
|||
changeset.subscribers << current_user unless changeset.subscribers.exists?(current_user.id)
|
||||
|
||||
# Return a copy of the updated changeset
|
||||
render :xml => changeset.to_xml.to_s
|
||||
@changeset = changeset
|
||||
render "changesets/changeset"
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -60,7 +61,8 @@ module Api
|
|||
comment.update(:visible => false)
|
||||
|
||||
# Return a copy of the updated changeset
|
||||
render :xml => comment.changeset.to_xml.to_s
|
||||
@changeset = comment.changeset
|
||||
render "changesets/changeset"
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -79,7 +81,8 @@ module Api
|
|||
comment.update(:visible => true)
|
||||
|
||||
# Return a copy of the updated changeset
|
||||
render :xml => comment.changeset.to_xml.to_s
|
||||
@changeset = comment.changeset
|
||||
render "changesets/changeset"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -41,9 +41,9 @@ module Api
|
|||
# Return XML giving the basic info about the changeset. Does not
|
||||
# return anything about the nodes, ways and relations in the changeset.
|
||||
def show
|
||||
changeset = Changeset.find(params[:id])
|
||||
|
||||
render :xml => changeset.to_xml(params[:include_discussion].presence).to_s
|
||||
@changeset = Changeset.find(params[:id])
|
||||
@include_discussion = params[:include_discussion].presence
|
||||
render "changesets/changeset"
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -104,7 +104,8 @@ module Api
|
|||
# save the larger bounding box and return the changeset, which
|
||||
# will include the bigger bounding box.
|
||||
cs.save!
|
||||
render :xml => cs.to_xml.to_s
|
||||
@changeset = cs
|
||||
render "changesets/changeset"
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -219,18 +220,9 @@ module Api
|
|||
# sort and limit the changesets
|
||||
changesets = changesets.order("created_at DESC").limit(100)
|
||||
|
||||
# preload users, tags and comments
|
||||
changesets = changesets.preload(:user, :changeset_tags, :comments)
|
||||
|
||||
# create the results document
|
||||
results = OSM::API.new.get_xml_doc
|
||||
|
||||
# add all matching changesets to the XML results document
|
||||
changesets.order("created_at DESC").limit(100).each do |cs|
|
||||
results.root << cs.to_xml_node
|
||||
end
|
||||
|
||||
render :xml => results.to_s
|
||||
# preload users, tags and comments, and render result
|
||||
@changesets = changesets.preload(:user, :changeset_tags, :comments)
|
||||
render "changesets/changesets"
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -245,12 +237,12 @@ module Api
|
|||
# request *must* be a PUT.
|
||||
assert_method :put
|
||||
|
||||
changeset = Changeset.find(params[:id])
|
||||
@changeset = Changeset.find(params[:id])
|
||||
new_changeset = Changeset.from_xml(request.raw_post)
|
||||
|
||||
check_changeset_consistency(changeset, current_user)
|
||||
changeset.update_from(new_changeset, current_user)
|
||||
render :xml => changeset.to_xml.to_s
|
||||
check_changeset_consistency(@changeset, current_user)
|
||||
@changeset.update_from(new_changeset, current_user)
|
||||
render "changesets/changeset"
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -270,7 +262,8 @@ module Api
|
|||
changeset.subscribers << current_user
|
||||
|
||||
# Return a copy of the updated changeset
|
||||
render :xml => changeset.to_xml.to_s
|
||||
@changeset = changeset
|
||||
render "changesets/changeset"
|
||||
end
|
||||
|
||||
##
|
||||
|
@ -290,7 +283,8 @@ module Api
|
|||
changeset.subscribers.delete(current_user)
|
||||
|
||||
# Return a copy of the updated changeset
|
||||
render :xml => changeset.to_xml.to_s
|
||||
@changeset = changeset
|
||||
render "changesets/changeset"
|
||||
end
|
||||
|
||||
private
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue