Adds a view for editing all trackers fields.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10283 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2012-09-02 16:55:16 +00:00
parent 462c986452
commit 3a32edc3bd
6 changed files with 139 additions and 1 deletions
+18
View File
@@ -80,4 +80,22 @@ class TrackersController < ApplicationController
end
redirect_to :action => 'index'
end
def fields
if request.post? && params[:trackers]
params[:trackers].each do |tracker_id, tracker_params|
tracker = Tracker.find_by_id(tracker_id)
if tracker
tracker.core_fields = tracker_params[:core_fields]
tracker.custom_field_ids = tracker_params[:custom_field_ids]
tracker.save
end
end
flash[:notice] = l(:notice_successful_update)
redirect_to :action => 'fields'
return
end
@trackers = Tracker.sorted.all
@custom_fields = IssueCustomField.all.sort
end
end
+77
View File
@@ -0,0 +1,77 @@
<h2><%= link_to l(:label_tracker_plural), trackers_path %> &#187; <%= l(:field_summary) %></h2>
<% if @trackers.any? %>
<%= form_tag({}) do %>
<div class="autoscroll">
<table class="list">
<thead>
<tr>
<th></th>
<% @trackers.each do |tracker| %>
<th>
<%= tracker.name %>
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.tracker-#{tracker.id}')",
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
</th>
<% end %>
</tr>
</thead>
<tbody>
<tr class="group open">
<td colspan="<%= @trackers.size + 1 %>">
<span class="expander" onclick="toggleRowGroup(this);">&nbsp;</span>
<%= l(:field_core_fields) %>
</td>
</tr>
<% Tracker::CORE_FIELDS.each do |field| %>
<tr class="<%= cycle("odd", "even") %>">
<td>
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.core-field-#{field}')",
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
<%= l("field_#{field}".sub(/_id$/, '')) %>
</td>
<% @trackers.each do |tracker| %>
<td align="center">
<%= check_box_tag "trackers[#{tracker.id}][core_fields][]", field, tracker.core_fields.include?(field),
:class => "tracker-#{tracker.id} core-field-#{field}" %>
</td>
<% end %>
</tr>
<% end %>
<% if @custom_fields.any? %>
<tr class="group open">
<td colspan="<%= @trackers.size + 1 %>">
<span class="expander" onclick="toggleRowGroup(this);">&nbsp;</span>
<%= l(:label_custom_field_plural) %>
</td>
</tr>
<% @custom_fields.each do |field| %>
<tr class="<%= cycle("odd", "even") %>">
<td>
<%= link_to_function(image_tag('toggle_check.png'), "toggleCheckboxesBySelector('input.custom-field-#{field.id}')",
:title => "#{l(:button_check_all)}/#{l(:button_uncheck_all)}") %>
<%= field.name %>
</td>
<% @trackers.each do |tracker| %>
<td align="center">
<%= check_box_tag "trackers[#{tracker.id}][custom_field_ids][]", field.id, tracker.custom_fields.include?(field),
:class => "tracker-#{tracker.id} custom-field-#{field.id}" %>
</td>
<% end %>
</tr>
<% end %>
<% end %>
</tbody>
</table>
</div>
<p><%= submit_tag l(:button_save) %></p>
<% @trackers.each do |tracker| %>
<%= hidden_field_tag "trackers[#{tracker.id}][core_fields][]", '' %>
<%= hidden_field_tag "trackers[#{tracker.id}][custom_field_ids][]", '' %>
<% end %>
<% end %>
<% else %>
<p class="nodata"><%= l(:label_no_data) %></p>
<% end %>
<% html_title l(:field_summary) %>
+1
View File
@@ -1,5 +1,6 @@
<div class="contextual">
<%= link_to l(:label_tracker_new), new_tracker_path, :class => 'icon icon-add' %>
<%= link_to l(:field_summary), {:action => 'fields'}, :class => 'icon icon-summary' %>
</div>
<h2><%=l(:label_tracker_plural)%></h2>