annotate config/.svn/text-base/routes.rb.svn-base @ 8:0c83d98252d9 yuya

* Add custom repo prefix and proper auth realm, remove auth cache (seems like an unwise feature), pass DB handle around, various other bits of tidying
author Chris Cannam
date Thu, 12 Aug 2010 15:31:37 +0100
parents 513646585e45
children 1d32c0a0efbf
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@0 105
Chris@0 106 map.with_options :controller => 'issues' do |issues_routes|
Chris@0 107 issues_routes.with_options :conditions => {:method => :get} do |issues_views|
Chris@0 108 issues_views.connect 'issues', :action => 'index'
Chris@0 109 issues_views.connect 'issues.:format', :action => 'index'
Chris@0 110 issues_views.connect 'projects/:project_id/issues', :action => 'index'
Chris@0 111 issues_views.connect 'projects/:project_id/issues.:format', :action => 'index'
Chris@0 112 issues_views.connect 'projects/:project_id/issues/new', :action => 'new'
Chris@0 113 issues_views.connect 'projects/:project_id/issues/gantt', :controller => 'gantts', :action => 'show'
Chris@0 114 issues_views.connect 'projects/:project_id/issues/calendar', :controller => 'calendars', :action => 'show'
Chris@0 115 issues_views.connect 'projects/:project_id/issues/:copy_from/copy', :action => 'new'
Chris@0 116 issues_views.connect 'issues/:id', :action => 'show', :id => /\d+/
Chris@0 117 issues_views.connect 'issues/:id.:format', :action => 'show', :id => /\d+/
Chris@0 118 issues_views.connect 'issues/:id/edit', :action => 'edit', :id => /\d+/
Chris@0 119 issues_views.connect 'issues/:id/move', :action => 'move', :id => /\d+/
Chris@0 120 end
Chris@0 121 issues_routes.with_options :conditions => {:method => :post} do |issues_actions|
Chris@0 122 issues_actions.connect 'issues', :action => 'index'
Chris@0 123 issues_actions.connect 'projects/:project_id/issues', :action => 'create'
Chris@0 124 issues_actions.connect 'projects/:project_id/issues/gantt', :controller => 'gantts', :action => 'show'
Chris@0 125 issues_actions.connect 'projects/:project_id/issues/calendar', :controller => 'calendars', :action => 'show'
Chris@0 126 issues_actions.connect 'issues/:id/quoted', :action => 'reply', :id => /\d+/
Chris@0 127 issues_actions.connect 'issues/:id/:action', :action => /edit|move|destroy/, :id => /\d+/
Chris@0 128 issues_actions.connect 'issues.:format', :action => 'create', :format => /xml/
Chris@0 129 end
Chris@0 130 issues_routes.with_options :conditions => {:method => :put} do |issues_actions|
Chris@0 131 issues_actions.connect 'issues/:id/edit', :action => 'update', :id => /\d+/
Chris@0 132 issues_actions.connect 'issues/:id.:format', :action => 'update', :id => /\d+/, :format => /xml/
Chris@0 133 end
Chris@0 134 issues_routes.with_options :conditions => {:method => :delete} do |issues_actions|
Chris@0 135 issues_actions.connect 'issues/:id.:format', :action => 'destroy', :id => /\d+/, :format => /xml/
Chris@0 136 end
Chris@0 137 issues_routes.connect 'issues/gantt', :controller => 'gantts', :action => 'show'
Chris@0 138 issues_routes.connect 'issues/calendar', :controller => 'calendars', :action => 'show'
Chris@0 139 issues_routes.connect 'issues/:action'
Chris@0 140 end
Chris@0 141
Chris@0 142 map.with_options :controller => 'issue_relations', :conditions => {:method => :post} do |relations|
Chris@0 143 relations.connect 'issues/:issue_id/relations/:id', :action => 'new'
Chris@0 144 relations.connect 'issues/:issue_id/relations/:id/destroy', :action => 'destroy'
Chris@0 145 end
Chris@0 146
Chris@0 147 map.with_options :controller => 'reports', :conditions => {:method => :get} do |reports|
Chris@0 148 reports.connect 'projects/:id/issues/report', :action => 'issue_report'
Chris@0 149 reports.connect 'projects/:id/issues/report/:detail', :action => 'issue_report_details'
Chris@0 150 end
Chris@0 151
Chris@0 152 map.with_options :controller => 'news' do |news_routes|
Chris@0 153 news_routes.with_options :conditions => {:method => :get} do |news_views|
Chris@0 154 news_views.connect 'news', :action => 'index'
Chris@0 155 news_views.connect 'projects/:project_id/news', :action => 'index'
Chris@0 156 news_views.connect 'projects/:project_id/news.:format', :action => 'index'
Chris@0 157 news_views.connect 'news.:format', :action => 'index'
Chris@0 158 news_views.connect 'projects/:project_id/news/new', :action => 'new'
Chris@0 159 news_views.connect 'news/:id', :action => 'show'
Chris@0 160 news_views.connect 'news/:id/edit', :action => 'edit'
Chris@0 161 end
Chris@0 162 news_routes.with_options do |news_actions|
Chris@0 163 news_actions.connect 'projects/:project_id/news', :action => 'new'
Chris@0 164 news_actions.connect 'news/:id/edit', :action => 'edit'
Chris@0 165 news_actions.connect 'news/:id/destroy', :action => 'destroy'
Chris@0 166 end
Chris@0 167 end
Chris@0 168
Chris@0 169 map.connect 'projects/:id/members/new', :controller => 'members', :action => 'new'
Chris@0 170
Chris@0 171 map.with_options :controller => 'users' do |users|
Chris@0 172 users.with_options :conditions => {:method => :get} do |user_views|
Chris@0 173 user_views.connect 'users', :action => 'index'
Chris@0 174 user_views.connect 'users/:id', :action => 'show', :id => /\d+/
Chris@0 175 user_views.connect 'users/new', :action => 'add'
Chris@0 176 user_views.connect 'users/:id/edit/:tab', :action => 'edit', :tab => nil
Chris@0 177 end
Chris@0 178 users.with_options :conditions => {:method => :post} do |user_actions|
Chris@0 179 user_actions.connect 'users', :action => 'add'
Chris@0 180 user_actions.connect 'users/new', :action => 'add'
Chris@0 181 user_actions.connect 'users/:id/edit', :action => 'edit'
Chris@0 182 user_actions.connect 'users/:id/memberships', :action => 'edit_membership'
Chris@0 183 user_actions.connect 'users/:id/memberships/:membership_id', :action => 'edit_membership'
Chris@0 184 user_actions.connect 'users/:id/memberships/:membership_id/destroy', :action => 'destroy_membership'
Chris@0 185 end
Chris@0 186 end
Chris@0 187
Chris@0 188 map.with_options :controller => 'projects' do |projects|
Chris@0 189 projects.with_options :conditions => {:method => :get} do |project_views|
Chris@0 190 project_views.connect 'projects', :action => 'index'
Chris@0 191 project_views.connect 'projects.:format', :action => 'index'
Chris@0 192 project_views.connect 'projects/new', :action => 'add'
Chris@0 193 project_views.connect 'projects/:id', :action => 'show'
Chris@0 194 project_views.connect 'projects/:id.:format', :action => 'show'
Chris@0 195 project_views.connect 'projects/:id/:action', :action => /roadmap|destroy|settings/
Chris@0 196 project_views.connect 'projects/:id/files', :action => 'list_files'
Chris@0 197 project_views.connect 'projects/:id/files/new', :action => 'add_file'
Chris@0 198 project_views.connect 'projects/:id/settings/:tab', :action => 'settings'
Chris@0 199 end
Chris@0 200
Chris@0 201 projects.with_options :action => 'activity', :conditions => {:method => :get} do |activity|
Chris@0 202 activity.connect 'projects/:id/activity'
Chris@0 203 activity.connect 'projects/:id/activity.:format'
Chris@0 204 activity.connect 'activity', :id => nil
Chris@0 205 activity.connect 'activity.:format', :id => nil
Chris@0 206 end
Chris@0 207
Chris@0 208 projects.with_options :conditions => {:method => :post} do |project_actions|
Chris@0 209 project_actions.connect 'projects/new', :action => 'add'
Chris@0 210 project_actions.connect 'projects', :action => 'add'
Chris@0 211 project_actions.connect 'projects.:format', :action => 'add', :format => /xml/
Chris@0 212 project_actions.connect 'projects/:id/:action', :action => /edit|destroy|archive|unarchive/
Chris@0 213 project_actions.connect 'projects/:id/files/new', :action => 'add_file'
Chris@0 214 project_actions.connect 'projects/:id/activities/save', :action => 'save_activities'
Chris@0 215 end
Chris@0 216
Chris@0 217 projects.with_options :conditions => {:method => :put} do |project_actions|
Chris@0 218 project_actions.conditions 'projects/:id.:format', :action => 'edit', :format => /xml/
Chris@0 219 end
Chris@0 220
Chris@0 221 projects.with_options :conditions => {:method => :delete} do |project_actions|
Chris@0 222 project_actions.conditions 'projects/:id.:format', :action => 'destroy', :format => /xml/
Chris@0 223 project_actions.conditions 'projects/:id/reset_activities', :action => 'reset_activities'
Chris@0 224 end
Chris@0 225 end
Chris@0 226
Chris@0 227 map.with_options :controller => 'versions' do |versions|
Chris@0 228 versions.connect 'projects/:project_id/versions/new', :action => 'new'
Chris@0 229 versions.with_options :conditions => {:method => :post} do |version_actions|
Chris@0 230 version_actions.connect 'projects/:project_id/versions/close_completed', :action => 'close_completed'
Chris@0 231 end
Chris@0 232 end
Chris@0 233
Chris@0 234 map.with_options :controller => 'issue_categories' do |categories|
Chris@0 235 categories.connect 'projects/:project_id/issue_categories/new', :action => 'new'
Chris@0 236 end
Chris@0 237
Chris@0 238 map.with_options :controller => 'repositories' do |repositories|
Chris@0 239 repositories.with_options :conditions => {:method => :get} do |repository_views|
Chris@0 240 repository_views.connect 'projects/:id/repository', :action => 'show'
Chris@0 241 repository_views.connect 'projects/:id/repository/edit', :action => 'edit'
Chris@0 242 repository_views.connect 'projects/:id/repository/statistics', :action => 'stats'
Chris@0 243 repository_views.connect 'projects/:id/repository/revisions', :action => 'revisions'
Chris@0 244 repository_views.connect 'projects/:id/repository/revisions.:format', :action => 'revisions'
Chris@0 245 repository_views.connect 'projects/:id/repository/revisions/:rev', :action => 'revision'
Chris@0 246 repository_views.connect 'projects/:id/repository/revisions/:rev/diff', :action => 'diff'
Chris@0 247 repository_views.connect 'projects/:id/repository/revisions/:rev/diff.:format', :action => 'diff'
Chris@0 248 repository_views.connect 'projects/:id/repository/revisions/:rev/raw/*path', :action => 'entry', :format => 'raw', :requirements => { :rev => /[a-z0-9\.\-_]+/ }
Chris@0 249 repository_views.connect 'projects/:id/repository/revisions/:rev/:action/*path', :requirements => { :rev => /[a-z0-9\.\-_]+/ }
Chris@0 250 repository_views.connect 'projects/:id/repository/raw/*path', :action => 'entry', :format => 'raw'
Chris@0 251 # TODO: why the following route is required?
Chris@0 252 repository_views.connect 'projects/:id/repository/entry/*path', :action => 'entry'
Chris@0 253 repository_views.connect 'projects/:id/repository/:action/*path'
Chris@0 254 end
Chris@0 255
Chris@0 256 repositories.connect 'projects/:id/repository/:action', :conditions => {:method => :post}
Chris@0 257 end
Chris@0 258
Chris@0 259 map.connect 'attachments/:id', :controller => 'attachments', :action => 'show', :id => /\d+/
Chris@0 260 map.connect 'attachments/:id/:filename', :controller => 'attachments', :action => 'show', :id => /\d+/, :filename => /.*/
Chris@0 261 map.connect 'attachments/download/:id/:filename', :controller => 'attachments', :action => 'download', :id => /\d+/, :filename => /.*/
Chris@0 262
Chris@0 263 map.resources :groups
Chris@0 264
Chris@0 265 #left old routes at the bottom for backwards compat
Chris@0 266 map.connect 'projects/:project_id/issues/:action', :controller => 'issues'
Chris@0 267 map.connect 'projects/:project_id/documents/:action', :controller => 'documents'
Chris@0 268 map.connect 'projects/:project_id/boards/:action/:id', :controller => 'boards'
Chris@0 269 map.connect 'boards/:board_id/topics/:action/:id', :controller => 'messages'
Chris@0 270 map.connect 'wiki/:id/:page/:action', :page => nil, :controller => 'wiki'
Chris@0 271 map.connect 'issues/:issue_id/relations/:action/:id', :controller => 'issue_relations'
Chris@0 272 map.connect 'projects/:project_id/news/:action', :controller => 'news'
Chris@0 273 map.connect 'projects/:project_id/timelog/:action/:id', :controller => 'timelog', :project_id => /.+/
Chris@0 274 map.with_options :controller => 'repositories' do |omap|
Chris@0 275 omap.repositories_show 'repositories/browse/:id/*path', :action => 'browse'
Chris@0 276 omap.repositories_changes 'repositories/changes/:id/*path', :action => 'changes'
Chris@0 277 omap.repositories_diff 'repositories/diff/:id/*path', :action => 'diff'
Chris@0 278 omap.repositories_entry 'repositories/entry/:id/*path', :action => 'entry'
Chris@0 279 omap.repositories_entry 'repositories/annotate/:id/*path', :action => 'annotate'
Chris@0 280 omap.connect 'repositories/revision/:id/:rev', :action => 'revision'
Chris@0 281 end
Chris@0 282
Chris@0 283 map.with_options :controller => 'sys' do |sys|
Chris@0 284 sys.connect 'sys/projects.:format', :action => 'projects', :conditions => {:method => :get}
Chris@0 285 sys.connect 'sys/projects/:id/repository.:format', :action => 'create_project_repository', :conditions => {:method => :post}
Chris@0 286 end
Chris@0 287
Chris@0 288 # Install the default route as the lowest priority.
Chris@0 289 map.connect ':controller/:action/:id'
Chris@0 290 map.connect 'robots.txt', :controller => 'welcome', :action => 'robots'
Chris@0 291 # Used for OpenID
Chris@0 292 map.root :controller => 'account', :action => 'login'
Chris@0 293 end