refactor feature xml access, extend tests
[opensuse:openfate.git] / app / views / query / run.html.erb
1 <% @page_title = "Search results for: #{@userquerydesc}" %>
2 <%= javascript_include_tag 'table' %>
3
4 <h2>Query results <%= h "(#{@query_features.length} features)"%></h2>
5
6 Your query: <%= h @userquerydesc %><br />
7
8 <br/>
9
10 <% if @query_features.length > 0 %>
11
12   <% if @query_features.length > 20 %>
13   Show <select id="pageselect" onchange="Table.autopage(document.getElementById('t1'), {'pagesize':+document.getElementById('pageselect').value});">
14   <option value="20">20</option>
15   <option selected value="40">40</option>
16   <option value="60">60</option>
17   <option value="100">100</option>
18   </select> features per page
19   <br/>
20   <% end %>
21   
22   <!-- table javascript docu: http://www.javascripttoolbox.com/lib/table/documentation.php -->
23   
24   <% # use the tables autosort column if possible, so the arrow of the sorted column is highlighted 
25     colspan = 1
26     autosort_class = "table-autosort"
27     if (@order_desc == "id" && @orderdirection == "descending" || @order_desc.nil? && @orderdirection.nil?) 
28       autosort_class = "table-autosort:0"
29     elsif (@order_desc == "score")
30       autosort_class = "table-autosort:3"
31     end %>
32     
33   <table id="t1" class="<%= autosort_class %> table-stripeclass:alternate table-autopage:40 table-page-number:t1page table-page-count:t1pages table-rowcount:t1allcount" style="width: 100%">
34     
35     <thead><tr class="sortable-header">
36     <th class="table-sortable:numeric">ID</th>
37     
38     <% if isPartnerFate then
39         colspan = colspan + 1 %>
40       <th class="table-sortable:alphanumeric">Partner ID</th>
41     <% end %>
42     
43     <th class="table-sortable:alphanumeric">Title</th>
44     <th class="table-sortable:alphanumeric">Last update</th>
45
46       <% if !@prodNames.nil? && @prodNames.length > 0 
47         @prodNames.each do |prodName| 
48           colspan = colspan + 1
49           %><th class="table-sortable:alphanumeric"><%= prodName %> <br/>state</th><%
50         end
51       end %>
52       <% if !@query_scores.nil? then
53           colspan = colspan + 1 %>
54         <th class="table-sortable:numeric">Score</th>
55       <% end %>
56     
57     </tr></thead>
58             <tbody>
59             <% for feature in @query_features %>
60             <tr>
61       <td width="1%"><%= link_to feature.id, {:controller => "feature", :action => "index", :id => feature.id } %></td>
62       
63       <% if isPartnerFate %>
64       <td><div style="max-width: 180px; "><%= feature.get_field( "externalid" ) %></div></td>
65       <% end %>
66       
67                   <td><%= link_to h(feature.title), {:controller => "feature", :action => "index", :id => feature.id } %></td>
68                   <td style="white-space: nowrap;" width="1%"><%= feature.change_date.split("T")[0] %>, <%= feature.change_date.split("T")[1] %></td>
69       
70       <% if !@prodNames.nil? && @prodNames.length > 0 
71         @prodNames.each do |prodName| %>
72         <td>
73         <% if (!feature.products.select{|p| p[:name] == prodName}.empty? ) %>
74           <%= feature.products.select{|p| p[:name] == prodName}.first[:status] %>
75         <% end %>
76         </td>
77         <% end
78       end %>
79       
80       <% if !@query_scores.nil? then %>
81         <td style="text-align: right">
82           <% if !@query_scores[feature.id].nil? then%>
83             <%= @query_scores[feature.id] %>
84           <% else %>
85              0
86           <% end %>
87         </td>
88       <% end %>
89                   </tr>
90             <% end %>
91             </tbody>
92             <tfoot>
93               <td align="left"><a onClick="Table.page(document.getElementById('t1'), 0);"><%= image_tag("arrow-left-double.png", :alt => "<<", :title => "First page")%></a>&nbsp;<a onClick="Table.pagePrevious(document.getElementById('t1'));"><%= image_tag("arrow-left.png", :alt => "<", :title => "Previous page")%></a></td>
94                     <td colspan="<%= colspan %>" style="text-align:center;"><span  style="text-align:left;"></span>Page <span id="t1page"></span>&nbsp;of <span id="t1pages"></span></td>
95         <td align="right"><a onClick="Table.pageNext(document.getElementById('t1'));"><%= image_tag("arrow-right.png", :alt => ">", :title => "Next page")%></a>&nbsp;<a onClick="Table.page(document.getElementById('t1'), 9999);"><%= image_tag("arrow-right-double.png", :alt => ">>", :title => "Last page")%></a></td>
96       </tfoot>
97
98         </table>
99 <% else %>
100     <b>Sorry, your query didn't return any results...</b>
101 <% end %>