Rework status search to avoid relying on the enum ids, and also to allow translations
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 28 Feb 2018 02:44:50 +0000 (10:44 +0800)
committerAndy Allan <git@gravitystorm.co.uk>
Wed, 28 Feb 2018 02:44:50 +0000 (10:44 +0800)
app/controllers/issues_controller.rb
app/views/issues/index.html.erb
config/locales/en.yml

index 7f455b9e9290529f6eaeaf972d0288032465c234..e79a03203dfba0a32d7cc4f07b9cb1c783e2c386 100644 (file)
@@ -31,7 +31,7 @@ class IssuesController < ApplicationController
     end
 
     if params[:status] && params[:status][0].present?
-      @issues = @issues.where(:status => params[:status][0].to_i)
+      @issues = @issues.where(:status => params[:status][0])
     end
 
     if params[:issue_type] && params[:issue_type][0].present?
index 56de810c21fe3efd9446e47404962e2abdeb8468..b9f0b6e7db9b7374d025c43e5d77aa3de16df74e 100644 (file)
@@ -4,7 +4,7 @@
 
 <%= form_tag(issues_path, :method => :get) do %>
 <p><%= t ".search_guidance" %></p>
-<%= select :status, nil, [['open', 0], ['resolved', 2], ['ignored', 1]], { :include_blank => t(".select_status")}, data: { behavior: 'category_dropdown' } %>
+<%= select :status, nil, Issue.aasm.states.map(&:name).map{|state| [t(".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' } %>
index fefa5a4841b70100bd403cb006cffe82e6bbb49c..4d1ef3b49f28495a1bb86bef5ba905eb63251f2e 100644 (file)
@@ -931,6 +931,10 @@ en:
       link_to_reports: Link to Reports
       reported_user: Reported User
       link_to_reported_instance: Link to Reported Instance
+      states:
+        ignored: Ignored
+        open: Open
+        resolved: Resolved
     create:
       successful_report: Your report has been registered sucessfully
       provide_details: Please provide the required details