Retrospring/app/controllers/moderation/reports_controller.rb

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

43 lines
1.2 KiB
Ruby
Raw Normal View History

2022-08-20 12:22:20 -07:00
# frozen_string_literal: true
class Moderation::ReportsController < ApplicationController
before_action :authenticate_user!
2024-02-27 13:23:02 -08:00
before_action :set_filter_enabled
before_action :set_type_options
def index
2024-01-24 13:45:25 -08:00
filter = ReportFilter.new(filter_params)
@reports = filter.cursored_results(last_id: params[:last_id])
@reports_last_id = @reports.map(&:id).min
2024-01-24 13:45:25 -08:00
@more_data_available = filter.cursored_results(last_id: @reports_last_id, size: 1).count.positive?
respond_to do |format|
format.html
format.turbo_stream { render "index", layout: false, status: :see_other }
end
end
private
2024-01-24 13:45:25 -08:00
def filter_params
params.slice(*ReportFilter::KEYS).permit(*ReportFilter::KEYS)
end
2024-02-27 13:23:02 -08:00
def set_filter_enabled
@filter_enabled = params.slice(*ReportFilter::KEYS)
.reject! { |_, value| value.empty? || value.nil? }
.values
.any?
end
def set_type_options
@type_options = [
[t("voc.all"), ""],
[t("activerecord.models.answer.one"), :answer],
[t("activerecord.models.comment.one"), :comment],
[t("activerecord.models.question.one"), :question],
[t("activerecord.models.user.one"), :user]
]
end
end