OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/app/views/search/index.rhtml

67 lines
3.7 KiB

<h2><%= l(:label_search) %></h2>
<div class="box">
<% form_tag({}, :method => :get) do %>
<p><%= text_field_tag 'q', @question, :size => 30, :id => 'search-input' %>
<%= javascript_tag "Field.focus('search-input')" %>
<% if @project %>
<%= check_box_tag 'scope[]', 'issues', (@scope.include? 'issues') %> <label><%= l(:label_issue_plural) %></label>
<% if @project.repository %>
<%= check_box_tag 'scope[]', 'changesets', (@scope.include? 'changesets') %> <label><%= l(:label_revision_plural) %></label>
<% end %>
<%= check_box_tag 'scope[]', 'news', (@scope.include? 'news') %> <label><%= l(:label_news_plural) %></label>
<%= check_box_tag 'scope[]', 'documents', (@scope.include? 'documents') %> <label><%= l(:label_document_plural) %></label>
<% if @project.wiki %>
<%= check_box_tag 'scope[]', 'wiki', (@scope.include? 'wiki') %> <label><%= l(:label_wiki) %></label>
<% end %>
<% if @project.boards.any? %>
<%= check_box_tag 'scope[]', 'messages', (@scope.include? 'messages') %> <label><%= l(:label_message_plural) %></label>
<% end %>
<% else %>
<%= check_box_tag 'scope[]', 'projects', (@scope.include? 'projects') %> <label><%= l(:label_project_plural) %></label>
<% end %>
<br />
<%= check_box_tag 'all_words', 1, @all_words %> <%= l(:label_all_words) %></p>
<%= submit_tag l(:button_submit), :name => 'submit' %>
<% end %>
</div>
<% if @results %>
<h3><%= lwr(:label_result, @results.length) %></h3>
<ul>
<% @results.each do |e| %>
<li><p>
<% if e.is_a? Project %>
<%= link_to highlight_tokens(h(e.name), @tokens), :controller => 'projects', :action => 'show', :id => e %><br />
<%= highlight_tokens(e.description, @tokens) %>
<% elsif e.is_a? Issue %>
<%= link_to_issue e %>: <%= highlight_tokens(h(e.subject), @tokens) %><br />
<%= highlight_tokens(e.description, @tokens) %><br />
<i><%= e.author.name %>, <%= format_time(e.created_on) %></i>
<% elsif e.is_a? News %>
<%=l(:label_news)%>: <%= link_to highlight_tokens(h(e.title), @tokens), :controller => 'news', :action => 'show', :id => e %><br />
<%= highlight_tokens(e.description, @tokens) %><br />
<i><%= e.author.name %>, <%= format_time(e.created_on) %></i>
<% elsif e.is_a? Document %>
<%=l(:label_document)%>: <%= link_to highlight_tokens(h(e.title), @tokens), :controller => 'documents', :action => 'show', :id => e %><br />
<%= highlight_tokens(e.description, @tokens) %><br />
<i><%= format_time(e.created_on) %></i>
<% elsif e.is_a? WikiPage %>
<%=l(:label_wiki)%>: <%= link_to highlight_tokens(h(e.pretty_title), @tokens), :controller => 'wiki', :action => 'index', :id => @project, :page => e.title %><br />
<%= highlight_tokens(e.content.text, @tokens) %><br />
<i><%= e.content.author ? e.content.author.name : "Anonymous" %>, <%= format_time(e.content.updated_on) %></i>
<% elsif e.is_a? Changeset %>
<%=l(:label_revision)%> <%= link_to h(e.revision), :controller => 'repositories', :action => 'revision', :id => @project, :rev => e.revision %><br />
<%= highlight_tokens(e.comments, @tokens) %><br />
<em><%= e.committer.blank? ? e.committer : "Anonymous" %>, <%= format_time(e.committed_on) %></em>
<% elsif e.is_a? Message %>
<%=h e.board.name %>: <%= link_to_message e %><br />
<%= highlight_tokens(e.content, @tokens) %><br />
<em><%= e.author ? e.author.name : "Anonymous" %>, <%= format_time(e.created_on) %></em>
<% end %>
</p></li>
<% end %>
</ul>
<% end %>