OSDN Git Service

add Redmine trunk rev 3089
[redminele/redminele.git] / redmine / app / views / custom_fields / _form.rhtml
1 <%= error_messages_for 'custom_field' %>
2
3 <script type="text/javascript">
4 //<![CDATA[
5 function toggle_custom_field_format() {
6   format = $("custom_field_field_format");
7   p_length = $("custom_field_min_length");
8   p_regexp = $("custom_field_regexp");
9   p_values = $("custom_field_possible_values");
10   p_searchable = $("custom_field_searchable");
11   p_default = $("custom_field_default_value");
12   
13   p_default.setAttribute('type','text');
14   Element.show(p_default.parentNode);
15   
16   switch (format.value) {
17     case "list":
18       Element.hide(p_length.parentNode);
19       Element.hide(p_regexp.parentNode);
20       if (p_searchable) Element.show(p_searchable.parentNode);
21       Element.show(p_values);
22       break;
23     case "bool":
24       p_default.setAttribute('type','checkbox');
25       Element.hide(p_length.parentNode);
26       Element.hide(p_regexp.parentNode);
27       if (p_searchable) Element.hide(p_searchable.parentNode);
28       Element.hide(p_values);
29       break;
30     case "date":
31       Element.hide(p_length.parentNode);
32       Element.hide(p_regexp.parentNode);
33       if (p_searchable) Element.hide(p_searchable.parentNode);
34       Element.hide(p_values);
35       break;
36     case "float":
37     case "int":
38       Element.show(p_length.parentNode);
39       Element.show(p_regexp.parentNode);
40       if (p_searchable) Element.hide(p_searchable.parentNode);
41       Element.hide(p_values);
42       break;
43     default:
44       Element.show(p_length.parentNode);
45       Element.show(p_regexp.parentNode);
46       if (p_searchable) Element.show(p_searchable.parentNode);
47       Element.hide(p_values);
48       break;
49   }
50 }
51
52 //]]>
53 </script>
54
55 <div class="box">
56 <p><%= f.text_field :name, :required => true %></p>
57 <p><%= f.select :field_format, custom_field_formats_for_select, {}, :onchange => "toggle_custom_field_format();",
58                                                                                                                                                                                                                                                                                 :disabled => !@custom_field.new_record? %></p>
59 <p><label for="custom_field_min_length"><%=l(:label_min_max_length)%></label>
60    <%= f.text_field :min_length, :size => 5, :no_label => true %> - 
61    <%= f.text_field :max_length, :size => 5, :no_label => true %><br>(<%=l(:text_min_max_length_info)%>)</p>
62 <p><%= f.text_field :regexp, :size => 50 %><br>(<%=l(:text_regexp_info)%>)</p>
63 <p id="custom_field_possible_values"><%= f.text_area :possible_values, :value => @custom_field.possible_values.to_a.join("\n"),
64                                                                                                                                                                                                                                                                                          :cols => 20,
65                                                                                                                                                                                                                                                                                          :rows => 15 %>
66 <br /><em><%= l(:text_custom_field_possible_values_info) %></em></p>
67 <p><%= @custom_field.field_format == 'bool' ? f.check_box(:default_value) : f.text_field(:default_value) %></p>
68 <%= call_hook(:view_custom_fields_form_upper_box, :custom_field => @custom_field, :form => f) %>
69 </div>
70
71 <div class="box">
72 <% case @custom_field.class.name
73 when "IssueCustomField" %>
74     
75     <fieldset><legend><%=l(:label_tracker_plural)%></legend>
76     <% for tracker in @trackers %>
77         <%= check_box_tag "custom_field[tracker_ids][]", tracker.id, (@custom_field.trackers.include? tracker) %> <%= tracker.name %>
78     <% end %>
79                 <%= hidden_field_tag "custom_field[tracker_ids][]", '' %>
80     </fieldset>
81     &nbsp;
82     <p><%= f.check_box :is_required %></p>
83     <p><%= f.check_box :is_for_all %></p>
84     <p><%= f.check_box :is_filter %></p>
85     <p><%= f.check_box :searchable %></p>
86     
87 <% when "UserCustomField" %>
88     <p><%= f.check_box :is_required %></p>
89     <p><%= f.check_box :editable %></p>
90
91 <% when "ProjectCustomField" %>
92     <p><%= f.check_box :is_required %></p>
93
94 <% when "TimeEntryCustomField" %>
95     <p><%= f.check_box :is_required %></p>
96
97 <% else %>
98     <p><%= f.check_box :is_required %></p>
99     
100 <% end %>
101 <%= call_hook(:"view_custom_fields_form_#{@custom_field.type.to_s.underscore}", :custom_field => @custom_field, :form => f) %>
102 </div>
103 <%= javascript_tag "toggle_custom_field_format();" %>