Aller au contenu
← Retour aux projets

Change User

#Filament Change User

Latest Version on Packagist Fix PHP Code Styling Total Downloads

Filament plugin to change users without having to leave the panel

Screenshot of Application Feature

#Supported languages

Change User Plugin is translated for :

  • 🇧🇷 Brazilian Portuguese
  • 🇺🇸 English
  • 🇪🇸 Spanish

#Installation

You can install the package via composer:

composer require rmsramos/change-user

Optionally, you can publish the views using

php artisan vendor:publish --tag="change-user-views"

#Usage

In your Panel ServiceProvider (App\Providers\Filament) active the plugin

Add the Rmsramos\ChangeUser\ChangeUserPlugin to your panel config

use Rmsramos\ChangeUser\ChangeUserPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            ChangeUserPlugin::make(),
        ]);
}

If you would like to prevent certain users from accessing the change user, you should add a showButton() callback in the ChangeUserPlugin chain.

use Rmsramos\ChangeUser\ChangeUserPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            ChangeUserPlugin::make()
                ->showButton(fn () => auth()->user()->id === 1),
        ]);
}

You can swap out the modal heading used by updating the setModalHeading() value.

use Rmsramos\ChangeUser\ChangeUserPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            ChangeUserPlugin::make()
                ->setModalHeading('Another modal heading'),
        ]);
}

You can swap out the modal icon used by updating the setIcon() value.

use Rmsramos\ChangeUser\ChangeUserPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            ChangeUserPlugin::make()
                ->setIcon('heroicon-o-finger-print'),
        ]);
}

#Full configuration

use Rmsramos\ChangeUser\ChangeUserPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            ChangeUserPlugin::make()
                ->showButton(fn () => auth()->user()->id === 1)
                ->setModalHeading('Another modal heading')
                ->setIcon('heroicon-o-finger-print'),
        ]);
}

#Testing

composer test

#Changelog

Please see CHANGELOG for more information on what has changed recently.

#Contributing

Please see CONTRIBUTING for details.

#Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

#Credits

#License

The MIT License (MIT). Please see License File for more information.

Nouvelle version disponible.