Laravel CRM
Log in Get Started

Permissions

Overview

Permissions extend Spatie Permission to provide granular access control within the CRM. CRM-specific permissions are distinguished via the crm_permission flag and are assigned to Roles.

Model: VentureDrake\LaravelCrm\Models\Permission Extends: Spatie\Permission\Models\Permission

Scopes

crm

Filters to only CRM permissions.

$permissions = Permission::crm()->get();

Usage

use VentureDrake\LaravelCrm\Models\Permission;

// Get all CRM permissions
$permissions = Permission::crm()->get();

// Check a permission
$user->can('view leads');

// Grant permission via role
$role->givePermissionTo('edit deals');

Permission Naming Convention

CRM permissions follow the pattern {action} {entity}:

  • view leads, create leads, edit leads, delete leads
  • view deals, create deals, edit deals, delete deals
  • And so on for each entity type

Seeding Permissions

php artisan laravelcrm:permissions