This allows a more resourceful routing approach.
def initialize(user)
can [:relation, :relation_history, :way, :way_history, :node, :node_history,
- :changeset, :note, :new_note, :query], :browse
+ :changeset, :note, :query], :browse
+ can [:new], Note
can :search, :direction
can [:index, :permalink, :edit, :help, :fixthemap, :offline, :export, :about, :communities, :preview, :copyright, :key, :id], :site
can [:finish, :embed], :export
class NotesController < ApplicationController
- layout "site"
+ layout :map_layout
before_action :check_api_readable
before_action :authorize_web
+ before_action :require_oauth
authorize_resource
@notes = @user.notes
@notes = @notes.visible unless current_user&.moderator?
@notes = @notes.order("updated_at DESC, id").distinct.offset((@page - 1) * @page_size).limit(@page_size).preload(:comments => :author)
+
+ render :layout => "site"
else
@title = t "users.no_such_user.title"
@not_found_user = params[:display_name]
- render :template => "users/no_such_user", :status => :not_found
+ render :template => "users/no_such_user", :status => :not_found, :layout => "site"
end
end
end
+
+ def new; end
end
get "/changeset/:id" => "browse#changeset", :as => :changeset, :id => /\d+/
get "/changeset/:id/comments/feed" => "changeset_comments#index", :as => :changeset_comments_feed, :id => /\d*/, :defaults => { :format => "rss" }
get "/note/:id" => "browse#note", :id => /\d+/, :as => "browse_note"
- get "/note/new" => "browse#new_note"
+ resources :notes, :path => "note", :only => [:new]
+
get "/user/:display_name/history" => "changesets#index"
get "/user/:display_name/history/feed" => "changesets#feed", :defaults => { :format => :atom }
get "/user/:display_name/notes" => "notes#index", :as => :user_notes
{ :path => "/note/1", :method => :get },
{ :controller => "browse", :action => "note", :id => "1" }
)
- assert_routing(
- { :path => "/note/new", :method => :get },
- { :controller => "browse", :action => "new_note" }
- )
assert_routing(
{ :path => "/query", :method => :get },
{ :controller => "browse", :action => "query" }
assert_select ".browse-section.browse-relation", 2
end
- def test_new_note
- get note_new_path
- assert_response :success
- assert_template "browse/new_note"
- end
-
def test_query
get query_path
assert_response :success
{ :path => "/user/username/notes", :method => :get },
{ :controller => "notes", :action => "index", :display_name => "username" }
)
+
+ assert_routing(
+ { :path => "/note/new", :method => :get },
+ { :controller => "notes", :action => "new" }
+ )
end
def test_index_success
assert_response :success
assert_select "h4", :html => "No notes"
end
+
+ def test_new_note
+ get new_note_path
+ assert_response :success
+ assert_template "notes/new"
+ end
end