##// END OF EJS Templates
Update the issue subject when choosing an issue from the drop down menu....
Update the issue subject when choosing an issue from the drop down menu. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11083 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r9779:e74d4ecf5fa7
r10853:6be315c1ff8e
Show More
context_menus_controller.rb
86 lines | 3.4 KiB | text/x-ruby | RubyLexer
/ app / controllers / context_menus_controller.rb
Jean-Philippe Lang
Copyright update....
r9453 # Redmine - project management software
# Copyright (C) 2006-2012 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 class ContextMenusController < ApplicationController
helper :watchers
Jean-Philippe Lang
Warn about subtasks before deleting a parent issue (#6562)....
r5375 helper :issues
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/context_menus_controller.rb....
r6677
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 def issues
Jean-Philippe Lang
Find visible issues only in ContextMenusController#issues....
r4466 @issues = Issue.visible.all(:conditions => {:id => params[:ids]}, :include => :project)
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 if (@issues.size == 1)
@issue = @issues.first
end
Jean-Philippe Lang
Compute issue ids array only once....
r9779 @issue_ids = @issues.map(&:id).sort
Jean-Philippe Lang
Code cleanup....
r8706
Jean-Philippe Lang
Use #reduce instead of #inject for getting the intersection of arrays....
r8707 @allowed_statuses = @issues.map(&:new_statuses_allowed_to).reduce(:&)
Jean-Baptiste Barth
Do not display items without valid selection in context menu when on different projects. #4998...
r3945 @projects = @issues.collect(&:project).compact.uniq
@project = @projects.first if @projects.size == 1
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128 @can = {:edit => User.current.allowed_to?(:edit_issues, @projects),
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 :log_time => (@project && User.current.allowed_to?(:log_time, @project)),
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128 :update => (User.current.allowed_to?(:edit_issues, @projects) || (User.current.allowed_to?(:change_status, @projects) && !@allowed_statuses.blank?)),
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 :move => (@project && User.current.allowed_to?(:move_issues, @project)),
:copy => (@issue && @project.trackers.include?(@issue.tracker) && User.current.allowed_to?(:add_issues, @project)),
Jean-Baptiste Barth
Added ability to delete issues from different projects through contextual menu (#5332)...
r4122 :delete => User.current.allowed_to?(:delete_issues, @projects)
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 }
if @project
Jean-Philippe Lang
Author should be displayed as assignable on a single issue right click menu (#7136)....
r6190 if @issue
@assignables = @issue.assignable_users
else
@assignables = @project.assignable_users
end
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 @trackers = @project.trackers
Jean-Baptiste Barth
Added ability to edit issues from different project through contextual menu (#5332)...
r4128 else
#when multiple projects, we only keep the intersection of each set
Jean-Philippe Lang
Use #reduce instead of #inject for getting the intersection of arrays....
r8707 @assignables = @projects.map(&:assignable_users).reduce(:&)
@trackers = @projects.map(&:trackers).reduce(:&)
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 end
Jean-Philippe Lang
Show shared versions when editing issues from different projects with the context menu (#11345)....
r9778 @versions = @projects.map {|p| p.shared_versions.open}.reduce(:&)
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/context_menus_controller.rb....
r6677
Jean-Baptiste Barth
Do not show inactive issue priorities where not necessary (#8573)....
r5950 @priorities = IssuePriority.active.reverse
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 @back = back_url
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/context_menus_controller.rb....
r6677
Jean-Philippe Lang
Bulk-edit custom fields through context menu (#6296)....
r8704 @options_by_custom_field = {}
if @can[:edit]
Jean-Philippe Lang
Use #reduce instead of #inject for getting the intersection of arrays....
r8707 custom_fields = @issues.map(&:available_custom_fields).reduce(:&).select do |f|
Jean-Philippe Lang
Bulk-edit custom fields through context menu (#6296)....
r8704 %w(bool list user version).include?(f.field_format) && !f.multiple?
end
custom_fields.each do |field|
values = field.possible_values_options(@projects)
if values.any?
@options_by_custom_field[field] = values
end
end
end
Jean-Philippe Lang
Ability to disable standard fields on a per tracker basis (#1091)....
r9729 @safe_attributes = @issues.map(&:safe_attribute_names).reduce(:&)
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 render :layout => false
end
Toshi MARUYAMA
add controller for bulk edit time entries (#7996)....
r5192
def time_entries
@time_entries = TimeEntry.all(
:conditions => {:id => params[:ids]}, :include => :project)
@projects = @time_entries.collect(&:project).compact.uniq
@project = @projects.first if @projects.size == 1
@activities = TimeEntryActivity.shared.active
Jean-Philippe Lang
Fixed time entries context menu display according permissions (#9405)....
r7802 @can = {:edit => User.current.allowed_to?(:edit_time_entries, @projects),
:delete => User.current.allowed_to?(:edit_time_entries, @projects)
Toshi MARUYAMA
add controller for bulk edit time entries (#7996)....
r5192 }
@back = back_url
render :layout => false
Toshi MARUYAMA
remove trailing white-spaces from app/controllers/context_menus_controller.rb....
r6677 end
Eric Davis
Refactor: move IssuesController#context_menu to a new controller....
r3892 end