/** * Handle the generate api key command. * * @param \Gitamin\Commands\User\GenerateApiTokenCommand $command */ public function handle(GenerateApiTokenCommand $command) { $user = $command->user; $user->api_key = User::generateApiKey(); $user->save(); //event(new GeneratedApiTokenEvent($user)); }
/** * Updates a user. * * @param \Gitamin\Models\User $user * * @return \Illuminate\View\View */ public function postUpdateUser(User $user) { $userData = array_filter(Binput::only(['username', 'email', 'password', 'level'])); try { $user->update($userData); } catch (ValidationException $e) { return Redirect::route('dashboard.group.edit', ['id' => $user->id])->withInput($userData)->withTitle(sprintf('%s %s', trans('dashboard.notifications.whoops'), trans('dashboard.group.edit.failure')))->withErrors($e->getMessageBag()); } return Redirect::route('dashboard.group.edit', ['id' => $user->id])->withSuccess(sprintf('%s %s', trans('dashboard.notifications.awesome'), trans('dashboard.group.edit.success'))); }
/** * Shows the owner view. * * @return \Illuminate\View\View */ public function showAction($path) { $owner = Owner::findByPath($path); if ($owner->type == 'User') { $user = User::find($owner->user_id); return $this->showUser($user); } else { return $this->showGroup($owner); } }
/** * Overrides the models boot method. */ public static function boot() { parent::boot(); self::creating(function ($user) { $ownerExists = Owner::where('path', '=', $user->username)->exists(); $userExists = User::where('username', '=', $user->username)->orWhere('email', '=', $user->email)->exists(); if ($ownerExists === true || $userExists === true) { throw new UserAlreadyTakenException('Username or email has already been taken.'); } if (!$user->api_key) { $user->api_key = self::generateApiKey(); } }); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * * @return mixed */ public function handle($request, Closure $next) { if ($this->auth->guest()) { if ($apiToken = $request->header('X-Gitamin-Token')) { try { $this->auth->onceUsingId(User::findByApiToken($apiToken)->id); } catch (ModelNotFoundException $e) { // } } elseif ($request->getUser()) { if ($this->auth->onceBasic() !== null) { // } } } return $next($request); }
/** * Regenerates the users API key. * * @return \Illuminate\View\View */ public function regenerateApiKey(User $user) { $user->api_key = User::generateApiKey(); $user->save(); return Redirect::route('dashboard.user'); }
/** * Create a new user instance after a valid registration. * * @param array $data * * @return User */ protected function create(array $data) { return User::create(['username' => $data['username'], 'email' => $data['email'], 'password' => bcrypt($data['password'])]); }
/** * Seed the users table. */ protected function seedUsers() { $users = [['username' => 'demo', 'password' => 'demo', 'email' => '*****@*****.**', 'level' => 1], ['username' => 'jack', 'password' => 'jack', 'email' => '*****@*****.**', 'level' => 2], ['username' => 'larry', 'password' => 'larry', 'email' => '*****@*****.**', 'level' => 2]]; foreach ($users as $user) { User::create($user); } }
/** * Handles the actual app install, including user, settings and env. * * @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\Response */ public function postStep3() { $postData = Request::all(); $v = Validator::make($postData, ['env.cache_driver' => 'required|in:' . implode(',', array_keys($this->cacheDrivers)), 'env.session_driver' => 'required|in:' . implode(',', array_keys($this->cacheDrivers)), 'settings.app_name' => 'required', 'settings.app_domain' => 'required', 'settings.app_timezone' => 'required', 'settings.app_locale' => 'required', 'user.username' => ['required', 'regex:/\\A(?!.*[:;]-\\))[ -~]+\\z/'], 'user.email' => 'email|required', 'user.password' => 'required']); if ($v->passes()) { // Pull the user details out. $userDetails = array_pull($postData, 'user'); $user = User::create(['username' => $userDetails['username'], 'email' => $userDetails['email'], 'password' => $userDetails['password'], 'level' => 1]); Auth::login($user); $settings = array_pull($postData, 'settings'); foreach ($settings as $settingName => $settingValue) { Setting::create(['name' => $settingName, 'value' => $settingValue]); } $envData = array_pull($postData, 'env'); // Write the env to the .env file. foreach ($envData as $envKey => $envValue) { $this->writeEnv($envKey, $envValue); } Session::flash('install.done', true); if (Request::ajax()) { return Response::json(['status' => 1]); } return Redirect::to('dashboard'); } if (Request::ajax()) { return Response::json(['errors' => $v->getMessageBag()], 400); } return Redirect::route('install.index')->withInput()->withErrors($v->getMessageBag()); }
/** * Handle the add group member command. * * @param \Gitamin\Commands\User\AddGroupMemberCommand $command * * @return \Gitamin\Models\User */ public function handle(AddGroupMemberCommand $command) { $user = User::create(['username' => $command->username, 'password' => $command->password, 'email' => $command->email, 'level' => $command->level]); event(new UserWasAddedEvent($user)); return $user; }
/** * Seed the users table. * * @return void */ protected function seedUsers() { $users = [['username' => 'test', 'password' => 'test123', 'email' => '*****@*****.**', 'level' => 1, 'api_key' => '9yMHsdioQosnyVK4iCVR']]; User::truncate(); foreach ($users as $user) { User::create($user); } }