/**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $defaultRole = ['name' => 'Registered', 'slug' => 'registered'];
     $adminRole = ['name' => 'Administrator', 'slug' => 'administrator', 'permissions' => ['admin' => "1"]];
     $this->role->create($defaultRole, false);
     $this->role->create($adminRole, false);
 }
Example #2
0
 /**
  * Check if user belongs to the specified role.
  *
  * @param Request      $request
  * @param Closure      $next
  * @param string|array $roles
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function handle(Request $request, Closure $next, $roles)
 {
     $accessDenied = true;
     if (!($user = $this->auth->getActiveUser())) {
         Flash::error(trans('dashboard::dashboard.flash.access_denied'));
         return redirect()->route('auth.login');
     }
     if (!is_array($roles)) {
         $roles = [$roles];
     }
     foreach ($roles as $role) {
         if (!($role = $this->role->getBySlug($role))) {
             continue;
         }
         if ($user->inRole($role)) {
             $accessDenied = false;
         }
     }
     if ($accessDenied) {
         Flash::error(trans('dashboard::dashboard.flash.access_denied'));
         // Redirect back to the previous page where request was made.
         return redirect()->back();
     }
     return $next($request);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $defaultUser = ['email' => '*****@*****.**', 'password' => '1234', 'first_name' => '{{first_name}}', 'last_name' => '{{last_name}}'];
     $this->auth->registerAndActivate($defaultUser, false);
     $role = $this->role->getBySlug('administrator');
     $user = $this->user->getById(1);
     $role->users()->attach($user);
 }
Example #4
0
 /**
  * {@inheritDoc}
  */
 public function update(array $data, $id, $validate = true)
 {
     if (!($user = $this->getById($id))) {
         throw new UsersException(trans('dashboard::dashboard.errors.user.found'));
     }
     if ($user->email != $data['email']) {
         $this->rules['email'] = 'required|email|unique:users';
     } else {
         $this->rules['email'] = 'required|email';
     }
     if ($validate) {
         $this->validate($data);
     }
     $this->sentinel->update($user, $data);
     if (isset($data['role'])) {
         if (!($role = $this->role->getBySlug($data['role']))) {
             throw new RolesException(trans('dashboard::dashboard.errors.role.found'));
         }
         if (!$user->inRole($role)) {
             $role->users()->attach($user);
         }
     }
     $user->save();
     return;
 }
 /**
  * Check if user belongs to the specified role.
  *
  * @param Request      $request
  * @param Closure      $next
  * @param string|array $role
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function handle(Request $request, Closure $next, $role)
 {
     if (!($user = $this->auth->getActiveUser())) {
         Flash::error(trans('dashboard::dashboard.flash.access_denied'));
         return redirect()->route('auth.login');
     }
     if (!($role = $this->role->getBySlug($role))) {
         Flash::error(trans('dashboard::dashboard.flash.access_denied'));
         // Redirect back to the previous page where request was made.
         return redirect()->back();
     }
     if (!$user->inRole($role)) {
         Flash::error(trans('dashboard::dashboard.flash.access_denied'));
         // Redirect back to the previous page where request was made.
         return redirect()->back();
     }
     return $next($request);
 }