comparison config/.svn/text-base/routes.rb.svn-base @ 22:40f7cfd4df19

* Update to SVN trunk rev 4173
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Fri, 24 Sep 2010 14:06:04 +0100
parents 1d32c0a0efbf
children 94944d00e43c
comparison
equal deleted inserted replaced
14:1d32c0a0efbf 22:40f7cfd4df19
102 document_actions.connect 'documents/:id/:action', :action => /destroy|edit/ 102 document_actions.connect 'documents/:id/:action', :action => /destroy|edit/
103 end 103 end
104 end 104 end
105 105
106 map.resources :issue_moves, :only => [:new, :create], :path_prefix => '/issues', :as => 'move' 106 map.resources :issue_moves, :only => [:new, :create], :path_prefix => '/issues', :as => 'move'
107
108 # Misc issue routes. TODO: move into resources
107 map.auto_complete_issues '/issues/auto_complete', :controller => 'auto_completes', :action => 'issues' 109 map.auto_complete_issues '/issues/auto_complete', :controller => 'auto_completes', :action => 'issues'
108 # TODO: would look nicer as /issues/:id/preview 110 map.preview_issue '/issues/preview/:id', :controller => 'previews', :action => 'issue' # TODO: would look nicer as /issues/:id/preview
109 map.preview_issue '/issues/preview/:id', :controller => 'previews', :action => 'issue'
110 map.issues_context_menu '/issues/context_menu', :controller => 'context_menus', :action => 'issues' 111 map.issues_context_menu '/issues/context_menu', :controller => 'context_menus', :action => 'issues'
111 map.issue_changes '/issues/changes', :controller => 'journals', :action => 'index' 112 map.issue_changes '/issues/changes', :controller => 'journals', :action => 'index'
112 113 map.bulk_edit_issue 'issues/bulk_edit', :controller => 'issues', :action => 'bulk_edit', :conditions => { :method => :get }
113 map.with_options :controller => 'issues' do |issues_routes| 114 map.bulk_update_issue 'issues/bulk_edit', :controller => 'issues', :action => 'bulk_update', :conditions => { :method => :post }
114 issues_routes.with_options :conditions => {:method => :get} do |issues_views| 115 map.quoted_issue '/issues/:id/quoted', :controller => 'journals', :action => 'new', :id => /\d+/, :conditions => { :method => :post }
115 issues_views.connect 'issues', :action => 'index' 116 map.connect '/issues/:id/destroy', :controller => 'issues', :action => 'destroy', :conditions => { :method => :post } # legacy
116 issues_views.connect 'issues.:format', :action => 'index' 117
117 issues_views.connect 'projects/:project_id/issues', :action => 'index' 118 map.resource :gantt, :path_prefix => '/issues', :controller => 'gantts', :only => [:show, :update]
118 issues_views.connect 'projects/:project_id/issues.:format', :action => 'index' 119 map.resource :gantt, :path_prefix => '/projects/:project_id/issues', :controller => 'gantts', :only => [:show, :update]
119 issues_views.connect 'projects/:project_id/issues/new', :action => 'new' 120 map.resource :calendar, :path_prefix => '/issues', :controller => 'calendars', :only => [:show, :update]
120 issues_views.connect 'projects/:project_id/issues/gantt', :controller => 'gantts', :action => 'show' 121 map.resource :calendar, :path_prefix => '/projects/:project_id/issues', :controller => 'calendars', :only => [:show, :update]
121 issues_views.connect 'projects/:project_id/issues/calendar', :controller => 'calendars', :action => 'show' 122
122 issues_views.connect 'projects/:project_id/issues/:copy_from/copy', :action => 'new' 123 map.with_options :controller => 'reports', :conditions => {:method => :get} do |reports|
123 issues_views.connect 'issues/:id', :action => 'show', :id => /\d+/ 124 reports.connect 'projects/:id/issues/report', :action => 'issue_report'
124 issues_views.connect 'issues/:id.:format', :action => 'show', :id => /\d+/ 125 reports.connect 'projects/:id/issues/report/:detail', :action => 'issue_report_details'
125 issues_views.connect 'issues/:id/edit', :action => 'edit', :id => /\d+/ 126 end
126 end 127
127 issues_routes.with_options :conditions => {:method => :post} do |issues_actions| 128 # Following two routes conflict with the resources because #index allows POST
128 issues_actions.connect 'issues', :action => 'index' 129 map.connect '/issues', :controller => 'issues', :action => 'index', :conditions => { :method => :post }
129 issues_actions.connect 'projects/:project_id/issues', :action => 'create' 130 map.connect '/issues/create', :controller => 'issues', :action => 'index', :conditions => { :method => :post }
130 issues_actions.connect 'projects/:project_id/issues/gantt', :controller => 'gantts', :action => 'show' 131
131 issues_actions.connect 'projects/:project_id/issues/calendar', :controller => 'calendars', :action => 'show' 132 map.resources :issues, :member => { :edit => :post }, :collection => {}
132 issues_actions.connect 'issues/:id/quoted', :controller => 'journals', :action => 'new', :id => /\d+/ 133 map.resources :issues, :path_prefix => '/projects/:project_id', :collection => { :create => :post }
133 issues_actions.connect 'issues/:id/:action', :action => /edit|destroy/, :id => /\d+/
134 issues_actions.connect 'issues.:format', :action => 'create', :format => /xml/
135 issues_actions.connect 'issues/bulk_edit', :action => 'bulk_update'
136 end
137 issues_routes.with_options :conditions => {:method => :put} do |issues_actions|
138 issues_actions.connect 'issues/:id/edit', :action => 'update', :id => /\d+/
139 issues_actions.connect 'issues/:id.:format', :action => 'update', :id => /\d+/, :format => /xml/
140 end
141 issues_routes.with_options :conditions => {:method => :delete} do |issues_actions|
142 issues_actions.connect 'issues/:id.:format', :action => 'destroy', :id => /\d+/, :format => /xml/
143 end
144 issues_routes.connect 'issues/gantt', :controller => 'gantts', :action => 'show'
145 issues_routes.connect 'issues/calendar', :controller => 'calendars', :action => 'show'
146 issues_routes.connect 'issues/:action'
147 end
148 134
149 map.with_options :controller => 'issue_relations', :conditions => {:method => :post} do |relations| 135 map.with_options :controller => 'issue_relations', :conditions => {:method => :post} do |relations|
150 relations.connect 'issues/:issue_id/relations/:id', :action => 'new' 136 relations.connect 'issues/:issue_id/relations/:id', :action => 'new'
151 relations.connect 'issues/:issue_id/relations/:id/destroy', :action => 'destroy' 137 relations.connect 'issues/:issue_id/relations/:id/destroy', :action => 'destroy'
152 end
153
154 map.with_options :controller => 'reports', :conditions => {:method => :get} do |reports|
155 reports.connect 'projects/:id/issues/report', :action => 'issue_report'
156 reports.connect 'projects/:id/issues/report/:detail', :action => 'issue_report_details'
157 end 138 end
158 139
159 map.with_options :controller => 'news' do |news_routes| 140 map.with_options :controller => 'news' do |news_routes|
160 news_routes.with_options :conditions => {:method => :get} do |news_views| 141 news_routes.with_options :conditions => {:method => :get} do |news_views|
161 news_views.connect 'news', :action => 'index' 142 news_views.connect 'news', :action => 'index'
165 news_views.connect 'projects/:project_id/news/new', :action => 'new' 146 news_views.connect 'projects/:project_id/news/new', :action => 'new'
166 news_views.connect 'news/:id', :action => 'show' 147 news_views.connect 'news/:id', :action => 'show'
167 news_views.connect 'news/:id/edit', :action => 'edit' 148 news_views.connect 'news/:id/edit', :action => 'edit'
168 end 149 end
169 news_routes.with_options do |news_actions| 150 news_routes.with_options do |news_actions|
170 news_actions.connect 'projects/:project_id/news', :action => 'new' 151 news_actions.connect 'projects/:project_id/news', :action => 'create', :conditions => {:method => :post}
171 news_actions.connect 'news/:id/edit', :action => 'edit'
172 news_actions.connect 'news/:id/destroy', :action => 'destroy' 152 news_actions.connect 'news/:id/destroy', :action => 'destroy'
173 end 153 end
154 news_routes.connect 'news/:id/edit', :action => 'update', :conditions => {:method => :put}
155
156 news_routes.connect 'news/:id/comments', :controller => 'comments', :action => 'create', :conditions => {:method => :post}
157 news_routes.connect 'news/:id/comments/:comment_id', :controller => 'comments', :action => 'destroy', :conditions => {:method => :delete}
174 end 158 end
175 159
176 map.connect 'projects/:id/members/new', :controller => 'members', :action => 'new' 160 map.connect 'projects/:id/members/new', :controller => 'members', :action => 'new'
177 161
178 map.with_options :controller => 'users' do |users| 162 map.with_options :controller => 'users' do |users|
189 user_actions.connect 'users/:id/memberships', :action => 'edit_membership' 173 user_actions.connect 'users/:id/memberships', :action => 'edit_membership'
190 user_actions.connect 'users/:id/memberships/:membership_id', :action => 'edit_membership' 174 user_actions.connect 'users/:id/memberships/:membership_id', :action => 'edit_membership'
191 user_actions.connect 'users/:id/memberships/:membership_id/destroy', :action => 'destroy_membership' 175 user_actions.connect 'users/:id/memberships/:membership_id/destroy', :action => 'destroy_membership'
192 end 176 end
193 end 177 end
194 178
195 map.with_options :controller => 'projects' do |projects| 179 # For nice "roadmap" in the url for the index action
196 projects.with_options :conditions => {:method => :get} do |project_views| 180 map.connect 'projects/:project_id/roadmap', :controller => 'versions', :action => 'index'
197 project_views.connect 'projects', :action => 'index' 181
198 project_views.connect 'projects.:format', :action => 'index' 182 map.resources :projects, :member => {
199 project_views.connect 'projects/new', :action => 'add' 183 :copy => [:get, :post],
200 project_views.connect 'projects/:id', :action => 'show' 184 :settings => :get,
201 project_views.connect 'projects/:id.:format', :action => 'show' 185 :modules => :post,
202 project_views.connect 'projects/:id/:action', :action => /roadmap|destroy|settings/ 186 :archive => :post,
203 project_views.connect 'projects/:id/files', :action => 'list_files' 187 :unarchive => :post
204 project_views.connect 'projects/:id/files/new', :action => 'add_file' 188 } do |project|
205 project_views.connect 'projects/:id/settings/:tab', :action => 'settings' 189 project.resource :project_enumerations, :as => 'enumerations', :only => [:update, :destroy]
206 end 190 project.resources :files, :only => [:index, :new, :create]
207 191 project.resources :versions, :collection => {:close_completed => :put}, :member => {:status_by => :post}
208 projects.with_options :action => 'activity', :conditions => {:method => :get} do |activity| 192 end
209 activity.connect 'projects/:id/activity' 193
210 activity.connect 'projects/:id/activity.:format' 194 # Destroy uses a get request to prompt the user before the actual DELETE request
211 activity.connect 'activity', :id => nil 195 map.project_destroy_confirm 'projects/:id/destroy', :controller => 'projects', :action => 'destroy', :conditions => {:method => :get}
212 activity.connect 'activity.:format', :id => nil 196
213 end 197 # TODO: port to be part of the resources route(s)
214 198 map.with_options :controller => 'projects' do |project_mapper|
215 projects.with_options :conditions => {:method => :post} do |project_actions| 199 project_mapper.with_options :conditions => {:method => :get} do |project_views|
216 project_actions.connect 'projects/new', :action => 'add' 200 project_views.connect 'projects/:id/settings/:tab', :controller => 'projects', :action => 'settings'
217 project_actions.connect 'projects', :action => 'add' 201 project_views.connect 'projects/:project_id/issues/:copy_from/copy', :controller => 'issues', :action => 'new'
218 project_actions.connect 'projects.:format', :action => 'add', :format => /xml/ 202 end
219 project_actions.connect 'projects/:id/:action', :action => /edit|destroy|archive|unarchive/ 203 end
220 project_actions.connect 'projects/:id/files/new', :action => 'add_file' 204
221 project_actions.connect 'projects/:id/activities/save', :action => 'save_activities' 205 map.with_options :controller => 'activities', :action => 'index', :conditions => {:method => :get} do |activity|
222 end 206 activity.connect 'projects/:id/activity'
223 207 activity.connect 'projects/:id/activity.:format'
224 projects.with_options :conditions => {:method => :put} do |project_actions| 208 activity.connect 'activity', :id => nil
225 project_actions.conditions 'projects/:id.:format', :action => 'edit', :format => /xml/ 209 activity.connect 'activity.:format', :id => nil
226 end 210 end
227 211
228 projects.with_options :conditions => {:method => :delete} do |project_actions| 212
229 project_actions.conditions 'projects/:id.:format', :action => 'destroy', :format => /xml/
230 project_actions.conditions 'projects/:id/reset_activities', :action => 'reset_activities'
231 end
232 end
233
234 map.with_options :controller => 'versions' do |versions|
235 versions.connect 'projects/:project_id/versions/new', :action => 'new'
236 versions.with_options :conditions => {:method => :post} do |version_actions|
237 version_actions.connect 'projects/:project_id/versions/close_completed', :action => 'close_completed'
238 end
239 end
240
241 map.with_options :controller => 'issue_categories' do |categories| 213 map.with_options :controller => 'issue_categories' do |categories|
242 categories.connect 'projects/:project_id/issue_categories/new', :action => 'new' 214 categories.connect 'projects/:project_id/issue_categories/new', :action => 'new'
243 end 215 end
244 216
245 map.with_options :controller => 'repositories' do |repositories| 217 map.with_options :controller => 'repositories' do |repositories|