Added default value for custom fields. Fixed javascript on custom field form for project and user custom fields.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@1090 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2008-01-20 21:29:51 +00:00
parent 59c5d995c3
commit d6bfb7fa4d
29 changed files with 96 additions and 12 deletions

View File

@@ -10,6 +10,7 @@ custom_fields_001:
id: 1
is_required: false
field_format: list
default_value: ""
custom_fields_002:
name: Searchable field
min_length: 1
@@ -22,6 +23,7 @@ custom_fields_002:
is_required: false
field_format: string
searchable: true
default_value: "Default string"
custom_fields_003:
name: Development status
min_length: 0
@@ -33,6 +35,7 @@ custom_fields_003:
id: 3
is_required: true
field_format: list
default_value: ""
custom_fields_004:
name: Phone number
min_length: 0
@@ -44,6 +47,7 @@ custom_fields_004:
id: 4
is_required: false
field_format: string
default_value: ""
custom_fields_005:
name: Money
min_length: 0
@@ -55,4 +59,5 @@ custom_fields_005:
id: 5
is_required: false
field_format: float
default_value: ""

View File

@@ -34,7 +34,10 @@ class IssuesControllerTest < Test::Unit::TestCase
:enabled_modules,
:enumerations,
:attachments,
:workflows
:workflows,
:custom_fields,
:custom_values,
:custom_fields_trackers
def setup
@controller = IssuesController.new
@@ -132,6 +135,9 @@ class IssuesControllerTest < Test::Unit::TestCase
get :new, :project_id => 1, :tracker_id => 1
assert_response :success
assert_template 'new'
assert_tag :tag => 'input', :attributes => { :name => 'custom_fields[2]',
:value => 'Default string' }
end
def test_get_new_without_tracker_id
@@ -162,9 +168,16 @@ class IssuesControllerTest < Test::Unit::TestCase
:issue => {:tracker_id => 1,
:subject => 'This is the test_new issue',
:description => 'This is the description',
:priority_id => 5}
:priority_id => 5},
:custom_fields => {'2' => 'Value for field 2'}
assert_redirected_to 'projects/ecookbook/issues'
assert Issue.find_by_subject('This is the test_new issue')
issue = Issue.find_by_subject('This is the test_new issue')
assert_not_nil issue
assert_equal 2, issue.author_id
v = issue.custom_values.find_by_custom_field_id(2)
assert_not_nil v
assert_equal 'Value for field 2', v.value
end
def test_copy_issue

View File

@@ -1,7 +1,16 @@
require "#{File.dirname(__FILE__)}/../test_helper"
class IssuesTest < ActionController::IntegrationTest
fixtures :projects, :users, :trackers, :issue_statuses, :issues, :enumerations
fixtures :projects,
:users,
:trackers,
:projects_trackers,
:issue_statuses,
:issues,
:enumerations,
:custom_fields,
:custom_values,
:custom_fields_trackers
# create an issue
def test_add_issue
@@ -18,7 +27,8 @@ class IssuesTest < ActionController::IntegrationTest
:description => "new issue",
:done_ratio => "0",
:due_date => "",
:assigned_to_id => "" }
:assigned_to_id => "" },
:custom_fields => {'2' => 'Value for field 2'}
# find created issue
issue = Issue.find_by_subject("new test issue")
assert_kind_of Issue, issue

View File

@@ -31,4 +31,15 @@ class CustomValueTest < Test::Unit::TestCase
v.value = '6a'
assert !v.save
end
def test_default_value
field = CustomField.find_by_default_value('Default string')
assert_not_nil field
v = CustomValue.new(:custom_field => field)
assert_equal 'Default string', v.value
v = CustomValue.new(:custom_field => field, :value => 'Not empty')
assert_equal 'Not empty', v.value
end
end