##// END OF EJS Templates
Respond with errors and appropriate content type on /issues API calls with invalid query params (#8883)....
Respond with errors and appropriate content type on /issues API calls with invalid query params (#8883). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6309 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r5950:d5cc7424a815
r6189:fdd5367ebab2
Show More
context_menus_controller.rb
58 lines | 2.4 KiB | text/x-ruby | RubyLexer
/ app / controllers / context_menus_controller.rb
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 class ContextMenusController < ApplicationController
helper :watchers
Jean-Philippe Lang
Warn about subtasks before deleting a parent issue (#6562)....
r5375 helper :issues
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892
def issues
Jean-Philippe Lang
Find visible issues only in ContextMenusController#issues....
r4466 @issues = Issue.visible.all(:conditions => {:id => params[:ids]}, :include => :project)
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 if (@issues.size == 1)
@issue = @issues.first
@allowed_statuses = @issue.new_statuses_allowed_to(User.current)
Jean-Baptiste Barth
Allow mass status update through context menu. #3411...
r3941 else
@allowed_statuses = @issues.map do |i|
i.new_statuses_allowed_to(User.current)
end.inject do |memo,s|
memo & s
end
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 end
Jean-Baptiste Barth
Do not display items without valid selection in context menu when on different projects. #4998...
r3945 @projects = @issues.collect(&:project).compact.uniq
@project = @projects.first if @projects.size == 1
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128 @can = {:edit => User.current.allowed_to?(:edit_issues, @projects),
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 :log_time => (@project && User.current.allowed_to?(:log_time, @project)),
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128 :update => (User.current.allowed_to?(:edit_issues, @projects) || (User.current.allowed_to?(:change_status, @projects) && !@allowed_statuses.blank?)),
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 :move => (@project && User.current.allowed_to?(:move_issues, @project)),
:copy => (@issue && @project.trackers.include?(@issue.tracker) && User.current.allowed_to?(:add_issues, @project)),
Jean-Baptiste Barth
Added ability to delete issues from different projects through contextual menu (#5332)...
r4122 :delete => User.current.allowed_to?(:delete_issues, @projects)
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 }
if @project
@assignables = @project.assignable_users
@assignables << @issue.assigned_to if @issue && @issue.assigned_to && !@assignables.include?(@issue.assigned_to)
@trackers = @project.trackers
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128 else
#when multiple projects, we only keep the intersection of each set
@assignables = @projects.map(&:assignable_users).inject{|memo,a| memo & a}
@trackers = @projects.map(&:trackers).inject{|memo,t| memo & t}
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 end
Jean-Baptiste Barth
Do not show inactive issue priorities where not necessary (#8573)....
r5950 @priorities = IssuePriority.active.reverse
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 @statuses = IssueStatus.find(:all, :order => 'position')
@back = back_url
render :layout => false
end
Toshi MARUYAMA
add controller for bulk edit time entries (#7996)....
r5192
def time_entries
@time_entries = TimeEntry.all(
:conditions => {:id => params[:ids]}, :include => :project)
@projects = @time_entries.collect(&:project).compact.uniq
@project = @projects.first if @projects.size == 1
@activities = TimeEntryActivity.shared.active
@can = {:edit => User.current.allowed_to?(:log_time, @projects),
:update => User.current.allowed_to?(:log_time, @projects),
:delete => User.current.allowed_to?(:log_time, @projects)
}
@back = back_url
render :layout => false
end
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 end