summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2009-11-29 20:00:21 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2009-11-29 20:00:21 +0000
commitf134e72fec4a8a479e1207bfc14d1d2ab72c817d (patch)
treec43f3100d273ba358de0ff92c4bc10115adf1dca
parent88fcf484d4d3c8d591cc31d7d07790110161d923 (diff)
downloadredmine-f134e72fec4a8a479e1207bfc14d1d2ab72c817d.tar.gz
redmine-f134e72fec4a8a479e1207bfc14d1d2ab72c817d.zip
Adds tracker update to context menu and bulk edit form (#2405).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3109 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/issues_controller.rb3
-rw-r--r--app/views/issues/bulk_edit.rhtml4
-rw-r--r--app/views/issues/context_menu.rhtml9
3 files changed, 16 insertions, 0 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 02be772a2..cf54db445 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -234,6 +234,7 @@ class IssuesController < ApplicationController
# Bulk edit a set of issues
def bulk_edit
if request.post?
+ tracker = params[:tracker_id].blank? ? nil : @project.trackers.find_by_id(params[:tracker_id])
status = params[:status_id].blank? ? nil : IssueStatus.find_by_id(params[:status_id])
priority = params[:priority_id].blank? ? nil : IssuePriority.find_by_id(params[:priority_id])
assigned_to = (params[:assigned_to_id].blank? || params[:assigned_to_id] == 'none') ? nil : User.find_by_id(params[:assigned_to_id])
@@ -244,6 +245,7 @@ class IssuesController < ApplicationController
unsaved_issue_ids = []
@issues.each do |issue|
journal = issue.init_journal(User.current, params[:notes])
+ issue.tracker = tracker if tracker
issue.priority = priority if priority
issue.assigned_to = assigned_to if assigned_to || params[:assigned_to_id] == 'none'
issue.category = category if category || params[:category_id] == 'none'
@@ -421,6 +423,7 @@ class IssuesController < ApplicationController
@assignables << @issue.assigned_to if @issue && @issue.assigned_to && !@assignables.include?(@issue.assigned_to)
end
+ @trackers = @project.trackers
@priorities = IssuePriority.all.reverse
@statuses = IssueStatus.find(:all, :order => 'position')
@back = params[:back_url] || request.env['HTTP_REFERER']
diff --git a/app/views/issues/bulk_edit.rhtml b/app/views/issues/bulk_edit.rhtml
index 10a5bb5a2..de82e18ce 100644
--- a/app/views/issues/bulk_edit.rhtml
+++ b/app/views/issues/bulk_edit.rhtml
@@ -8,10 +8,14 @@
<fieldset>
<legend><%= l(:label_change_properties) %></legend>
<p>
+<label><%= l(:field_tracker) %>:
+<%= select_tag('tracker_id', "<option value=\"\">#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(@project.trackers, :id, :name)) %></label>
<% if @available_statuses.any? %>
<label><%= l(:field_status) %>:
<%= select_tag('status_id', "<option value=\"\">#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(@available_statuses, :id, :name)) %></label>
<% end %>
+</p>
+<p>
<label><%= l(:field_priority) %>:
<%= select_tag('priority_id', "<option value=\"\">#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(IssuePriority.all, :id, :name)) %></label>
<label><%= l(:field_category) %>:
diff --git a/app/views/issues/context_menu.rhtml b/app/views/issues/context_menu.rhtml
index 073f12bd6..3e22a17c9 100644
--- a/app/views/issues/context_menu.rhtml
+++ b/app/views/issues/context_menu.rhtml
@@ -19,6 +19,15 @@
<% end %>
<li class="folder">
+ <a href="#" class="submenu"><%= l(:field_tracker) %></a>
+ <ul>
+ <% @trackers.each do |t| -%>
+ <li><%= context_menu_link t.name, {:controller => 'issues', :action => 'bulk_edit', :ids => @issues.collect(&:id), 'tracker_id' => t, :back_to => @back}, :method => :post,
+ :selected => (@issue && t == @issue.tracker), :disabled => !@can[:edit] %></li>
+ <% end -%>
+ </ul>
+ </li>
+ <li class="folder">
<a href="#" class="submenu"><%= l(:field_priority) %></a>
<ul>
<% @priorities.each do |p| -%>