-<p id= "notice"><%= notice %></p>
-
<% content_for :heading do %>
- <h1>List of existing Issues:</h1>
+ <h1><%= t ".title" %></h1>
<% end %>
-<table>
- <thead>
- <tr>
- <tr>
- <td style="text-align:center"><b> # </b> </td>
- <td style="text-align:center"><b>Issue Type </b></td>
- <td style="text-align:center"><b> Status </b></td>
- <td style="text-align:center"><b> Number of Reports</b></td>
- <td style="text-align:center"><b> Link to instance </b></td>
- <td style="text-align:center"><b> Reported User </b></td>
- <td style="text-align:center"></td>
- </tr>
- </tr>
- </thead>
- <tbody>
- <% @issues.each do |issue| %>
- <tr>
- <td style="text-align:center">Issue #<%= issue.id %> </td>
- <td style="text-align:center"> <%= issue.reportable_type %></td>
- <td style="text-align:center"><span class="count-number"> <strong><%= issue.status %></strong></span> </td>
- <td style="text-align:center"><%= issue.reports.count %></td>
- <td style="text-align:center"> <%= reportable_url(issue.reportable) %></td>
- <td style="text-align:center"><%= link_to issue.user.display_name , :controller => :user, :action => :view,:display_name => issue.user.display_name %></td>
- <td style="text-align:center"><%= link_to "Show Issue", issue %></td>
- </tr>
- <% end %>
- </tbody>
-</table>
+<p><%= t ".search_guidance" %></p>
+<%= form_tag(issues_path, :method => :get) do %>
+ <div class="row gx-1">
+ <div class="mb-3 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-select" %>
+ </div>
+ <div class="mb-3 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-select" %>
+ </div>
+ <div class="mb-3 col-md">
+ <%= text_field_tag :search_by_user,
+ params[:search_by_user],
+ :placeholder => t(".reported_user"),
+ :autocomplete => "on",
+ :class => "form-control" %>
+ </div>
+ <div class="mb-3 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-select" %>
+ </div>
+ <div class="mb-3 col-md-auto">
+ <%= submit_tag t(".search"), :name => nil, :class => "btn btn-primary" %>
+ </div>
+ </div>
+<% end %>
+<% if @issues.length == 0 %>
+ <p><%= t ".issues_not_found" %></p>
+<% else %>
+ <table class="table table-sm">
+ <thead>
+ <tr>
+ <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 ".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) 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)),
+ :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 => time_ago_in_words(issue.updated_at, :scope => :"datetime.distance_in_words_ago"),
+ :title => l(issue.updated_at) %>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
+ </tbody>
+ </table>
+<% end %>