_form.html.erb
128 lines
| 4.8 KiB
| text/plain
|
TextLexer
|
r2 | <%= error_messages_for 'custom_field' %> | ||
|
r220 | <script type="text/javascript"> | ||
//<![CDATA[ | ||||
|
r97 | 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"); | ||||
|
r981 | p_searchable = $("custom_field_searchable"); | ||
|
r1076 | p_default = $("custom_field_default_value"); | ||
|
r8601 | p_multiple = $("custom_field_multiple"); | ||
|
r6224 | |||
|
r1076 | p_default.setAttribute('type','text'); | ||
Element.show(p_default.parentNode); | ||||
|
r6224 | |||
|
r97 | switch (format.value) { | ||
case "list": | ||||
Element.hide(p_length.parentNode); | ||||
Element.hide(p_regexp.parentNode); | ||||
|
r1076 | if (p_searchable) Element.show(p_searchable.parentNode); | ||
|
r5146 | Element.show(p_values.parentNode); | ||
|
r8601 | Element.show(p_multiple.parentNode); | ||
|
r97 | break; | ||
case "bool": | ||||
|
r1076 | p_default.setAttribute('type','checkbox'); | ||
Element.hide(p_length.parentNode); | ||||
Element.hide(p_regexp.parentNode); | ||||
if (p_searchable) Element.hide(p_searchable.parentNode); | ||||
|
r5146 | Element.hide(p_values.parentNode); | ||
|
r8601 | Element.hide(p_multiple.parentNode); | ||
|
r1076 | break; | ||
case "date": | ||||
|
r97 | Element.hide(p_length.parentNode); | ||
Element.hide(p_regexp.parentNode); | ||||
|
r1076 | if (p_searchable) Element.hide(p_searchable.parentNode); | ||
|
r5146 | Element.hide(p_values.parentNode); | ||
|
r8601 | Element.hide(p_multiple.parentNode); | ||
|
r981 | break; | ||
case "float": | ||||
case "int": | ||||
Element.show(p_length.parentNode); | ||||
Element.show(p_regexp.parentNode); | ||||
|
r1076 | if (p_searchable) Element.hide(p_searchable.parentNode); | ||
|
r5146 | Element.hide(p_values.parentNode); | ||
|
r8601 | Element.hide(p_multiple.parentNode); | ||
|
r97 | break; | ||
|
r7280 | case "user": | ||
|
r5152 | case "version": | ||
Element.hide(p_length.parentNode); | ||||
Element.hide(p_regexp.parentNode); | ||||
if (p_searchable) Element.hide(p_searchable.parentNode); | ||||
Element.hide(p_values.parentNode); | ||||
Element.hide(p_default.parentNode); | ||||
|
r8601 | Element.show(p_multiple.parentNode); | ||
|
r7280 | break; | ||
|
r97 | default: | ||
Element.show(p_length.parentNode); | ||||
Element.show(p_regexp.parentNode); | ||||
|
r1076 | if (p_searchable) Element.show(p_searchable.parentNode); | ||
|
r5146 | Element.hide(p_values.parentNode); | ||
|
r8601 | Element.hide(p_multiple.parentNode); | ||
|
r97 | break; | ||
} | ||||
} | ||||
|
r220 | |||
//]]> | ||||
|
r97 | </script> | ||
|
r8021 | <div class="box tabular"> | ||
|
r97 | <p><%= f.text_field :name, :required => true %></p> | ||
|
r5152 | <p><%= f.select :field_format, custom_field_formats_for_select(@custom_field), {}, :onchange => "toggle_custom_field_format();", | ||
|
r7280 | :disabled => !@custom_field.new_record? %></p> | ||
|
r8603 | <p><%= f.check_box :multiple, :disabled => @custom_field.multiple && !@custom_field.new_record? %></p> | ||
|
r19 | <p><label for="custom_field_min_length"><%=l(:label_min_max_length)%></label> | ||
|
r97 | <%= f.text_field :min_length, :size => 5, :no_label => true %> - | ||
|
r6379 | <%= 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> | ||||
|
r4886 | <p> | ||
|
r7280 | <%= f.text_area :possible_values, :value => @custom_field.possible_values.to_a.join("\n"), :rows => 15 %> | ||
|
r4886 | <br /><em><%= l(:text_custom_field_possible_values_info) %></em> | ||
</p> | ||||
|
r1076 | <p><%= @custom_field.field_format == 'bool' ? f.check_box(:default_value) : f.text_field(:default_value) %></p> | ||
|
r2535 | <%= call_hook(:view_custom_fields_form_upper_box, :custom_field => @custom_field, :form => f) %> | ||
|
r330 | </div> | ||
|
r2 | |||
|
r8021 | <div class="box tabular"> | ||
|
r2270 | <% case @custom_field.class.name | ||
|
r330 | when "IssueCustomField" %> | ||
|
r6224 | |||
|
r330 | <fieldset><legend><%=l(:label_tracker_plural)%></legend> | ||
|
r8024 | <% Tracker.all.each do |tracker| %> | ||
|
r7581 | <%= check_box_tag "custom_field[tracker_ids][]", | ||
tracker.id, | ||||
(@custom_field.trackers.include? tracker), | ||||
:id => "custom_field_tracker_ids_#{tracker.id}" %> | ||||
<label class="no-css" for="custom_field_tracker_ids_<%=tracker.id%>"> | ||||
<%= h(tracker.name) %> | ||||
</label> | ||||
|
r97 | <% end %> | ||
|
r7280 | <%= hidden_field_tag "custom_field[tracker_ids][]", '' %> | ||
|
r330 | </fieldset> | ||
|
r97 | | ||
<p><%= f.check_box :is_required %></p> | ||||
<p><%= f.check_box :is_for_all %></p> | ||||
|
r444 | <p><%= f.check_box :is_filter %></p> | ||
|
r981 | <p><%= f.check_box :searchable %></p> | ||
|
r6224 | |||
|
r97 | <% when "UserCustomField" %> | ||
<p><%= f.check_box :is_required %></p> | ||||
|
r4268 | <p><%= f.check_box :visible %></p> | ||
|
r2274 | <p><%= f.check_box :editable %></p> | ||
|
r10 | |||
|
r97 | <% when "ProjectCustomField" %> | ||
<p><%= f.check_box :is_required %></p> | ||||
|
r4268 | <p><%= f.check_box :visible %></p> | ||
|
r3396 | <p><%= f.check_box :searchable %></p> | ||
|
r10 | |||
|
r1672 | <% when "TimeEntryCustomField" %> | ||
<p><%= f.check_box :is_required %></p> | ||||
|
r2831 | <% else %> | ||
<p><%= f.check_box :is_required %></p> | ||||
|
r6224 | |||
|
r10 | <% end %> | ||
|
r2535 | <%= call_hook(:"view_custom_fields_form_#{@custom_field.type.to_s.underscore}", :custom_field => @custom_field, :form => f) %> | ||
|
r10 | </div> | ||
|
r981 | <%= javascript_tag "toggle_custom_field_format();" %> | ||