Inheritance: extends Illuminate\Database\Eloquent\Model, implements Illuminate\Contracts\Auth\Authenticatable, implements Illuminate\Contracts\Auth\CanResetPassword, implements McCool\LaravelAutoPresenter\HasPresenter, use trait Illuminate\Auth\Authenticatable, use trait Illuminate\Auth\Passwords\CanResetPassword, use trait AltThree\Validator\ValidatingTrait
 /**
  * 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));
 }
Example #2
0
 /**
  * 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')));
 }
Example #3
0
 /**
  * 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);
     }
 }
Example #4
0
 /**
  * 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);
 }
Example #6
0
 /**
  * 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');
 }
Example #7
0
 /**
  * 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'])]);
 }
Example #8
0
 /**
  * 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);
     }
 }
Example #9
0
 /**
  * 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;
 }
Example #11
0
 /**
  * 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);
     }
 }