##// END OF EJS Templates
Splitted #find_issues filter in ApplicationController to #find_issues and #check_project_uniqueness (#5332)...
Jean-Baptiste Barth -
r4114:4853dd97fd5a
parent child
Show More
@@ -213,16 +213,19 class ApplicationController < ActionController::Base
213 def find_issues
213 def find_issues
214 @issues = Issue.find_all_by_id(params[:id] || params[:ids])
214 @issues = Issue.find_all_by_id(params[:id] || params[:ids])
215 raise ActiveRecord::RecordNotFound if @issues.empty?
215 raise ActiveRecord::RecordNotFound if @issues.empty?
216 projects = @issues.collect(&:project).compact.uniq
216 @projects = @issues.collect(&:project).compact.uniq
217 if projects.size == 1
217 @project = @projects.first if @projects.size == 1
218 @project = projects.first
218 rescue ActiveRecord::RecordNotFound
219 else
219 render_404
220 end
221
222 # Check if project is unique before bulk operations
223 def check_project_uniqueness
224 unless @project
220 # TODO: let users bulk edit/move/destroy issues from different projects
225 # TODO: let users bulk edit/move/destroy issues from different projects
221 render_error 'Can not bulk edit/move/destroy issues from different projects'
226 render_error 'Can not bulk edit/move/destroy issues from different projects'
222 return false
227 return false
223 end
228 end
224 rescue ActiveRecord::RecordNotFound
225 render_404
226 end
229 end
227
230
228 # make sure that the user is a member of the project (or admin) if project is private
231 # make sure that the user is a member of the project (or admin) if project is private
@@ -1,6 +1,6
1 class IssueMovesController < ApplicationController
1 class IssueMovesController < ApplicationController
2 default_search_scope :issues
2 default_search_scope :issues
3 before_filter :find_issues
3 before_filter :find_issues, :check_project_uniqueness
4 before_filter :authorize
4 before_filter :authorize
5
5
6 def new
6 def new
@@ -21,6 +21,7 class IssuesController < ApplicationController
21
21
22 before_filter :find_issue, :only => [:show, :edit, :update]
22 before_filter :find_issue, :only => [:show, :edit, :update]
23 before_filter :find_issues, :only => [:bulk_edit, :bulk_update, :move, :perform_move, :destroy]
23 before_filter :find_issues, :only => [:bulk_edit, :bulk_update, :move, :perform_move, :destroy]
24 before_filter :check_project_uniqueness, :only => [:bulk_edit, :bulk_update, :move, :perform_move, :destroy]
24 before_filter :find_project, :only => [:new, :create]
25 before_filter :find_project, :only => [:new, :create]
25 before_filter :authorize, :except => [:index]
26 before_filter :authorize, :except => [:index]
26 before_filter :find_optional_project, :only => [:index]
27 before_filter :find_optional_project, :only => [:index]
General Comments 0
You need to be logged in to leave comments. Login now