]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/changeset_controller.rb
Convert history page to sidebar layout
[rails.git] / app / controllers / changeset_controller.rb
index b280de58907e10eb1ad76dcfee3f031b81499013..b07ca36ca28d022c1a6e7b749cc151a3fa3e5057 100644 (file)
@@ -55,7 +55,7 @@ class ChangesetController < ApplicationController
     changeset.set_closed_time_now
 
     changeset.save!
-    render :nothing => true
+    render :text => ""
   end
 
   ##
@@ -161,6 +161,10 @@ class ChangesetController < ApplicationController
       end
     end
 
+    # create changeset and user caches
+    changeset_cache = {}
+    user_display_name_cache = {}
+
     # create an osmChange document for the output
     result = OSM::API.new.get_xml_doc
     result.root.name = "osmChange"
@@ -173,16 +177,16 @@ class ChangesetController < ApplicationController
         if (elt.version == 1)
           # first version, so it must be newly-created.
           created = XML::Node.new "create"
-          created << elt.to_xml_node
+          created << elt.to_xml_node(changeset_cache, user_display_name_cache)
         else
           unless elt.visible
             # if the element isn't visible then it must have been deleted
             deleted = XML::Node.new "delete"
-            deleted << elt.to_xml_node
+            deleted << elt.to_xml_node(changeset_cache, user_display_name_cache)
           else
             # must be a modify
             modified = XML::Node.new "modify"
-            modified << elt.to_xml_node
+            modified << elt.to_xml_node(changeset_cache, user_display_name_cache)
           end
         end
     end
@@ -200,7 +204,7 @@ class ChangesetController < ApplicationController
 
     # create the conditions that the user asked for. some or all of
     # these may be nil.
-    changesets = Changeset.scoped
+    changesets = Changeset.all
     changesets = conditions_bbox(changesets, bbox)
     changesets = conditions_user(changesets, params['user'], params['display_name'])
     changesets = conditions_time(changesets, params['time'])
@@ -239,7 +243,7 @@ class ChangesetController < ApplicationController
       render :text => changeset.to_xml, :mime_type => "text/xml"
     else
 
-      render :nothing => true, :status => :bad_request
+      render :text => "", :status => :bad_request
     end
   end
 
@@ -249,7 +253,7 @@ class ChangesetController < ApplicationController
     if request.format == :atom and params[:page]
       redirect_to params.merge({ :page => nil }), :status => :moved_permanently
     else
-      changesets = conditions_nonempty(Changeset.scoped)
+      changesets = conditions_nonempty(Changeset.all)
 
       if params[:display_name]
         user = User.find_by_display_name(params[:display_name])
@@ -292,7 +296,6 @@ class ChangesetController < ApplicationController
 
       if bbox
         changesets = conditions_bbox(changesets, bbox)
-        bbox_link = render_to_string :partial => "bbox", :object => bbox
       end
 
       if user
@@ -301,28 +304,16 @@ class ChangesetController < ApplicationController
 
       if params[:friends] and @user
         @title =  t 'changeset.list.title_friend'
-        @heading =  t 'changeset.list.heading_friend'
-        @description = t 'changeset.list.description_friend'
+        @heading =  t 'changeset.list.title_friend'
       elsif params[:nearby] and @user
         @title = t 'changeset.list.title_nearby'
-        @heading = t 'changeset.list.heading_nearby'
-        @description = t 'changeset.list.description_nearby'
-      elsif user and bbox
-        @title =  t 'changeset.list.title_user_bbox', :user => user.display_name, :bbox => bbox.to_s
-        @heading =  t 'changeset.list.heading_user_bbox', :user => user.display_name, :bbox => bbox.to_s
-        @description = t 'changeset.list.description_user_bbox', :user => user_link, :bbox => bbox_link
+        @heading = t 'changeset.list.title_nearby'
       elsif user
         @title =  t 'changeset.list.title_user', :user => user.display_name
-        @heading =  t 'changeset.list.heading_user', :user => user.display_name
-        @description = t 'changeset.list.description_user', :user => user_link
-      elsif bbox
-        @title =  t 'changeset.list.title_bbox', :bbox => bbox.to_s
-        @heading =  t 'changeset.list.heading_bbox', :bbox => bbox.to_s
-        @description = t 'changeset.list.description_bbox', :bbox => bbox_link
+        @heading =  t('changeset.list.title_user', :user => user_link).html_safe
       else
         @title =  t 'changeset.list.title'
-        @heading =  t 'changeset.list.heading'
-        @description = t 'changeset.list.description'
+        @heading =  t 'changeset.list.title'
       end
 
       @page = (params[:page] || 1).to_i