Patch #31855 » 31855.patch
| app/helpers/workflows_helper.rb | ||
|---|---|---|
| 74 | 74 | 
        select_tag("permissions[#{status.id}][#{name}]", options_for_select(options, selected), html_options)
   | 
| 75 | 75 | 
    end  | 
| 76 | 76 | |
| 77 | 
      def transition_tag(workflows, old_status, new_status, name)
   | 
|
| 78 | 
        w = workflows.select {|w| w.old_status == old_status && w.new_status == new_status}.size
   | 
|
| 77 | 
      def transition_tag(transition_count, old_status, new_status, name)
   | 
|
| 78 | 
        w = transition_count
   | 
|
| 79 | 79 | |
| 80 | 80 | 
        tag_name = "transitions[#{ old_status.try(:id) || 0 }][#{new_status.id}][#{name}]"
   | 
| 81 | 81 | 
    if old_status == new_status  | 
| app/views/workflows/_form.html.erb | ||
|---|---|---|
| 21 | 21 | 
    <% end %>  | 
| 22 | 22 | 
    </tr>  | 
| 23 | 23 | 
    </thead>  | 
| 24 | 
    <% transition_counts = workflows.each_with_object(Hash.new(0)) {|w,memo| memo[[w.old_status, w.new_status]] += 1} %>
   | 
|
| 24 | 25 | 
    <tbody>  | 
| 25 | 26 | 
    <% for old_status in [nil] + @statuses %>  | 
| 26 | 27 | 
    <% next if old_status.nil? && name != 'always' %>  | 
| ... | ... | |
| 38 | 39 | 
    <% end %>  | 
| 39 | 40 | 
    </td>  | 
| 40 | 41 | 
    <% for new_status in @statuses -%>  | 
| 41 | 
        <% checked = (old_status == new_status) || workflows.detect {|w| w.old_status == old_status && w.new_status == new_status} %>
   | 
|
| 42 | 
        <% checked = (old_status == new_status) || (transition_counts[[old_status, new_status]] > 0) %>
   | 
|
| 42 | 43 | 
    <td class="<%= checked ? 'enabled' : '' %>" title="<%= old_status_name %> » <%= new_status.name %>">  | 
| 43 | 
          <%= transition_tag workflows, old_status, new_status, name %>
   | 
|
| 44 | 
          <%= transition_tag transition_counts[[old_status, new_status]], old_status, new_status, name %>
   | 
|
| 44 | 45 | 
    </td>  | 
| 45 | 46 | 
    <% end -%>  | 
| 46 | 47 | 
    </tr>  |