Skip to content
Extraits de code Groupes Projets
Valider 65a767ef rédigé par Thomas Steur's avatar Thomas Steur
Parcourir les fichiers

log a message in case requestConfig properties have changed after requesting data table

parent 1a2ab076
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -66,12 +66,15 @@ class Visualization extends ViewDataTable
$this->loadDataTableFromAPI();
$this->postDataTableLoadedFromAPI();
$this->applyFilters();
$this->afterAllFilteresAreApplied();
$requestPropertiesAfterLoadDataTable = $this->requestConfig->getProperties();
$this->applyFilters();
$this->afterAllFilteresAreApplied();
$this->beforeRender();
$this->logMessageIfRequestPropertiesHaveChanged($requestPropertiesAfterLoadDataTable);
} catch (NoAccessException $e) {
throw $e;
} catch (\Exception $e) {
......@@ -432,4 +435,29 @@ class Visualization extends ViewDataTable
$genericFilter = new \Piwik\API\DataTableGenericFilter($request);
$genericFilter->filter($this->dataTable);
}
private function logMessageIfRequestPropertiesHaveChanged(array $requestPropertiesBefore)
{
$requestProperties = $this->requestConfig->getProperties();
$diff = array_diff_assoc($requestProperties, $requestPropertiesBefore);
if (empty($diff)) {
return;
}
$details = array(
'changedProperties' => $diff,
'apiMethod' => $this->requestConfig->apiMethodToRequestDataTable,
'controller' => $this->config->controllerName . '.' . $this->config->controllerAction,
'viewDataTable' => static::getViewDataTableId()
);
$message = 'Some ViewDataTable::requestConfig properties have changed after requesting the data table. '
. 'That means the changed values had probably no effect. For instance in beforeRender() hook. '
. 'Probably a bug? Details:'
. print_r($details, 1);
Log::warning($message);
}
}
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter