To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
root / config / routes.rb @ 1025:02ee54197879
History | View | Annotate | Download (15.5 KB)
| 1 | 0:513646585e45 | Chris | ActionController::Routing::Routes.draw do |map| |
|---|---|---|---|
| 2 | # Add your own custom routes here.
|
||
| 3 | # The priority is based upon order of creation: first created -> highest priority.
|
||
| 4 | 909:cbb26bc654de | Chris | |
| 5 | 0:513646585e45 | Chris | # Here's a sample route:
|
| 6 | # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
|
||
| 7 | # Keep in mind you can assign values other than :controller and :action
|
||
| 8 | |||
| 9 | map.home '', :controller => 'welcome' |
||
| 10 | 909:cbb26bc654de | Chris | |
| 11 | 0:513646585e45 | Chris | map.signin 'login', :controller => 'account', :action => 'login' |
| 12 | map.signout 'logout', :controller => 'account', :action => 'logout' |
||
| 13 | 909:cbb26bc654de | Chris | |
| 14 | 0:513646585e45 | Chris | map.connect 'roles/workflow/:id/:role_id/:tracker_id', :controller => 'roles', :action => 'workflow' |
| 15 | map.connect 'help/:ctrl/:page', :controller => 'help' |
||
| 16 | |||
| 17 | 37:94944d00e43c | chris | map.with_options :controller => 'time_entry_reports', :action => 'report',:conditions => {:method => :get} do |time_report| |
| 18 | 441:cbce1fd3b1b7 | Chris | time_report.connect 'projects/:project_id/issues/:issue_id/time_entries/report'
|
| 19 | time_report.connect 'projects/:project_id/issues/:issue_id/time_entries/report.:format'
|
||
| 20 | time_report.connect 'projects/:project_id/time_entries/report'
|
||
| 21 | time_report.connect 'projects/:project_id/time_entries/report.:format'
|
||
| 22 | 37:94944d00e43c | chris | time_report.connect 'time_entries/report'
|
| 23 | time_report.connect 'time_entries/report.:format'
|
||
| 24 | 0:513646585e45 | Chris | end
|
| 25 | 37:94944d00e43c | chris | |
| 26 | 441:cbce1fd3b1b7 | Chris | map.bulk_edit_time_entry 'time_entries/bulk_edit',
|
| 27 | :controller => 'timelog', :action => 'bulk_edit', :conditions => { :method => :get } |
||
| 28 | map.bulk_update_time_entry 'time_entries/bulk_edit',
|
||
| 29 | :controller => 'timelog', :action => 'bulk_update', :conditions => { :method => :post } |
||
| 30 | map.time_entries_context_menu '/time_entries/context_menu',
|
||
| 31 | :controller => 'context_menus', :action => 'time_entries' |
||
| 32 | 37:94944d00e43c | chris | # TODO: wasteful since this is also nested under issues, projects, and projects/issues
|
| 33 | map.resources :time_entries, :controller => 'timelog' |
||
| 34 | 909:cbb26bc654de | Chris | |
| 35 | 1009:066b55d7c053 | chris | map.connect 'explore', :controller => 'projects', :action => 'explore' |
| 36 | 1007:3e52bc15dd67 | chris | |
| 37 | 0:513646585e45 | Chris | map.connect 'projects/:id/wiki', :controller => 'wikis', :action => 'edit', :conditions => {:method => :post} |
| 38 | map.connect 'projects/:id/wiki/destroy', :controller => 'wikis', :action => 'destroy', :conditions => {:method => :get} |
||
| 39 | map.connect 'projects/:id/wiki/destroy', :controller => 'wikis', :action => 'destroy', :conditions => {:method => :post} |
||
| 40 | 909:cbb26bc654de | Chris | |
| 41 | 0:513646585e45 | Chris | map.with_options :controller => 'messages' do |messages_routes| |
| 42 | messages_routes.with_options :conditions => {:method => :get} do |messages_views| |
||
| 43 | messages_views.connect 'boards/:board_id/topics/new', :action => 'new' |
||
| 44 | messages_views.connect 'boards/:board_id/topics/:id', :action => 'show' |
||
| 45 | messages_views.connect 'boards/:board_id/topics/:id/edit', :action => 'edit' |
||
| 46 | end
|
||
| 47 | messages_routes.with_options :conditions => {:method => :post} do |messages_actions| |
||
| 48 | messages_actions.connect 'boards/:board_id/topics/new', :action => 'new' |
||
| 49 | messages_actions.connect 'boards/:board_id/topics/:id/replies', :action => 'reply' |
||
| 50 | messages_actions.connect 'boards/:board_id/topics/:id/:action', :action => /edit|destroy/ |
||
| 51 | end
|
||
| 52 | end
|
||
| 53 | 909:cbb26bc654de | Chris | |
| 54 | 0:513646585e45 | Chris | map.with_options :controller => 'boards' do |board_routes| |
| 55 | board_routes.with_options :conditions => {:method => :get} do |board_views| |
||
| 56 | board_views.connect 'projects/:project_id/boards', :action => 'index' |
||
| 57 | board_views.connect 'projects/:project_id/boards/new', :action => 'new' |
||
| 58 | board_views.connect 'projects/:project_id/boards/:id', :action => 'show' |
||
| 59 | board_views.connect 'projects/:project_id/boards/:id.:format', :action => 'show' |
||
| 60 | board_views.connect 'projects/:project_id/boards/:id/edit', :action => 'edit' |
||
| 61 | end
|
||
| 62 | board_routes.with_options :conditions => {:method => :post} do |board_actions| |
||
| 63 | board_actions.connect 'projects/:project_id/boards', :action => 'new' |
||
| 64 | board_actions.connect 'projects/:project_id/boards/:id/:action', :action => /edit|destroy/ |
||
| 65 | end
|
||
| 66 | end
|
||
| 67 | 909:cbb26bc654de | Chris | |
| 68 | 0:513646585e45 | Chris | map.with_options :controller => 'documents' do |document_routes| |
| 69 | document_routes.with_options :conditions => {:method => :get} do |document_views| |
||
| 70 | document_views.connect 'projects/:project_id/documents', :action => 'index' |
||
| 71 | document_views.connect 'projects/:project_id/documents/new', :action => 'new' |
||
| 72 | document_views.connect 'documents/:id', :action => 'show' |
||
| 73 | document_views.connect 'documents/:id/edit', :action => 'edit' |
||
| 74 | end
|
||
| 75 | document_routes.with_options :conditions => {:method => :post} do |document_actions| |
||
| 76 | document_actions.connect 'projects/:project_id/documents', :action => 'new' |
||
| 77 | document_actions.connect 'documents/:id/:action', :action => /destroy|edit/ |
||
| 78 | end
|
||
| 79 | end
|
||
| 80 | 14:1d32c0a0efbf | Chris | |
| 81 | map.resources :issue_moves, :only => [:new, :create], :path_prefix => '/issues', :as => 'move' |
||
| 82 | 909:cbb26bc654de | Chris | map.resources :queries, :except => [:show] |
| 83 | 22:40f7cfd4df19 | chris | |
| 84 | # Misc issue routes. TODO: move into resources
|
||
| 85 | 909:cbb26bc654de | Chris | map.auto_complete_issues '/issues/auto_complete', :controller => 'auto_completes', :action => 'issues', :conditions => { :method => :get } |
| 86 | 22:40f7cfd4df19 | chris | map.preview_issue '/issues/preview/:id', :controller => 'previews', :action => 'issue' # TODO: would look nicer as /issues/:id/preview |
| 87 | 14:1d32c0a0efbf | Chris | map.issues_context_menu '/issues/context_menu', :controller => 'context_menus', :action => 'issues' |
| 88 | map.issue_changes '/issues/changes', :controller => 'journals', :action => 'index' |
||
| 89 | 22:40f7cfd4df19 | chris | map.bulk_edit_issue 'issues/bulk_edit', :controller => 'issues', :action => 'bulk_edit', :conditions => { :method => :get } |
| 90 | map.bulk_update_issue 'issues/bulk_edit', :controller => 'issues', :action => 'bulk_update', :conditions => { :method => :post } |
||
| 91 | map.quoted_issue '/issues/:id/quoted', :controller => 'journals', :action => 'new', :id => /\d+/, :conditions => { :method => :post } |
||
| 92 | map.connect '/issues/:id/destroy', :controller => 'issues', :action => 'destroy', :conditions => { :method => :post } # legacy |
||
| 93 | |||
| 94 | 441:cbce1fd3b1b7 | Chris | map.with_options :controller => 'gantts', :action => 'show' do |gantts_routes| |
| 95 | gantts_routes.connect '/projects/:project_id/issues/gantt'
|
||
| 96 | gantts_routes.connect '/projects/:project_id/issues/gantt.:format'
|
||
| 97 | gantts_routes.connect '/issues/gantt.:format'
|
||
| 98 | end
|
||
| 99 | 909:cbb26bc654de | Chris | |
| 100 | 441:cbce1fd3b1b7 | Chris | map.with_options :controller => 'calendars', :action => 'show' do |calendars_routes| |
| 101 | calendars_routes.connect '/projects/:project_id/issues/calendar'
|
||
| 102 | calendars_routes.connect '/issues/calendar'
|
||
| 103 | end
|
||
| 104 | 22:40f7cfd4df19 | chris | |
| 105 | map.with_options :controller => 'reports', :conditions => {:method => :get} do |reports| |
||
| 106 | reports.connect 'projects/:id/issues/report', :action => 'issue_report' |
||
| 107 | reports.connect 'projects/:id/issues/report/:detail', :action => 'issue_report_details' |
||
| 108 | end
|
||
| 109 | |||
| 110 | # Following two routes conflict with the resources because #index allows POST
|
||
| 111 | map.connect '/issues', :controller => 'issues', :action => 'index', :conditions => { :method => :post } |
||
| 112 | map.connect '/issues/create', :controller => 'issues', :action => 'index', :conditions => { :method => :post } |
||
| 113 | 909:cbb26bc654de | Chris | |
| 114 | 37:94944d00e43c | chris | map.resources :issues, :member => { :edit => :post }, :collection => {} do |issues| |
| 115 | issues.resources :time_entries, :controller => 'timelog' |
||
| 116 | 909:cbb26bc654de | Chris | issues.resources :relations, :shallow => true, :controller => 'issue_relations', :only => [:index, :show, :create, :destroy] |
| 117 | 37:94944d00e43c | chris | end
|
| 118 | 909:cbb26bc654de | Chris | |
| 119 | 37:94944d00e43c | chris | map.resources :issues, :path_prefix => '/projects/:project_id', :collection => { :create => :post } do |issues| |
| 120 | issues.resources :time_entries, :controller => 'timelog' |
||
| 121 | end
|
||
| 122 | 14:1d32c0a0efbf | Chris | |
| 123 | 0:513646585e45 | Chris | map.connect 'projects/:id/members/new', :controller => 'members', :action => 'new' |
| 124 | 37:94944d00e43c | chris | |
| 125 | 0:513646585e45 | Chris | map.with_options :controller => 'users' do |users| |
| 126 | 37:94944d00e43c | chris | users.connect 'users/:id/edit/:tab', :action => 'edit', :tab => nil, :conditions => {:method => :get} |
| 127 | 909:cbb26bc654de | Chris | |
| 128 | 0:513646585e45 | Chris | users.with_options :conditions => {:method => :post} do |user_actions| |
| 129 | user_actions.connect 'users/:id/memberships', :action => 'edit_membership' |
||
| 130 | user_actions.connect 'users/:id/memberships/:membership_id', :action => 'edit_membership' |
||
| 131 | user_actions.connect 'users/:id/memberships/:membership_id/destroy', :action => 'destroy_membership' |
||
| 132 | end
|
||
| 133 | end
|
||
| 134 | |||
| 135 | 37:94944d00e43c | chris | map.resources :users, :member => { |
| 136 | :edit_membership => :post, |
||
| 137 | :destroy_membership => :post |
||
| 138 | 128:07fa8a8b56a8 | Chris | } |
| 139 | 37:94944d00e43c | chris | |
| 140 | 22:40f7cfd4df19 | chris | # For nice "roadmap" in the url for the index action
|
| 141 | map.connect 'projects/:project_id/roadmap', :controller => 'versions', :action => 'index' |
||
| 142 | 0:513646585e45 | Chris | |
| 143 | 37:94944d00e43c | chris | map.all_news 'news', :controller => 'news', :action => 'index' |
| 144 | map.formatted_all_news 'news.:format', :controller => 'news', :action => 'index' |
||
| 145 | map.preview_news '/news/preview', :controller => 'previews', :action => 'news' |
||
| 146 | map.connect 'news/:id/comments', :controller => 'comments', :action => 'create', :conditions => {:method => :post} |
||
| 147 | map.connect 'news/:id/comments/:comment_id', :controller => 'comments', :action => 'destroy', :conditions => {:method => :delete} |
||
| 148 | |||
| 149 | 22:40f7cfd4df19 | chris | map.resources :projects, :member => { |
| 150 | :copy => [:get, :post], |
||
| 151 | :settings => :get, |
||
| 152 | :modules => :post, |
||
| 153 | 351:ebf53b46f3f3 | chris | :overview => :post, |
| 154 | 22:40f7cfd4df19 | chris | :archive => :post, |
| 155 | :unarchive => :post |
||
| 156 | } do |project|
|
||
| 157 | project.resource :project_enumerations, :as => 'enumerations', :only => [:update, :destroy] |
||
| 158 | project.resources :files, :only => [:index, :new, :create] |
||
| 159 | 909:cbb26bc654de | Chris | project.resources :versions, :shallow => true, :collection => {:close_completed => :put}, :member => {:status_by => :post} |
| 160 | 37:94944d00e43c | chris | project.resources :news, :shallow => true |
| 161 | project.resources :time_entries, :controller => 'timelog', :path_prefix => 'projects/:project_id' |
||
| 162 | 909:cbb26bc654de | Chris | project.resources :queries, :only => [:new, :create] |
| 163 | project.resources :issue_categories, :shallow => true |
||
| 164 | 37:94944d00e43c | chris | |
| 165 | project.wiki_start_page 'wiki', :controller => 'wiki', :action => 'show', :conditions => {:method => :get} |
||
| 166 | project.wiki_index 'wiki/index', :controller => 'wiki', :action => 'index', :conditions => {:method => :get} |
||
| 167 | project.wiki_diff 'wiki/:id/diff/:version', :controller => 'wiki', :action => 'diff', :version => nil |
||
| 168 | project.wiki_diff 'wiki/:id/diff/:version/vs/:version_from', :controller => 'wiki', :action => 'diff' |
||
| 169 | project.wiki_annotate 'wiki/:id/annotate/:version', :controller => 'wiki', :action => 'annotate' |
||
| 170 | project.resources :wiki, :except => [:new, :create], :member => { |
||
| 171 | :rename => [:get, :post], |
||
| 172 | :history => :get, |
||
| 173 | :preview => :any, |
||
| 174 | :protect => :post, |
||
| 175 | :add_attachment => :post |
||
| 176 | }, :collection => {
|
||
| 177 | :export => :get, |
||
| 178 | :date_index => :get |
||
| 179 | } |
||
| 180 | |||
| 181 | 22:40f7cfd4df19 | chris | end
|
| 182 | 0:513646585e45 | Chris | |
| 183 | 22:40f7cfd4df19 | chris | # Destroy uses a get request to prompt the user before the actual DELETE request
|
| 184 | map.project_destroy_confirm 'projects/:id/destroy', :controller => 'projects', :action => 'destroy', :conditions => {:method => :get} |
||
| 185 | |||
| 186 | # TODO: port to be part of the resources route(s)
|
||
| 187 | map.with_options :controller => 'projects' do |project_mapper| |
||
| 188 | project_mapper.with_options :conditions => {:method => :get} do |project_views| |
||
| 189 | project_views.connect 'projects/:id/settings/:tab', :controller => 'projects', :action => 'settings' |
||
| 190 | project_views.connect 'projects/:project_id/issues/:copy_from/copy', :controller => 'issues', :action => 'new' |
||
| 191 | 0:513646585e45 | Chris | end
|
| 192 | end
|
||
| 193 | 909:cbb26bc654de | Chris | |
| 194 | 22:40f7cfd4df19 | chris | map.with_options :controller => 'activities', :action => 'index', :conditions => {:method => :get} do |activity| |
| 195 | activity.connect 'projects/:id/activity'
|
||
| 196 | activity.connect 'projects/:id/activity.:format'
|
||
| 197 | activity.connect 'activity', :id => nil |
||
| 198 | activity.connect 'activity.:format', :id => nil |
||
| 199 | 0:513646585e45 | Chris | end
|
| 200 | 22:40f7cfd4df19 | chris | |
| 201 | 0:513646585e45 | Chris | map.with_options :controller => 'repositories' do |repositories| |
| 202 | repositories.with_options :conditions => {:method => :get} do |repository_views| |
||
| 203 | repository_views.connect 'projects/:id/repository', :action => 'show' |
||
| 204 | repository_views.connect 'projects/:id/repository/edit', :action => 'edit' |
||
| 205 | repository_views.connect 'projects/:id/repository/statistics', :action => 'stats' |
||
| 206 | repository_views.connect 'projects/:id/repository/revisions', :action => 'revisions' |
||
| 207 | repository_views.connect 'projects/:id/repository/revisions.:format', :action => 'revisions' |
||
| 208 | repository_views.connect 'projects/:id/repository/revisions/:rev', :action => 'revision' |
||
| 209 | repository_views.connect 'projects/:id/repository/revisions/:rev/diff', :action => 'diff' |
||
| 210 | repository_views.connect 'projects/:id/repository/revisions/:rev/diff.:format', :action => 'diff' |
||
| 211 | repository_views.connect 'projects/:id/repository/revisions/:rev/raw/*path', :action => 'entry', :format => 'raw', :requirements => { :rev => /[a-z0-9\.\-_]+/ } |
||
| 212 | repository_views.connect 'projects/:id/repository/revisions/:rev/:action/*path', :requirements => { :rev => /[a-z0-9\.\-_]+/ } |
||
| 213 | repository_views.connect 'projects/:id/repository/raw/*path', :action => 'entry', :format => 'raw' |
||
| 214 | # TODO: why the following route is required?
|
||
| 215 | repository_views.connect 'projects/:id/repository/entry/*path', :action => 'entry' |
||
| 216 | repository_views.connect 'projects/:id/repository/:action/*path'
|
||
| 217 | end
|
||
| 218 | 909:cbb26bc654de | Chris | |
| 219 | 0:513646585e45 | Chris | repositories.connect 'projects/:id/repository/:action', :conditions => {:method => :post} |
| 220 | end
|
||
| 221 | |||
| 222 | 909:cbb26bc654de | Chris | map.resources :attachments, :only => [:show, :destroy] |
| 223 | # additional routes for having the file name at the end of url
|
||
| 224 | 0:513646585e45 | Chris | map.connect 'attachments/:id/:filename', :controller => 'attachments', :action => 'show', :id => /\d+/, :filename => /.*/ |
| 225 | map.connect 'attachments/download/:id/:filename', :controller => 'attachments', :action => 'download', :id => /\d+/, :filename => /.*/ |
||
| 226 | 909:cbb26bc654de | Chris | |
| 227 | map.resources :groups, :member => {:autocomplete_for_user => :get} |
||
| 228 | map.group_users 'groups/:id/users', :controller => 'groups', :action => 'add_users', :id => /\d+/, :conditions => {:method => :post} |
||
| 229 | map.group_user 'groups/:id/users/:user_id', :controller => 'groups', :action => 'remove_user', :id => /\d+/, :conditions => {:method => :delete} |
||
| 230 | |||
| 231 | map.resources :trackers, :except => :show |
||
| 232 | map.resources :issue_statuses, :except => :show, :collection => {:update_issue_done_ratio => :post} |
||
| 233 | |||
| 234 | 0:513646585e45 | Chris | #left old routes at the bottom for backwards compat
|
| 235 | map.connect 'projects/:project_id/issues/:action', :controller => 'issues' |
||
| 236 | 493:7a2bb9c5fb34 | chris | map.connect 'projects/:project_id/members/:action', :controller => 'members' |
| 237 | 0:513646585e45 | Chris | map.connect 'projects/:project_id/documents/:action', :controller => 'documents' |
| 238 | map.connect 'projects/:project_id/boards/:action/:id', :controller => 'boards' |
||
| 239 | map.connect 'boards/:board_id/topics/:action/:id', :controller => 'messages' |
||
| 240 | map.connect 'wiki/:id/:page/:action', :page => nil, :controller => 'wiki' |
||
| 241 | 909:cbb26bc654de | Chris | map.connect 'projects/:project_id/news/:action', :controller => 'news' |
| 242 | 0:513646585e45 | Chris | map.connect 'projects/:project_id/timelog/:action/:id', :controller => 'timelog', :project_id => /.+/ |
| 243 | map.with_options :controller => 'repositories' do |omap| |
||
| 244 | omap.repositories_show 'repositories/browse/:id/*path', :action => 'browse' |
||
| 245 | omap.repositories_changes 'repositories/changes/:id/*path', :action => 'changes' |
||
| 246 | omap.repositories_diff 'repositories/diff/:id/*path', :action => 'diff' |
||
| 247 | omap.repositories_entry 'repositories/entry/:id/*path', :action => 'entry' |
||
| 248 | omap.repositories_entry 'repositories/annotate/:id/*path', :action => 'annotate' |
||
| 249 | omap.connect 'repositories/revision/:id/:rev', :action => 'revision' |
||
| 250 | end
|
||
| 251 | 909:cbb26bc654de | Chris | |
| 252 | 0:513646585e45 | Chris | map.with_options :controller => 'sys' do |sys| |
| 253 | sys.connect 'sys/projects.:format', :action => 'projects', :conditions => {:method => :get} |
||
| 254 | sys.connect 'sys/projects/:id/repository.:format', :action => 'create_project_repository', :conditions => {:method => :post} |
||
| 255 | 437:102056ec2de9 | chris | sys.connect 'sys/projects/:id/external_repository.:format', :action => 'get_external_repo_url', :conditions => {:method => :get} |
| 256 | 218:292cde42265a | chris | sys.connect 'sys/projects/:id/embedded.:format', :action => 'set_embedded_active', :conditions => { :method => :post } |
| 257 | 437:102056ec2de9 | chris | sys.connect 'sys/projects/:id/repository_cache.:format', :action => 'clear_repository_cache', :conditions => {:method => :post} |
| 258 | 0:513646585e45 | Chris | end
|
| 259 | 909:cbb26bc654de | Chris | |
| 260 | 0:513646585e45 | Chris | # Install the default route as the lowest priority.
|
| 261 | map.connect ':controller/:action/:id'
|
||
| 262 | map.connect 'robots.txt', :controller => 'welcome', :action => 'robots' |
||
| 263 | # Used for OpenID
|
||
| 264 | map.root :controller => 'account', :action => 'login' |
||
| 265 | end |