Performance improvement on workflow setup screen.
git-svn-id: http://redmine.rubyforge.org/svn/trunk@957 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
a79cf8d574
commit
5e38bd9363
|
@ -94,7 +94,7 @@ class RolesController < ApplicationController
|
||||||
end
|
end
|
||||||
@roles = Role.find(:all, :order => 'builtin, position')
|
@roles = Role.find(:all, :order => 'builtin, position')
|
||||||
@trackers = Tracker.find(:all, :order => 'position')
|
@trackers = Tracker.find(:all, :order => 'position')
|
||||||
@statuses = IssueStatus.find(:all, :include => :workflows, :order => 'position')
|
@statuses = IssueStatus.find(:all, :order => 'position')
|
||||||
end
|
end
|
||||||
|
|
||||||
def report
|
def report
|
||||||
|
|
|
@ -36,17 +36,15 @@
|
||||||
<% for old_status in @statuses %>
|
<% for old_status in @statuses %>
|
||||||
<tr>
|
<tr>
|
||||||
<td><%= old_status.name %></td>
|
<td><%= old_status.name %></td>
|
||||||
<% for new_status in @statuses %>
|
<% new_status_ids_allowed = old_status.find_new_statuses_allowed_to(@role, @tracker).collect(&:id) -%>
|
||||||
|
<% for new_status in @statuses -%>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
|
|
||||||
<input type="checkbox"
|
<input type="checkbox"
|
||||||
name="issue_status[<%= old_status.id %>][]"
|
name="issue_status[<%= old_status.id %>][]"
|
||||||
value="<%= new_status.id %>"
|
value="<%= new_status.id %>"
|
||||||
<%if old_status.new_statuses_allowed_to(@role, @tracker).include? new_status%>checked="checked"<%end%>
|
<%= 'checked="checked"' if new_status_ids_allowed.include? new_status.id %>>
|
||||||
>
|
|
||||||
</td>
|
</td>
|
||||||
<% end %>
|
<% end -%>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
class AddRoleTrackerOldStatusIndexToWorkflows < ActiveRecord::Migration
|
||||||
|
def self.up
|
||||||
|
add_index :workflows, [:role_id, :tracker_id, :old_status_id], :name => :workflows_role_tracker_old_status
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.down
|
||||||
|
remove_index :workflows, :name => :workflows_role_tracker_old_status
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue