]> git.openstreetmap.org Git - rails.git/blobdiff - app/views/issues/index.html.erb
Rework issue search form to use Bootstrap form layout
[rails.git] / app / views / issues / index.html.erb
index 30b283324822c39ca693fc0c10f7dc03facc2a0e..44f4e0cac9026bd175b75ad6dca40f12b5d30f52 100644 (file)
@@ -2,46 +2,74 @@
   <h1><%= t ".title" %></h1>
 <% end %>
 
-<%= form_tag(issues_path, :method => :get) do %>
 <p><%= t ".search_guidance" %></p>
-<%= select :status, nil, Issue.aasm.states.map(&:name).map{|state| [t("issues.states.#{state}"), state]}, { :include_blank => t(".select_status")}, data: { behavior: 'category_dropdown' } %>
-<%= select :issue_type, nil, @issue_types, { :include_blank => t(".select_type")}, data: { behavior: 'category_dropdown' } %>
-<%= text_field_tag :search_by_user, params[:search_by_user], placeholder: t(".reported_user") %>
-<%= select :last_updated_by, nil, @users.all.collect  {|f| [f.display_name, f.id]} << [ t(".not_updated"), "nil"], { :include_blank => t(".select_last_updated_by")}, data: { behavior: 'category_dropdown' } %>
-<%= submit_tag t(".search") %>
+
+<%= form_tag(issues_path, :method => :get) do %>
+  <div class="form-row">
+    <div class="form-group col-md-auto">
+      <%= select_tag :status,
+                     options_for_select(Issue.aasm.states.map(&:name).map { |state| [t(".states.#{state}"), state] }, params[:status]),
+                     :include_blank => t(".select_status"),
+                     :data => { :behavior => "category_dropdown" },
+                     :class => "form-control custom-select" %>
+    </div>
+    <div class="form-group col-md-auto">
+      <%= select_tag :issue_type,
+                     options_for_select(@issue_types, params[:issue_type]),
+                     :include_blank => t(".select_type"),
+                     :data => { :behavior => "category_dropdown" },
+                     :class => "form-control custom-select" %>
+    </div>
+    <div class="form-group col-md">
+      <%= text_field_tag :search_by_user,
+                         params[:search_by_user],
+                         :placeholder => t(".reported_user"),
+                         :class => "form-control" %>
+    </div>
+    <div class="form-group col-md-auto">
+      <%= 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" },
+                     :class => "form-control custom-select" %>
+    </div>
+    <div class="form-group col-md-auto">
+      <%= submit_tag t(".search"), :name => nil, :class => "btn btn-primary" %>
+    </div>
+  </div>
 <% end %>
-<br/>
+<br />
 
 <% if @issues.length == 0 %>
   <p><%= t ".issues_not_found" %></p>
 <% end %>
 
-<br/>
+<br />
 
-<table class="issues-list">
+<table class="table table-sm">
   <thead>
     <tr>
-      <td><b><%= t ".status" %></b></td>
-      <td><b><%= t ".reports" %></b></td>
-      <td><b><%= t ".reported_item" %></b></td>
-      <td><b><%= t ".reported_user" %></b></td>
-      <td><b><%= t ".last_updated" %></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><%= t "issues.states.#{issue.status}" %></td>
-        <td><%= link_to t(".reports_count", :count => issue.reports_count), issue %></td>
+        <td><%= t ".states.#{issue.status}" %></td>
+        <td class="text-nowrap"><%= 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><%= link_to issue.reported_user.display_name, user_path(issue.reported_user) 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),
+            <%= t ".last_updated_time_user_html", :user => link_to(issue.user_updated.display_name, user_path(issue.user_updated)),
+                                                  :time => time_ago_in_words(issue.updated_at, :scope => :'datetime.distance_in_words_ago'),
                                                   :title => l(issue.updated_at) %>
           <% else %>
-            <%= t ".last_updated_time_html", :time => distance_of_time_in_words_to_now(issue.updated_at),
+            <%= t ".last_updated_time_html", :time => time_ago_in_words(issue.updated_at, :scope => :'datetime.distance_in_words_ago'),
                                              :title => l(issue.updated_at) %>
           <% end %>
         </td>