Developer docs Core 2.2 · Pro 1.x

Search documentation

Search Core and Pro guides, including code examples.

PRO · COMMERCIAL

Private moderation.

Install the complete review experience, choose an interface, and configure customer and team workflows.

← All Pro topics

Moderation

Manual moderation needs no separate Pro migration. Keep Core's approved_review setting false when new reviews should wait for approval:

// config/review-rateable.php
'approved_review' => false,

Create a private route in the consuming application. Route authorization protects the surrounding page, while the component independently rechecks the same Gate on every render and action:

use Illuminate\Support\Facades\Route;

Route::view('/admin/products/{product}/reviews', 'admin.products.reviews')
    ->middleware(['auth', 'verified', 'can:moderateReviews,product'])
    ->name('admin.products.reviews');

Embed the dashboard in resources/views/admin/products/reviews.blade.php:

<livewire:review-rateable-pro-review-moderation
    :reviewable="$product"
    department="default"
    :key="'review-moderation-'.$product->getKey()" />

The dashboard provides status filters, literal review-text search, pagination, and approve/hide controls. It uses core's approval flag without another moderation table.

Approving publishes the review. Hiding sets approved to false while retaining ratings, photos, votes, replies, and other metadata. Core does not distinguish never-approved from hidden reviews, so the dashboard groups them as Pending / hidden. Hiding is not permanent deletion.

The authenticated PHP service supports the same permissions:

use Codebyray\ReviewRateablePro\Services\ReviewManager;

$manager = app(ReviewManager::class);
$manager->setApproval($review, true);
$manager->setApproval($review, false);

Setting approved_review to true publishes clean submissions immediately; authorized moderators can still hide them later. Automatic bad-word/phrase handling is a separate optional feature: after installing and enabling content filtering, a match is redacted and forced into moderation even when automatic approval is enabled.

This release does not install a full persisted moderation audit log or bulk-delete workflow. Use after-commit events for your application's audit storage and notifications.