annotate app/controllers/context_menus_controller.rb @ 45:65d9e2cabaa3 luisf

Added tipoftheday to the config/settings in order to correct previous issues. Tip of the day is now working correctly. Added the heading strings to the locales files.
author luisf
date Tue, 23 Nov 2010 11:50:01 +0000
parents 94944d00e43c
children af80e5618e9b
rev   line source
Chris@14 1 class ContextMenusController < ApplicationController
Chris@14 2 helper :watchers
Chris@14 3
Chris@14 4 def issues
Chris@14 5 @issues = Issue.find_all_by_id(params[:ids], :include => :project)
Chris@14 6 if (@issues.size == 1)
Chris@14 7 @issue = @issues.first
Chris@14 8 @allowed_statuses = @issue.new_statuses_allowed_to(User.current)
chris@22 9 else
chris@22 10 @allowed_statuses = @issues.map do |i|
chris@22 11 i.new_statuses_allowed_to(User.current)
chris@22 12 end.inject do |memo,s|
chris@22 13 memo & s
chris@22 14 end
Chris@14 15 end
chris@22 16 @projects = @issues.collect(&:project).compact.uniq
chris@22 17 @project = @projects.first if @projects.size == 1
Chris@14 18
chris@37 19 @can = {:edit => User.current.allowed_to?(:edit_issues, @projects),
Chris@14 20 :log_time => (@project && User.current.allowed_to?(:log_time, @project)),
chris@37 21 :update => (User.current.allowed_to?(:edit_issues, @projects) || (User.current.allowed_to?(:change_status, @projects) && !@allowed_statuses.blank?)),
Chris@14 22 :move => (@project && User.current.allowed_to?(:move_issues, @project)),
Chris@14 23 :copy => (@issue && @project.trackers.include?(@issue.tracker) && User.current.allowed_to?(:add_issues, @project)),
chris@37 24 :delete => User.current.allowed_to?(:delete_issues, @projects)
Chris@14 25 }
Chris@14 26 if @project
Chris@14 27 @assignables = @project.assignable_users
Chris@14 28 @assignables << @issue.assigned_to if @issue && @issue.assigned_to && !@assignables.include?(@issue.assigned_to)
Chris@14 29 @trackers = @project.trackers
chris@37 30 else
chris@37 31 #when multiple projects, we only keep the intersection of each set
chris@37 32 @assignables = @projects.map(&:assignable_users).inject{|memo,a| memo & a}
chris@37 33 @trackers = @projects.map(&:trackers).inject{|memo,t| memo & t}
Chris@14 34 end
Chris@14 35
Chris@14 36 @priorities = IssuePriority.all.reverse
Chris@14 37 @statuses = IssueStatus.find(:all, :order => 'position')
Chris@14 38 @back = back_url
Chris@14 39
Chris@14 40 render :layout => false
Chris@14 41 end
Chris@14 42
Chris@14 43 end