annotate .svn/pristine/e5/e5e73f56cc8c107df23a1314f092764691036b13.svn-base @ 1082:997f6d7738f7 bug_531

In repo controller entry action, show the page for the file even if it's binary (so user still has access to history etc links). This makes it possible to use the entry action as the default when a file is clicked on
author Chris Cannam <chris.cannam@soundsoftware.ac.uk>
date Thu, 22 Nov 2012 18:04:17 +0000
parents cbb26bc654de
children
rev   line source
Chris@909 1 <%= error_messages_for 'custom_field' %>
Chris@909 2
Chris@909 3 <script type="text/javascript">
Chris@909 4 //<![CDATA[
Chris@909 5 function toggle_custom_field_format() {
Chris@909 6 format = $("custom_field_field_format");
Chris@909 7 p_length = $("custom_field_min_length");
Chris@909 8 p_regexp = $("custom_field_regexp");
Chris@909 9 p_values = $("custom_field_possible_values");
Chris@909 10 p_searchable = $("custom_field_searchable");
Chris@909 11 p_default = $("custom_field_default_value");
Chris@909 12
Chris@909 13 p_default.setAttribute('type','text');
Chris@909 14 Element.show(p_default.parentNode);
Chris@909 15
Chris@909 16 switch (format.value) {
Chris@909 17 case "list":
Chris@909 18 Element.hide(p_length.parentNode);
Chris@909 19 Element.hide(p_regexp.parentNode);
Chris@909 20 if (p_searchable) Element.show(p_searchable.parentNode);
Chris@909 21 Element.show(p_values.parentNode);
Chris@909 22 break;
Chris@909 23 case "bool":
Chris@909 24 p_default.setAttribute('type','checkbox');
Chris@909 25 Element.hide(p_length.parentNode);
Chris@909 26 Element.hide(p_regexp.parentNode);
Chris@909 27 if (p_searchable) Element.hide(p_searchable.parentNode);
Chris@909 28 Element.hide(p_values.parentNode);
Chris@909 29 break;
Chris@909 30 case "date":
Chris@909 31 Element.hide(p_length.parentNode);
Chris@909 32 Element.hide(p_regexp.parentNode);
Chris@909 33 if (p_searchable) Element.hide(p_searchable.parentNode);
Chris@909 34 Element.hide(p_values.parentNode);
Chris@909 35 break;
Chris@909 36 case "float":
Chris@909 37 case "int":
Chris@909 38 Element.show(p_length.parentNode);
Chris@909 39 Element.show(p_regexp.parentNode);
Chris@909 40 if (p_searchable) Element.hide(p_searchable.parentNode);
Chris@909 41 Element.hide(p_values.parentNode);
Chris@909 42 break;
Chris@909 43 case "user":
Chris@909 44 case "version":
Chris@909 45 Element.hide(p_length.parentNode);
Chris@909 46 Element.hide(p_regexp.parentNode);
Chris@909 47 if (p_searchable) Element.hide(p_searchable.parentNode);
Chris@909 48 Element.hide(p_values.parentNode);
Chris@909 49 Element.hide(p_default.parentNode);
Chris@909 50 break;
Chris@909 51 default:
Chris@909 52 Element.show(p_length.parentNode);
Chris@909 53 Element.show(p_regexp.parentNode);
Chris@909 54 if (p_searchable) Element.show(p_searchable.parentNode);
Chris@909 55 Element.hide(p_values.parentNode);
Chris@909 56 break;
Chris@909 57 }
Chris@909 58 }
Chris@909 59
Chris@909 60 //]]>
Chris@909 61 </script>
Chris@909 62
Chris@909 63 <div class="box">
Chris@909 64 <p><%= f.text_field :name, :required => true %></p>
Chris@909 65 <p><%= f.select :field_format, custom_field_formats_for_select(@custom_field), {}, :onchange => "toggle_custom_field_format();",
Chris@909 66 :disabled => !@custom_field.new_record? %></p>
Chris@909 67 <p><label for="custom_field_min_length"><%=l(:label_min_max_length)%></label>
Chris@909 68 <%= f.text_field :min_length, :size => 5, :no_label => true %> -
Chris@909 69 <%= f.text_field :max_length, :size => 5, :no_label => true %><br />(<%=l(:text_min_max_length_info)%>)</p>
Chris@909 70 <p><%= f.text_field :regexp, :size => 50 %><br />(<%=l(:text_regexp_info)%>)</p>
Chris@909 71 <p>
Chris@909 72 <%= f.text_area :possible_values, :value => @custom_field.possible_values.to_a.join("\n"), :rows => 15 %>
Chris@909 73 <br /><em><%= l(:text_custom_field_possible_values_info) %></em>
Chris@909 74 </p>
Chris@909 75 <p><%= @custom_field.field_format == 'bool' ? f.check_box(:default_value) : f.text_field(:default_value) %></p>
Chris@909 76 <%= call_hook(:view_custom_fields_form_upper_box, :custom_field => @custom_field, :form => f) %>
Chris@909 77 </div>
Chris@909 78
Chris@909 79 <div class="box">
Chris@909 80 <% case @custom_field.class.name
Chris@909 81 when "IssueCustomField" %>
Chris@909 82
Chris@909 83 <fieldset><legend><%=l(:label_tracker_plural)%></legend>
Chris@909 84 <% for tracker in @trackers %>
Chris@909 85 <%= check_box_tag "custom_field[tracker_ids][]",
Chris@909 86 tracker.id,
Chris@909 87 (@custom_field.trackers.include? tracker),
Chris@909 88 :id => "custom_field_tracker_ids_#{tracker.id}" %>
Chris@909 89 <label class="no-css" for="custom_field_tracker_ids_<%=tracker.id%>">
Chris@909 90 <%= h(tracker.name) %>
Chris@909 91 </label>
Chris@909 92 <% end %>
Chris@909 93 <%= hidden_field_tag "custom_field[tracker_ids][]", '' %>
Chris@909 94 </fieldset>
Chris@909 95 &nbsp;
Chris@909 96 <p><%= f.check_box :is_required %></p>
Chris@909 97 <p><%= f.check_box :is_for_all %></p>
Chris@909 98 <p><%= f.check_box :is_filter %></p>
Chris@909 99 <p><%= f.check_box :searchable %></p>
Chris@909 100
Chris@909 101 <% when "UserCustomField" %>
Chris@909 102 <p><%= f.check_box :is_required %></p>
Chris@909 103 <p><%= f.check_box :visible %></p>
Chris@909 104 <p><%= f.check_box :editable %></p>
Chris@909 105
Chris@909 106 <% when "ProjectCustomField" %>
Chris@909 107 <p><%= f.check_box :is_required %></p>
Chris@909 108 <p><%= f.check_box :visible %></p>
Chris@909 109 <p><%= f.check_box :searchable %></p>
Chris@909 110
Chris@909 111 <% when "TimeEntryCustomField" %>
Chris@909 112 <p><%= f.check_box :is_required %></p>
Chris@909 113
Chris@909 114 <% else %>
Chris@909 115 <p><%= f.check_box :is_required %></p>
Chris@909 116
Chris@909 117 <% end %>
Chris@909 118 <%= call_hook(:"view_custom_fields_form_#{@custom_field.type.to_s.underscore}", :custom_field => @custom_field, :form => f) %>
Chris@909 119 </div>
Chris@909 120 <%= javascript_tag "toggle_custom_field_format();" %>