Skip to content
Extraits de code Groupes Projets
Valider dc5d258f rédigé par diosmosis's avatar diosmosis
Parcourir les fichiers

Fixing UI regression and adding avg_order_value to abandoned carts report.

parent 35d22218
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -195,12 +195,6 @@ class DataTablePostProcessor
// after queued filters are run so processed metrics can be removed, too)
$hideColumns = Common::getRequestVar('hideColumns', '', 'string', $this->request);
$showColumns = Common::getRequestVar('showColumns', '', 'string', $this->request);
if (empty($showColumns)) {
// if 'columns' is used, we remove all temporary metrics by showing only the columns specified in
// 'columns'
$showColumns = Common::getRequestVar('columns', '', 'string', $this->request);
}
if (!empty($hideColumns)
|| !empty($showColumns)
) {
......
......@@ -57,15 +57,15 @@ class API extends \Piwik\Plugin\API
Piwik::checkUserHasViewAccess($idSite);
$archive = Archive::build($idSite, $period, $date, $segment);
$columns = Piwik::getArrayFromApiParameter($columns);
$columns = Report::factory("Actions", "get")->getMetricsRequiredForReport($allColumns = null, $columns);
$requestedColumns = Piwik::getArrayFromApiParameter($columns);
$columns = Report::factory("Actions", "get")->getMetricsRequiredForReport($allColumns = null, $requestedColumns);
$inDbColumnNames = array_map(function ($value) { return 'Actions_' . $value; }, $columns);
$dataTable = $archive->getDataTableFromNumeric($inDbColumnNames);
$dataTable->deleteColumns(array_diff($requestedColumns, $columns));
$newNameMapping = array_combine($inDbColumnNames, $columns);
$dataTable->filter('ReplaceColumnNames', array($newNameMapping));
return $dataTable;
}
......
......@@ -333,8 +333,8 @@ class API extends \Piwik\Plugin\API
$allMetrics = Goals::getGoalColumns($idGoal);
$columns = Piwik::getArrayFromApiParameter($columns);
$columnsToGet = Report::factory("Goals", "get")->getMetricsRequiredForReport($allMetrics, $columns);
$requestedColumns = Piwik::getArrayFromApiParameter($columns);
$columnsToGet = Report::factory("Goals", "get")->getMetricsRequiredForReport($allMetrics, $requestedColumns);
$inDbMetricNames = array_map(function ($value) use ($idGoal) { return Archiver::getRecordName($value, $idGoal); }, $columnsToGet);
$dataTable = $archive->getDataTableFromNumeric($inDbMetricNames);
......@@ -342,12 +342,15 @@ class API extends \Piwik\Plugin\API
$newNameMapping = array_combine($inDbMetricNames, $columnsToGet);
$dataTable->filter('ReplaceColumnNames', array($newNameMapping));
$dataTable->deleteColumns(array_diff($requestedColumns, $columnsToGet));
// TODO: this should be in Goals/Get.php but it depends on idGoal parameter which isn't always in _GET (ie,
// it's not in ProcessedReport.php). more refactoring must be done to report class before this can be
// corrected.
if ((in_array('avg_order_revenue', $columns)
|| empty($columns))
&& $idGoal === GoalManager::IDGOAL_ORDER
if ((in_array('avg_order_revenue', $requestedColumns)
|| empty($requestedColumns))
&& ($idGoal === GoalManager::IDGOAL_ORDER
|| $idGoal === GoalManager::IDGOAL_CART)
) {
$dataTable->filter(function (DataTable $table) {
$extraProcessedMetrics = $table->getMetadata(DataTable::EXTRA_PROCESSED_METRICS_METADATA_NAME);
......
......@@ -28,12 +28,13 @@ class API extends \Piwik\Plugin\API
Piwik::checkUserHasViewAccess($idSite);
$archive = Archive::build($idSite, $period, $date, $segment);
$columns = Piwik::getArrayFromApiParameter($columns);
$requestedColumns = Piwik::getArrayFromApiParameter($columns);
$report = Report::factory("VisitsSummary", "get");
$columns = $report->getMetricsRequiredForReport($this->getCoreColumns($period), $columns);
$columns = $report->getMetricsRequiredForReport($this->getCoreColumns($period), $requestedColumns);
$dataTable = $archive->getDataTableFromNumeric($columns);
$dataTable->deleteColumns(array_diff($requestedColumns, $columns));
return $dataTable;
}
......
Le fichier a été supprimé par une entrée .gitattributes, ou son encodage n'est pas pris en charge.
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