mirror of
https://github.com/manyfold3d/manyfold.git
synced 2026-10-23 12:12:21 -05:00
30 lines
750 B
Ruby
30 lines
750 B
Ruby
class ReportsController < ApplicationController
|
|
before_action :get_reportable
|
|
|
|
def new
|
|
@report = Federails::Moderation::Report.new
|
|
end
|
|
|
|
def create
|
|
@report = Federails::Moderation::Report.create report_params.merge({
|
|
federails_actor: current_user.federails_actor,
|
|
object: @reportable.federails_actor
|
|
})
|
|
redirect_to(@reportable, notice: t(".success"))
|
|
end
|
|
|
|
private
|
|
|
|
def report_params
|
|
params.require(:report).permit(:content)
|
|
end
|
|
|
|
def get_reportable
|
|
reportable = params[:reportable_class].constantize
|
|
reportable_param = params[:reportable_class].parameterize + "_id"
|
|
id = params[reportable_param]
|
|
@reportable = policy_scope(reportable).find_param(id)
|
|
authorize @reportable
|
|
end
|
|
end
|