diff --git a/app/Models/User.php b/app/Models/User.php index c0fe2d1..c5585c2 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -118,6 +118,19 @@ class User extends Authenticatable } return $this->accesses()->where('route','LIKE','%.'.$name.'.%')->count() > 0; } + public function hasAnyAccesses($array){ + if ($this->hasRole('SUSPENDED')){ + return false; + } + if ($this->hasRole('admin') || $this->hasRole('developer')) { + return true; + } + foreach ($array as $access){ + if ($this->hasAnyAccess($access)){ + return true; + } + } + } public function hasAccess($route){ if ($this->hasRole('SUSPENDED')){ diff --git a/resources/views/components/panel-side-navbar.blade.php b/resources/views/components/panel-side-navbar.blade.php index 47b3490..43d823c 100644 --- a/resources/views/components/panel-side-navbar.blade.php +++ b/resources/views/components/panel-side-navbar.blade.php @@ -6,233 +6,301 @@ -
  • - - - - -
  • -
  • - - - - -
  • -
  • - - - - -
  • -
  • - - - - +
  • + @endif + @if( auth()->user()->hasAnyAccesses(['question','ticket','comment','contact']) ) +
  • + + + + +
  • + @endif + @if( auth()->user()->hasAnyAccesses(['user','state','city','report','adminlog','guestlog']) ) +
  • + + + + +
  • + @endif + @if( auth()->user()->hasAnyAccess( 'setting' )) +
  • + + + +
  • + @endif