Example #1
0
 public function hasAccess($key)
 {
     if (!empty($this->role->overide_permission)) {
         return true;
     }
     return UserUtils::hasAccess($key);
 }
 public function postIndex(Request $request)
 {
     $form = FormBuilder::create('Distilleries\\Expendable\\Forms\\Login\\SignIn');
     if ($form->hasError()) {
         return $form->validateAndRedirectBack();
     }
     $credential = $request->only('email', 'password');
     $userCredential = app('Distilleries\\Expendable\\Contracts\\LockableContract')->where('email', $credential['email'])->get()->last();
     if (UserUtils::securityCheckLockEnabled() && !empty($userCredential) && $userCredential->isLocked()) {
         return redirect()->back()->with(Message::WARNING, [trans('expendable::login.credential')]);
     }
     if ($this->auth->attempt($credential, true)) {
         $user = $this->auth->user();
         new UserEvent(UserEvent::LOGIN_EVENT, $user);
         $menu = config('expendable.menu');
         if (method_exists($user, 'getFirstRedirect')) {
             return redirect()->to($this->auth->user()->getFirstRedirect($menu['left']));
         }
         return redirect()->to('/');
     } else {
         if (UserUtils::securityCheckLockEnabled()) {
             new UserEvent(UserEvent::SECURITY_EVENT, $credential['email']);
         }
         return redirect()->back()->with(Message::WARNING, [trans('expendable::login.credential')]);
     }
 }
Example #3
0
 public function testHasAccess()
 {
     $this->login();
     \Distilleries\Expendable\Helpers\UserUtils::setArea(['test_action']);
     $this->assertTrue(\Distilleries\Expendable\Helpers\UserUtils::hasAccess('test_action'));
     $this->assertFalse(\Distilleries\Expendable\Helpers\UserUtils::hasAccess('test_action_not_in'));
 }
Example #4
0
 /**
  * Apply the scope to a given Eloquent query builder.
  *
  * @param  \Illuminate\Database\Eloquent\Builder $builder
  * @param  \Illuminate\Database\Eloquent\Model $model
  * @return void
  */
 public function apply(Builder $builder, Model $model)
 {
     if (!UserUtils::hasDisplayAllStatus()) {
         $builder->where($model->getQualifiedStatusColumn(), true);
     }
     $this->extend($builder);
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if (UserUtils::isBackendRole()) {
         UserUtils::setDisplayAllStatus();
     } else {
         UserUtils::forgotDisplayAllStatus();
     }
     return $next($request);
 }
 public function applyFilters()
 {
     parent::applyFilters();
     if (UserUtils::isNotSuperAdmin()) {
         $super_admin = Role::where('initials', '=', '@sa')->get()->last();
         if (!empty($super_admin)) {
             $this->model = $this->model->where('role_id', '!=', $super_admin->id);
         }
     }
 }
Example #7
0
 /**
  * Apply the scope to a given Eloquent query builder.
  *
  * @param  \Illuminate\Database\Eloquent\Builder $builder
  * @param  \Illuminate\Database\Eloquent\Model $model
  * @return void
  */
 public function apply(Builder $builder, Model $model)
 {
     if (!UserUtils::hasDisplayAllStatus()) {
         $builder->where($model->getQualifiedStatusColumn(), true);
         $query = $builder->getQuery();
         $this->where_index = count($query->wheres) - 1;
         $this->binding_index = count($query->getRawBindings()['where']) - 1;
     }
     $this->extend($builder);
 }
Example #8
0
 public function handleLogOut()
 {
     UserUtils::forgotArea();
     UserUtils::forgotIsLoggedIn();
     UserUtils::forgotDisplayAllStatus();
 }