Move browse#new_note to notes#new
This allows a more resourceful routing approach.
This commit is contained in:
parent
f7367baa6b
commit
b5046fdcd0
6 changed files with 22 additions and 14 deletions
|
@ -5,7 +5,8 @@ class Ability
|
|||
|
||||
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
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
class NotesController < ApplicationController
|
||||
layout "site"
|
||||
layout :map_layout
|
||||
|
||||
before_action :check_api_readable
|
||||
before_action :authorize_web
|
||||
before_action :require_oauth
|
||||
|
||||
authorize_resource
|
||||
|
||||
|
@ -21,12 +22,16 @@ class NotesController < ApplicationController
|
|||
@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
|
||||
|
|
|
@ -114,7 +114,8 @@ OpenStreetMap::Application.routes.draw do
|
|||
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
|
||||
|
|
|
@ -36,10 +36,6 @@ class BrowseControllerTest < ActionDispatch::IntegrationTest
|
|||
{ :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" }
|
||||
|
@ -256,12 +252,6 @@ class BrowseControllerTest < ActionDispatch::IntegrationTest
|
|||
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
|
||||
|
|
|
@ -15,6 +15,11 @@ class NotesControllerTest < ActionDispatch::IntegrationTest
|
|||
{ :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
|
||||
|
@ -80,4 +85,10 @@ class NotesControllerTest < ActionDispatch::IntegrationTest
|
|||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue