JReviews logo Docs
Menu
Version

jreviews:permission:listing.create

Filters whether a user has permission to create a new listing. Return false to deny permission.

Filter
Listing Permissions
Since 6.0.0

You need to have a working knowledge of Hooks before you get started.

Fires when checking listing creation permissions, before the form is displayed or listing is saved

Parameters

Name Type Description
$canCreate bool Whether the user can create a listing based on user group settings
$user \JReviews\App\Models\User The user attempting to create the listing
$listing \JReviews\App\Models\Listing The listing being created (may be empty/new)
$listingType \JReviews\App\Models\ListingType|null The listing type, or null if not specified

Boilerplate Code

Use the boilerplate code to start using the filter, and add your own logic to modify the first argument and return it.

fwd_add_filter('jreviews:permission:listing.create', function($canCreate, $user, $listing, $listingType)
{
    // Your code here
    
    return $canCreate;
});
Development & Support
Customizations are not included with support. We provide this information to make it easier for developers to extend the functionality. From time to time we may have some availability for custom work. Get in touch to see if there's an opportunity to work together.

Examples

Limit One Listing Per User

Limit listing submissions to one per user by checking existing published listings count.

fwd_add_filter('jreviews:permission:listing.create', function($canCreate, $user, $listing, $listingType) {
    if ($user->id > 0) {
        $count = \JReviews\App\Models\Listing::where('owner_id', $user->id)
            ->published()
            ->count();
        
        if ($count > 0) {
            return false;
        }
    }
    
    return $canCreate;
}, 10, 4);

Source Files

  • app/Policies/ListingPolicy.php