Пример #1
0
 /**
  * Reduced query to only reports that the user is directly responsible for.
  * This means 'site.reports' open `global` ONLY and 'board.reports' only matter in direct assignment.
  *
  * @param  PermissionUser  $user
  */
 public function scopeWhereResponsibleFor($query, PermissionUser $user)
 {
     return $query->where(function ($query) use($user) {
         $query->whereIn('board_uri', $user->canInBoards('board.reports'));
         if (!$user->can('site.reports')) {
             $query->where('global', false);
         } else {
             $query->orWhere('global', true);
         }
     });
 }