obsolete.ChilliProject/app/controllers/context_menus_controller.rb
Tim Felgentreff 8cece46dd4 Merge branch 'master' into master-journalized
Conflicts:
	app/controllers/application_controller.rb
	app/controllers/context_menus_controller.rb
	app/controllers/gantts_controller.rb
	app/controllers/issue_moves_controller.rb
	app/controllers/issues_controller.rb
	app/controllers/journals_controller.rb
	app/controllers/previews_controller.rb
	app/controllers/timelog_controller.rb
	app/helpers/issues_helper.rb
	app/helpers/journals_helper.rb
	app/models/issue.rb
	app/models/journal.rb
	app/models/journal_observer.rb
	app/views/admin/projects.rhtml
	app/views/context_menus/issues.html.erb
	app/views/issues/_action_menu.rhtml
	app/views/issues/_history.rhtml
	app/views/news/_news.rhtml
	app/views/news/index.rhtml
	app/views/repositories/diff.rhtml
	config/locales/bg.yml
	config/locales/bs.yml
	config/locales/ca.yml
	config/locales/cs.yml
	config/locales/da.yml
	config/locales/de.yml
	config/locales/el.yml
	config/locales/en-GB.yml
	config/locales/es.yml
	config/locales/eu.yml
	config/locales/fi.yml
	config/locales/fr.yml
	config/locales/gl.yml
	config/locales/he.yml
	config/locales/hr.yml
	config/locales/hu.yml
	config/locales/id.yml
	config/locales/it.yml
	config/locales/ko.yml
	config/locales/lt.yml
	config/locales/lv.yml
	config/locales/mn.yml
	config/locales/nl.yml
	config/locales/no.yml
	config/locales/pl.yml
	config/locales/pt-BR.yml
	config/locales/pt.yml
	config/locales/ro.yml
	config/locales/ru.yml
	config/locales/sk.yml
	config/locales/sl.yml
	config/locales/sr-YU.yml
	config/locales/sr.yml
	config/locales/sv.yml
	config/locales/th.yml
	config/locales/tr.yml
	config/locales/uk.yml
	config/locales/vi.yml
	config/locales/zh-TW.yml
	config/locales/zh.yml
	config/routes.rb
	doc/CHANGELOG
	lib/redmine.rb
	lib/redmine/export/pdf.rb
	lib/redmine/helpers/gantt.rb
	lib/redmine/version.rb
	public/stylesheets/application.css
	test/functional/context_menus_controller_test.rb
	test/functional/issues_controller_test.rb
	test/functional/journals_controller_test.rb
	test/functional/previews_controller_test.rb
	test/functional/users_controller_test.rb
	test/functional/wiki_controller_test.rb
	test/integration/routing_test.rb
	test/unit/issue_test.rb
	test/unit/mailer_test.rb
	test/unit/query_test.rb
2010-10-26 18:20:57 +02:00

44 lines
1.8 KiB
Ruby

class ContextMenusController < ApplicationController
helper :watchers
def issues
@issues = Issue.find_all_by_id(params[:ids], :include => :project)
if (@issues.size == 1)
@issue = @issues.first
@allowed_statuses = @issue.new_statuses_allowed_to(User.current)
else
@allowed_statuses = @issues.map do |i|
i.new_statuses_allowed_to(User.current)
end.inject do |memo,s|
memo & s
end
end
@projects = @issues.collect(&:project).compact.uniq
@project = @projects.first if @projects.size == 1
@can = {:edit => User.current.allowed_to?(:edit_issues, @projects),
:log_time => (@project && User.current.allowed_to?(:log_time, @project)),
:update => (User.current.allowed_to?(:edit_issues, @projects) || (User.current.allowed_to?(:change_status, @projects) && !@allowed_statuses.blank?)),
:move => (@project && User.current.allowed_to?(:move_issues, @project)),
:copy => (@issue && @project.trackers.include?(@issue.tracker) && User.current.allowed_to?(:add_issues, @project)),
:delete => User.current.allowed_to?(:delete_issues, @projects)
}
if @project
@assignables = @project.assignable_users
@assignables << @issue.assigned_to if @issue && @issue.assigned_to && !@assignables.include?(@issue.assigned_to)
@trackers = @project.trackers
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}
end
@priorities = IssuePriority.all.reverse
@statuses = IssueStatus.find(:all, :order => 'position')
@back = back_url
render :layout => false
end
end