Patch by Mizuki ISHIKAWA. git-svn-id: http://svn.redmine.org/redmine/trunk@18156 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/4.1.0
@@ -194,4 +194,15 @@ module CustomFieldsHelper | |||
end | |||
form.select :edit_tag_style, select_options, :label => :label_display | |||
end | |||
def select_type_radio_buttons(default_type) | |||
if CUSTOM_FIELDS_TABS.none? {|tab| tab[:name] == default_type} | |||
default_type = 'IssueCustomField' | |||
end | |||
custom_field_type_options.map do |name, type| | |||
content_tag(:label, :style => 'display:block;') do | |||
radio_button_tag('type', type, type == default_type) + name | |||
end | |||
end.join("\n").html_safe | |||
end | |||
end |
@@ -1,5 +1,5 @@ | |||
<div class="contextual"> | |||
<%= link_to l(:label_custom_field_new), new_custom_field_path, :class => 'icon icon-add' %> | |||
<%= link_to_function l(:label_custom_field_new), "location.href = '#{new_custom_field_path}?tab=' + encodeURIComponent($('.tabs a.selected').attr('id').split('tab-').pop())", :class => 'icon icon-add' %> | |||
</div> | |||
<%= title l(:label_custom_field_plural) %> |
@@ -1,13 +1,10 @@ | |||
<%= custom_field_title @custom_field %> | |||
<% selected = 0 %> | |||
<%= form_tag new_custom_field_path, :method => 'get' do %> | |||
<div class="box"> | |||
<p><%= l(:label_custom_field_select_type) %>:</p> | |||
<p> | |||
<% custom_field_type_options.each do |name, type| %> | |||
<label style="display:block;"><%= radio_button_tag 'type', type, 1==selected+=1 %> <%= name %></label> | |||
<% end %> | |||
<%= select_type_radio_buttons(params[:tab]) %> | |||
</p> | |||
</div> | |||
<p><%= submit_tag l(:label_next).html_safe + " »".html_safe, :name => nil %></p> |
@@ -95,4 +95,14 @@ class CustomFieldsHelperTest < Redmine::HelperTest | |||
assert_select_in custom_field_tag('object', value), 'textarea[class=?]', 'text_cf wiki-edit' | |||
end | |||
def test_select_type_radio_buttons | |||
result = select_type_radio_buttons('UserCustomField') | |||
assert_select_in result, 'input[type="radio"]', :count => 10 | |||
assert_select_in result, 'input#type_UserCustomField[checked=?]', 'checked' | |||
result = select_type_radio_buttons(nil) | |||
assert_select_in result, 'input[type="radio"]', :count => 10 | |||
assert_select_in result, 'input#type_IssueCustomField[checked=?]', 'checked' | |||
end | |||
end |