comparison app/controllers/.svn/text-base/context_menus_controller.rb.svn-base @ 14:1d32c0a0efbf

* Update to SVN trunk (revisions 3892-4040)
author Chris Cannam
date Wed, 25 Aug 2010 16:30:24 +0100
parents
children 40f7cfd4df19
comparison
equal deleted inserted replaced
4:9cc62779c13a 14:1d32c0a0efbf
1 class ContextMenusController < ApplicationController
2 helper :watchers
3
4 def issues
5 @issues = Issue.find_all_by_id(params[:ids], :include => :project)
6 if (@issues.size == 1)
7 @issue = @issues.first
8 @allowed_statuses = @issue.new_statuses_allowed_to(User.current)
9 end
10 projects = @issues.collect(&:project).compact.uniq
11 @project = projects.first if projects.size == 1
12
13 @can = {:edit => (@project && User.current.allowed_to?(:edit_issues, @project)),
14 :log_time => (@project && User.current.allowed_to?(:log_time, @project)),
15 :update => (@project && (User.current.allowed_to?(:edit_issues, @project) || (User.current.allowed_to?(:change_status, @project) && @allowed_statuses && !@allowed_statuses.empty?))),
16 :move => (@project && User.current.allowed_to?(:move_issues, @project)),
17 :copy => (@issue && @project.trackers.include?(@issue.tracker) && User.current.allowed_to?(:add_issues, @project)),
18 :delete => (@project && User.current.allowed_to?(:delete_issues, @project))
19 }
20 if @project
21 @assignables = @project.assignable_users
22 @assignables << @issue.assigned_to if @issue && @issue.assigned_to && !@assignables.include?(@issue.assigned_to)
23 @trackers = @project.trackers
24 end
25
26 @priorities = IssuePriority.all.reverse
27 @statuses = IssueStatus.find(:all, :order => 'position')
28 @back = back_url
29
30 render :layout => false
31 end
32
33 end