diff options
author | diosmosis <diosmosis@users.noreply.github.com> | 2019-07-16 07:33:25 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-16 07:33:25 +0300 |
commit | e4c1f1f92114ca03947e9932935e4b4195ae1604 (patch) | |
tree | 86d3f38165ee87eb4c7f8a36dc8bdb779c04fb22 /plugins | |
parent | 75c4c9d3a8be5b9d035f086c3b2edb45afaed61a (diff) |
Keep top level nb_visits_converted metric (#14253)
* Do not remove nb_visits_converted when archiving goal reports since it should differ from sum of conversions.
* If metric is not available, compute dynamically by using max nb_visits_converted.
* Ignore abandoned cart conversions when calculating visit converted.
* In case goals column is empty.
* remove processed metric code since it is not correct
* do not remove visits converted metric for overview
* fix tests
* Fixing test
* fix test
* update test files
* update submodules
* Update expected screenshots & try to fix some random failures.
* Update expected UI test export results.
* two ui test fixes
* Fix couple UI test failures.
* fix random php test failure
Diffstat (limited to 'plugins')
31 files changed, 95 insertions, 9 deletions
diff --git a/plugins/CoreHome/Columns/Metrics/ConversionRate.php b/plugins/CoreHome/Columns/Metrics/ConversionRate.php index 86c2cd26ee..4c07d9febf 100644 --- a/plugins/CoreHome/Columns/Metrics/ConversionRate.php +++ b/plugins/CoreHome/Columns/Metrics/ConversionRate.php @@ -8,6 +8,7 @@ namespace Piwik\Plugins\CoreHome\Columns\Metrics; use Piwik\DataTable\Row; +use Piwik\Metrics; use Piwik\Metrics\Formatter; use Piwik\Piwik; use Piwik\Plugin\ProcessedMetric; @@ -45,7 +46,6 @@ class ConversionRate extends ProcessedMetric { $nbVisitsConverted = $this->getMetric($row, 'nb_visits_converted'); $nbVisits = $this->getMetric($row, 'nb_visits'); - return Piwik::getQuotientSafe($nbVisitsConverted, $nbVisits, $precision = 4); } }
\ No newline at end of file diff --git a/plugins/CustomDimensions b/plugins/CustomDimensions -Subproject 86b5944d0b534f4cd7f33ecf7bd40a6921ce74f +Subproject ace2c823de488a6408c664fcf56082fc00fdd41 diff --git a/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__CustomVariables.getCustomVariables_day.xml b/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__CustomVariables.getCustomVariables_day.xml index 766be4e97d..c8033f43ad 100644 --- a/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__CustomVariables.getCustomVariables_day.xml +++ b/plugins/CustomVariables/tests/System/expected/test_CustomVariablesSystemTest__CustomVariables.getCustomVariables_day.xml @@ -8,6 +8,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -33,6 +34,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -53,6 +55,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -78,6 +81,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -98,6 +102,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -123,6 +128,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -143,6 +149,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -168,6 +175,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -188,6 +196,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -213,6 +222,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -233,6 +243,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -258,6 +269,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -278,6 +290,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -303,6 +316,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -323,6 +337,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -348,6 +363,7 @@ <max_actions>1</max_actions> <sum_visit_length>4</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> diff --git a/plugins/Dashboard/tests/UI/Dashboard_spec.js b/plugins/Dashboard/tests/UI/Dashboard_spec.js index 79ba8a86a6..3559a0602e 100644 --- a/plugins/Dashboard/tests/UI/Dashboard_spec.js +++ b/plugins/Dashboard/tests/UI/Dashboard_spec.js @@ -262,7 +262,7 @@ describe("Dashboard", function () { await page.click('li[data-action="createDashboard"]'); await page.waitForSelector('#createDashboardName'); // await animation await page.type('#createDashboardName', 'newdash2'); - await page.waitFor(100); + await page.waitFor(100); // sometimes the text doesn't seem to type fast enough var button = await page.jQuery('.modal.open .modal-footer a:contains(Ok)'); await button.click(); await page.mouse.move(-10, -10); diff --git a/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getBrand_day.xml b/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getBrand_day.xml index d6790fc1ae..703ec64682 100644 --- a/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getBrand_day.xml +++ b/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getBrand_day.xml @@ -9,6 +9,7 @@ <max_actions>1</max_actions> <sum_visit_length>6</sum_visit_length> <bounce_count>4</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> @@ -30,6 +31,7 @@ <max_actions>1</max_actions> <sum_visit_length>1808</sum_visit_length> <bounce_count>3</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>3</nb_conversions> @@ -51,6 +53,7 @@ <max_actions>2</max_actions> <sum_visit_length>721</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -98,6 +101,7 @@ <max_actions>1</max_actions> <sum_visit_length>1084</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> diff --git a/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getModel_day.xml b/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getModel_day.xml index 6442db0437..2d6509f655 100644 --- a/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getModel_day.xml +++ b/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getModel_day.xml @@ -9,6 +9,7 @@ <max_actions>1</max_actions> <sum_visit_length>3</sum_visit_length> <bounce_count>2</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -29,6 +30,7 @@ <max_actions>1</max_actions> <sum_visit_length>3</sum_visit_length> <bounce_count>2</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -49,6 +51,7 @@ <max_actions>1</max_actions> <sum_visit_length>724</sum_visit_length> <bounce_count>2</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> @@ -69,6 +72,7 @@ <max_actions>1</max_actions> <sum_visit_length>1084</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -89,6 +93,7 @@ <max_actions>2</max_actions> <sum_visit_length>721</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -133,6 +138,7 @@ <max_actions>1</max_actions> <sum_visit_length>1084</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> diff --git a/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getType_day.xml b/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getType_day.xml index 069641e689..6242c1719a 100644 --- a/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getType_day.xml +++ b/plugins/DevicesDetection/tests/System/expected/test___DevicesDetection.getType_day.xml @@ -9,6 +9,7 @@ <max_actions>1</max_actions> <sum_visit_length>1087</sum_visit_length> <bounce_count>4</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> @@ -30,6 +31,7 @@ <max_actions>2</max_actions> <sum_visit_length>724</sum_visit_length> <bounce_count>2</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> @@ -51,6 +53,7 @@ <max_actions>1</max_actions> <sum_visit_length>724</sum_visit_length> <bounce_count>2</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> @@ -71,6 +74,7 @@ <max_actions>1</max_actions> <sum_visit_length>1084</sum_visit_length> <bounce_count>1</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> diff --git a/plugins/Diagnostics/tests/Integration/Commands/AnalyzeArchiveTableTest.php b/plugins/Diagnostics/tests/Integration/Commands/AnalyzeArchiveTableTest.php index 7fdc477111..844753bb10 100644 --- a/plugins/Diagnostics/tests/Integration/Commands/AnalyzeArchiveTableTest.php +++ b/plugins/Diagnostics/tests/Integration/Commands/AnalyzeArchiveTableTest.php @@ -82,7 +82,7 @@ Total # Invalidated Archives: 0 Total # Temporary Archives: 0 Total # Error Archives: 0 Total # Segment Archives: 162 -Total Size of Blobs: 24.3 K +Total Size of Blobs: 24.%d K OUTPUT; diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_VisitTime.getVisitInformationPerServerTime__API.getProcessedReport_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_VisitTime.getVisitInformationPerServerTime__API.getProcessedReport_day.xml index d57b0e817b..3dfafacaae 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_VisitTime.getVisitInformationPerServerTime__API.getProcessedReport_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems_Metadata_VisitTime.getVisitInformationPerServerTime__API.getProcessedReport_day.xml @@ -401,6 +401,7 @@ <max_actions>6</max_actions> <sum_visit_length>5403</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal="1"> <nb_conversions>1</nb_conversions> @@ -426,7 +427,6 @@ </goals> <nb_conversions>3</nb_conversions> <revenue>3121.11</revenue> - <nb_visits_converted>1</nb_visits_converted> <nb_actions_per_visit>4.3</nb_actions_per_visit> </reportTotal> </result>
\ No newline at end of file diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__API.getProcessedReport_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__API.getProcessedReport_day.xml index 143bd8df41..31f3f57891 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__API.getProcessedReport_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__API.getProcessedReport_day.xml @@ -94,6 +94,7 @@ <max_actions>6</max_actions> <sum_visit_length>5403</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal="1"> <nb_conversions>1</nb_conversions> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__CustomVariables.getCustomVariables_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__CustomVariables.getCustomVariables_day.xml index f4c932cd2c..f12f1fc15e 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__CustomVariables.getCustomVariables_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__CustomVariables.getCustomVariables_day.xml @@ -8,6 +8,7 @@ <max_actions>6</max_actions> <sum_visit_length>5403</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='ecommerceAbandonedCart'> <nb_conversions>2</nb_conversions> @@ -49,6 +50,7 @@ <max_actions>6</max_actions> <sum_visit_length>5403</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='ecommerceAbandonedCart'> <nb_conversions>2</nb_conversions> @@ -85,6 +87,7 @@ <max_actions>6</max_actions> <sum_visit_length>5403</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='ecommerceAbandonedCart'> <nb_conversions>2</nb_conversions> @@ -126,6 +129,7 @@ <max_actions>6</max_actions> <sum_visit_length>5403</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='ecommerceAbandonedCart'> <nb_conversions>2</nb_conversions> @@ -280,6 +284,7 @@ <max_actions>6</max_actions> <sum_visit_length>4682</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='ecommerceAbandonedCart'> <nb_conversions>2</nb_conversions> @@ -316,6 +321,7 @@ <max_actions>6</max_actions> <sum_visit_length>4682</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='ecommerceAbandonedCart'> <nb_conversions>2</nb_conversions> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getCity_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getCity_day.xml index 1fbd1b3ea7..32f87f8b98 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getCity_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getCity_day.xml @@ -9,6 +9,7 @@ <max_actions>6</max_actions> <sum_visit_length>5403</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='ecommerceAbandonedCart'> <nb_conversions>2</nb_conversions> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getContinent_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getContinent_day.xml index a05ce1df11..9133dc0229 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getContinent_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getContinent_day.xml @@ -9,6 +9,7 @@ <max_actions>6</max_actions> <sum_visit_length>5403</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getCountry_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getCountry_day.xml index c30519b3db..f645a7e3c8 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getCountry_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getCountry_day.xml @@ -9,6 +9,7 @@ <max_actions>6</max_actions> <sum_visit_length>4682</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='ecommerceAbandonedCart'> <nb_conversions>2</nb_conversions> @@ -43,6 +44,7 @@ <max_actions>4</max_actions> <sum_visit_length>721</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getRegion_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getRegion_day.xml index 3d891a7b3e..ed6707d63a 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getRegion_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__UserCountry.getRegion_day.xml @@ -9,6 +9,7 @@ <max_actions>6</max_actions> <sum_visit_length>5403</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='ecommerceAbandonedCart'> <nb_conversions>2</nb_conversions> diff --git a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__VisitTime.getVisitInformationPerServerTime_day.xml b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__VisitTime.getVisitInformationPerServerTime_day.xml index d1f4094adf..b2c3bf5c52 100644 --- a/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__VisitTime.getVisitInformationPerServerTime_day.xml +++ b/plugins/Ecommerce/tests/System/expected/test_ecommerceOrderWithItems__VisitTime.getVisitInformationPerServerTime_day.xml @@ -9,6 +9,7 @@ <max_actions>4</max_actions> <sum_visit_length>721</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>1</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>1</nb_conversions> @@ -114,6 +115,7 @@ <max_actions>3</max_actions> <sum_visit_length>721</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>0</nb_visits_converted> <goals> <row idgoal='ecommerceAbandonedCart'> <nb_conversions>1</nb_conversions> diff --git a/plugins/Feedback/tests/UI/FeedbackPopup_spec.js b/plugins/Feedback/tests/UI/FeedbackPopup_spec.js index f5d9be094c..370ba4571b 100644 --- a/plugins/Feedback/tests/UI/FeedbackPopup_spec.js +++ b/plugins/Feedback/tests/UI/FeedbackPopup_spec.js @@ -30,6 +30,7 @@ describe("FeedbackPopup", function () { // Click on the "Remind me in 90 days" button = the popup shouldn't appear for the next test var remindLaterBtn = await modal.$$('.modal-footer .btn-flat'); await remindLaterBtn[0].click(); + await page.waitForNetworkIdle(); }); it('should not display popup when next reminder date is in future', async function () { diff --git a/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitTime.getVisitInformationPerServerTime_day.xml b/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitTime.getVisitInformationPerServerTime_day.xml index a5df90f990..4a3f7b7062 100644 --- a/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitTime.getVisitInformationPerServerTime_day.xml +++ b/plugins/Goals/tests/System/expected/test_trackGoals_allowMultipleConversionsPerVisit__VisitTime.getVisitInformationPerServerTime_day.xml @@ -9,6 +9,7 @@ <max_actions>3</max_actions> <sum_visit_length>363</sum_visit_length> <bounce_count>0</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> diff --git a/plugins/MarketingCampaignsReporting b/plugins/MarketingCampaignsReporting -Subproject b531ab9581bf05c678b9398bda99291bc57d7e9 +Subproject 0c3ab8aede3d2df3dcf3342b2a69c86adea8b46 diff --git a/plugins/Referrers/tests/System/expected/test_Referrers_getReferrerType__API.getProcessedReport_day.xml b/plugins/Referrers/tests/System/expected/test_Referrers_getReferrerType__API.getProcessedReport_day.xml index cedb63631b..07f605a12b 100644 --- a/plugins/Referrers/tests/System/expected/test_Referrers_getReferrerType__API.getProcessedReport_day.xml +++ b/plugins/Referrers/tests/System/expected/test_Referrers_getReferrerType__API.getProcessedReport_day.xml @@ -1196,7 +1196,7 @@ <max_actions>1</max_actions> <sum_visit_length>11315</sum_visit_length> <bounce_count>62</bounce_count> - <nb_visits_converted>0</nb_visits_converted> + <nb_visits_converted>31</nb_visits_converted> <goals> <row idgoal="1"> <nb_conversions>31</nb_conversions> diff --git a/plugins/Referrers/tests/System/expected/test_phpSerialized__Referrers.getReferrerType_year.original b/plugins/Referrers/tests/System/expected/test_phpSerialized__Referrers.getReferrerType_year.original Binary files differindex 95308f2b8b..d1969c268a 100644 --- a/plugins/Referrers/tests/System/expected/test_phpSerialized__Referrers.getReferrerType_year.original +++ b/plugins/Referrers/tests/System/expected/test_phpSerialized__Referrers.getReferrerType_year.original diff --git a/plugins/SegmentEditor/tests/UI/SegmentSelectorEditor_spec.js b/plugins/SegmentEditor/tests/UI/SegmentSelectorEditor_spec.js index ccef0d4d03..8477f42b6c 100644 --- a/plugins/SegmentEditor/tests/UI/SegmentSelectorEditor_spec.js +++ b/plugins/SegmentEditor/tests/UI/SegmentSelectorEditor_spec.js @@ -94,7 +94,7 @@ describe("SegmentSelectorEditorTest", function () { it("should show suggested segment values when a segment value input is focused", async function() { await page.click('.segmentEditorPanel .segmentRow0 .ui-autocomplete-input'); await page.waitForNetworkIdle(); - await page.waitFor(250); + await page.waitFor(500); expect(await page.screenshotSelector(selectorsToCapture)).to.matchImage('suggested_values'); }); diff --git a/plugins/SegmentEditor/tests/UI/expected-screenshots/SegmentSelectorEditorTest_suggested_values.png b/plugins/SegmentEditor/tests/UI/expected-screenshots/SegmentSelectorEditorTest_suggested_values.png index b6b612b5a5..5cac8c7924 100644 --- a/plugins/SegmentEditor/tests/UI/expected-screenshots/SegmentSelectorEditorTest_suggested_values.png +++ b/plugins/SegmentEditor/tests/UI/expected-screenshots/SegmentSelectorEditorTest_suggested_values.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14d28c45f38f021b7b8373b563f9b6f1740737edb1e943ea05f557f65caf80bf -size 34809 +oid sha256:fd0bf164f65454272cda6e97e3f9d7ec72a7a75934bdb2b59c011f414c3a1c9d +size 55067 diff --git a/plugins/Transitions/tests/UI/Transitions_spec.js b/plugins/Transitions/tests/UI/Transitions_spec.js index 576cd416c1..0738a0f35c 100644 --- a/plugins/Transitions/tests/UI/Transitions_spec.js +++ b/plugins/Transitions/tests/UI/Transitions_spec.js @@ -33,6 +33,7 @@ describe("Transitions", function () { await (await page.jQuery('a.actionTransitions:visible')).click(); await page.waitForNetworkIdle(); + await page.waitFor('.ui-dialog', { visible: true }); expect(await page.screenshotSelector('.ui-dialog')).to.matchImage('transitions_popup_titles'); }); diff --git a/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getCity_month.xml b/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getCity_month.xml index a61099a113..65485c5318 100644 --- a/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getCity_month.xml +++ b/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getCity_month.xml @@ -6,6 +6,7 @@ <nb_actions>61</nb_actions> <max_actions>5</max_actions> <bounce_count>11</bounce_count> + <nb_visits_converted>22</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>22</nb_conversions> @@ -36,6 +37,7 @@ <nb_actions>16</nb_actions> <max_actions>5</max_actions> <bounce_count>3</bounce_count> + <nb_visits_converted>6</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>6</nb_conversions> @@ -68,6 +70,7 @@ <nb_actions>7</nb_actions> <max_actions>5</max_actions> <bounce_count>2</bounce_count> + <nb_visits_converted>3</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>3</nb_conversions> @@ -100,6 +103,7 @@ <nb_actions>5</nb_actions> <max_actions>4</max_actions> <bounce_count>1</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> @@ -132,6 +136,7 @@ <nb_actions>6</nb_actions> <max_actions>5</max_actions> <bounce_count>1</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> diff --git a/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getContinent_month.xml b/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getContinent_month.xml index d1a6dc816d..73a3e725bc 100644 --- a/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getContinent_month.xml +++ b/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getContinent_month.xml @@ -6,6 +6,7 @@ <nb_actions>60</nb_actions> <max_actions>5</max_actions> <bounce_count>11</bounce_count> + <nb_visits_converted>22</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>22</nb_conversions> @@ -30,6 +31,7 @@ <nb_actions>22</nb_actions> <max_actions>5</max_actions> <bounce_count>4</bounce_count> + <nb_visits_converted>8</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>8</nb_conversions> @@ -54,6 +56,7 @@ <nb_actions>13</nb_actions> <max_actions>5</max_actions> <bounce_count>3</bounce_count> + <nb_visits_converted>5</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>5</nb_conversions> 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 ade01286fe..928cd44613 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 @@ -6,6 +6,7 @@ <nb_actions>55</nb_actions> <max_actions>5</max_actions> <bounce_count>10</bounce_count> + <nb_visits_converted>20</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>20</nb_conversions> @@ -33,6 +34,7 @@ <nb_actions>16</nb_actions> <max_actions>5</max_actions> <bounce_count>3</bounce_count> + <nb_visits_converted>6</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>6</nb_conversions> @@ -60,6 +62,7 @@ <nb_actions>7</nb_actions> <max_actions>5</max_actions> <bounce_count>2</bounce_count> + <nb_visits_converted>3</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>3</nb_conversions> @@ -87,6 +90,7 @@ <nb_actions>5</nb_actions> <max_actions>4</max_actions> <bounce_count>1</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> @@ -114,6 +118,7 @@ <nb_actions>6</nb_actions> <max_actions>5</max_actions> <bounce_count>1</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> @@ -141,6 +146,7 @@ <nb_actions>6</nb_actions> <max_actions>5</max_actions> <bounce_count>1</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> diff --git a/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getRegion_month.xml b/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getRegion_month.xml index 3004dbd1fb..9a1d8d248c 100644 --- a/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getRegion_month.xml +++ b/plugins/UserCountry/tests/System/expected/test_AttributeHistoricalDataWithLocationsTest_testExecute_ShouldReturnLogAfterWorkingWithSomeData__UserCountry.getRegion_month.xml @@ -6,6 +6,7 @@ <nb_actions>61</nb_actions> <max_actions>5</max_actions> <bounce_count>11</bounce_count> + <nb_visits_converted>22</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>22</nb_conversions> @@ -34,6 +35,7 @@ <nb_actions>16</nb_actions> <max_actions>5</max_actions> <bounce_count>3</bounce_count> + <nb_visits_converted>6</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>6</nb_conversions> @@ -63,6 +65,7 @@ <nb_actions>7</nb_actions> <max_actions>5</max_actions> <bounce_count>2</bounce_count> + <nb_visits_converted>3</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>3</nb_conversions> @@ -92,6 +95,7 @@ <nb_actions>6</nb_actions> <max_actions>5</max_actions> <bounce_count>1</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> @@ -121,6 +125,7 @@ <nb_actions>5</nb_actions> <max_actions>4</max_actions> <bounce_count>1</bounce_count> + <nb_visits_converted>2</nb_visits_converted> <goals> <row idgoal='1'> <nb_conversions>2</nb_conversions> diff --git a/plugins/UsersManager/UsersManager.php b/plugins/UsersManager/UsersManager.php index 4f72e98775..a844aee258 100644 --- a/plugins/UsersManager/UsersManager.php +++ b/plugins/UsersManager/UsersManager.php @@ -12,6 +12,7 @@ use Exception; use Piwik\Access\Role\Admin; use Piwik\Access\Role\Write; use Piwik\API\Request; +use Piwik\Auth\Password; use Piwik\Common; use Piwik\Option; use Piwik\Piwik; @@ -197,11 +198,27 @@ class UsersManager extends \Piwik\Plugin public static function getPasswordHash($password) { + self::checkBasicPasswordStrength($password); + // if change here, should also edit the installation process // to change how the root pwd is saved in the config file return md5($password); } + public static function checkBasicPasswordStrength($password) + { + $ex = new \Exception('This password is too weak, please supply another value or reset it.'); + + $numDistinctCharacters = strlen(count_chars($password, 3)); + if ($numDistinctCharacters < 2) { + throw $ex; + } + + if (strlen($password) < 6) { + throw $ex; + } + } + /** * Checks the password hash length. Used as a sanity check. * diff --git a/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.html b/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.html index 8c831c87c5..32e8d9dd84 100644 --- a/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.html +++ b/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.html @@ -56,6 +56,7 @@ ng-model="$ctrl.user.password" data-title="Password" data-disabled="$ctrl.isSavingUserInfo || ($ctrl.currentUserRole != 'superuser' && !$ctrl.isAdd)" + ng-change="$ctrl.isPasswordModified = true" > </div> diff --git a/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.js b/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.js index 852469dbc1..5c3a88d0a3 100644 --- a/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.js +++ b/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.js @@ -35,6 +35,7 @@ vm.firstSiteAccess = null; vm.isUserModified = false; vm.passwordConfirmation = ''; + vm.isPasswordModified = false; vm.$onInit = $onInit; vm.$onChanges = $onChanges; @@ -187,7 +188,7 @@ method: 'UsersManager.updateUser' }, { userLogin: vm.user.login, - password: vm.user.password ? vm.user.password : undefined, + password: (vm.isPasswordModified && vm.user.password) ? vm.user.password : undefined, passwordConfirmation: vm.passwordConfirmation ? vm.passwordConfirmation : undefined, email: vm.user.email, alias: vm.user.alias @@ -199,6 +200,7 @@ vm.isSavingUserInfo = false; vm.passwordConfirmation = false; vm.isUserModified = true; + vm.isPasswordModified = false; showUserSavedNotification(); }); |