Mercurial > hg > soundsoftware-site
comparison app/controllers/.svn/text-base/context_menus_controller.rb.svn-base @ 37:94944d00e43c
* Update to SVN trunk rev 4411
author | Chris Cannam <chris.cannam@soundsoftware.ac.uk> |
---|---|
date | Fri, 19 Nov 2010 13:24:41 +0000 |
parents | 40f7cfd4df19 |
children | af80e5618e9b |
comparison
equal
deleted
inserted
replaced
22:40f7cfd4df19 | 37:94944d00e43c |
---|---|
14 end | 14 end |
15 end | 15 end |
16 @projects = @issues.collect(&:project).compact.uniq | 16 @projects = @issues.collect(&:project).compact.uniq |
17 @project = @projects.first if @projects.size == 1 | 17 @project = @projects.first if @projects.size == 1 |
18 | 18 |
19 @can = {:edit => (@project && User.current.allowed_to?(:edit_issues, @project)), | 19 @can = {:edit => User.current.allowed_to?(:edit_issues, @projects), |
20 :log_time => (@project && User.current.allowed_to?(:log_time, @project)), | 20 :log_time => (@project && User.current.allowed_to?(:log_time, @project)), |
21 :update => (@project && (User.current.allowed_to?(:edit_issues, @project) || (User.current.allowed_to?(:change_status, @project) && @allowed_statuses && !@allowed_statuses.empty?))), | 21 :update => (User.current.allowed_to?(:edit_issues, @projects) || (User.current.allowed_to?(:change_status, @projects) && !@allowed_statuses.blank?)), |
22 :move => (@project && User.current.allowed_to?(:move_issues, @project)), | 22 :move => (@project && User.current.allowed_to?(:move_issues, @project)), |
23 :copy => (@issue && @project.trackers.include?(@issue.tracker) && User.current.allowed_to?(:add_issues, @project)), | 23 :copy => (@issue && @project.trackers.include?(@issue.tracker) && User.current.allowed_to?(:add_issues, @project)), |
24 :delete => (@project && User.current.allowed_to?(:delete_issues, @project)) | 24 :delete => User.current.allowed_to?(:delete_issues, @projects) |
25 } | 25 } |
26 if @project | 26 if @project |
27 @assignables = @project.assignable_users | 27 @assignables = @project.assignable_users |
28 @assignables << @issue.assigned_to if @issue && @issue.assigned_to && !@assignables.include?(@issue.assigned_to) | 28 @assignables << @issue.assigned_to if @issue && @issue.assigned_to && !@assignables.include?(@issue.assigned_to) |
29 @trackers = @project.trackers | 29 @trackers = @project.trackers |
30 else | |
31 #when multiple projects, we only keep the intersection of each set | |
32 @assignables = @projects.map(&:assignable_users).inject{|memo,a| memo & a} | |
33 @trackers = @projects.map(&:trackers).inject{|memo,t| memo & t} | |
30 end | 34 end |
31 | 35 |
32 @priorities = IssuePriority.all.reverse | 36 @priorities = IssuePriority.all.reverse |
33 @statuses = IssueStatus.find(:all, :order => 'position') | 37 @statuses = IssueStatus.find(:all, :order => 'position') |
34 @back = back_url | 38 @back = back_url |