misaf / vendra-user-profile
Tenant-aware user profiles and Filament profile management for Vendra
Package info
github.com/misaf/vendra-user-profile
Type:vendra-module
pkg:composer/misaf/vendra-user-profile
Requires
- php: ^8.4
- awcodes/filament-badgeable-column: ^4.0
- laravel/pennant: ^1.24
- misaf/filament-jalali: ^5.1.4
- misaf/vendra-permission: v1.12.3
- misaf/vendra-support: v1.12.3
- misaf/vendra-user: v1.12.3
- spatie/laravel-package-tools: ^1.93.1
- spatie/laravel-sluggable: ^4.0.2
README
Tenant-aware user profiles and Filament profile management for Vendra applications.
Features
- Multiple named profiles per user
- Tenant-aware profile storage and authorization
- Filament resource with create, view, edit, and list pages
- Pennant-controlled module availability
Requirements
- PHP 8.4+
- Laravel 13
- Filament 5
- Laravel Pennant 1
misaf/vendra-usermisaf/vendra-permissionmisaf/vendra-support
Installation
composer require misaf/vendra-user-profile php artisan vendor:publish --tag=vendra-user-profile-migrations php artisan migrate
Optionally publish configuration and translations:
php artisan vendor:publish --tag=vendra-user-profile-config php artisan vendor:publish --tag=vendra-user-profile-translations
Tenant columns are added automatically when a tenant provider is active. If
tenancy is enabled after this migration has run, use
php artisan vendra-tenant:enable {tenant} to retrofit the table and assign
existing unscoped records.
The service provider and Filament plugin are auto-registered.
Feature Flag
The resource is enabled by default through a class-based, tenant-scoped Pennant feature. Disable feature resolution or the module globally in the published configuration when needed:
'features_enabled' => false, 'module_enabled' => false,
Set features_discover to true when the host needs this package's feature
class included in Feature::all() before it has been checked.
Testing
Run the package checks from the project root:
php artisan test --compact --testsuite=vendra-user-profile
composer stan
License
MIT. See LICENSE.