. * * @package LibreNMS * @link http://librenms.org * @copyright 2020 Tony Murray * @author Tony Murray */ namespace App\Http\Controllers\Install; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Arr; class MakeUserController extends InstallationController { public function index(Request $request) { if (!self::enabled()) { return redirect()->route('install'); } if (session('install.database')) { $user = User::first(); } if (isset($user)) { session(['install.user' => true]); return view('install.user-created', $this->formatData([ 'user' => $user, ])); } return view('install.make-user', $this->formatData([ 'messages' => Arr::wrap(session('message')) ])); } public function create(Request $request) { $this->validate($request, [ 'username' => 'required', 'password' => 'required', ]); try { $user = new User($request->only(['username', 'password', 'email'])); $user->level = 10; $user->setPassword($request->get('password')); $res = $user->save(); $message = $res ? trans('install.user.success') : trans('install.user.failure'); } catch (\Exception $e) { $message = $e->getMessage(); } return redirect()->back()->with('message', $message); } public static function enabled(): bool { return (bool)session('install.migrate'); } public static function icon(): string { return 'fa-key'; } }