Skip to main content

Available Policies

The admin panel includes authorization policies for all resources. Each policy controls who can view, create, update, and delete records.
PolicyResourceNamespaceStandard Methods
AdminPolicyAdminUserEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
BannerPolicyBannerEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
CategoryPolicyCategoryEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
CountryPolicyCountryEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
CustomerPolicyCustomerEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
FormEntryPolicyFormEntryEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
HighlightPolicyHighlightEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
MediaEntryPolicyMediaEntryEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
MediaTypePolicyMediaTypeEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
NotificationTemplatePolicyNotificationTemplateEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
OrderPolicyOrderEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
PagePolicyPageEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
PermissionGroupPolicyPermissionGroupEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
PermissionPolicyPermissionEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
PopupPolicyPopupEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
ProductPolicyProductEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
ShippingOptionPolicyShippingOptionEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
TranslationPolicyTranslationEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete
UserPolicyUserEsign\UnleashCommerce\Admin\Filament\Policiesview, create, update, delete

Policy Methods

All policies implement the standard authorization methods:
  • view() - Controls visibility of records in lists and detail pages
  • create() - Controls whether users can create new records
  • update() - Controls whether users can edit records
  • delete() - Controls whether users can delete records

Super Admin Support

Policies are designed to support super admin functionality:
  • Return true to grant permission
  • Return null to let the super admin check take over
  • Return false to deny permission (even for super admins)
public function delete(AdminUser $user, Product $product): bool|null
{
    if ($user->isSuperAdmin()) {
        return true;
    }

    if ($user->can('delete-products')) {
        return true;
    }

    return null; // Let super admin check decide
}

Policy Contracts

All policies have corresponding contracts for customization:
// Core policy contract
Esign\UnleashCommerce\Admin\Contracts\Filament\Policies\ProductPolicy

// Your custom implementation
app(FilamentPolicyManifest::class)->replace(
    ProductPolicyContract::class,
    CustomProductPolicy::class
);

Policy Registration

Policies are automatically registered via the FilamentPolicyManifest. To replace a policy:
use Esign\UnleashCommerce\Admin\Support\FilamentPolicyManifest;
use Esign\UnleashCommerce\Admin\Contracts\Filament\Policies\Product as ProductPolicyContract;

public function boot()
{
    app(FilamentPolicyManifest::class)->replace(
        ProductPolicyContract::class,
        CustomProductPolicy::class
    );
}
For more details, see the Custom Policies guide.