uccellolabs / filament-tenancy
Easy way to manage tenancy with Filament.
dev-main
2022-12-21 19:46 UTC
Requires
- php: ^8.0
- filament/filament: ^2.0
- spatie/laravel-sluggable: ^3.4
This package is auto-updated.
Last update: 2024-11-22 00:07:23 UTC
README
Filament Tenancy
Easy way to manage tenancy with filament.
Installation
You can install the package via composer:
composer require uccellolabs/filament-tenancy
Configuration
Edit app/Models/User.php
and add the following code:
use Uccellolabs\FilamentTenancy\Support\Traits\UserBelongsToTenant; class User extends Authenticatable { use UserBelongsToTenant; protected $fillable = [ // ... 'current_tenant_id', ]; }
Edit app/Filament/Resources/UserResource/Pages/ListUsers.php
and add the following code:
use Uccellolabs\FilamentTenancy\Support\Traits\CurrentTenant; class ListUsers extends ListRecords { use CurrentTenant; protected function getTableQuery(): Builder { $userIds = $this->getCurrentTenant()?->users()->pluck('users.id') ?? []; return User::whereIn('id', $userIds); } }
Usage
use Uccellolabs\FilamentTenancy\Support\Traits\CurrentTenant;
Add a column named tenant_id
in your table and add the following code in your Model:
use Uccellolabs\FilamentTenancy\Support\Traits\BelongsToTenant; class YourModel extends Model { use BelongsToTenant; }
Credits
License
The MIT License (MIT). Please see License File for more information.