Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Giehl <stefan@matomo.org>2019-05-09 23:20:27 +0300
committerGitHub <noreply@github.com>2019-05-09 23:20:27 +0300
commita4c8dc92994ccfd5775d080a4f63cb095ab95e19 (patch)
tree1dc5f537e9cfeaa9c809d183f3565294c57ac455 /plugins/UserCountry
parent3daba5ce28072930188f8c15c6f8a6eb9bbb46b5 (diff)
Ensure segment definitions doen't regress (#14372)
Diffstat (limited to 'plugins/UserCountry')
-rw-r--r--plugins/UserCountry/API.php2
-rw-r--r--plugins/UserCountry/Columns/Country.php33
-rw-r--r--plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getCountry_month.xml12
3 files changed, 22 insertions, 25 deletions
diff --git a/plugins/UserCountry/API.php b/plugins/UserCountry/API.php
index 72b6c71142..34a00a4add 100644
--- a/plugins/UserCountry/API.php
+++ b/plugins/UserCountry/API.php
@@ -56,7 +56,7 @@ class API extends \Piwik\Plugin\API
}
// apply filter on the whole datatable in order the inline search to work (searches are done on "beautiful" label)
- $dataTable->filter('AddSegmentByLabel', ['countryCode']);
+ $dataTable->filter('AddSegmentValue');
$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'code'));
$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getFlagFromCode'));
$dataTable->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\countryTranslate'));
diff --git a/plugins/UserCountry/Columns/Country.php b/plugins/UserCountry/Columns/Country.php
index 21c40251ee..9ea19844e1 100644
--- a/plugins/UserCountry/Columns/Country.php
+++ b/plugins/UserCountry/Columns/Country.php
@@ -35,38 +35,35 @@ class Country extends Base
protected $category = 'UserCountry_VisitLocation';
protected $nameSingular = 'UserCountry_Country';
protected $namePlural = 'UserCountryMap_Countries';
- protected $segmentName = 'countryName';
- protected $acceptValues = 'Germany, France, Spain, ...';
+ protected $segmentName = 'countryCode';
+ protected $acceptValues = 'ISO 3166-1 alpha-2 country codes (de, us, fr, in, es, etc.)';
- public function __construct()
+ protected function configureSegments()
{
+ $segment = new Segment();
+ $segment->setName('UserCountry_CountryCode');
+ $this->addSegment($segment);
+
+ $segment = new Segment();
+ $segment->setSegment('countryName');
+ $segment->setName('UserCountry_Country');
+ $segment->setAcceptedValues('Germany, France, Spain, ...');
$regionDataProvider = StaticContainer::get('Piwik\Intl\Data\Provider\RegionDataProvider');
$countryList = $regionDataProvider->getCountryList();
array_walk($countryList, function(&$item, $key) {
$item = Piwik::translate('Intl_Country_'.strtoupper($key), [], 'en');
});
- $this->sqlFilterValue = function ($val) use ($countryList) {
+ $segment->setSqlFilterValue(function ($val) use ($countryList) {
$result = array_search($val, $countryList);
if ($result === false) {
$result = 'UNK';
}
return $result;
- };
- $this->suggestedValuesCallback = function ($idSite, $maxValuesToReturn) use ($countryList) {
+ });
+ $segment->setSuggestedValuesCallback(function ($idSite, $maxValuesToReturn) use ($countryList) {
return array_values($countryList + ['Unknown']);
- };
- }
-
- protected function configureSegments()
- {
- parent::configureSegments();
- $segment = new Segment();
- $segment->setSegment('countryCode');
- $segment->setName('UserCountry_CountryCode');
- $segment->setAcceptedValues('ISO 3166-1 alpha-2 country codes (de, us, fr, in, es, etc.)');
- $this->suggestedValuesCallback = null;
- $this->sqlFilterValue = null;
+ });
$this->addSegment($segment);
}
diff --git a/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getCountry_month.xml b/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getCountry_month.xml
index 79c5792f66..ade01286fe 100644
--- a/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getCountry_month.xml
+++ b/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getCountry_month.xml
@@ -22,9 +22,9 @@
<revenue>150</revenue>
<sum_daily_nb_uniq_visitors>10</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
- <segment>countryCode==cn</segment>
<code>cn</code>
<logo>plugins/Morpheus/icons/dist/flags/cn.png</logo>
+ <segment>countryCode==cn</segment>
<logoHeight>16</logoHeight>
</row>
<row>
@@ -49,9 +49,9 @@
<revenue>45</revenue>
<sum_daily_nb_uniq_visitors>3</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
- <segment>countryCode==ca</segment>
<code>ca</code>
<logo>plugins/Morpheus/icons/dist/flags/ca.png</logo>
+ <segment>countryCode==ca</segment>
<logoHeight>16</logoHeight>
</row>
<row>
@@ -76,9 +76,9 @@
<revenue>20</revenue>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>1</sum_daily_nb_users>
- <segment>countryCode==fr</segment>
<code>fr</code>
<logo>plugins/Morpheus/icons/dist/flags/fr.png</logo>
+ <segment>countryCode==fr</segment>
<logoHeight>16</logoHeight>
</row>
<row>
@@ -103,9 +103,9 @@
<revenue>15</revenue>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
- <segment>countryCode==id</segment>
<code>id</code>
<logo>plugins/Morpheus/icons/dist/flags/id.png</logo>
+ <segment>countryCode==id</segment>
<logoHeight>16</logoHeight>
</row>
<row>
@@ -130,9 +130,9 @@
<revenue>15</revenue>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
- <segment>countryCode==it</segment>
<code>it</code>
<logo>plugins/Morpheus/icons/dist/flags/it.png</logo>
+ <segment>countryCode==it</segment>
<logoHeight>16</logoHeight>
</row>
<row>
@@ -157,9 +157,9 @@
<revenue>15</revenue>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
- <segment>countryCode==us</segment>
<code>us</code>
<logo>plugins/Morpheus/icons/dist/flags/us.png</logo>
+ <segment>countryCode==us</segment>
<logoHeight>16</logoHeight>
</row>
</result> \ No newline at end of file