Don't show "Required" option for standard/custom fields that are always required.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10010 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
5ac4b6670f
commit
7f1fb7ce81
|
@ -18,13 +18,14 @@
|
|||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
module WorkflowsHelper
|
||||
def field_required?(field)
|
||||
field.is_a?(CustomField) ? field.is_required? : %w(project_id tracker_id subject priority_id).include?(field)
|
||||
end
|
||||
|
||||
def field_permission_tag(permissions, status, field)
|
||||
name = field.is_a?(CustomField) ? field.id.to_s : field
|
||||
options = [["", ""], [l(:label_readonly), "readonly"], [l(:label_required), "required"]]
|
||||
|
||||
if field.is_a?(CustomField) && field.is_required?
|
||||
options = [["(#{l(:label_required)})", ""], [l(:label_readonly), "readonly"]]
|
||||
end
|
||||
options = [["", ""], [l(:label_readonly), "readonly"]]
|
||||
options << [l(:label_required), "required"] unless field_required?(field)
|
||||
|
||||
select_tag("permissions[#{name}][#{status.id}]", options_for_select(options, permissions[status.id][name]))
|
||||
end
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
<% @fields.each do |field, name| %>
|
||||
<tr class="<%= cycle("odd", "even") %>">
|
||||
<td>
|
||||
<%=h name %>
|
||||
<%=h name %> <%= content_tag('span', '*', :class => 'required') if field_required?(field) %>
|
||||
</td>
|
||||
<% for status in @statuses -%>
|
||||
<td align="center" class="<%= @permissions[status.id][field] %>">
|
||||
|
@ -77,7 +77,7 @@
|
|||
<% @custom_fields.each do |field| %>
|
||||
<tr class="<%= cycle("odd", "even") %>">
|
||||
<td>
|
||||
<%=h field.name %>
|
||||
<%=h field.name %> <%= content_tag('span', '*', :class => 'required') if field_required?(field) %>
|
||||
</td>
|
||||
<% for status in @statuses -%>
|
||||
<td align="center" class="<%= @permissions[status.id][field.id.to_s] %>">
|
||||
|
|
|
@ -191,7 +191,7 @@ class WorkflowsControllerTest < ActionController::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_get_permissions_with_always_required_custom_field
|
||||
def test_get_permissions_with_required_custom_field_should_not_show_required_option
|
||||
cf = IssueCustomField.create!(:name => 'Foo', :field_format => 'string', :tracker_ids => [1], :is_required => true)
|
||||
|
||||
get :permissions, :role_id => 1, :tracker_id => 1
|
||||
|
@ -201,7 +201,7 @@ class WorkflowsControllerTest < ActionController::TestCase
|
|||
# Custom field that is always required
|
||||
# The default option is "(Required)"
|
||||
assert_select 'select[name=?]', "permissions[#{cf.id}][3]" do
|
||||
assert_select 'option[value=]', :text => '(Required)'
|
||||
assert_select 'option[value=]'
|
||||
assert_select 'option[value=readonly]', :text => 'Read-only'
|
||||
assert_select 'option[value=required]', 0
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue