X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/782e619de229a06c4ffe55cc840e7f63c5693836..8809e1fd08377ebb010db09a5fd7de7e759d2583:/config/routes.rb diff --git a/config/routes.rb b/config/routes.rb index d7b1acd3a..9e82a037d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -66,14 +66,14 @@ OpenStreetMap::Application.routes.draw do get "map" => "map#index" get "trackpoints" => "tracepoints#index" - - get "user/:id" => "users#show", :id => /\d+/, :as => :api_user - get "user/details" => "users#details" - get "user/gpx_files" => "users#gpx_files" - get "users" => "users#index", :as => :api_users end namespace :api, :path => "api/0.6" do + resources :users, :only => :index + resources :users, :path => "user", :id => /\d+/, :only => :show + resources :user_traces, :path => "user/gpx_files", :module => :users, :controller => :traces, :only => :index + get "user/details" => "users#details" + resources :user_preferences, :except => [:new, :create, :edit], :param => :preference_key, :path => "user/preferences" do collection do put "" => "user_preferences#update_all", :as => "" @@ -182,10 +182,6 @@ OpenStreetMap::Application.routes.draw do get "/key" => "site#key" get "/id" => "site#id" get "/query" => "browse#query" - get "/user/new" => "users#new" - post "/user/new" => "users#create" - get "/user/terms" => "users#terms" - post "/user/save" => "users#save" post "/user/:display_name/confirm/resend" => "confirmations#confirm_resend", :as => :user_confirm_resend match "/user/:display_name/confirm" => "confirmations#confirm", :via => [:get, :post] match "/user/confirm" => "confirmations#confirm", :via => [:get, :post] @@ -269,24 +265,36 @@ OpenStreetMap::Application.routes.draw do post "/diary_comments/:comment/unhide" => "diary_comments#unhide", :comment => /\d+/, :as => :unhide_diary_comment # user pages - resources :users, :path => "user", :param => :display_name, :only => [:show, :destroy] do + get "/user/terms", :to => redirect(:path => "/account/terms") + resources :users, :path => "user", :param => :display_name, :only => [:new, :create, :show] do resource :role, :controller => "user_roles", :path => "roles/:role", :only => [:create, :destroy] + scope :module => :users do + resource :issued_blocks, :path => "blocks_by", :only => :show + resource :received_blocks, :path => "blocks", :only => [:show, :edit, :destroy] + resource :status, :only => :update + end end get "/user/:display_name/account", :to => redirect(:path => "/account/edit") - post "/user/:display_name/set_status" => "users#set_status", :as => :set_status_user - - resource :account, :only => [:edit, :update, :destroy] - namespace :account do - resource :deletion, :only => [:show] + resource :account, :only => [:edit, :update, :destroy] do + scope :module => :accounts do + resource :terms, :only => [:show, :update] + resource :deletion, :only => :show + end end + resource :dashboard, :only => [:show] - resource :preferences, :only => [:show, :edit, :update] + resource :preferences, :only => [:show, :update] + get "/preferences/edit", :to => redirect(:path => "/preferences") resource :profile, :only => [:edit, :update] # friendships - match "/user/:display_name/make_friend" => "friendships#make_friend", :via => [:get, :post], :as => "make_friend" - match "/user/:display_name/remove_friend" => "friendships#remove_friend", :via => [:get, :post], :as => "remove_friend" + scope "/user/:display_name" do + resource :follow, :only => [:create, :destroy, :show], :path => "follow" + + get "make_friend", :to => redirect("/user/%{display_name}/follow") + get "remove_friend", :to => redirect("/user/%{display_name}/follow") + end # user lists namespace :users do @@ -307,11 +315,11 @@ OpenStreetMap::Application.routes.draw do get "/export/embed" => "export#embed" # messages - resources :messages, :id => /\d+/, :only => [:create, :show, :destroy] do + resources :messages, :path_names => { :new => "new/:display_name" }, :id => /\d+/, :only => [:new, :create, :show, :destroy] do post :mark patch :unmute - match :reply, :via => [:get, :post] + resource :reply, :module => :messages, :path_names => { :new => "new" }, :only => :new end namespace :messages, :path => "/messages" do resource :inbox, :only => :show @@ -320,8 +328,9 @@ OpenStreetMap::Application.routes.draw do end get "/user/:display_name/inbox", :to => redirect(:path => "/messages/inbox") get "/user/:display_name/outbox", :to => redirect(:path => "/messages/outbox") - get "/message/new/:display_name" => "messages#new", :as => "new_message" + get "/message/new/:display_name", :to => redirect(:path => "/messages/new/%{display_name}") get "/message/read/:message_id", :to => redirect(:path => "/messages/%{message_id}") + get "/messages/:message_id/reply", :to => redirect(:path => "/messages/%{message_id}/reply/new") # muting users scope "/user/:display_name" do @@ -330,11 +339,7 @@ OpenStreetMap::Application.routes.draw do resources :user_mutes, :only => [:index] # banning pages - get "/user/:display_name/blocks" => "user_blocks#blocks_on", :as => "user_blocks_on" - get "/user/:display_name/blocks_by" => "user_blocks#blocks_by", :as => "user_blocks_by" - get "/blocks/new/:display_name" => "user_blocks#new", :as => "new_user_block" - resources :user_blocks, :except => :new - match "/user/:display_name/blocks/revoke_all" => "user_blocks#revoke_all", :via => [:get, :post], :as => "revoke_all_user_blocks" + resources :user_blocks, :path_names => { :new => "new/:display_name" } # issues and reports resources :issues do