##// END OF EJS Templates
Clean up watchers routes declaration....
Jean-Philippe Lang -
r11112:75129aaa1b12
parent child
Show More
@@ -1,347 +1,347
1 # Redmine - project management software
1 # Redmine - project management software
2 # Copyright (C) 2006-2013 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.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
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', :via => [:get, :post]
21 match 'login', :to => 'account#login', :as => 'signin', :via => [:get, :post]
22 match 'logout', :to => 'account#logout', :as => 'signout', :via => [:get, :post]
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', :via => [:get, :post, :put]
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', :via => [:get, :post, :put]
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', :via => [:get, :post, :put]
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', :via => [:get, :post, :put]
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], :as => 'new_board_message'
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', :as => 'preview_board_message'
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', :via => [:get, :post]
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', :via => :get
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 get '/projects/:project_id/issues/gantt', :to => 'gantts#show', :as => 'project_gantt'
54 get '/projects/:project_id/issues/gantt', :to => 'gantts#show', :as => 'project_gantt'
55 get '/issues/gantt', :to => 'gantts#show'
55 get '/issues/gantt', :to => 'gantts#show'
56
56
57 get '/projects/:project_id/issues/calendar', :to => 'calendars#show', :as => 'project_calendar'
57 get '/projects/:project_id/issues/calendar', :to => 'calendars#show', :as => 'project_calendar'
58 get '/issues/calendar', :to => 'calendars#show'
58 get '/issues/calendar', :to => 'calendars#show'
59
59
60 get 'projects/:id/issues/report', :to => 'reports#issue_report', :as => 'project_issues_report'
60 get 'projects/:id/issues/report', :to => 'reports#issue_report', :as => 'project_issues_report'
61 get 'projects/:id/issues/report/:detail', :to => 'reports#issue_report_details', :as => 'project_issues_report_details'
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
67 match 'my/reset_rss_key', :controller => 'my', :action => 'reset_rss_key', :via => :post
67 match 'my/reset_rss_key', :controller => 'my', :action => 'reset_rss_key', :via => :post
68 match 'my/reset_api_key', :controller => 'my', :action => 'reset_api_key', :via => :post
68 match 'my/reset_api_key', :controller => 'my', :action => 'reset_api_key', :via => :post
69 match 'my/password', :controller => 'my', :action => 'password', :via => [:get, :post]
69 match 'my/password', :controller => 'my', :action => 'password', :via => [:get, :post]
70 match 'my/page_layout', :controller => 'my', :action => 'page_layout', :via => :get
70 match 'my/page_layout', :controller => 'my', :action => 'page_layout', :via => :get
71 match 'my/add_block', :controller => 'my', :action => 'add_block', :via => :post
71 match 'my/add_block', :controller => 'my', :action => 'add_block', :via => :post
72 match 'my/remove_block', :controller => 'my', :action => 'remove_block', :via => :post
72 match 'my/remove_block', :controller => 'my', :action => 'remove_block', :via => :post
73 match 'my/order_blocks', :controller => 'my', :action => 'order_blocks', :via => :post
73 match 'my/order_blocks', :controller => 'my', :action => 'order_blocks', :via => :post
74
74
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 get 'watchers/new', :to => 'watchers#new'
81 match 'watchers', :controller=> 'watchers', :action => 'create', :via => :post
81 post 'watchers', :to => 'watchers#create'
82 match 'watchers/append', :controller=> 'watchers', :action => 'append', :via => :post
82 post 'watchers/append', :to => 'watchers#append'
83 match 'watchers/destroy', :controller=> 'watchers', :action => 'destroy', :via => :post
83 post 'watchers/destroy', :to => 'watchers#destroy'
84 match 'watchers/watch', :controller=> 'watchers', :action => 'watch', :via => :post
84 post 'watchers/watch', :to => 'watchers#watch'
85 match 'watchers/unwatch', :controller=> 'watchers', :action => 'unwatch', :via => :post
85 post 'watchers/unwatch', :to => 'watchers#unwatch'
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 # Specific routes for issue watchers API
87 # Specific routes for issue watchers API
88 post 'issues/:object_id/watchers', :to => 'watchers#create', :object_type => 'issue'
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 delete 'issues/:object_id/watchers/:user_id' => 'watchers#destroy', :object_type => 'issue'
90
90
91 resources :projects do
91 resources :projects do
92 member do
92 member do
93 get 'settings(/:tab)', :action => 'settings', :as => 'settings'
93 get 'settings(/:tab)', :action => 'settings', :as => 'settings'
94 post 'modules'
94 post 'modules'
95 post 'archive'
95 post 'archive'
96 post 'unarchive'
96 post 'unarchive'
97 post 'close'
97 post 'close'
98 post 'reopen'
98 post 'reopen'
99 match 'copy', :via => [:get, :post]
99 match 'copy', :via => [:get, :post]
100 end
100 end
101
101
102 resources :memberships, :shallow => true, :controller => 'members', :only => [:index, :show, :new, :create, :update, :destroy] do
102 resources :memberships, :shallow => true, :controller => 'members', :only => [:index, :show, :new, :create, :update, :destroy] do
103 collection do
103 collection do
104 get 'autocomplete'
104 get 'autocomplete'
105 end
105 end
106 end
106 end
107
107
108 resource :enumerations, :controller => 'project_enumerations', :only => [:update, :destroy]
108 resource :enumerations, :controller => 'project_enumerations', :only => [:update, :destroy]
109
109
110 get 'issues/:copy_from/copy', :to => 'issues#new', :as => 'copy_issue'
110 get 'issues/:copy_from/copy', :to => 'issues#new', :as => 'copy_issue'
111 resources :issues, :only => [:index, :new, :create] do
111 resources :issues, :only => [:index, :new, :create] do
112 resources :time_entries, :controller => 'timelog' do
112 resources :time_entries, :controller => 'timelog' do
113 collection do
113 collection do
114 get 'report'
114 get 'report'
115 end
115 end
116 end
116 end
117 end
117 end
118 # issue form update
118 # issue form update
119 match 'issues/new', :controller => 'issues', :action => 'new', :via => [:put, :post], :as => 'issue_form'
119 match 'issues/new', :controller => 'issues', :action => 'new', :via => [:put, :post], :as => 'issue_form'
120
120
121 resources :files, :only => [:index, :new, :create]
121 resources :files, :only => [:index, :new, :create]
122
122
123 resources :versions, :except => [:index, :show, :edit, :update, :destroy] do
123 resources :versions, :except => [:index, :show, :edit, :update, :destroy] do
124 collection do
124 collection do
125 put 'close_completed'
125 put 'close_completed'
126 end
126 end
127 end
127 end
128 get 'versions.:format', :to => 'versions#index'
128 get 'versions.:format', :to => 'versions#index'
129 get 'roadmap', :to => 'versions#index', :format => false
129 get 'roadmap', :to => 'versions#index', :format => false
130 get 'versions', :to => 'versions#index'
130 get 'versions', :to => 'versions#index'
131
131
132 resources :news, :except => [:show, :edit, :update, :destroy]
132 resources :news, :except => [:show, :edit, :update, :destroy]
133 resources :time_entries, :controller => 'timelog' do
133 resources :time_entries, :controller => 'timelog' do
134 get 'report', :on => :collection
134 get 'report', :on => :collection
135 end
135 end
136 resources :queries, :only => [:new, :create]
136 resources :queries, :only => [:new, :create]
137 resources :issue_categories, :shallow => true
137 resources :issue_categories, :shallow => true
138 resources :documents, :except => [:show, :edit, :update, :destroy]
138 resources :documents, :except => [:show, :edit, :update, :destroy]
139 resources :boards
139 resources :boards
140 resources :repositories, :shallow => true, :except => [:index, :show] do
140 resources :repositories, :shallow => true, :except => [:index, :show] do
141 member do
141 member do
142 match 'committers', :via => [:get, :post]
142 match 'committers', :via => [:get, :post]
143 end
143 end
144 end
144 end
145
145
146 match 'wiki/index', :controller => 'wiki', :action => 'index', :via => :get
146 match 'wiki/index', :controller => 'wiki', :action => 'index', :via => :get
147 resources :wiki, :except => [:index, :new, :create], :as => 'wiki_page' do
147 resources :wiki, :except => [:index, :new, :create], :as => 'wiki_page' do
148 member do
148 member do
149 get 'rename'
149 get 'rename'
150 post 'rename'
150 post 'rename'
151 get 'history'
151 get 'history'
152 get 'diff'
152 get 'diff'
153 match 'preview', :via => [:post, :put]
153 match 'preview', :via => [:post, :put]
154 post 'protect'
154 post 'protect'
155 post 'add_attachment'
155 post 'add_attachment'
156 end
156 end
157 collection do
157 collection do
158 get 'export'
158 get 'export'
159 get 'date_index'
159 get 'date_index'
160 end
160 end
161 end
161 end
162 match 'wiki', :controller => 'wiki', :action => 'show', :via => :get
162 match 'wiki', :controller => 'wiki', :action => 'show', :via => :get
163 get 'wiki/:id/:version', :to => 'wiki#show', :constraints => {:version => /\d+/}
163 get 'wiki/:id/:version', :to => 'wiki#show', :constraints => {:version => /\d+/}
164 delete 'wiki/:id/:version', :to => 'wiki#destroy_version'
164 delete 'wiki/:id/:version', :to => 'wiki#destroy_version'
165 get 'wiki/:id/:version/annotate', :to => 'wiki#annotate'
165 get 'wiki/:id/:version/annotate', :to => 'wiki#annotate'
166 get 'wiki/:id/:version/diff', :to => 'wiki#diff'
166 get 'wiki/:id/:version/diff', :to => 'wiki#diff'
167 end
167 end
168
168
169 resources :issues do
169 resources :issues do
170 collection do
170 collection do
171 match 'bulk_edit', :via => [:get, :post]
171 match 'bulk_edit', :via => [:get, :post]
172 post 'bulk_update'
172 post 'bulk_update'
173 end
173 end
174 resources :time_entries, :controller => 'timelog' do
174 resources :time_entries, :controller => 'timelog' do
175 collection do
175 collection do
176 get 'report'
176 get 'report'
177 end
177 end
178 end
178 end
179 resources :relations, :shallow => true, :controller => 'issue_relations', :only => [:index, :show, :create, :destroy]
179 resources :relations, :shallow => true, :controller => 'issue_relations', :only => [:index, :show, :create, :destroy]
180 end
180 end
181 match '/issues', :controller => 'issues', :action => 'destroy', :via => :delete
181 match '/issues', :controller => 'issues', :action => 'destroy', :via => :delete
182
182
183 resources :queries, :except => [:show]
183 resources :queries, :except => [:show]
184
184
185 resources :news, :only => [:index, :show, :edit, :update, :destroy]
185 resources :news, :only => [:index, :show, :edit, :update, :destroy]
186 match '/news/:id/comments', :to => 'comments#create', :via => :post
186 match '/news/:id/comments', :to => 'comments#create', :via => :post
187 match '/news/:id/comments/:comment_id', :to => 'comments#destroy', :via => :delete
187 match '/news/:id/comments/:comment_id', :to => 'comments#destroy', :via => :delete
188
188
189 resources :versions, :only => [:show, :edit, :update, :destroy] do
189 resources :versions, :only => [:show, :edit, :update, :destroy] do
190 post 'status_by', :on => :member
190 post 'status_by', :on => :member
191 end
191 end
192
192
193 resources :documents, :only => [:show, :edit, :update, :destroy] do
193 resources :documents, :only => [:show, :edit, :update, :destroy] do
194 post 'add_attachment', :on => :member
194 post 'add_attachment', :on => :member
195 end
195 end
196
196
197 match '/time_entries/context_menu', :to => 'context_menus#time_entries', :as => :time_entries_context_menu, :via => [:get, :post]
197 match '/time_entries/context_menu', :to => 'context_menus#time_entries', :as => :time_entries_context_menu, :via => [:get, :post]
198
198
199 resources :time_entries, :controller => 'timelog', :except => :destroy do
199 resources :time_entries, :controller => 'timelog', :except => :destroy do
200 collection do
200 collection do
201 get 'report'
201 get 'report'
202 get 'bulk_edit'
202 get 'bulk_edit'
203 post 'bulk_update'
203 post 'bulk_update'
204 end
204 end
205 end
205 end
206 match '/time_entries/:id', :to => 'timelog#destroy', :via => :delete, :id => /\d+/
206 match '/time_entries/:id', :to => 'timelog#destroy', :via => :delete, :id => /\d+/
207 # TODO: delete /time_entries for bulk deletion
207 # TODO: delete /time_entries for bulk deletion
208 match '/time_entries/destroy', :to => 'timelog#destroy', :via => :delete
208 match '/time_entries/destroy', :to => 'timelog#destroy', :via => :delete
209
209
210 get 'projects/:id/activity', :to => 'activities#index'
210 get 'projects/:id/activity', :to => 'activities#index'
211 get 'projects/:id/activity.:format', :to => 'activities#index'
211 get 'projects/:id/activity.:format', :to => 'activities#index'
212 get 'activity', :to => 'activities#index'
212 get 'activity', :to => 'activities#index'
213
213
214 # repositories routes
214 # repositories routes
215 get 'projects/:id/repository/:repository_id/statistics', :to => 'repositories#stats'
215 get 'projects/:id/repository/:repository_id/statistics', :to => 'repositories#stats'
216 get 'projects/:id/repository/:repository_id/graph', :to => 'repositories#graph'
216 get 'projects/:id/repository/:repository_id/graph', :to => 'repositories#graph'
217
217
218 get 'projects/:id/repository/:repository_id/changes(/*path(.:ext))',
218 get 'projects/:id/repository/:repository_id/changes(/*path(.:ext))',
219 :to => 'repositories#changes'
219 :to => 'repositories#changes'
220
220
221 get 'projects/:id/repository/:repository_id/revisions/:rev', :to => 'repositories#revision'
221 get 'projects/:id/repository/:repository_id/revisions/:rev', :to => 'repositories#revision'
222 get 'projects/:id/repository/:repository_id/revision', :to => 'repositories#revision'
222 get 'projects/:id/repository/:repository_id/revision', :to => 'repositories#revision'
223 post 'projects/:id/repository/:repository_id/revisions/:rev/issues', :to => 'repositories#add_related_issue'
223 post 'projects/:id/repository/:repository_id/revisions/:rev/issues', :to => 'repositories#add_related_issue'
224 delete 'projects/:id/repository/:repository_id/revisions/:rev/issues/:issue_id', :to => 'repositories#remove_related_issue'
224 delete 'projects/:id/repository/:repository_id/revisions/:rev/issues/:issue_id', :to => 'repositories#remove_related_issue'
225 get 'projects/:id/repository/:repository_id/revisions', :to => 'repositories#revisions'
225 get 'projects/:id/repository/:repository_id/revisions', :to => 'repositories#revisions'
226 get 'projects/:id/repository/:repository_id/revisions/:rev/:action(/*path(.:ext))',
226 get 'projects/:id/repository/:repository_id/revisions/:rev/:action(/*path(.:ext))',
227 :controller => 'repositories',
227 :controller => 'repositories',
228 :format => false,
228 :format => false,
229 :constraints => {
229 :constraints => {
230 :action => /(browse|show|entry|raw|annotate|diff)/,
230 :action => /(browse|show|entry|raw|annotate|diff)/,
231 :rev => /[a-z0-9\.\-_]+/
231 :rev => /[a-z0-9\.\-_]+/
232 }
232 }
233
233
234 get 'projects/:id/repository/statistics', :to => 'repositories#stats'
234 get 'projects/:id/repository/statistics', :to => 'repositories#stats'
235 get 'projects/:id/repository/graph', :to => 'repositories#graph'
235 get 'projects/:id/repository/graph', :to => 'repositories#graph'
236
236
237 get 'projects/:id/repository/changes(/*path(.:ext))',
237 get 'projects/:id/repository/changes(/*path(.:ext))',
238 :to => 'repositories#changes'
238 :to => 'repositories#changes'
239
239
240 get 'projects/:id/repository/revisions', :to => 'repositories#revisions'
240 get 'projects/:id/repository/revisions', :to => 'repositories#revisions'
241 get 'projects/:id/repository/revisions/:rev', :to => 'repositories#revision'
241 get 'projects/:id/repository/revisions/:rev', :to => 'repositories#revision'
242 get 'projects/:id/repository/revision', :to => 'repositories#revision'
242 get 'projects/:id/repository/revision', :to => 'repositories#revision'
243 post 'projects/:id/repository/revisions/:rev/issues', :to => 'repositories#add_related_issue'
243 post 'projects/:id/repository/revisions/:rev/issues', :to => 'repositories#add_related_issue'
244 delete 'projects/:id/repository/revisions/:rev/issues/:issue_id', :to => 'repositories#remove_related_issue'
244 delete 'projects/:id/repository/revisions/:rev/issues/:issue_id', :to => 'repositories#remove_related_issue'
245 get 'projects/:id/repository/revisions/:rev/:action(/*path(.:ext))',
245 get 'projects/:id/repository/revisions/:rev/:action(/*path(.:ext))',
246 :controller => 'repositories',
246 :controller => 'repositories',
247 :format => false,
247 :format => false,
248 :constraints => {
248 :constraints => {
249 :action => /(browse|show|entry|raw|annotate|diff)/,
249 :action => /(browse|show|entry|raw|annotate|diff)/,
250 :rev => /[a-z0-9\.\-_]+/
250 :rev => /[a-z0-9\.\-_]+/
251 }
251 }
252 get 'projects/:id/repository/:repository_id/:action(/*path(.:ext))',
252 get 'projects/:id/repository/:repository_id/:action(/*path(.:ext))',
253 :controller => 'repositories',
253 :controller => 'repositories',
254 :action => /(browse|show|entry|raw|changes|annotate|diff)/
254 :action => /(browse|show|entry|raw|changes|annotate|diff)/
255 get 'projects/:id/repository/:action(/*path(.:ext))',
255 get 'projects/:id/repository/:action(/*path(.:ext))',
256 :controller => 'repositories',
256 :controller => 'repositories',
257 :action => /(browse|show|entry|raw|changes|annotate|diff)/
257 :action => /(browse|show|entry|raw|changes|annotate|diff)/
258
258
259 get 'projects/:id/repository/:repository_id', :to => 'repositories#show', :path => nil
259 get 'projects/:id/repository/:repository_id', :to => 'repositories#show', :path => nil
260 get 'projects/:id/repository', :to => 'repositories#show', :path => nil
260 get 'projects/:id/repository', :to => 'repositories#show', :path => nil
261
261
262 # additional routes for having the file name at the end of url
262 # additional routes for having the file name at the end of url
263 get 'attachments/:id/:filename', :to => 'attachments#show', :id => /\d+/, :filename => /.*/, :as => 'named_attachment'
263 get 'attachments/:id/:filename', :to => 'attachments#show', :id => /\d+/, :filename => /.*/, :as => 'named_attachment'
264 get 'attachments/download/:id/:filename', :to => 'attachments#download', :id => /\d+/, :filename => /.*/, :as => 'download_named_attachment'
264 get 'attachments/download/:id/:filename', :to => 'attachments#download', :id => /\d+/, :filename => /.*/, :as => 'download_named_attachment'
265 get 'attachments/download/:id', :to => 'attachments#download', :id => /\d+/
265 get 'attachments/download/:id', :to => 'attachments#download', :id => /\d+/
266 get 'attachments/thumbnail/:id(/:size)', :to => 'attachments#thumbnail', :id => /\d+/, :size => /\d+/, :as => 'thumbnail'
266 get 'attachments/thumbnail/:id(/:size)', :to => 'attachments#thumbnail', :id => /\d+/, :size => /\d+/, :as => 'thumbnail'
267 resources :attachments, :only => [:show, :destroy]
267 resources :attachments, :only => [:show, :destroy]
268
268
269 resources :groups do
269 resources :groups do
270 member do
270 member do
271 get 'autocomplete_for_user'
271 get 'autocomplete_for_user'
272 end
272 end
273 end
273 end
274
274
275 match 'groups/:id/users', :controller => 'groups', :action => 'add_users', :id => /\d+/, :via => :post, :as => 'group_users'
275 match 'groups/:id/users', :controller => 'groups', :action => 'add_users', :id => /\d+/, :via => :post, :as => 'group_users'
276 match 'groups/:id/users/:user_id', :controller => 'groups', :action => 'remove_user', :id => /\d+/, :via => :delete, :as => 'group_user'
276 match 'groups/:id/users/:user_id', :controller => 'groups', :action => 'remove_user', :id => /\d+/, :via => :delete, :as => 'group_user'
277 match 'groups/destroy_membership/:id', :controller => 'groups', :action => 'destroy_membership', :id => /\d+/, :via => :post
277 match 'groups/destroy_membership/:id', :controller => 'groups', :action => 'destroy_membership', :id => /\d+/, :via => :post
278 match 'groups/edit_membership/:id', :controller => 'groups', :action => 'edit_membership', :id => /\d+/, :via => :post
278 match 'groups/edit_membership/:id', :controller => 'groups', :action => 'edit_membership', :id => /\d+/, :via => :post
279
279
280 resources :trackers, :except => :show do
280 resources :trackers, :except => :show do
281 collection do
281 collection do
282 match 'fields', :via => [:get, :post]
282 match 'fields', :via => [:get, :post]
283 end
283 end
284 end
284 end
285 resources :issue_statuses, :except => :show do
285 resources :issue_statuses, :except => :show do
286 collection do
286 collection do
287 post 'update_issue_done_ratio'
287 post 'update_issue_done_ratio'
288 end
288 end
289 end
289 end
290 resources :custom_fields, :except => :show
290 resources :custom_fields, :except => :show
291 resources :roles do
291 resources :roles do
292 collection do
292 collection do
293 match 'permissions', :via => [:get, :post]
293 match 'permissions', :via => [:get, :post]
294 end
294 end
295 end
295 end
296 resources :enumerations, :except => :show
296 resources :enumerations, :except => :show
297 match 'enumerations/:type', :to => 'enumerations#index', :via => :get
297 match 'enumerations/:type', :to => 'enumerations#index', :via => :get
298
298
299 get 'projects/:id/search', :controller => 'search', :action => 'index'
299 get 'projects/:id/search', :controller => 'search', :action => 'index'
300 get 'search', :controller => 'search', :action => 'index'
300 get 'search', :controller => 'search', :action => 'index'
301
301
302 match 'mail_handler', :controller => 'mail_handler', :action => 'index', :via => :post
302 match 'mail_handler', :controller => 'mail_handler', :action => 'index', :via => :post
303
303
304 match 'admin', :controller => 'admin', :action => 'index', :via => :get
304 match 'admin', :controller => 'admin', :action => 'index', :via => :get
305 match 'admin/projects', :controller => 'admin', :action => 'projects', :via => :get
305 match 'admin/projects', :controller => 'admin', :action => 'projects', :via => :get
306 match 'admin/plugins', :controller => 'admin', :action => 'plugins', :via => :get
306 match 'admin/plugins', :controller => 'admin', :action => 'plugins', :via => :get
307 match 'admin/info', :controller => 'admin', :action => 'info', :via => :get
307 match 'admin/info', :controller => 'admin', :action => 'info', :via => :get
308 match 'admin/test_email', :controller => 'admin', :action => 'test_email', :via => :get
308 match 'admin/test_email', :controller => 'admin', :action => 'test_email', :via => :get
309 match 'admin/default_configuration', :controller => 'admin', :action => 'default_configuration', :via => :post
309 match 'admin/default_configuration', :controller => 'admin', :action => 'default_configuration', :via => :post
310
310
311 resources :auth_sources do
311 resources :auth_sources do
312 member do
312 member do
313 get 'test_connection', :as => 'try_connection'
313 get 'test_connection', :as => 'try_connection'
314 end
314 end
315 collection do
315 collection do
316 get 'autocomplete_for_new_user'
316 get 'autocomplete_for_new_user'
317 end
317 end
318 end
318 end
319
319
320 match 'workflows', :controller => 'workflows', :action => 'index', :via => :get
320 match 'workflows', :controller => 'workflows', :action => 'index', :via => :get
321 match 'workflows/edit', :controller => 'workflows', :action => 'edit', :via => [:get, :post]
321 match 'workflows/edit', :controller => 'workflows', :action => 'edit', :via => [:get, :post]
322 match 'workflows/permissions', :controller => 'workflows', :action => 'permissions', :via => [:get, :post]
322 match 'workflows/permissions', :controller => 'workflows', :action => 'permissions', :via => [:get, :post]
323 match 'workflows/copy', :controller => 'workflows', :action => 'copy', :via => [:get, :post]
323 match 'workflows/copy', :controller => 'workflows', :action => 'copy', :via => [:get, :post]
324 match 'settings', :controller => 'settings', :action => 'index', :via => :get
324 match 'settings', :controller => 'settings', :action => 'index', :via => :get
325 match 'settings/edit', :controller => 'settings', :action => 'edit', :via => [:get, :post]
325 match 'settings/edit', :controller => 'settings', :action => 'edit', :via => [:get, :post]
326 match 'settings/plugin/:id', :controller => 'settings', :action => 'plugin', :via => [:get, :post], :as => 'plugin_settings'
326 match 'settings/plugin/:id', :controller => 'settings', :action => 'plugin', :via => [:get, :post], :as => 'plugin_settings'
327
327
328 match 'sys/projects', :to => 'sys#projects', :via => :get
328 match 'sys/projects', :to => 'sys#projects', :via => :get
329 match 'sys/projects/:id/repository', :to => 'sys#create_project_repository', :via => :post
329 match 'sys/projects/:id/repository', :to => 'sys#create_project_repository', :via => :post
330 match 'sys/fetch_changesets', :to => 'sys#fetch_changesets', :via => :get
330 match 'sys/fetch_changesets', :to => 'sys#fetch_changesets', :via => :get
331
331
332 match 'uploads', :to => 'attachments#upload', :via => :post
332 match 'uploads', :to => 'attachments#upload', :via => :post
333
333
334 get 'robots.txt', :to => 'welcome#robots'
334 get 'robots.txt', :to => 'welcome#robots'
335
335
336 Dir.glob File.expand_path("plugins/*", Rails.root) do |plugin_dir|
336 Dir.glob File.expand_path("plugins/*", Rails.root) do |plugin_dir|
337 file = File.join(plugin_dir, "config/routes.rb")
337 file = File.join(plugin_dir, "config/routes.rb")
338 if File.exists?(file)
338 if File.exists?(file)
339 begin
339 begin
340 instance_eval File.read(file)
340 instance_eval File.read(file)
341 rescue Exception => e
341 rescue Exception => e
342 puts "An error occurred while loading the routes definition of #{File.basename(plugin_dir)} plugin (#{file}): #{e.message}."
342 puts "An error occurred while loading the routes definition of #{File.basename(plugin_dir)} plugin (#{file}): #{e.message}."
343 exit 1
343 exit 1
344 end
344 end
345 end
345 end
346 end
346 end
347 end
347 end
General Comments 0
You need to be logged in to leave comments. Login now