@@ -20,8 +20,12 | |||
|
20 | 20 | module WorkflowsHelper |
|
21 | 21 | def field_permission_tag(permissions, status, field) |
|
22 | 22 | name = field.is_a?(CustomField) ? field.id.to_s : field |
|
23 | select_tag("permissions[#{name}][#{status.id}]", | |
|
24 | options_for_select([["", ""], [l(:label_readonly), "readonly"], [l(:label_required), "required"]], permissions[status.id][name]) | |
|
25 | ) | |
|
23 | options = [["", ""], [l(:label_readonly), "readonly"], [l(:label_required), "required"]] | |
|
24 | ||
|
25 | if field.is_a?(CustomField) && field.is_required? | |
|
26 | options = [["(#{l(:label_required)})", ""], [l(:label_readonly), "readonly"]] | |
|
27 | end | |
|
28 | ||
|
29 | select_tag("permissions[#{name}][#{status.id}]", options_for_select(options, permissions[status.id][name])) | |
|
26 | 30 | end |
|
27 | 31 | end |
@@ -191,6 +191,22 class WorkflowsControllerTest < ActionController::TestCase | |||
|
191 | 191 | end |
|
192 | 192 | end |
|
193 | 193 | |
|
194 | def test_get_permissions_with_always_required_custom_field | |
|
195 | cf = IssueCustomField.create!(:name => 'Foo', :field_format => 'string', :tracker_ids => [1], :is_required => true) | |
|
196 | ||
|
197 | get :permissions, :role_id => 1, :tracker_id => 1 | |
|
198 | assert_response :success | |
|
199 | assert_template 'permissions' | |
|
200 | ||
|
201 | # Custom field that is always required | |
|
202 | # The default option is "(Required)" | |
|
203 | assert_select 'select[name=?]', "permissions[#{cf.id}][3]" do | |
|
204 | assert_select 'option[value=]', :text => '(Required)' | |
|
205 | assert_select 'option[value=readonly]', :text => 'Read-only' | |
|
206 | assert_select 'option[value=required]', 0 | |
|
207 | end | |
|
208 | end | |
|
209 | ||
|
194 | 210 | def test_get_permissions_with_role_and_tracker_and_all_statuses |
|
195 | 211 | WorkflowTransition.delete_all |
|
196 | 212 |
General Comments 0
You need to be logged in to leave comments.
Login now