EntityQuery accessCheck() false positive if chaining conditions
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 43/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- php
- Área
- testing-qa, tooling
Línea de trabajo
Start by tracing the rule that detects calls to EntityQuery::accessCheck() and compare how it handles chained calls with the non-chained example in the issue. Add coverage for both chain orderings and confirm the rule no longer reports a false positive when accessCheck(FALSE) is present. The issue does not name the rule or test files, so locate them from the reported deprecation message.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Bug report
When an EntityQuery::accessCheck() call is chained with other methods it is not detected.
This is similar to #437 but possibly requires a different fix.
Code snippet that reproduces the problem
This yields a Relying on entity queries to check access by default is deprecated error:
$storage = \Drupal::entityTypeManager()->getStorage('node');
$query = $storage->getQuery();
$query
->accessCheck(FALSE)
->condition('field_myfield', TRUE);
$entity_ids = $query->execute();
The ordering doesn't matter, if the accessCheck() is last, the error still occurs:
$storage = \Drupal::entityTypeManager()->getStorage('node');
$query = $storage->getQuery();
$query
->condition('field_myfield', TRUE)
->accessCheck(FALSE);
$entity_ids = $query->execute();
When the calls are not chained, the rule works correctly. This does not yield an error:
$storage = \Drupal::entityTypeManager()->getStorage('node');
$query = $storage->getQuery();
$query->accessCheck(FALSE);
$query->condition('field_myfield', TRUE);
$entity_ids = $query->execute();
- Lenguaje dominante
- PHP
- Estrellas
- 208
- Forks
- 88
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 15
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de mglaman/phpstan-drupal
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
mglaman/phpstan-drupal#1078 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
mglaman/phpstan-drupal#1079 ·
Los mantenedores suelen responder en 1 día
-
Report constraint plugins that break on Drupal 12 because they have no named-arguments constructorPosiblemente ocupada @goba la tomó hace 1 día. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
mglaman/phpstan-drupal#1075 ·
Los mantenedores suelen responder en 1 día
-
Magic properties: original on entities, name on UserSession and password on User are not reported as deprecatedPosiblemente ocupada @goba la tomó hace 1 día. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
mglaman/phpstan-drupal#1074 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
mglaman/phpstan-drupal#1051 ·
Los mantenedores suelen responder en 1 día
Todos los issues de mglaman/phpstan-drupal
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
getgrav/grav-plugin-sitemap#125 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
nikic/PHP-Parser#1184 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
shukiv/jabali-panel#2474 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100