Fix Entity queries must explicitly set whether the query should be access checked or not in Varbase Core

Created on 15 March 2023, almost 2 years ago
Updated 15 October 2023, about 1 year ago

Problem/Motivation

Having the following error after finishing the installation.

Error message
Entity queries must explicitly set whether the query should be access checked or not. See Drupal\Core\Entity\Query\QueryInterface::accessCheck().

Proposed resolution

Have queries over entities changed in required module the Varbase Core module
With basic accessCheck(TRUE) or pass the needed access check for admins or selected user roles and permissions.
📌 Fix Entity queries must explicitly set whether the query should be access checked or not in Diff Needs review
#3347004: Fix Drupal 10 Error message on installation or update - Entity queries must explicitly set whether the query should be access checked or not →

Access checking must be explicitly specified on content entity queries →
#2785449: It's too easy to write entity queries with access checks that must not have them →

BEFORE

// This gets all articles the current user can view.
$ids = \Drupal::entityQuery('node')
  ->condition('type', 'article')
  ->execute();

// This also gets all articles the current user can view.
$ids = \Drupal::entityQuery('node')
  ->accessCheck(TRUE)
  ->condition('type', 'article')
  ->execute();

// This gets all articles that exist regardless of access.
$ids = \Drupal::entityQuery('node')
  ->accessCheck(FALSE)
  ->condition('type', 'article')
  ->execute();

AFTER

// This will trigger a deprecation error.
$ids = \Drupal::entityQuery('node')
  ->condition('type', 'article')
  ->execute();

// Unchanged: This gets all articles the current user can view.
$ids = \Drupal::entityQuery('node')
  ->accessCheck(TRUE)
  ->condition('type', 'article')
  ->execute();

// Unchanged: This gets all articles that exist regardless of access.
$ids = \Drupal::entityQuery('node')
  ->accessCheck(FALSE)
  ->condition('type', 'article')
  ->execute();

Remaining tasks

  • ✅ File an issue about this project
  • ✅ Addition/Change/Update/Fix to this project
  • ✅ Testing to ensure no regression
  • âž– Automated unit/functional testing coverage
  • âž– Developer Documentation support on feature change/addition
  • âž– User Guide Documentation support on feature change/addition
  • ✅ Accessibility and Readability
  • ✅ Code review from 1 Varbase core team member
  • ✅ Full testing and approval
  • ✅ Credit contributors
  • ✅ Review with the product owner
  • ✅ Update Release Notes and Update Helper on new feature change/addition
  • ✅ Release varbase-10.0.0-alpha1 → , varbase_core-10.0.0-alpha1 → , varbase-9.0.16 → , varbase_core-9.1.1 →

Varbase update type

  • ✅ No Update
  • âž– Optional Update
  • âž– Forced Update
  • âž– Forced Update if Unchanged

User interface changes

  • N/A

API changes

  • N/A

Data model changes

  • N/A

Release notes snippet

  • Issue #3348097 → : Fixed Entity queries must explicitly set whether the query should be access checked or not in Varbase Core
📌 Task
Status

Fixed

Version

10.0

Component

Code

Created by

🇯🇴Jordan Rajab Natshah Jordan

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024