# frozen_string_literal: true # Gestiona la cola de moderación de actores class ActorModerationsController < ApplicationController ActorModeration.events.each do |actor_event| define_method(actor_event) do authorize actor_moderation # Crea una RemoteFlag si se envían los parámetros adecuados actor_moderation.update(actor_moderation_params) if actor_event == :report actor_moderation.public_send(:"#{actor_event}!") if actor_moderation.public_send(:"may_#{actor_event}?") redirect_back fallback_location: site_moderation_queue_path(**(session[:moderation_queue_filters] || {})) end end # Ver el perfil remoto def show @remote_profile = actor_moderation.actor.content end private def actor_moderation @actor_moderation ||= site.actor_moderations.find(params[:actor_moderation_id] || params[:id]) end def actor_moderation_params params.require(:actor_moderation).permit(remote_flag_attributes: %i[message]).tap do |p| p[:remote_flag_attributes][:site_id] = actor_moderation.site_id p[:remote_flag_attributes][:actor_id] = actor_moderation.actor_id end end end