1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
<%= render :partial => 'action_menu' %>
<%= title l(:label_workflow) %>
<div class="tabs">
<ul>
<li><%= link_to l(:label_status_transitions), {:action => 'edit', :role_id => @role, :tracker_id => @tracker} %></li>
<li><%= link_to l(:label_fields_permissions), {:action => 'permissions', :role_id => @role, :tracker_id => @tracker}, :class => 'selected' %></li>
</ul>
</div>
<p><%=l(:text_workflow_edit)%>:</p>
<%= form_tag({}, :method => 'get') do %>
<p>
<label><%=l(:label_role)%>:
<%= select_tag 'role_id', options_from_collection_for_select(@roles, "id", "name", @role && @role.id) %></label>
<label><%=l(:label_tracker)%>:
<%= select_tag 'tracker_id', options_from_collection_for_select(@trackers, "id", "name", @tracker && @tracker.id) %></label>
<%= submit_tag l(:button_edit), :name => nil %>
<%= hidden_field_tag 'used_statuses_only', '0' %>
<label><%= check_box_tag 'used_statuses_only', '1', @used_statuses_only %> <%= l(:label_display_used_statuses_only) %></label>
</p>
<% end %>
<% if @tracker && @role && @statuses.any? %>
<%= form_tag({}, :id => 'workflow_form' ) do %>
<%= hidden_field_tag 'tracker_id', @tracker.id %>
<%= hidden_field_tag 'role_id', @role.id %>
<%= hidden_field_tag 'used_statuses_only', params[:used_statuses_only] %>
<div class="autoscroll">
<table class="list fields_permissions">
<thead>
<tr>
<th>
</th>
<th colspan="<%= @statuses.length %>"><%=l(:label_issue_status)%></th>
</tr>
<tr>
<td></td>
<% for status in @statuses %>
<td style="width:<%= 75 / @statuses.size %>%;">
<%=h status.name %>
</td>
<% end %>
</tr>
</thead>
<tbody>
<tr class="group open">
<td colspan="<%= @statuses.size + 1 %>">
<span class="expander" onclick="toggleRowGroup(this);"> </span>
<%= l(:field_core_fields) %>
</td>
</tr>
<% @fields.each do |field, name| %>
<tr class="<%= cycle("odd", "even") %>">
<td class="name">
<%=h name %> <%= content_tag('span', '*', :class => 'required') if field_required?(field) %>
</td>
<% for status in @statuses -%>
<td class="<%= @permissions[status.id][field] %>">
<%= field_permission_tag(@permissions, status, field, @role) %>
<% unless status == @statuses.last %><a href="#" class="repeat-value">»</a><% end %>
</td>
<% end -%>
</tr>
<% end %>
<% if @custom_fields.any? %>
<tr class="group open">
<td colspan="<%= @statuses.size + 1 %>">
<span class="expander" onclick="toggleRowGroup(this);"> </span>
<%= l(:label_custom_field_plural) %>
</td>
</tr>
<% @custom_fields.each do |field| %>
<tr class="<%= cycle("odd", "even") %>">
<td class="name">
<%=h field.name %> <%= content_tag('span', '*', :class => 'required') if field_required?(field) %>
</td>
<% for status in @statuses -%>
<td class="<%= @permissions[status.id][field.id.to_s] %>">
<%= field_permission_tag(@permissions, status, field, @role) %>
<% unless status == @statuses.last %><a href="#" class="repeat-value">»</a><% end %>
</td>
<% end -%>
</tr>
<% end %>
<% end %>
</tbody>
</table>
</div>
<%= submit_tag l(:button_save) %>
<% end %>
<% end %>
<%= javascript_tag do %>
$("a.repeat-value").click(function(e){
e.preventDefault();
var td = $(this).closest('td');
var selected = td.find("select").find(":selected").val();
td.nextAll('td').find("select").val(selected);
});
<% end %>
|