##// END OF EJS Templates
set default category_id instead of the object (#11665)...
set default category_id instead of the object (#11665) Rails 2.3 still has issues with synchronizing the association_id and association attributes of an object. That means, if you set the association with an object first and then just set the id afterwards, the object wins and the setting of the id gets lost. This is not an issue in Rails >= 3.1 anymore. Contributed by Holger Just. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@10226 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r8707:8c38510ee504
r10043:14dcefaa97f9
Show More
context_menus_controller.rb
66 lines | 2.5 KiB | text/x-ruby | RubyLexer
/ app / controllers / context_menus_controller.rb
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
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
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
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