annotate config/.svn/text-base/routes.rb.svn-base @ 14:1d32c0a0efbf

* Update to SVN trunk (revisions 3892-4040)
author Chris Cannam
date Wed, 25 Aug 2010 16:30:24 +0100
parents 513646585e45
children 40f7cfd4df19
rev   line source
Chris@0 1 ActionController::Routing::Routes.draw do |map|
Chris@0 2 # Add your own custom routes here.
Chris@0 3 # The priority is based upon order of creation: first created -> highest priority.
Chris@0 4
Chris@0 5 # Here's a sample route:
Chris@0 6 # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
Chris@0 7 # Keep in mind you can assign values other than :controller and :action
Chris@0 8
Chris@0 9 map.home '', :controller => 'welcome'
Chris@0 10
Chris@0 11 map.signin 'login', :controller => 'account', :action => 'login'
Chris@0 12 map.signout 'logout', :controller => 'account', :action => 'logout'
Chris@0 13
Chris@0 14 map.connect 'roles/workflow/:id/:role_id/:tracker_id', :controller => 'roles', :action => 'workflow'
Chris@0 15 map.connect 'help/:ctrl/:page', :controller => 'help'
Chris@0 16
Chris@0 17 map.connect 'time_entries/:id/edit', :action => 'edit', :controller => 'timelog'
Chris@0 18 map.connect 'projects/:project_id/time_entries/new', :action => 'edit', :controller => 'timelog'
Chris@0 19 map.connect 'projects/:project_id/issues/:issue_id/time_entries/new', :action => 'edit', :controller => 'timelog'
Chris@0 20
Chris@0 21 map.with_options :controller => 'timelog' do |timelog|
Chris@0 22 timelog.connect 'projects/:project_id/time_entries', :action => 'details'
Chris@0 23
Chris@0 24 timelog.with_options :action => 'details', :conditions => {:method => :get} do |time_details|
Chris@0 25 time_details.connect 'time_entries'
Chris@0 26 time_details.connect 'time_entries.:format'
Chris@0 27 time_details.connect 'issues/:issue_id/time_entries'
Chris@0 28 time_details.connect 'issues/:issue_id/time_entries.:format'
Chris@0 29 time_details.connect 'projects/:project_id/time_entries.:format'
Chris@0 30 time_details.connect 'projects/:project_id/issues/:issue_id/time_entries'
Chris@0 31 time_details.connect 'projects/:project_id/issues/:issue_id/time_entries.:format'
Chris@0 32 end
Chris@0 33 timelog.connect 'projects/:project_id/time_entries/report', :action => 'report'
Chris@0 34 timelog.with_options :action => 'report',:conditions => {:method => :get} do |time_report|
Chris@0 35 time_report.connect 'time_entries/report'
Chris@0 36 time_report.connect 'time_entries/report.:format'
Chris@0 37 time_report.connect 'projects/:project_id/time_entries/report.:format'
Chris@0 38 end
Chris@0 39
Chris@0 40 timelog.with_options :action => 'edit', :conditions => {:method => :get} do |time_edit|
Chris@0 41 time_edit.connect 'issues/:issue_id/time_entries/new'
Chris@0 42 end
Chris@0 43
Chris@0 44 timelog.connect 'time_entries/:id/destroy', :action => 'destroy', :conditions => {:method => :post}
Chris@0 45 end
Chris@0 46
Chris@0 47 map.connect 'projects/:id/wiki', :controller => 'wikis', :action => 'edit', :conditions => {:method => :post}
Chris@0 48 map.connect 'projects/:id/wiki/destroy', :controller => 'wikis', :action => 'destroy', :conditions => {:method => :get}
Chris@0 49 map.connect 'projects/:id/wiki/destroy', :controller => 'wikis', :action => 'destroy', :conditions => {:method => :post}
Chris@0 50 map.with_options :controller => 'wiki' do |wiki_routes|
Chris@0 51 wiki_routes.with_options :conditions => {:method => :get} do |wiki_views|
Chris@0 52 wiki_views.connect 'projects/:id/wiki/:page', :action => 'special', :page => /page_index|date_index|export/i
Chris@0 53 wiki_views.connect 'projects/:id/wiki/:page', :action => 'index', :page => nil
Chris@0 54 wiki_views.connect 'projects/:id/wiki/:page/edit', :action => 'edit'
Chris@0 55 wiki_views.connect 'projects/:id/wiki/:page/rename', :action => 'rename'
Chris@0 56 wiki_views.connect 'projects/:id/wiki/:page/history', :action => 'history'
Chris@0 57 wiki_views.connect 'projects/:id/wiki/:page/diff/:version/vs/:version_from', :action => 'diff'
Chris@0 58 wiki_views.connect 'projects/:id/wiki/:page/annotate/:version', :action => 'annotate'
Chris@0 59 end
Chris@0 60
Chris@0 61 wiki_routes.connect 'projects/:id/wiki/:page/:action',
Chris@0 62 :action => /edit|rename|destroy|preview|protect/,
Chris@0 63 :conditions => {:method => :post}
Chris@0 64 end
Chris@0 65
Chris@0 66 map.with_options :controller => 'messages' do |messages_routes|
Chris@0 67 messages_routes.with_options :conditions => {:method => :get} do |messages_views|
Chris@0 68 messages_views.connect 'boards/:board_id/topics/new', :action => 'new'
Chris@0 69 messages_views.connect 'boards/:board_id/topics/:id', :action => 'show'
Chris@0 70 messages_views.connect 'boards/:board_id/topics/:id/edit', :action => 'edit'
Chris@0 71 end
Chris@0 72 messages_routes.with_options :conditions => {:method => :post} do |messages_actions|
Chris@0 73 messages_actions.connect 'boards/:board_id/topics/new', :action => 'new'
Chris@0 74 messages_actions.connect 'boards/:board_id/topics/:id/replies', :action => 'reply'
Chris@0 75 messages_actions.connect 'boards/:board_id/topics/:id/:action', :action => /edit|destroy/
Chris@0 76 end
Chris@0 77 end
Chris@0 78
Chris@0 79 map.with_options :controller => 'boards' do |board_routes|
Chris@0 80 board_routes.with_options :conditions => {:method => :get} do |board_views|
Chris@0 81 board_views.connect 'projects/:project_id/boards', :action => 'index'
Chris@0 82 board_views.connect 'projects/:project_id/boards/new', :action => 'new'
Chris@0 83 board_views.connect 'projects/:project_id/boards/:id', :action => 'show'
Chris@0 84 board_views.connect 'projects/:project_id/boards/:id.:format', :action => 'show'
Chris@0 85 board_views.connect 'projects/:project_id/boards/:id/edit', :action => 'edit'
Chris@0 86 end
Chris@0 87 board_routes.with_options :conditions => {:method => :post} do |board_actions|
Chris@0 88 board_actions.connect 'projects/:project_id/boards', :action => 'new'
Chris@0 89 board_actions.connect 'projects/:project_id/boards/:id/:action', :action => /edit|destroy/
Chris@0 90 end
Chris@0 91 end
Chris@0 92
Chris@0 93 map.with_options :controller => 'documents' do |document_routes|
Chris@0 94 document_routes.with_options :conditions => {:method => :get} do |document_views|
Chris@0 95 document_views.connect 'projects/:project_id/documents', :action => 'index'
Chris@0 96 document_views.connect 'projects/:project_id/documents/new', :action => 'new'
Chris@0 97 document_views.connect 'documents/:id', :action => 'show'
Chris@0 98 document_views.connect 'documents/:id/edit', :action => 'edit'
Chris@0 99 end
Chris@0 100 document_routes.with_options :conditions => {:method => :post} do |document_actions|
Chris@0 101 document_actions.connect 'projects/:project_id/documents', :action => 'new'
Chris@0 102 document_actions.connect 'documents/:id/:action', :action => /destroy|edit/
Chris@0 103 end
Chris@0 104 end
Chris@14 105
Chris@14 106 map.resources :issue_moves, :only => [:new, :create], :path_prefix => '/issues', :as => 'move'
Chris@14 107 map.auto_complete_issues '/issues/auto_complete', :controller => 'auto_completes', :action => 'issues'
Chris@14 108 # TODO: would look nicer as /issues/:id/preview
Chris@14 109 map.preview_issue '/issues/preview/:id', :controller => 'previews', :action => 'issue'
Chris@14 110 map.issues_context_menu '/issues/context_menu', :controller => 'context_menus', :action => 'issues'
Chris@14 111 map.issue_changes '/issues/changes', :controller => 'journals', :action => 'index'
Chris@0 112
Chris@0 113 map.with_options :controller => 'issues' do |issues_routes|
Chris@0 114 issues_routes.with_options :conditions => {:method => :get} do |issues_views|
Chris@0 115 issues_views.connect 'issues', :action => 'index'
Chris@0 116 issues_views.connect 'issues.:format', :action => 'index'
Chris@0 117 issues_views.connect 'projects/:project_id/issues', :action => 'index'
Chris@0 118 issues_views.connect 'projects/:project_id/issues.:format', :action => 'index'
Chris@0 119 issues_views.connect 'projects/:project_id/issues/new', :action => 'new'
Chris@0 120 issues_views.connect 'projects/:project_id/issues/gantt', :controller => 'gantts', :action => 'show'
Chris@0 121 issues_views.connect 'projects/:project_id/issues/calendar', :controller => 'calendars', :action => 'show'
Chris@0 122 issues_views.connect 'projects/:project_id/issues/:copy_from/copy', :action => 'new'
Chris@0 123 issues_views.connect 'issues/:id', :action => 'show', :id => /\d+/
Chris@0 124 issues_views.connect 'issues/:id.:format', :action => 'show', :id => /\d+/
Chris@0 125 issues_views.connect 'issues/:id/edit', :action => 'edit', :id => /\d+/
Chris@0 126 end
Chris@0 127 issues_routes.with_options :conditions => {:method => :post} do |issues_actions|
Chris@0 128 issues_actions.connect 'issues', :action => 'index'
Chris@0 129 issues_actions.connect 'projects/:project_id/issues', :action => 'create'
Chris@0 130 issues_actions.connect 'projects/:project_id/issues/gantt', :controller => 'gantts', :action => 'show'
Chris@0 131 issues_actions.connect 'projects/:project_id/issues/calendar', :controller => 'calendars', :action => 'show'
Chris@14 132 issues_actions.connect 'issues/:id/quoted', :controller => 'journals', :action => 'new', :id => /\d+/
Chris@14 133 issues_actions.connect 'issues/:id/:action', :action => /edit|destroy/, :id => /\d+/
Chris@0 134 issues_actions.connect 'issues.:format', :action => 'create', :format => /xml/
Chris@14 135 issues_actions.connect 'issues/bulk_edit', :action => 'bulk_update'
Chris@0 136 end
Chris@0 137 issues_routes.with_options :conditions => {:method => :put} do |issues_actions|
Chris@0 138 issues_actions.connect 'issues/:id/edit', :action => 'update', :id => /\d+/
Chris@0 139 issues_actions.connect 'issues/:id.:format', :action => 'update', :id => /\d+/, :format => /xml/
Chris@0 140 end
Chris@0 141 issues_routes.with_options :conditions => {:method => :delete} do |issues_actions|
Chris@0 142 issues_actions.connect 'issues/:id.:format', :action => 'destroy', :id => /\d+/, :format => /xml/
Chris@0 143 end
Chris@0 144 issues_routes.connect 'issues/gantt', :controller => 'gantts', :action => 'show'
Chris@0 145 issues_routes.connect 'issues/calendar', :controller => 'calendars', :action => 'show'
Chris@0 146 issues_routes.connect 'issues/:action'
Chris@0 147 end
Chris@14 148
Chris@0 149 map.with_options :controller => 'issue_relations', :conditions => {:method => :post} do |relations|
Chris@0 150 relations.connect 'issues/:issue_id/relations/:id', :action => 'new'
Chris@0 151 relations.connect 'issues/:issue_id/relations/:id/destroy', :action => 'destroy'
Chris@0 152 end
Chris@0 153
Chris@0 154 map.with_options :controller => 'reports', :conditions => {:method => :get} do |reports|
Chris@0 155 reports.connect 'projects/:id/issues/report', :action => 'issue_report'
Chris@0 156 reports.connect 'projects/:id/issues/report/:detail', :action => 'issue_report_details'
Chris@0 157 end
Chris@0 158
Chris@0 159 map.with_options :controller => 'news' do |news_routes|
Chris@0 160 news_routes.with_options :conditions => {:method => :get} do |news_views|
Chris@0 161 news_views.connect 'news', :action => 'index'
Chris@0 162 news_views.connect 'projects/:project_id/news', :action => 'index'
Chris@0 163 news_views.connect 'projects/:project_id/news.:format', :action => 'index'
Chris@0 164 news_views.connect 'news.:format', :action => 'index'
Chris@0 165 news_views.connect 'projects/:project_id/news/new', :action => 'new'
Chris@0 166 news_views.connect 'news/:id', :action => 'show'
Chris@0 167 news_views.connect 'news/:id/edit', :action => 'edit'
Chris@0 168 end
Chris@0 169 news_routes.with_options do |news_actions|
Chris@0 170 news_actions.connect 'projects/:project_id/news', :action => 'new'
Chris@0 171 news_actions.connect 'news/:id/edit', :action => 'edit'
Chris@0 172 news_actions.connect 'news/:id/destroy', :action => 'destroy'
Chris@0 173 end
Chris@0 174 end
Chris@0 175
Chris@0 176 map.connect 'projects/:id/members/new', :controller => 'members', :action => 'new'
Chris@0 177
Chris@0 178 map.with_options :controller => 'users' do |users|
Chris@0 179 users.with_options :conditions => {:method => :get} do |user_views|
Chris@0 180 user_views.connect 'users', :action => 'index'
Chris@0 181 user_views.connect 'users/:id', :action => 'show', :id => /\d+/
Chris@0 182 user_views.connect 'users/new', :action => 'add'
Chris@0 183 user_views.connect 'users/:id/edit/:tab', :action => 'edit', :tab => nil
Chris@0 184 end
Chris@0 185 users.with_options :conditions => {:method => :post} do |user_actions|
Chris@0 186 user_actions.connect 'users', :action => 'add'
Chris@0 187 user_actions.connect 'users/new', :action => 'add'
Chris@0 188 user_actions.connect 'users/:id/edit', :action => 'edit'
Chris@0 189 user_actions.connect 'users/:id/memberships', :action => 'edit_membership'
Chris@0 190 user_actions.connect 'users/:id/memberships/:membership_id', :action => 'edit_membership'
Chris@0 191 user_actions.connect 'users/:id/memberships/:membership_id/destroy', :action => 'destroy_membership'
Chris@0 192 end
Chris@0 193 end
Chris@0 194
Chris@0 195 map.with_options :controller => 'projects' do |projects|
Chris@0 196 projects.with_options :conditions => {:method => :get} do |project_views|
Chris@0 197 project_views.connect 'projects', :action => 'index'
Chris@0 198 project_views.connect 'projects.:format', :action => 'index'
Chris@0 199 project_views.connect 'projects/new', :action => 'add'
Chris@0 200 project_views.connect 'projects/:id', :action => 'show'
Chris@0 201 project_views.connect 'projects/:id.:format', :action => 'show'
Chris@0 202 project_views.connect 'projects/:id/:action', :action => /roadmap|destroy|settings/
Chris@0 203 project_views.connect 'projects/:id/files', :action => 'list_files'
Chris@0 204 project_views.connect 'projects/:id/files/new', :action => 'add_file'
Chris@0 205 project_views.connect 'projects/:id/settings/:tab', :action => 'settings'
Chris@0 206 end
Chris@0 207
Chris@0 208 projects.with_options :action => 'activity', :conditions => {:method => :get} do |activity|
Chris@0 209 activity.connect 'projects/:id/activity'
Chris@0 210 activity.connect 'projects/:id/activity.:format'
Chris@0 211 activity.connect 'activity', :id => nil
Chris@0 212 activity.connect 'activity.:format', :id => nil
Chris@0 213 end
Chris@0 214
Chris@0 215 projects.with_options :conditions => {:method => :post} do |project_actions|
Chris@0 216 project_actions.connect 'projects/new', :action => 'add'
Chris@0 217 project_actions.connect 'projects', :action => 'add'
Chris@0 218 project_actions.connect 'projects.:format', :action => 'add', :format => /xml/
Chris@0 219 project_actions.connect 'projects/:id/:action', :action => /edit|destroy|archive|unarchive/
Chris@0 220 project_actions.connect 'projects/:id/files/new', :action => 'add_file'
Chris@0 221 project_actions.connect 'projects/:id/activities/save', :action => 'save_activities'
Chris@0 222 end
Chris@0 223
Chris@0 224 projects.with_options :conditions => {:method => :put} do |project_actions|
Chris@0 225 project_actions.conditions 'projects/:id.:format', :action => 'edit', :format => /xml/
Chris@0 226 end
Chris@0 227
Chris@0 228 projects.with_options :conditions => {:method => :delete} do |project_actions|
Chris@0 229 project_actions.conditions 'projects/:id.:format', :action => 'destroy', :format => /xml/
Chris@0 230 project_actions.conditions 'projects/:id/reset_activities', :action => 'reset_activities'
Chris@0 231 end
Chris@0 232 end
Chris@0 233
Chris@0 234 map.with_options :controller => 'versions' do |versions|
Chris@0 235 versions.connect 'projects/:project_id/versions/new', :action => 'new'
Chris@0 236 versions.with_options :conditions => {:method => :post} do |version_actions|
Chris@0 237 version_actions.connect 'projects/:project_id/versions/close_completed', :action => 'close_completed'
Chris@0 238 end
Chris@0 239 end
Chris@0 240
Chris@0 241 map.with_options :controller => 'issue_categories' do |categories|
Chris@0 242 categories.connect 'projects/:project_id/issue_categories/new', :action => 'new'
Chris@0 243 end
Chris@0 244
Chris@0 245 map.with_options :controller => 'repositories' do |repositories|
Chris@0 246 repositories.with_options :conditions => {:method => :get} do |repository_views|
Chris@0 247 repository_views.connect 'projects/:id/repository', :action => 'show'
Chris@0 248 repository_views.connect 'projects/:id/repository/edit', :action => 'edit'
Chris@0 249 repository_views.connect 'projects/:id/repository/statistics', :action => 'stats'
Chris@0 250 repository_views.connect 'projects/:id/repository/revisions', :action => 'revisions'
Chris@0 251 repository_views.connect 'projects/:id/repository/revisions.:format', :action => 'revisions'
Chris@0 252 repository_views.connect 'projects/:id/repository/revisions/:rev', :action => 'revision'
Chris@0 253 repository_views.connect 'projects/:id/repository/revisions/:rev/diff', :action => 'diff'
Chris@0 254 repository_views.connect 'projects/:id/repository/revisions/:rev/diff.:format', :action => 'diff'
Chris@0 255 repository_views.connect 'projects/:id/repository/revisions/:rev/raw/*path', :action => 'entry', :format => 'raw', :requirements => { :rev => /[a-z0-9\.\-_]+/ }
Chris@0 256 repository_views.connect 'projects/:id/repository/revisions/:rev/:action/*path', :requirements => { :rev => /[a-z0-9\.\-_]+/ }
Chris@0 257 repository_views.connect 'projects/:id/repository/raw/*path', :action => 'entry', :format => 'raw'
Chris@0 258 # TODO: why the following route is required?
Chris@0 259 repository_views.connect 'projects/:id/repository/entry/*path', :action => 'entry'
Chris@0 260 repository_views.connect 'projects/:id/repository/:action/*path'
Chris@0 261 end
Chris@0 262
Chris@0 263 repositories.connect 'projects/:id/repository/:action', :conditions => {:method => :post}
Chris@0 264 end
Chris@0 265
Chris@0 266 map.connect 'attachments/:id', :controller => 'attachments', :action => 'show', :id => /\d+/
Chris@0 267 map.connect 'attachments/:id/:filename', :controller => 'attachments', :action => 'show', :id => /\d+/, :filename => /.*/
Chris@0 268 map.connect 'attachments/download/:id/:filename', :controller => 'attachments', :action => 'download', :id => /\d+/, :filename => /.*/
Chris@0 269
Chris@0 270 map.resources :groups
Chris@0 271
Chris@0 272 #left old routes at the bottom for backwards compat
Chris@0 273 map.connect 'projects/:project_id/issues/:action', :controller => 'issues'
Chris@0 274 map.connect 'projects/:project_id/documents/:action', :controller => 'documents'
Chris@0 275 map.connect 'projects/:project_id/boards/:action/:id', :controller => 'boards'
Chris@0 276 map.connect 'boards/:board_id/topics/:action/:id', :controller => 'messages'
Chris@0 277 map.connect 'wiki/:id/:page/:action', :page => nil, :controller => 'wiki'
Chris@0 278 map.connect 'issues/:issue_id/relations/:action/:id', :controller => 'issue_relations'
Chris@0 279 map.connect 'projects/:project_id/news/:action', :controller => 'news'
Chris@0 280 map.connect 'projects/:project_id/timelog/:action/:id', :controller => 'timelog', :project_id => /.+/
Chris@0 281 map.with_options :controller => 'repositories' do |omap|
Chris@0 282 omap.repositories_show 'repositories/browse/:id/*path', :action => 'browse'
Chris@0 283 omap.repositories_changes 'repositories/changes/:id/*path', :action => 'changes'
Chris@0 284 omap.repositories_diff 'repositories/diff/:id/*path', :action => 'diff'
Chris@0 285 omap.repositories_entry 'repositories/entry/:id/*path', :action => 'entry'
Chris@0 286 omap.repositories_entry 'repositories/annotate/:id/*path', :action => 'annotate'
Chris@0 287 omap.connect 'repositories/revision/:id/:rev', :action => 'revision'
Chris@0 288 end
Chris@0 289
Chris@0 290 map.with_options :controller => 'sys' do |sys|
Chris@0 291 sys.connect 'sys/projects.:format', :action => 'projects', :conditions => {:method => :get}
Chris@0 292 sys.connect 'sys/projects/:id/repository.:format', :action => 'create_project_repository', :conditions => {:method => :post}
Chris@0 293 end
Chris@0 294
Chris@0 295 # Install the default route as the lowest priority.
Chris@0 296 map.connect ':controller/:action/:id'
Chris@0 297 map.connect 'robots.txt', :controller => 'welcome', :action => 'robots'
Chris@0 298 # Used for OpenID
Chris@0 299 map.root :controller => 'account', :action => 'login'
Chris@0 300 end