Mercurial > hg > soundsoftware-site
comparison app/controllers/context_menus_controller.rb @ 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 |