0001-Use-the-id-field-as-project_key-in-ProjectCustomFiel.patch

Holger Just, 2018-09-20 19:25

Download (1.9 KB)

View differences:

app/models/project_custom_field.rb
19 19
  def type_name
20 20
    :label_project_plural
21 21
  end
22

  
23
  def visibility_by_project_condition(project_key=nil, user=User.current, id_column=nil)
24
    project_key ||= "#{Project.table_name}.id"
25
    super(project_key, user, id_column)
26
  end
22 27
end
test/unit/custom_field_test.rb
340 340
    assert_equal 12.5, field.cast_value('+12.5')
341 341
    assert_equal -12.5, field.cast_value('-12.5')
342 342
  end
343

  
344
  def test_project_custom_field_visibility
345
    project_field = ProjectCustomField.generate!(:visible => false, :field_format => 'list', :possible_values => %w[a b c])
346
    project = Project.find(3)
347
    project.custom_field_values = { project_field.id => 'a' }
348

  
349
    # Admins can find projects with the field
350
    with_current_user(User.find(1)) do
351
      assert_includes Project.where(project_field.visibility_by_project_condition), project
352
    end
353

  
354
    # The field is not visible to normal users
355
    with_current_user(User.find(2)) do
356
      refute_includes Project.where(project_field.visibility_by_project_condition), project
357
    end
358
  end
343 359
end
344
-