. */ declare(strict_types=1); namespace FireflyIII\Handlers\Events; use Exception; use FireflyIII\Events\AdminRequestedTestMessage; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Mail\AdminTestMail; use FireflyIII\Notifications\Admin\TestNotification; use FireflyIII\Repositories\User\UserRepositoryInterface; use Illuminate\Support\Facades\Notification; use Log; use Mail; use Session; /** * Class AdminEventHandler. */ class AdminEventHandler { /** * Sends a test message to an administrator. * * @param AdminRequestedTestMessage $event * * @return bool */ public function sendTestMessage(AdminRequestedTestMessage $event): bool { /** @var UserRepositoryInterface $repository */ $repository = app(UserRepositoryInterface::class); // do some validation. if (!$repository->hasRole($event->user, 'owner')) { return true; } Notification::send($event->user, new TestNotification($event->user->email)); return true; } }