Index: app/controllers/issues_controller.rb =================================================================== --- app/controllers/issues_controller.rb (wersja 2796) +++ app/controllers/issues_controller.rb (kopia robocza) @@ -265,16 +265,31 @@ flash[:notice] = l(:notice_successful_update) unless @issues.empty? else flash[:error] = l(:notice_failed_to_save_issues, :count => unsaved_issue_ids.size, - :total => @issues.size, - :ids => '#' + unsaved_issue_ids.join(', #')) + :total => @issues.size, + :ids => '#' + unsaved_issue_ids.join(', #')) end redirect_to(params[:back_to] || {:controller => 'issues', :action => 'index', :project_id => @project}) return end # Find potential statuses the user could be allowed to switch issues to @available_statuses = Workflow.find(:all, :include => :new_status, - :conditions => {:role_id => User.current.roles_for_project(@project).collect(&:id)}).collect(&:new_status).compact.uniq.sort - @custom_fields = @project.issue_custom_fields.select {|f| f.field_format == 'list'} + :conditions => {:role_id => User.current.roles_for_project(@project).collect(&:id)}).collect(&:new_status).compact.uniq.sort + + trackers = @issues.collect(&:tracker).compact.uniq + issue_custom_fields = nil; + trackers.each do |tracker| + if(issue_custom_fields.nil?) + issue_custom_fields = tracker.custom_fields; + else + issue_custom_fields = issue_custom_fields & tracker.custom_fields; + end + end + + issue_custom_fields = [] if issue_custom_fields.nil? + issue_custom_fields &= CustomField.for_all if !issue_custom_fields.empty?; + + @custom_fields = (@project.issue_custom_fields + + issue_custom_fields).select {|f| f.field_format == 'list'} end def move