comparison config/routes.rb @ 1295:622f24f53b42 redmine-2.3

Update to Redmine SVN revision 11972 on 2.3-stable branch
author Chris Cannam
date Fri, 14 Jun 2013 09:02:21 +0100
parents 433d4f72a19b
children 4f746d8966dd
comparison
equal deleted inserted replaced
1294:3e4c3460b6ca 1295:622f24f53b42
1 # Redmine - project management software 1 # Redmine - project management software
2 # Copyright (C) 2006-2012 Jean-Philippe Lang 2 # Copyright (C) 2006-2013 Jean-Philippe Lang
3 # 3 #
4 # This program is free software; you can redistribute it and/or 4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License 5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2 6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version. 7 # of the License, or (at your option) any later version.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 RedmineApp::Application.routes.draw do 18 RedmineApp::Application.routes.draw do
19 root :to => 'welcome#index', :as => 'home' 19 root :to => 'welcome#index', :as => 'home'
20 20
21 match 'login', :to => 'account#login', :as => 'signin' 21 match 'login', :to => 'account#login', :as => 'signin', :via => [:get, :post]
22 match 'logout', :to => 'account#logout', :as => 'signout' 22 match 'logout', :to => 'account#logout', :as => 'signout', :via => [:get, :post]
23 match 'account/register', :to => 'account#register', :via => [:get, :post], :as => 'register' 23 match 'account/register', :to => 'account#register', :via => [:get, :post], :as => 'register'
24 match 'account/lost_password', :to => 'account#lost_password', :via => [:get, :post], :as => 'lost_password' 24 match 'account/lost_password', :to => 'account#lost_password', :via => [:get, :post], :as => 'lost_password'
25 match 'account/activate', :to => 'account#activate', :via => :get 25 match 'account/activate', :to => 'account#activate', :via => :get
26 26
27 match '/news/preview', :controller => 'previews', :action => 'news', :as => 'preview_news' 27 match '/news/preview', :controller => 'previews', :action => 'news', :as => 'preview_news', :via => [:get, :post, :put]
28 match '/issues/preview/new/:project_id', :to => 'previews#issue', :as => 'preview_new_issue' 28 match '/issues/preview/new/:project_id', :to => 'previews#issue', :as => 'preview_new_issue', :via => [:get, :post, :put]
29 match '/issues/preview/edit/:id', :to => 'previews#issue', :as => 'preview_edit_issue' 29 match '/issues/preview/edit/:id', :to => 'previews#issue', :as => 'preview_edit_issue', :via => [:get, :post, :put]
30 match '/issues/preview', :to => 'previews#issue', :as => 'preview_issue' 30 match '/issues/preview', :to => 'previews#issue', :as => 'preview_issue', :via => [:get, :post, :put]
31 31
32 match 'projects/:id/wiki', :to => 'wikis#edit', :via => :post 32 match 'projects/:id/wiki', :to => 'wikis#edit', :via => :post
33 match 'projects/:id/wiki/destroy', :to => 'wikis#destroy', :via => [:get, :post] 33 match 'projects/:id/wiki/destroy', :to => 'wikis#destroy', :via => [:get, :post]
34 34
35 match 'boards/:board_id/topics/new', :to => 'messages#new', :via => [:get, :post] 35 match 'boards/:board_id/topics/new', :to => 'messages#new', :via => [:get, :post], :as => 'new_board_message'
36 get 'boards/:board_id/topics/:id', :to => 'messages#show', :as => 'board_message' 36 get 'boards/:board_id/topics/:id', :to => 'messages#show', :as => 'board_message'
37 match 'boards/:board_id/topics/quote/:id', :to => 'messages#quote', :via => [:get, :post] 37 match 'boards/:board_id/topics/quote/:id', :to => 'messages#quote', :via => [:get, :post]
38 get 'boards/:board_id/topics/:id/edit', :to => 'messages#edit' 38 get 'boards/:board_id/topics/:id/edit', :to => 'messages#edit'
39 39
40 post 'boards/:board_id/topics/preview', :to => 'messages#preview' 40 post 'boards/:board_id/topics/preview', :to => 'messages#preview', :as => 'preview_board_message'
41 post 'boards/:board_id/topics/:id/replies', :to => 'messages#reply' 41 post 'boards/:board_id/topics/:id/replies', :to => 'messages#reply'
42 post 'boards/:board_id/topics/:id/edit', :to => 'messages#edit' 42 post 'boards/:board_id/topics/:id/edit', :to => 'messages#edit'
43 post 'boards/:board_id/topics/:id/destroy', :to => 'messages#destroy' 43 post 'boards/:board_id/topics/:id/destroy', :to => 'messages#destroy'
44 44
45 # Misc issue routes. TODO: move into resources 45 # Misc issue routes. TODO: move into resources
46 match '/issues/auto_complete', :to => 'auto_completes#issues', :via => :get, :as => 'auto_complete_issues' 46 match '/issues/auto_complete', :to => 'auto_completes#issues', :via => :get, :as => 'auto_complete_issues'
47 match '/issues/context_menu', :to => 'context_menus#issues', :as => 'issues_context_menu' 47 match '/issues/context_menu', :to => 'context_menus#issues', :as => 'issues_context_menu', :via => [:get, :post]
48 match '/issues/changes', :to => 'journals#index', :as => 'issue_changes' 48 match '/issues/changes', :to => 'journals#index', :as => 'issue_changes', :via => :get
49 match '/issues/:id/quoted', :to => 'journals#new', :id => /\d+/, :via => :post, :as => 'quoted_issue' 49 match '/issues/:id/quoted', :to => 'journals#new', :id => /\d+/, :via => :post, :as => 'quoted_issue'
50 50
51 match '/journals/diff/:id', :to => 'journals#diff', :id => /\d+/, :via => :get 51 match '/journals/diff/:id', :to => 'journals#diff', :id => /\d+/, :via => :get
52 match '/journals/edit/:id', :to => 'journals#edit', :id => /\d+/, :via => [:get, :post] 52 match '/journals/edit/:id', :to => 'journals#edit', :id => /\d+/, :via => [:get, :post]
53 53
54 match '/projects/:project_id/issues/gantt', :to => 'gantts#show' 54 get '/projects/:project_id/issues/gantt', :to => 'gantts#show', :as => 'project_gantt'
55 match '/issues/gantt', :to => 'gantts#show' 55 get '/issues/gantt', :to => 'gantts#show'
56 56
57 match '/projects/:project_id/issues/calendar', :to => 'calendars#show' 57 get '/projects/:project_id/issues/calendar', :to => 'calendars#show', :as => 'project_calendar'
58 match '/issues/calendar', :to => 'calendars#show' 58 get '/issues/calendar', :to => 'calendars#show'
59 59
60 match 'projects/:id/issues/report', :to => 'reports#issue_report', :via => :get 60 get 'projects/:id/issues/report', :to => 'reports#issue_report', :as => 'project_issues_report'
61 match 'projects/:id/issues/report/:detail', :to => 'reports#issue_report_details', :via => :get 61 get 'projects/:id/issues/report/:detail', :to => 'reports#issue_report_details', :as => 'project_issues_report_details'
62 62
63 match 'my/account', :controller => 'my', :action => 'account', :via => [:get, :post] 63 match 'my/account', :controller => 'my', :action => 'account', :via => [:get, :post]
64 match 'my/account/destroy', :controller => 'my', :action => 'destroy', :via => [:get, :post] 64 match 'my/account/destroy', :controller => 'my', :action => 'destroy', :via => [:get, :post]
65 match 'my/page', :controller => 'my', :action => 'page', :via => :get 65 match 'my/page', :controller => 'my', :action => 'page', :via => :get
66 match 'my', :controller => 'my', :action => 'index', :via => :get # Redirects to my/page 66 match 'my', :controller => 'my', :action => 'index', :via => :get # Redirects to my/page
75 resources :users 75 resources :users
76 match 'users/:id/memberships/:membership_id', :to => 'users#edit_membership', :via => :put, :as => 'user_membership' 76 match 'users/:id/memberships/:membership_id', :to => 'users#edit_membership', :via => :put, :as => 'user_membership'
77 match 'users/:id/memberships/:membership_id', :to => 'users#destroy_membership', :via => :delete 77 match 'users/:id/memberships/:membership_id', :to => 'users#destroy_membership', :via => :delete
78 match 'users/:id/memberships', :to => 'users#edit_membership', :via => :post, :as => 'user_memberships' 78 match 'users/:id/memberships', :to => 'users#edit_membership', :via => :post, :as => 'user_memberships'
79 79
80 match 'watchers/new', :controller=> 'watchers', :action => 'new', :via => :get 80 post 'watchers/watch', :to => 'watchers#watch', :as => 'watch'
81 match 'watchers', :controller=> 'watchers', :action => 'create', :via => :post 81 delete 'watchers/watch', :to => 'watchers#unwatch'
82 match 'watchers/append', :controller=> 'watchers', :action => 'append', :via => :post 82 get 'watchers/new', :to => 'watchers#new'
83 match 'watchers/destroy', :controller=> 'watchers', :action => 'destroy', :via => :post 83 post 'watchers', :to => 'watchers#create'
84 match 'watchers/watch', :controller=> 'watchers', :action => 'watch', :via => :post 84 post 'watchers/append', :to => 'watchers#append'
85 match 'watchers/unwatch', :controller=> 'watchers', :action => 'unwatch', :via => :post 85 delete 'watchers', :to => 'watchers#destroy'
86 match 'watchers/autocomplete_for_user', :controller=> 'watchers', :action => 'autocomplete_for_user', :via => :get 86 get 'watchers/autocomplete_for_user', :to => 'watchers#autocomplete_for_user'
87 87 # Specific routes for issue watchers API
88 match 'projects/:id/settings/:tab', :to => "projects#settings" 88 post 'issues/:object_id/watchers', :to => 'watchers#create', :object_type => 'issue'
89 delete 'issues/:object_id/watchers/:user_id' => 'watchers#destroy', :object_type => 'issue'
89 90
90 resources :projects do 91 resources :projects do
91 member do 92 member do
92 get 'settings' 93 get 'settings(/:tab)', :action => 'settings', :as => 'settings'
93 post 'modules' 94 post 'modules'
94 post 'archive' 95 post 'archive'
95 post 'unarchive' 96 post 'unarchive'
96 post 'close' 97 post 'close'
97 post 'reopen' 98 post 'reopen'
98 match 'copy', :via => [:get, :post] 99 match 'copy', :via => [:get, :post]
99 end 100 end
100 101
101 resources :memberships, :shallow => true, :controller => 'members', :only => [:index, :show, :new, :create, :update, :destroy] do 102 shallow do
102 collection do 103 resources :memberships, :controller => 'members', :only => [:index, :show, :new, :create, :update, :destroy] do
103 get 'autocomplete' 104 collection do
105 get 'autocomplete'
106 end
104 end 107 end
105 end 108 end
106 109
107 resource :enumerations, :controller => 'project_enumerations', :only => [:update, :destroy] 110 resource :enumerations, :controller => 'project_enumerations', :only => [:update, :destroy]
108 111
109 match 'issues/:copy_from/copy', :to => 'issues#new' 112 get 'issues/:copy_from/copy', :to => 'issues#new', :as => 'copy_issue'
110 resources :issues, :only => [:index, :new, :create] do 113 resources :issues, :only => [:index, :new, :create] do
111 resources :time_entries, :controller => 'timelog' do 114 resources :time_entries, :controller => 'timelog' do
112 collection do 115 collection do
113 get 'report' 116 get 'report'
114 end 117 end
115 end 118 end
116 end 119 end
117 # issue form update 120 # issue form update
118 match 'issues/new', :controller => 'issues', :action => 'new', :via => [:put, :post], :as => 'issue_form' 121 match 'issues/update_form', :controller => 'issues', :action => 'update_form', :via => [:put, :post], :as => 'issue_form'
119 122
120 resources :files, :only => [:index, :new, :create] 123 resources :files, :only => [:index, :new, :create]
121 124
122 resources :versions, :except => [:index, :show, :edit, :update, :destroy] do 125 resources :versions, :except => [:index, :show, :edit, :update, :destroy] do
123 collection do 126 collection do
124 put 'close_completed' 127 put 'close_completed'
125 end 128 end
126 end 129 end
127 match 'versions.:format', :to => 'versions#index' 130 get 'versions.:format', :to => 'versions#index'
128 match 'roadmap', :to => 'versions#index', :format => false 131 get 'roadmap', :to => 'versions#index', :format => false
129 match 'versions', :to => 'versions#index' 132 get 'versions', :to => 'versions#index'
130 133
131 resources :news, :except => [:show, :edit, :update, :destroy] 134 resources :news, :except => [:show, :edit, :update, :destroy]
132 resources :time_entries, :controller => 'timelog' do 135 resources :time_entries, :controller => 'timelog' do
133 get 'report', :on => :collection 136 get 'report', :on => :collection
134 end 137 end
135 resources :queries, :only => [:new, :create] 138 resources :queries, :only => [:new, :create]
136 resources :issue_categories, :shallow => true 139 shallow do
140 resources :issue_categories
141 end
137 resources :documents, :except => [:show, :edit, :update, :destroy] 142 resources :documents, :except => [:show, :edit, :update, :destroy]
138 resources :boards 143 resources :boards
139 resources :repositories, :shallow => true, :except => [:index, :show] do 144 shallow do
140 member do 145 resources :repositories, :except => [:index, :show] do
141 match 'committers', :via => [:get, :post] 146 member do
142 end 147 match 'committers', :via => [:get, :post]
143 end 148 end
144 149 end
150 end
151
145 match 'wiki/index', :controller => 'wiki', :action => 'index', :via => :get 152 match 'wiki/index', :controller => 'wiki', :action => 'index', :via => :get
146 resources :wiki, :except => [:index, :new, :create] do 153 resources :wiki, :except => [:index, :new, :create], :as => 'wiki_page' do
147 member do 154 member do
148 get 'rename' 155 get 'rename'
149 post 'rename' 156 post 'rename'
150 get 'history' 157 get 'history'
151 get 'diff' 158 get 'diff'
157 get 'export' 164 get 'export'
158 get 'date_index' 165 get 'date_index'
159 end 166 end
160 end 167 end
161 match 'wiki', :controller => 'wiki', :action => 'show', :via => :get 168 match 'wiki', :controller => 'wiki', :action => 'show', :via => :get
162 get 'wiki/:id/:version', :to => 'wiki#show' 169 get 'wiki/:id/:version', :to => 'wiki#show', :constraints => {:version => /\d+/}
163 delete 'wiki/:id/:version', :to => 'wiki#destroy_version' 170 delete 'wiki/:id/:version', :to => 'wiki#destroy_version'
164 get 'wiki/:id/:version/annotate', :to => 'wiki#annotate' 171 get 'wiki/:id/:version/annotate', :to => 'wiki#annotate'
165 get 'wiki/:id/:version/diff', :to => 'wiki#diff' 172 get 'wiki/:id/:version/diff', :to => 'wiki#diff'
166 end 173 end
167 174
173 resources :time_entries, :controller => 'timelog' do 180 resources :time_entries, :controller => 'timelog' do
174 collection do 181 collection do
175 get 'report' 182 get 'report'
176 end 183 end
177 end 184 end
178 resources :relations, :shallow => true, :controller => 'issue_relations', :only => [:index, :show, :create, :destroy] 185 shallow do
186 resources :relations, :controller => 'issue_relations', :only => [:index, :show, :create, :destroy]
187 end
179 end 188 end
180 match '/issues', :controller => 'issues', :action => 'destroy', :via => :delete 189 match '/issues', :controller => 'issues', :action => 'destroy', :via => :delete
181 190
182 resources :queries, :except => [:show] 191 resources :queries, :except => [:show]
183 192
191 200
192 resources :documents, :only => [:show, :edit, :update, :destroy] do 201 resources :documents, :only => [:show, :edit, :update, :destroy] do
193 post 'add_attachment', :on => :member 202 post 'add_attachment', :on => :member
194 end 203 end
195 204
196 match '/time_entries/context_menu', :to => 'context_menus#time_entries', :as => :time_entries_context_menu 205 match '/time_entries/context_menu', :to => 'context_menus#time_entries', :as => :time_entries_context_menu, :via => [:get, :post]
197 206
198 resources :time_entries, :controller => 'timelog', :except => :destroy do 207 resources :time_entries, :controller => 'timelog', :except => :destroy do
199 collection do 208 collection do
200 get 'report' 209 get 'report'
201 get 'bulk_edit' 210 get 'bulk_edit'
203 end 212 end
204 end 213 end
205 match '/time_entries/:id', :to => 'timelog#destroy', :via => :delete, :id => /\d+/ 214 match '/time_entries/:id', :to => 'timelog#destroy', :via => :delete, :id => /\d+/
206 # TODO: delete /time_entries for bulk deletion 215 # TODO: delete /time_entries for bulk deletion
207 match '/time_entries/destroy', :to => 'timelog#destroy', :via => :delete 216 match '/time_entries/destroy', :to => 'timelog#destroy', :via => :delete
208
209 # TODO: port to be part of the resources route(s)
210 match 'projects/:id/settings/:tab', :to => 'projects#settings', :via => :get
211 217
212 get 'projects/:id/activity', :to => 'activities#index' 218 get 'projects/:id/activity', :to => 'activities#index'
213 get 'projects/:id/activity.:format', :to => 'activities#index' 219 get 'projects/:id/activity.:format', :to => 'activities#index'
214 get 'activity', :to => 'activities#index' 220 get 'activity', :to => 'activities#index'
215 221
260 266
261 get 'projects/:id/repository/:repository_id', :to => 'repositories#show', :path => nil 267 get 'projects/:id/repository/:repository_id', :to => 'repositories#show', :path => nil
262 get 'projects/:id/repository', :to => 'repositories#show', :path => nil 268 get 'projects/:id/repository', :to => 'repositories#show', :path => nil
263 269
264 # additional routes for having the file name at the end of url 270 # additional routes for having the file name at the end of url
265 match 'attachments/:id/:filename', :controller => 'attachments', :action => 'show', :id => /\d+/, :filename => /.*/, :via => :get 271 get 'attachments/:id/:filename', :to => 'attachments#show', :id => /\d+/, :filename => /.*/, :as => 'named_attachment'
266 match 'attachments/download/:id/:filename', :controller => 'attachments', :action => 'download', :id => /\d+/, :filename => /.*/, :via => :get 272 get 'attachments/download/:id/:filename', :to => 'attachments#download', :id => /\d+/, :filename => /.*/, :as => 'download_named_attachment'
267 match 'attachments/download/:id', :controller => 'attachments', :action => 'download', :id => /\d+/, :via => :get 273 get 'attachments/download/:id', :to => 'attachments#download', :id => /\d+/
268 match 'attachments/thumbnail/:id(/:size)', :controller => 'attachments', :action => 'thumbnail', :id => /\d+/, :via => :get, :size => /\d+/ 274 get 'attachments/thumbnail/:id(/:size)', :to => 'attachments#thumbnail', :id => /\d+/, :size => /\d+/, :as => 'thumbnail'
269 resources :attachments, :only => [:show, :destroy] 275 resources :attachments, :only => [:show, :destroy]
270 276
271 resources :groups do 277 resources :groups do
272 member do 278 member do
273 get 'autocomplete_for_user' 279 get 'autocomplete_for_user'
310 match 'admin/test_email', :controller => 'admin', :action => 'test_email', :via => :get 316 match 'admin/test_email', :controller => 'admin', :action => 'test_email', :via => :get
311 match 'admin/default_configuration', :controller => 'admin', :action => 'default_configuration', :via => :post 317 match 'admin/default_configuration', :controller => 'admin', :action => 'default_configuration', :via => :post
312 318
313 resources :auth_sources do 319 resources :auth_sources do
314 member do 320 member do
315 get 'test_connection' 321 get 'test_connection', :as => 'try_connection'
322 end
323 collection do
324 get 'autocomplete_for_new_user'
316 end 325 end
317 end 326 end
318 327
319 match 'workflows', :controller => 'workflows', :action => 'index', :via => :get 328 match 'workflows', :controller => 'workflows', :action => 'index', :via => :get
320 match 'workflows/edit', :controller => 'workflows', :action => 'edit', :via => [:get, :post] 329 match 'workflows/edit', :controller => 'workflows', :action => 'edit', :via => [:get, :post]
321 match 'workflows/permissions', :controller => 'workflows', :action => 'permissions', :via => [:get, :post] 330 match 'workflows/permissions', :controller => 'workflows', :action => 'permissions', :via => [:get, :post]
322 match 'workflows/copy', :controller => 'workflows', :action => 'copy', :via => [:get, :post] 331 match 'workflows/copy', :controller => 'workflows', :action => 'copy', :via => [:get, :post]
323 match 'settings', :controller => 'settings', :action => 'index', :via => :get 332 match 'settings', :controller => 'settings', :action => 'index', :via => :get
324 match 'settings/edit', :controller => 'settings', :action => 'edit', :via => [:get, :post] 333 match 'settings/edit', :controller => 'settings', :action => 'edit', :via => [:get, :post]
325 match 'settings/plugin/:id', :controller => 'settings', :action => 'plugin', :via => [:get, :post] 334 match 'settings/plugin/:id', :controller => 'settings', :action => 'plugin', :via => [:get, :post], :as => 'plugin_settings'
326 335
327 match 'sys/projects', :to => 'sys#projects', :via => :get 336 match 'sys/projects', :to => 'sys#projects', :via => :get
328 match 'sys/projects/:id/repository', :to => 'sys#create_project_repository', :via => :post 337 match 'sys/projects/:id/repository', :to => 'sys#create_project_repository', :via => :post
329 match 'sys/fetch_changesets', :to => 'sys#fetch_changesets', :via => :get 338 match 'sys/fetch_changesets', :to => 'sys#fetch_changesets', :via => :get
330 339