permissions.html.erb
106 lines
| 3.7 KiB
| text/plain
|
TextLexer
|
r9794 | <%= render :partial => 'action_menu' %> | ||
|
r11820 | <%= title l(:label_workflow) %> | ||
|
r9794 | |||
<div class="tabs"> | ||||
<ul> | ||||
|
r9796 | <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> | ||||
|
r9794 | </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 %> | ||||
|
r9812 | |||
<%= 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> | ||||
|
r9794 | </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 %> | ||||
|
r9814 | <%= hidden_field_tag 'used_statuses_only', params[:used_statuses_only] %> | ||
|
r9794 | <div class="autoscroll"> | ||
<table class="list fields_permissions"> | ||||
<thead> | ||||
<tr> | ||||
|
r12038 | <th> | ||
|
r9794 | </th> | ||
|
r12038 | <th colspan="<%= @statuses.length %>"><%=l(:label_issue_status)%></th> | ||
|
r9794 | </tr> | ||
<tr> | ||||
<td></td> | ||||
<% for status in @statuses %> | ||||
|
r12038 | <td style="width:<%= 75 / @statuses.size %>%;"> | ||
|
r9794 | <%=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") %>"> | ||||
|
r12038 | <td class="name"> | ||
|
r9827 | <%=h name %> <%= content_tag('span', '*', :class => 'required') if field_required?(field) %> | ||
|
r9794 | </td> | ||
<% for status in @statuses -%> | ||||
|
r12038 | <td class="<%= @permissions[status.id][field] %>"> | ||
|
r11782 | <%= field_permission_tag(@permissions, status, field, @role) %> | ||
|
r11674 | <% unless status == @statuses.last %><a href="#" class="repeat-value">»</a><% end %> | ||
|
r9794 | </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") %>"> | ||||
|
r12038 | <td class="name"> | ||
|
r9827 | <%=h field.name %> <%= content_tag('span', '*', :class => 'required') if field_required?(field) %> | ||
|
r9794 | </td> | ||
<% for status in @statuses -%> | ||||
|
r12038 | <td class="<%= @permissions[status.id][field.id.to_s] %>"> | ||
|
r11782 | <%= field_permission_tag(@permissions, status, field, @role) %> | ||
|
r11674 | <% unless status == @statuses.last %><a href="#" class="repeat-value">»</a><% end %> | ||
|
r9794 | </td> | ||
<% end -%> | ||||
</tr> | ||||
<% end %> | ||||
<% end %> | ||||
</tbody> | ||||
</table> | ||||
</div> | ||||
<%= submit_tag l(:button_save) %> | ||||
<% end %> | ||||
<% end %> | ||||
|
r11674 | |||
<%= 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 %> | ||||