. */ declare(strict_types=1); namespace FireflyIII\Http\Controllers\Admin; use FireflyIII\Events\AdminRequestedTestMessage; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Middleware\IsDemoUser; use FireflyIII\User; use Illuminate\Contracts\View\Factory; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Routing\Redirector; use Illuminate\View\View; use Log; /** * Class HomeController. */ class HomeController extends Controller { /** * ConfigurationController constructor. * * @codeCoverageIgnore */ public function __construct() { parent::__construct(); $this->middleware(IsDemoUser::class)->except(['index']); } /** * Index of the admin. * * @return Factory|View */ public function index() { Log::channel('audit')->info('User visits admin index.'); $title = (string) trans('firefly.administration'); $mainTitleIcon = 'fa-hand-spock-o'; return view('admin.index', compact('title', 'mainTitleIcon')); } /** * Send a test message to the admin. * * @param Request $request * * @return RedirectResponse|Redirector */ public function testMessage(Request $request) { Log::channel('audit')->info('User sends test message.'); /** @var User $user */ $user = auth()->user(); $ipAddress = $request->ip(); Log::debug(sprintf('Now in testMessage() controller. IP is %s', $ipAddress)); event(new AdminRequestedTestMessage($user, $ipAddress)); session()->flash('info', (string) trans('firefly.send_test_triggered')); return redirect(route('admin.index')); } }