12792d8068
For existing user custom fields, this new attribute is set to false by default to preserve the prior behaviour (it can turned on by editing the custom field in admin area). Note: on the registration form, *required* custom fields will be displayed even if they are not defined as editable so that the account can be created. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2276 e93f8b46-1217-0410-a6f0-8f06a7374b81
98 lines
3.4 KiB
Plaintext
98 lines
3.4 KiB
Plaintext
<%= error_messages_for 'custom_field' %>
|
|
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
function toggle_custom_field_format() {
|
|
format = $("custom_field_field_format");
|
|
p_length = $("custom_field_min_length");
|
|
p_regexp = $("custom_field_regexp");
|
|
p_values = $("custom_field_possible_values");
|
|
p_searchable = $("custom_field_searchable");
|
|
p_default = $("custom_field_default_value");
|
|
|
|
p_default.setAttribute('type','text');
|
|
Element.show(p_default.parentNode);
|
|
|
|
switch (format.value) {
|
|
case "list":
|
|
Element.hide(p_length.parentNode);
|
|
Element.hide(p_regexp.parentNode);
|
|
if (p_searchable) Element.show(p_searchable.parentNode);
|
|
Element.show(p_values);
|
|
break;
|
|
case "bool":
|
|
p_default.setAttribute('type','checkbox');
|
|
Element.hide(p_length.parentNode);
|
|
Element.hide(p_regexp.parentNode);
|
|
if (p_searchable) Element.hide(p_searchable.parentNode);
|
|
Element.hide(p_values);
|
|
break;
|
|
case "date":
|
|
Element.hide(p_length.parentNode);
|
|
Element.hide(p_regexp.parentNode);
|
|
if (p_searchable) Element.hide(p_searchable.parentNode);
|
|
Element.hide(p_values);
|
|
break;
|
|
case "float":
|
|
case "int":
|
|
Element.show(p_length.parentNode);
|
|
Element.show(p_regexp.parentNode);
|
|
if (p_searchable) Element.hide(p_searchable.parentNode);
|
|
Element.hide(p_values);
|
|
break;
|
|
default:
|
|
Element.show(p_length.parentNode);
|
|
Element.show(p_regexp.parentNode);
|
|
if (p_searchable) Element.show(p_searchable.parentNode);
|
|
Element.hide(p_values);
|
|
break;
|
|
}
|
|
}
|
|
|
|
//]]>
|
|
</script>
|
|
|
|
<div class="box">
|
|
<p><%= f.text_field :name, :required => true %></p>
|
|
<p><%= f.select :field_format, custom_field_formats_for_select, {}, :onchange => "toggle_custom_field_format();" %></p>
|
|
<p><label for="custom_field_min_length"><%=l(:label_min_max_length)%></label>
|
|
<%= f.text_field :min_length, :size => 5, :no_label => true %> -
|
|
<%= f.text_field :max_length, :size => 5, :no_label => true %><br>(<%=l(:text_min_max_length_info)%>)</p>
|
|
<p><%= f.text_field :regexp, :size => 50 %><br>(<%=l(:text_regexp_info)%>)</p>
|
|
<p id="custom_field_possible_values"><%= f.text_area :possible_values, :value => @custom_field.possible_values.to_a.join("\n"),
|
|
:cols => 20,
|
|
:rows => 15 %>
|
|
<br /><em><%= l(:text_custom_field_possible_values_info) %></em></p>
|
|
<p><%= @custom_field.field_format == 'bool' ? f.check_box(:default_value) : f.text_field(:default_value) %></p>
|
|
</div>
|
|
|
|
<div class="box">
|
|
<% case @custom_field.class.name
|
|
when "IssueCustomField" %>
|
|
|
|
<fieldset><legend><%=l(:label_tracker_plural)%></legend>
|
|
<% for tracker in @trackers %>
|
|
<%= check_box_tag "custom_field[tracker_ids][]", tracker.id, (@custom_field.trackers.include? tracker) %> <%= tracker.name %>
|
|
<% end %>
|
|
<%= hidden_field_tag "custom_field[tracker_ids][]", '' %>
|
|
</fieldset>
|
|
|
|
<p><%= f.check_box :is_required %></p>
|
|
<p><%= f.check_box :is_for_all %></p>
|
|
<p><%= f.check_box :is_filter %></p>
|
|
<p><%= f.check_box :searchable %></p>
|
|
|
|
<% when "UserCustomField" %>
|
|
<p><%= f.check_box :is_required %></p>
|
|
<p><%= f.check_box :editable %></p>
|
|
|
|
<% when "ProjectCustomField" %>
|
|
<p><%= f.check_box :is_required %></p>
|
|
|
|
<% when "TimeEntryCustomField" %>
|
|
<p><%= f.check_box :is_required %></p>
|
|
|
|
<% end %>
|
|
</div>
|
|
<%= javascript_tag "toggle_custom_field_format();" %>
|