diff options
author | Thomas Steur <thomas.steur@gmail.com> | 2015-05-08 02:35:42 +0300 |
---|---|---|
committer | Thomas Steur <thomas.steur@gmail.com> | 2015-05-08 02:35:42 +0300 |
commit | 08811d96a198ec08c6630967916defd2df6a24f7 (patch) | |
tree | 15f6f0328f22246cd509da66d4f93e7b823a1d48 /plugins/Goals/API.php | |
parent | 8d7096b6dfb6933efc3719b7c14962f6db946441 (diff) |
added a test for avg order revenue
Diffstat (limited to 'plugins/Goals/API.php')
-rw-r--r-- | plugins/Goals/API.php | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/plugins/Goals/API.php b/plugins/Goals/API.php index b27757f241..6850aa25ff 100644 --- a/plugins/Goals/API.php +++ b/plugins/Goals/API.php @@ -401,13 +401,16 @@ class API extends \Piwik\Plugin\API $isEcommerceGoal = $idGoal === GoalManager::IDGOAL_ORDER || $idGoal === GoalManager::IDGOAL_CART; $allMetrics = Goals::getGoalColumns($idGoal); - $requestedColumns = Piwik::getArrayFromApiParameter($columns); + $columnsToShow = Piwik::getArrayFromApiParameter($columns); + $requestedColumns = $columnsToShow; $shouldAddAverageOrderRevenue = (in_array('avg_order_revenue', $requestedColumns) || empty($requestedColumns)) && $isEcommerceGoal; if ($shouldAddAverageOrderRevenue && !empty($requestedColumns)) { + $avgOrder = new AverageOrderRevenue(); $metricsToAdd = $avgOrder->getDependentMetrics(); + $requestedColumns = array_unique(array_merge($requestedColumns, $metricsToAdd)); } @@ -441,13 +444,14 @@ class API extends \Piwik\Plugin\API } // remove temporary metrics that were not explicitly requested - $allColumns = $allMetrics; - $allColumns[] = 'conversion_rate'; - if ($isEcommerceGoal) { - $allColumns[] = 'avg_order_revenue'; + if (empty($columnsToShow)) { + $columnsToShow = $allMetrics; + $columnsToShow[] = 'conversion_rate'; + if ($isEcommerceGoal) { + $columnsToShow[] = 'avg_order_revenue'; + } } - $columnsToShow = $requestedColumns ?: $allColumns; $dataTable->queueFilter('ColumnDelete', array($columnsToRemove = array(), $columnsToShow)); return $dataTable; |