Undev/redmine_xapian

View on GitHub
app/views/search/index.html.erb

Summary

Maintainability
Test Coverage
<h2><%= l(:label_search) %> <%= image_tag("xapian-powered.png", :plugin => 'redmine_xapian') %> </h2>

<div class="box">
<%= form_tag({}, :method => :get) do %>
<%= label_tag "search-input", l(:description_search), :class => "hidden-for-sighted" %>
<p><%= text_field_tag 'q', @question, :size => 60, :id => 'search-input' %>
<%= javascript_tag "Field.focus('search-input')" %>
<%= project_select_tag %>
<%= hidden_field_tag 'all_words', '', :id => nil %>
<label><%= check_box_tag 'all_words', 1, @all_words %> <%= l(:label_all_words) %></label>
<%= hidden_field_tag 'titles_only', '', :id => nil %>
<label><%= check_box_tag 'titles_only', 1, @titles_only %> <%= l(:label_search_titles_only) %></label>
</p>
<p>
<% @object_types.each do |t| %>
<% logger.debug "DEBUG: object type: " + t.inspect %>
<label><%= check_box_tag t, 1, @scope.include?(t) %> <%= type_label(t) %></label>
<% end %>
</p>
<% logger.debug "DEBUG: object_types from search: " + Redmine::Search.available_search_types.inspect %>

<% if @object_types.include?("attachments") || @object_types.include?("repofiles") %>
  <% Setting.plugin_redmine_xapian['stem_langs'].push(Setting.plugin_redmine_xapian['stemming_lang']) unless Setting.plugin_redmine_xapian['stem_langs'].include?(Setting.plugin_redmine_xapian['stemming_lang']) %>

  <p>
<% if  Setting.plugin_redmine_xapian['stem_on_search'] == "true" then %>
 <label><%= content_tag(:label, l(:label_stemming_lang))%> <%= select_tag "user_stem_lang",
                        options_for_select(  Setting.plugin_redmine_xapian['stem_langs'], @user_stem_lang )  %>

  </label>
  <%=content_tag(:label, l(:label_stemming_strategy))%>
  <%=radio_button_tag 'user_stem_strategy', 'STEM_NONE', 'STEM_NONE' == @user_stem_strategy %> <%= l(:label_stem_none)%>
  <%=radio_button_tag 'user_stem_strategy', 'STEM_SOME', 'STEM_SOME' == @user_stem_strategy %> <%= l(:label_stem_some)%>
  <%=radio_button_tag 'user_stem_strategy', 'STEM_ALL',  'STEM_ALL' == @user_stem_strategy %> <%= l(:label_stem_all)%>
<%end%>


<%end%>
<p><%= submit_tag l(:button_submit), :name => 'submit' %></p>
<% end %>
</div>
<% if @results %>
    <div id="search-results-counts">
    <%= render_results_by_type(@results_by_type) unless @scope.size == 1 %>
    </div>

    <h3><%= l(:label_result_plural) %> (<%= @results_by_type.values.sum %>)</h3>
    <dl id="search-results">
      <% @results.each do |e| %>
        <dt class="<%= e.event_type %>"><%= content_tag('span', h(e.project), :class => 'project') unless @project == e.project  %>
<% if e.event_type == "attachment" then %>
<strong>
<%=    link_to highlight_tokens(truncate(e.event_title, :length => 255), @tokens), e.event_url    %>
</strong>
<%= link_to_container(e) %>
<% else %>
<%=    link_to highlight_tokens(truncate(e.event_title, :length => 255), @tokens), e.event_url %>
<%end%>
</dt>
<dd><span class="description">
<% if e.event_type == "attachment" || e.event_type == "subversion" || e.event_type == "git" then %>
        <%= highlight_tokens2(e.event_description, @tokens) %>
<% else%>
    <%= highlight_tokens(e.event_description, @tokens) %>
<% end %>
</span>
        <span class="author"><%= format_time(e.event_datetime) %></span></dd>
      <% end %>
    </dl>
<% end %>

<p><center>
  <% if @pagination_previous_date %>
    <%= link_to_content_update("\xc2\xab " + l(:label_previous),
                               params.merge(:previous => 1,
                                            :offset => @pagination_previous_date.strftime("%Y%m%d%H%M%S"))) %>&nbsp;
  <% end %>
  <% if @pagination_next_date %>
    <%= link_to_content_update(l(:label_next) + " \xc2\xbb",
                               params.merge(:previous => nil,
                                            :offset => @pagination_next_date.strftime("%Y%m%d%H%M%S"))) %>
  <% end %>
</center></p>

<% html_title(l(:label_search)) -%>

<% content_for :header_tags do %>
    <%= stylesheet_link_tag 'redmine_xapian', 'pagination', :plugin => 'redmine_xapian' %>
<% end %>