Added 'Bulk edit' functionality.

This can be done by clicking on the edit link (little pen icon) at the upper-left corner of the issue list.
Most properties can be set (priority, assignee, category, fixed version, start and due dates, done ratio) and a note can be entered.
Only issues of the current project can be selected for bulk edit (subproject issues can't).

git-svn-id: http://redmine.rubyforge.org/svn/trunk@817 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang committed 2007-10-09 19:07:19 +00:00
1 parent df631e8c06
commit 2c4647f8c6
24 files changed
+167 -8

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
<div id="bulk-edit-fields">
<fieldset class="box"><legend><%= l(:label_bulk_edit_selected_issues) %></legend>
<p>
<label><%= l(:field_priority) %>:
<%= select_tag('priority_id', "<option>#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(Enumeration.get_values('IPRI'), :id, :name)) %></label>
<label><%= l(:field_assigned_to) %>:
<%= select_tag('assigned_to_id', "<option>#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(@project.assignable_users, :id, :name)) %></label>
<label><%= l(:field_category) %>:
<%= select_tag('category_id', "<option>#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(@project.issue_categories, :id, :name)) %></label>
<label><%= l(:field_fixed_version) %>:
<%= select_tag('fixed_version_id', "<option>#{l(:label_no_change_option)}</option>" + options_from_collection_for_select(@project.versions, :id, :name)) %></label>
</p>
<p>
<label><%= l(:field_start_date) %>:
<%= text_field_tag 'start_date', '', :size => 10 %><%= calendar_for('start_date') %></label>
<label><%= l(:field_due_date) %>:
<%= text_field_tag 'due_date', '', :size => 10 %><%= calendar_for('due_date') %></label>
<label><%= l(:field_done_ratio) %>:
<%= select_tag 'done_ratio', options_for_select([l(:label_no_change_option)] + (0..10).to_a.collect {|r| ["#{r*10} %", r*10] }) %></label>
</p>
<label for="notes"><%= l(:field_notes) %></label><br />
<%= text_area_tag 'notes', '', :cols => 80, :rows => 5 %>
</fieldset>
<p><%= submit_tag l(:button_apply) %>
<%= link_to l(:button_cancel), {}, :onclick => 'Element.hide("bulk-edit-fields"); if ($("query_form")) {Element.show("query_form")}; return false;' %></p>
</div>
+7 -2
View File
@@ -1,6 +1,11 @@
<div id="bulk-edit"></div>
<table class="list">
<thead><tr>
<th></th>
<th><%= link_to_remote(image_tag('edit.png'),
{:url => { :controller => 'projects', :action => 'bulk_edit_issues', :id => @project },
:method => :get},
{:title => l(:label_bulk_edit_selected_issues)}) if @project && User.current.allowed_to?(:edit_issues, @project) %>
</th>
<%= sort_header_tag("#{Issue.table_name}.id", :caption => '#') %>
<% query.columns.each do |column| %>
<%= column_header(column) %>
@@ -9,7 +14,7 @@
<tbody>
<% issues.each do |issue| %>
<tr class="issue <%= cycle('odd', 'even') %>">
<td class="checkbox"><%= check_box_tag "issue_ids[]", issue.id, false, :id => "issue_#{issue.id}" %></td>
<td class="checkbox"><%= check_box_tag("issue_ids[]", issue.id, false, :id => "issue_#{issue.id}", :disabled => (!@project || @project != issue.project)) %></td>
<td><%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %></td>
<% query.columns.each do |column| %>
<%= content_tag 'td', column_content(column, issue), :class => column.name %>