]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/issues/index.html.erb
Use select_tag for issue filter fields instead of abusing select
[rails.git] / app / views / issues / index.html.erb
index 431158c38a19017ba1a2a51d4a18d4af64d2e4b6..510cb4e0d13b1b60c9a09ead2bfdd36a92ad8f93 100644 (file)
@@ -1,45 +1,50 @@
 <% content_for :heading do %>
-  <h1>List of issues:</h1>
+  <h1><%= t ".title" %></h1>
 <% end %>
 
 <%= form_tag(issues_path, :method => :get) do %>
-Search for a particular issue(s):  <br/>
-<%= select :status, nil, [['open', 0],['resolved',2],['ignored',1]],{:include_blank => "Select status"},data: { behavior: 'category_dropdown' } %>
-<%= select :issue_type, nil, @issue_types,{:include_blank => "Select type"}, data: { behavior: 'category_dropdown' } %>
-<%= text_field_tag :search_by_user, params[:search_by_user], placeholder: "Reported User" %>
-<%= select :last_reported_by, nil, @users.all.collect  {|f| [f.display_name, f.id]} << ['Not updated',"nil"], {:include_blank => "Select last updated by"}, data: { behavior: 'category_dropdown' } %>
-<%= submit_tag "Search" %>
+<p><%= t ".search_guidance" %></p>
+<%= select_tag :status, options_for_select(Issue.aasm.states.map(&:name).map{|state| [t("issues.states.#{state}"), state]}, params[:status]), :include_blank => t(".select_status"), :data => { :behavior => 'category_dropdown' } %>
+<%= select_tag :issue_type, options_for_select(@issue_types, params[:issue_type]), :include_blank => t(".select_type"), :data => { :behavior => 'category_dropdown' } %>
+<%= text_field_tag :search_by_user, params[:search_by_user], placeholder: t(".reported_user") %>
+<%= select_tag :last_updated_by, options_for_select(@users.all.collect{|f| [f.display_name, f.id]} << [ t(".not_updated"), "nil"], params[:last_updated_by]), :include_blank => t(".select_last_updated_by"), :data => { :behavior => 'category_dropdown' } %>
+<%= submit_tag t(".search"), :name => nil %>
 <% end %>
 <br/>
 
 <% if @issues.length == 0 %>
-  <p><%= t ".search.issues_not_found" %></p>
+  <p><%= t ".issues_not_found" %></p>
 <% end %>
 
 <br/>
 
-<table>
+<table class="issues-list">
   <thead>
     <tr>
-      <td><b>Status</b></td>
-      <td><b>Number of Reports</b></td>
-      <td><b>Last updated at</b></td>
-      <td><b>Last updated by</b></td>
-      <td><b>Link to reports</b></td>
-      <td><b>Reported User</b></td>
-      <td><b>Link to reported instance</b></td>
+      <th><%= t ".status" %></th>
+      <th><%= t ".reports" %></th>
+      <th><%= t ".reported_item" %></th>
+      <th><%= t ".reported_user" %></th>
+      <th><%= t ".last_updated" %></th>
     </tr>
   </thead>
   <tbody>
     <% @issues.each do |issue| %>
       <tr>
-        <td><%= issue.status.humanize %></td>
-        <td style="text-align:center;"><%= issue.reports_count %></td>
-        <td><%= l(issue.updated_at.to_datetime, :format => :friendly) %></td>
-        <td><% if issue.user_updated %> <%= issue.user_updated.display_name %> <% else %> - <% end %></td>
-        <td><%= reports_url(issue) %></td>
-        <td><%= link_to issue.reported_user.display_name , :controller => :user, :action => :view, :display_name => issue.reported_user.display_name %></td>
-        <td><%= instance_url(issue.reportable) %></td>
+        <td><%= t "issues.states.#{issue.status}" %></td>
+        <td><%= link_to t(".reports_count", :count => issue.reports_count), issue %></td>
+        <td><%= link_to reportable_title(issue.reportable), reportable_url(issue.reportable) %></td>
+        <td><%= link_to issue.reported_user.display_name, user_path(issue.reported_user.display_name) if issue.reported_user %></td>
+        <td>
+          <% if issue.user_updated %>
+            <%= t ".last_updated_time_user_html", :user => link_to(issue.user_updated.display_name, user_path(issue.user_updated.display_name)),
+                                                  :time => distance_of_time_in_words_to_now(issue.updated_at),
+                                                  :title => l(issue.updated_at) %>
+          <% else %>
+            <%= t ".last_updated_time_html", :time => distance_of_time_in_words_to_now(issue.updated_at),
+                                             :title => l(issue.updated_at) %>
+          <% end %>
+        </td>
       </tr>
     <% end %>
   </tbody>